aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2015-08-03 17:40:39 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2015-08-09 23:07:34 +0700
commit01b288107b870cddff7316780b798ecbf27c4e5b (patch)
tree4ce72a5b5a8bab50afc68fd9c8cabb4e2e8f714a /graphics
parentcfb2b58ee298d972b0d8a441c35b04502d733ded (diff)
graphics/GraphicsMagick: Updated for version 1.3.21.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.SlackBuild105
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.info10
-rw-r--r--graphics/GraphicsMagick/README27
-rw-r--r--graphics/GraphicsMagick/slack-desc2
4 files changed, 132 insertions, 12 deletions
diff --git a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
index cb49f9902e2db..687f4d3f31309 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
+++ b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
@@ -2,10 +2,21 @@
# Slackware build script for GraphicsMagick
-# Written by Giovanne Castro <giovannefc@terra.com.br>
+# Originally written by Giovanne Castro <giovannefc@terra.com.br>
+
+# Updated by B. Watson <yalhcru@gmail.com>, as the original author is
+# 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.
+
+# 20150803 bkw:
+# - updated for v1.3.21
+# - install docs to /usr/doc/$PRGNAM-$VERSION, not /usr/share/doc
+# - build perl bindings (PerlMagick)
+# - build Tcl bindings (TclMagick)
+# - document optional deps in README
PRGNAM=GraphicsMagick
-VERSION=${VERSION:-1.3.17}
+VERSION=${VERSION:-1.3.21}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -57,6 +68,7 @@ CXXFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--program-prefix= \
--with-x \
--with-frozenpaths=no \
@@ -71,20 +83,101 @@ CXXFLAGS="$SLKCFLAGS" \
make INSTALLDIRS=vendor
make install INSTALLDIRS=vendor DESTDIR=$PKG
+### Build the perl module
+
+# In the olden days, PerlMagick was a separate module, not part of
+# GraphicsMagick, and it had its own SlackBuild. These days, PerlMagick
+# is integrated into the GraphicsMagick source. Supposedly, PerlMagick
+# 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
+
+perl Makefile.PL \
+ 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 -
+### 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.
+
+GMVER="$(pkg-config --silence-errors --modversion $PRGNAM || true)"
+if [ "$GMVER" = "$VERSION" ]; then
+ cd TclMagick
+
+# 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 \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --with-magick=/usr/bin/${PRGNAM}Wand-config \
+ --with-tcl=/usr/lib$LIBDIRSUFFIX \
+ --with-tk=/usr/lib$LIBDIRSUFFIX
+
+ make
+ make 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
+fi
+### Done with tcl module
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+find $PKG -name perllocal.pod \
+ -o -name ".packlist" \
+ -o -name "*.bs" \
+ | xargs rm -f
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- ChangeLog NEWS.txt README.txt TODO.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ChangeLog *.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed "s,@WITHTCL@,$WITHTCL," $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 a72fa6220ab2a..d99cf62e01625 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.info
+++ b/graphics/GraphicsMagick/GraphicsMagick.info
@@ -1,10 +1,10 @@
PRGNAM="GraphicsMagick"
-VERSION="1.3.17"
+VERSION="1.3.21"
HOMEPAGE="http://www.graphicsmagick.org/"
-DOWNLOAD="http://downloads.sourceforge.net/graphicsmagick/GraphicsMagick-1.3.17.tar.bz2"
-MD5SUM="2b9438889304c07bdfcf589075d00b57"
+DOWNLOAD="http://downloads.sourceforge.net/graphicsmagick/GraphicsMagick-1.3.21.tar.bz2"
+MD5SUM="fcf543de2d74514376cfd0418cc30989"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Giovanne Castro"
-EMAIL="giovannefc@terra.com.br"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/graphics/GraphicsMagick/README b/graphics/GraphicsMagick/README
index 63a67b881a7e7..4fb410f87f90b 100644
--- a/graphics/GraphicsMagick/README
+++ b/graphics/GraphicsMagick/README
@@ -1,5 +1,32 @@
+GraphicsMagick (Image Processing System)
+
GraphicsMagick is the swiss army knife of image processing.
Provides a robust and efficient collection of tools and libraries
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.
+
+Starting with version 1.3.21, this build now includes PerlMagick, the
+perl language bindings for GraphicsMagick.
+
+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).
+
+Optional dependencies: Some file formats require extra libraries. These
+are all autodetected at build time.
+
+libwebp (.webp support)
+jbigkit (.jbg, .jbig support)
+dcraw (Raw camera files, various filename extensions)
+
+Unsupported: These file formats require software that isn't currently
+available on SBo. If you submit a build for one of these, please let
+me know so I can document it here.
+
+ralcgm (.cgm, Computer Graphics Metafile)
+hp2xx (.hpg, .hpgl, HP Graphics Language)
+flashpix (.fpx, not supported on Linux)
diff --git a/graphics/GraphicsMagick/slack-desc b/graphics/GraphicsMagick/slack-desc
index 63641bc89dec3..b40d096e213db 100644
--- a/graphics/GraphicsMagick/slack-desc
+++ b/graphics/GraphicsMagick/slack-desc
@@ -16,4 +16,4 @@ GraphicsMagick: JPEG-2000, PNG, PDF, PNM, and TIFF.
GraphicsMagick:
GraphicsMagick: Home Page: http://www.graphicsmagick.org/
GraphicsMagick:
-GraphicsMagick:
+GraphicsMagick: This package built @WITHTCL@ Tcl/Tk support (TclMagick)