summaryrefslogtreecommitdiff
path: root/source/l/zlib
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/zlib')
-rwxr-xr-xsource/l/zlib/zlib.SlackBuild48
-rw-r--r--source/l/zlib/zlib.largefile64_source.diff11
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));