diff options
Diffstat (limited to 'source/l/zlib')
-rwxr-xr-x | source/l/zlib/zlib.SlackBuild | 48 | ||||
-rw-r--r-- | source/l/zlib/zlib.largefile64_source.diff | 11 |
2 files changed, 52 insertions, 7 deletions
diff --git a/source/l/zlib/zlib.SlackBuild b/source/l/zlib/zlib.SlackBuild index 65a9134e..9d5f928d 100755 --- a/source/l/zlib/zlib.SlackBuild +++ b/source/l/zlib/zlib.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,9 +21,19 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.2.3 -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-2} +PKGNAM=zlib +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi CWD=$(pwd) TMP=${TMP:-/tmp} @@ -51,8 +61,16 @@ mkdir -p $TMP $PKG cd $TMP rm -rf zlib-$VERSION -tar xjvf $CWD/zlib-$VERSION.tar.bz2 -cd zlib-$VERSION +tar xvf $CWD/zlib-$VERSION.tar.?z* || exit 1 +cd zlib-$VERSION || exit 1 + +# Attempt to work around a problem that affects libxml2 on 64-bits +# and probably breaks other things as well. The issue stems from +# misuse of zlib by other libraries, but there's no other good place +# to put this fix. Note to self - keep an eye on upstream for a +# proper fix. +zcat $CWD/zlib.largefile64_source.diff.gz | patch -p1 --verbose || exit 1 + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -71,6 +89,7 @@ CFLAGS="$SLKCFLAGS" \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --shared make || exit 1 + mkdir -p $PKG/usr/include cp -a zlib.h zconf.h $PKG/usr/include chmod 644 $PKG/usr/include/* @@ -80,14 +99,29 @@ chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/* chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libz.a mkdir -p $PKG/usr/man/man3 cat zlib.3 | gzip -9c > $PKG/usr/man/man3/zlib.3.gz + +# Add pkgconfig file: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig +cat zlib.pc > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/zlib.pc + ( 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 ) + mkdir -p $PKG/usr/doc/zlib-$VERSION cp -a \ - ChangeLog FAQ INDEX README \ + FAQ INDEX README* \ $PKG/usr/doc/zlib-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/source/l/zlib/zlib.largefile64_source.diff b/source/l/zlib/zlib.largefile64_source.diff new file mode 100644 index 00000000..61d7b84d --- /dev/null +++ b/source/l/zlib/zlib.largefile64_source.diff @@ -0,0 +1,11 @@ +--- ./zlib.h.orig 2010-04-19 23:12:48.000000000 -0500 ++++ ./zlib.h 2011-02-09 12:12:15.000000000 -0600 +@@ -1578,7 +1578,7 @@ + # define gzoffset gzoffset64 + # define adler32_combine adler32_combine64 + # define crc32_combine crc32_combine64 +-# ifdef _LARGEFILE64_SOURCE ++# ifndef _LARGEFILE64_SOURCE + ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); + ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); + ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); |