Opened 9 years ago

Closed 9 years ago

#47911 closed update (fixed)

ImageMagick, p5-perlmagick: update to 6.9.2-0

Reported by: dbevans (David B. Evans) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: astricker@…, Ionic (Mihai Moldovan), eric.dalquist@…, jharmon@…
Port: ImageMagick p5-perlmagick

Description

Version 6.9.1-4 has been released, current version is 6.9.0-0.

Change History (5)

comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Status: newassigned

I've been working on this. The problem is that the C++ library's version has changed, so I needed to identify which ports use that library and need to be rebuilt. Then I got a little sidetracked trying to fix those dependents that weren't building.

comment:2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ionic@… added

Has duplicate #48348.

comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: eric.dalquist@… added
Summary: ImageMagick and p5-perlmagick: update to version 6.9.1-4ImageMagick, p5-perlmagick: update to 6.9.2-0

Duplicate #48589 has a patch to update to 6.9.2-0, but as mentioned above, because the version of the ImageMagick C++ library has increased, the revision of all ports linking with the ImageMagick C++ library need to be increased simultaneously to rebuild them.


I had been avoiding updating to anything newer than 6.9.1-4 because 6.9.1-5 failed to build with the universal variant:

clang: error: no such file or directory: 'i386'

because the build system incorrectly decided to remove the second -arch flag from -arch x86_64 -arch i386 and instead use -arch x86_64 i386.

But now that I look into it again, this problem appears to have been corrected in 6.9.1-8 and 6.9.2-0 works as well. Confirmed the cause of this was the following block added to the configure script in 6.9.1-5 (without mention in ChangeLog) and removed in 6.9.1-8 (without mention in ChangeLog):

#
# Sanitize output variables (asthetic).
#
for variable in CFLAGS CPPFLAGS CXXFLAGS LDFLAGS PCFLAGS X_CFLAGS; do
  sanitize=''
  eval value=$`echo $variable`
  for component in $value
  do
    unique=yes
    for test_component in $sanitize
    do
      if test $component = $test_component; then
        unique=no
        break
      fi
    done
    if test $unique = yes; then
      sanitize="$sanitize $component"
    fi
  done
  sanitize=`echo $sanitize | sed -e 's/^ *//g'`
  eval ${variable}=\${sanitize}
done

comment:4 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jharmon@… added

Has duplicate #48605.

comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.