diff options
Diffstat (limited to 'patches/imagemagick/imagemagick.SlackBuild')
-rwxr-xr-x | patches/imagemagick/imagemagick.SlackBuild | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/patches/imagemagick/imagemagick.SlackBuild b/patches/imagemagick/imagemagick.SlackBuild new file mode 100755 index 00000000..82340a52 --- /dev/null +++ b/patches/imagemagick/imagemagick.SlackBuild @@ -0,0 +1,151 @@ +#!/bin/bash +# +# Got it from ftp://ftp.slackware.com/pub/slackware/slackware-10.2/patches/source/imagemagick/imagemagick.SlackBuild +# Small changes by rhatto. +# + +CWD="`pwd`" + +if [ -f "/etc/slackbuildrc" ]; then + source /etc/slackbuildrc +fi + +if [ -f "~/.slackbuildrc" ]; then + source ~/.slackbuildrc +fi + +PACKAGE="imagemagick" +TMP=${TMP:=/tmp} +ARCH=${ARCH:=x86_64} +BUILD=${BUILD:=1rha} +SRC_DIR=${SRC:=$CWD} + +if [ "$ARCH" == "x86_64" ]; then + LIBDIR=/usr/lib64 +else + LIBDIR=/usr/lib +fi + +PKG=$TMP/package-imagemagick +rm -rf $PKG +mkdir -p $PKG + +# NOTE: This is to cope with ImageMagick version numbers such as 5.4.7-4, +# which occur fairly often (but not always). If these numbers are all the same, +# then this is not one of those versions. + +# This is a bit messy, so we'll explain it well. :-) + +# This is the base version number, which is needed to cd into the source tree +BASEVER=6.2.3 + +# This is the version number used in the source tarball filename +FILEVER=6.2.3-3 + +# This is the version number used in the package, where a version number cannot +# contain a '-' +PKGVER=6.2.3_3 + +RTOOL="wget" +PACKAGE_EXT="bz2" +SRC="ImageMagick-$FILEVER.tar.$PACKAGE_EXT" +URL="http://slamd64.he.net/slamd64-10.2b/source/xap/imagemagick/ImageMagick-6.2.3-3.tar.bz2" + +if [ "$PACKAGE_EXT" == "bz2" ]; then + tarflag="j" +else + tarflag="z" +fi + +if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" +fi + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" +fi + +# --with-x or not --with-x, that is the question. It seems many other +# distributions don't compile with X support, but it's been traditional +# here. I am moving the prefix to /usr (instead of /usr/X11R6) though, +# because many X-linked things are put into /usr now (like GNOME), and +# I've heard a few reports of compile failures when this isn't in /usr. +# Everyone else does it -- time to follow the path of least resistance. + +cd $TMP +rm -rf ImageMagick-$BASEVER +tar xvf$tarflag $SRC_DIR/$SRC +cd ImageMagick-$BASEVER + +zcat $CWD/imagemagick.CVE-2005-4601.CVE-2006-0082.diff.gz | patch -p1 --verbose || exit + +chown -R root.root . +find . -perm 664 -exec chmod 644 {} \; +find . -perm 600 -exec chmod 644 {} \; +find . -perm 444 -exec chmod 644 {} \; +find . -perm 400 -exec chmod 644 {} \; +find . -perm 440 -exec chmod 644 {} \; +find . -perm 777 -exec chmod 755 {} \; +find . -perm 775 -exec chmod 755 {} \; +find . -perm 511 -exec chmod 755 {} \; +find . -perm 711 -exec chmod 755 {} \; +find . -perm 555 -exec chmod 755 {} \; +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure --prefix=/usr \ + --program-prefix= \ + --libdir=$LIBDIR \ + --enable-16bit-pixel \ + --with-x \ + --with-frozenpaths=no \ + --enable-static=no \ + --enable-shared \ + --with-perl \ + $ARCH-slackware-linux +make +make install DESTDIR=$PKG + +# Lately ImageMagick has been smoking crack: +rm -f $PKG/usr/lib/libltdl.* + +( cd $PKG + # Nothing but a perl upgrade should replace this (and maybe not even that) + find . -name perllocal.pod | xargs rm -f +) + +# DESTDIR is still broken about this, but works well enough otherwise: +chmod 644 $PKG/usr/share/man/man3/* +mv $PKG/usr/share/man/man3 $PKG/usr/man +rmdir $PKG/usr/share/man + +( cd $PKG/usr/lib/perl5 + # Ditch empty dirs: + rmdir */* 2> /dev/null + rmdir * 2> /dev/null +) + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) +chown -R root.bin $PKG/usr/bin +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr +mv $PKG/usr/share/doc $PKG/usr +cp -a \ + AUTHORS LICENSE NEWS NOTICE Platforms.txt QuickStart.txt README.txt \ + $PKG/usr/doc/Imag* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +makepkg -l y -c n ../imagemagick-$PKGVER-$ARCH-$BUILD.tgz + |