aboutsummaryrefslogtreecommitdiff
path: root/graphics/GraphicsMagick
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2018-06-28 04:46:16 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2018-06-30 07:00:17 +0700
commit56e702431dd5f85e7eab31f6ef523b04b3a40112 (patch)
tree1ac44f0647fe0d9a3c04c4dd62dc78246ddccd96 /graphics/GraphicsMagick
parentf36f43ed41c89c9a19bbfbda7a9541900e27b4b8 (diff)
graphics/GraphicsMagick: Updated for version 1.3.30, script fixes.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Diffstat (limited to 'graphics/GraphicsMagick')
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.SlackBuild162
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.info6
-rw-r--r--graphics/GraphicsMagick/README21
-rw-r--r--graphics/GraphicsMagick/slack-desc4
4 files changed, 122 insertions, 71 deletions
diff --git a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
index f71e58178b9ba..e9920d37aadb3 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
+++ b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
@@ -8,7 +8,13 @@
# MIA. Original version had no license; I'm licensing the update under the
# terms of the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# 20180613 bkw: updated for v1.3.29
+# 20180627 bkw:
+# - updated for v1.3.30.
+# - get rid of the need to build/install/build again for the Tcl bindings.
+# - actually install the damn perl module (when did *that* break?)
+# - get rid of static tcl/tk libs
+# - get rid of --disable-openmp (but add OPENMP=no just in case)
+
# 20180123 bkw: updated for v1.3.28
# 20171219 bkw: updated for v1.3.27, added last few missing delegates
# 20170708 bkw: updated for v1.3.26
@@ -23,7 +29,7 @@
# - document optional deps in README
PRGNAM=GraphicsMagick
-VERSION=${VERSION:-1.3.29}
+VERSION=${VERSION:-1.3.30}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -56,6 +62,23 @@ fi
set -e
+OLDVER="$(pkg-config --silence-errors --modversion $PRGNAM || true)"
+if [ "$OLDVER" != "" ]; then
+ cat <<EOF 1>&2
+************************************************************************
+*
+* $PRGNAM is already installed (version $OLDVER).
+*
+* If the build fails, 'removepkg $PRGNAM' and try again.
+*
+* Don't say I didn't warn you.
+*
+************************************************************************
+EOF
+ sleep 3
+fi
+
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@@ -65,9 +88,9 @@ cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
# libfpx isn't autodetected, so let's help it a bit:
if [ -e /usr/include/fpxlib.h ]; then
@@ -76,9 +99,22 @@ else
FPXOPT=no
fi
+# 20180628 bkw: OpenMP seems to work OK now, so enable it by default. In
+# fact it may have worked in GraphicsMagick all along: I copied the
+# config arguments from Pat's SlackBuild for ImageMagick... But since
+# I haven't done exhaustive testing, make it possible to disable:
+if [ "${OPENMP:-yes}" = "yes" ]; then
+ OMPOPT=--enable-openmp
+ WITHOMP=WITH
+else
+ OMPOPT=--disable-openmp
+ WITHOMP=WITHOUT
+fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
+ $OMPOPT \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
@@ -87,7 +123,6 @@ CXXFLAGS="$SLKCFLAGS" \
--with-x \
--with-frozenpaths=no \
--without-modules \
- --disable-openmp \
--enable-static=no \
--enable-shared \
--with-perl \
@@ -98,7 +133,7 @@ CXXFLAGS="$SLKCFLAGS" \
make INSTALLDIRS=vendor
make install INSTALLDIRS=vendor DESTDIR=$PKG
-### Build the perl module
+### Build the perl module, if not disabled.
# In the olden days, PerlMagick was a separate module, not part of
# GraphicsMagick, and it had its own SlackBuild. These days, PerlMagick
@@ -106,73 +141,80 @@ make install INSTALLDIRS=vendor DESTDIR=$PKG
# has to be built after GraphicsMagick is installed system-wide, but
# I've come up with functional (if unattractive) way around that.
-cd PerlMagick
-
-# munge Makefile.PL to build using the includes/libs we just installed
-# to $PKG, instead of systemwide ones.
-sed -i \
- -e "/magick_CFLAGS/s,=',&-I$PKG/usr/include ," \
- -e "/magick_LDFLAGS/s,=',&-L$PKG/usr/lib$LIBDIRSUFFIX ," \
- Makefile.PL
-
-# don't know why we have to explicitly force -lGraphicsMagick here...
-perl Makefile.PL \
- LIBS=-lGraphicsMagick \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN1DIR=/usr/man/man1 \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-
-make
-
-# 'make test' will attempt to display an image, if it thinks it's running
-# in X. Let's not do this. Also, use the shared libs in $PKG.
-# The rungm.sh script sets up the environment so GraphicsMagick will look
-# for its support files in the source tree instead of /usr.
-DISPLAY="" \
-LD_PRELOAD="$PKG/usr/lib$LIBDIRSUFFIX/lib$PRGNAM.so" \
- ../rungm.sh make test
-
-cd -
+WITHPERL=WITHOUT
+if [ "${PERL:-yes}" = "yes" ]; then
+ cd PerlMagick
+
+ # munge Makefile.PL to build using the includes/libs we just installed
+ # to $PKG, instead of systemwide ones.
+ sed -i \
+ -e "/magick_CFLAGS/s,=',&-I$PKG/usr/include ," \
+ -e "/magick_LDFLAGS/s,=',&-L$PKG/usr/lib$LIBDIRSUFFIX ," \
+ Makefile.PL
+
+ # don't know why we have to explicitly force -lGraphicsMagick here...
+ perl Makefile.PL \
+ LIBS=-lGraphicsMagick \
+ PREFIX=/usr \
+ INSTALLDIRS=vendor \
+ INSTALLVENDORMAN1DIR=/usr/man/man1 \
+ INSTALLVENDORMAN3DIR=/usr/man/man3
+
+ make
+
+ # 'make test' will attempt to display an image, if it thinks it's running
+ # in X. Let's not do this. Also, use the shared libs in $PKG.
+ # The rungm.sh script sets up the environment so GraphicsMagick will look
+ # for its support files in the source tree instead of /usr.
+ DISPLAY="" \
+ LD_PRELOAD="$PKG/usr/lib$LIBDIRSUFFIX/lib$PRGNAM.so" \
+ ../rungm.sh make test
+
+ make install DESTDIR=$PKG
+
+ cd -
+ WITHPERL=WITH
+fi
### Done with perl module
-### Build the tcl module, if & only if GraphicsMagick was already
-# installed system-wide. This means, to get tcl bindings, you have to
-# build twice. You can thank libtool and its .la files (with hard-coded
-# paths) for this stupidity. I could probably spend more time with
-# this and fix it (like the perl stuff above), but I suspect nobody
-# really cares about TclMagick.
+### Build the tcl module, if not disabled.
+
+WITHTCL=WITHOUT
+if [ "${TCL:-yes}" = "yes" ]; then
+ # 20180627 bkw: the TclMagick build chokes on the .la file.
+ # In 15.0, we will be removing all .la files. For 14.2, I'll
+ # temporarily rename it out of the way.
+ # You can thank libtool and its .la files (with hard-coded
+ # paths) for this stupidity.
+
+ rename .la .la_renamed $PKG/usr/lib$LIBDIRSUFFIX/*.la
+
+ INC=$(pwd)
-GMVER="$(pkg-config --silence-errors --modversion $PRGNAM || true)"
-if [ "$GMVER" = "$VERSION" ]; then
cd TclMagick
-# LIBS needed to avoid libTclMagick.so: undefined symbol: tclStubsPtr
+ # LIBS needed to avoid libTclMagick.so: undefined symbol: tclStubsPtr
source /usr/lib$LIBDIRSUFFIX/tclConfig.sh
- LIBS="$TCL_STUB_LIB_FLAG" \
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- ./configure \
+ LIBS="$TCL_STUB_LIB_FLAG -L$PKG/usr/lib$LIBDIRSUFFIX" \
+ CFLAGS="$SLKCFLAGS -I$INC" \
+ CXXFLAGS="$SLKCFLAGS -I$INC" \
+ ../rungm.sh ./configure \
+ --with-magick=$(pwd)/../wand/GraphicsMagickWand-config \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
- --with-magick=/usr/bin/${PRGNAM}Wand-config \
+ --enable-shared \
+ --disable-static \
--with-tcl=/usr/lib$LIBDIRSUFFIX \
--with-tk=/usr/lib$LIBDIRSUFFIX
- make
- make install INSTALL=$( which install ) DESTDIR=$PKG
+ ../rungm.sh make
+ ../rungm.sh make install INSTALL=$( which install ) DESTDIR=$PKG
WITHTCL=WITH
cd -
-else
- cat <<EOF
-Building without Tcl/Tk bindings. If you need TclMagick, install this
-package, then re-run the SlackBuild and reinstall the package. The 2nd
-build will include TclMagick.
-EOF
- WITHTCL=WITHOUT
+ rename .la_renamed .la $PKG/usr/lib$LIBDIRSUFFIX/*.la_renamed
fi
### Done with tcl module
@@ -192,7 +234,11 @@ cp -a ChangeLog *.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-sed "s,@WITHTCL@,$WITHTCL," $CWD/slack-desc > $PKG/install/slack-desc
+sed \
+ -e "s,@WITHOMP@,$WITHOMP," \
+ -e "s,@WITHTCL@,$WITHTCL," \
+ -e "s,@WITHPERL@,$WITHPERL," \
+ $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/graphics/GraphicsMagick/GraphicsMagick.info b/graphics/GraphicsMagick/GraphicsMagick.info
index 94fbc5eff3abe..8d738ca777984 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.info
+++ b/graphics/GraphicsMagick/GraphicsMagick.info
@@ -1,8 +1,8 @@
PRGNAM="GraphicsMagick"
-VERSION="1.3.29"
+VERSION="1.3.30"
HOMEPAGE="http://www.graphicsmagick.org/"
-DOWNLOAD="http://downloads.sourceforge.net/graphicsmagick/GraphicsMagick-1.3.29.tar.bz2"
-MD5SUM="a277bd795441a0b6461f91f071ecbd20"
+DOWNLOAD="http://downloads.sourceforge.net/graphicsmagick/GraphicsMagick-1.3.30.tar.bz2"
+MD5SUM="a773040cc9c57356fd3a6fa660ea29e5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/GraphicsMagick/README b/graphics/GraphicsMagick/README
index f58d79383953a..6591c88ff2e2a 100644
--- a/graphics/GraphicsMagick/README
+++ b/graphics/GraphicsMagick/README
@@ -6,15 +6,20 @@ which support reading, writing, and manipulating an image in over
88 major formats including important formats like DPX, GIF, JPEG,
JPEG-2000, PNG, PDF, PNM, and TIFF.
-This build includes PerlMagick, the Perl language bindings for
-GraphicsMagick.
+If you have an older version of GraphicsMagick installed, it's a good
+idea to 'removepkg GraphicsMagick' before building the new version. If
+you don't do this, the build might work anyway... Upgrading from 1.3.29
+to 1.3.30 has been tested and seems to work, but I make no guarantees.
-This build can also include Tcl/Tk bindings (TclMagick). To do this,
-first 'removepkg GraphicsMagick' if an older version is installed. Then,
-run the build script, install the GraphicsMagick package, then run the
-build script again and reinstall the (newly-rebuilt) package. This has
-to be done on every version upgrade as well (though only if you need
-TclMagick, of course).
+This build includes PerlMagick (the Perl language bindings for
+GraphicsMagick) and TclMagick (Tcl bindings). If you really need to,
+you can disable these via PERL=no and/or TCL=no in the environment.
+
+Starting with 1.3.30, GraphicsMagick is built with OpenMP support, which
+allows it to take better advantage of multiple cores. If you experience
+problems you think might be related to OpenMP, try rebuilding with
+OPENMP=no in the environment. Please let the maintainer know if this
+actually fixes anything!
Optional dependencies: Some file formats require extra libraries. These
are all autodetected at build time:
diff --git a/graphics/GraphicsMagick/slack-desc b/graphics/GraphicsMagick/slack-desc
index b40d096e213db..5bfae05200a14 100644
--- a/graphics/GraphicsMagick/slack-desc
+++ b/graphics/GraphicsMagick/slack-desc
@@ -14,6 +14,6 @@ GraphicsMagick: which support reading, writing, and manipulating an image in ove
GraphicsMagick: 88 major formats including important formats like DPX, GIF, JPEG,
GraphicsMagick: JPEG-2000, PNG, PDF, PNM, and TIFF.
GraphicsMagick:
-GraphicsMagick: Home Page: http://www.graphicsmagick.org/
-GraphicsMagick:
+GraphicsMagick: This package built @WITHOMP@ OpenMP
+GraphicsMagick: This package built @WITHPERL@ Perl support (PerlMagick)
GraphicsMagick: This package built @WITHTCL@ Tcl/Tk support (TclMagick)