diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2016-06-30 20:26:57 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 23:31:18 +0200 |
commit | d31c50870d0bee042ce660e445c9294a59a3a65b (patch) | |
tree | 6bfc0de3c95267b401b620c2c67859557dc60f97 /source/l/libpng | |
parent | 76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (diff) | |
download | current-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.gz current-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.xz |
Slackware 14.2slackware-14.2
Thu Jun 30 20:26:57 UTC 2016
Slackware 14.2 x86_64 stable is released!
The long development cycle (the Linux community has lately been living in
"interesting times", as they say) is finally behind us, and we're proud to
announce the release of Slackware 14.2. The new release brings many updates
and modern tools, has switched from udev to eudev (no systemd), and adds
well over a hundred new packages to the system. Thanks to the team, the
upstream developers, the dedicated Slackware community, and everyone else
who pitched in to help make this release a reality.
The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided
32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware
project by picking up a copy from store.slackware.com. We're taking
pre-orders now, and offer a discount if you sign up for a subscription.
Have fun! :-)
Diffstat (limited to 'source/l/libpng')
-rwxr-xr-x | source/l/libpng/libpng.SlackBuild | 150 |
1 files changed, 79 insertions, 71 deletions
diff --git a/source/l/libpng/libpng.SlackBuild b/source/l/libpng/libpng.SlackBuild index d338e5c64..91bc3a188 100755 --- a/source/l/libpng/libpng.SlackBuild +++ b/source/l/libpng/libpng.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,38 +21,61 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION_OLD=1.2.50 -VERSION_NEW=1.4.12 +PKGNAM=libpng +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} # 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 ;; + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) ARCH=$(uname -m) ;; esac + export ARCH fi -if [ "$ARCH" = "x86_64" ]; then +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" else + SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-libpng -rm -rf $PKG -mkdir -p $TMP $PKG/usr +PKG=$TMP/package-$PKGNAM -build_source() { +rm -rf $PKG +mkdir -p $TMP $PKG cd $TMP -rm -rf libpng-$VERSION -tar xvf $CWD/libpng-$VERSION.tar.?z* || exit 1 -cd libpng-$VERSION +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -60,75 +83,60 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Look like using ./configure is the only way that works now... -./configure --prefix=/usr \ +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ --libdir=/usr/lib${LIBDIRSUFFIX} \ - --mandir=/usr/man - -make -j4 prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" || exit 1 -make install prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" DESTDIR=$PKG - -# I'm ditching this to see if anyone cares. -# -## This symlink is needed to keep old applications running: -## I guess the real lib used the major number 3, then 0 for -## a short while, and now .3 again. Hopefully it will stay -## this way as it was .3 in Slackware 10.2. One can hope. -#( cd $PKG/usr/lib${LIBDIRSUFFIX} -# if [ ! -e libpng.so.0 -a -e libpng.so.3 ]; then -# ln -sf libpng.so.3 libpng.so.0 -# fi -#) - -# Well, glad I got rid of the above, but <someone> upstream still does not -# grok shared libraries on Linux it seems -- libpng-1.4.0 caused all the -# newly compiled binaries to want libpng.so.14, and now libpng-1.4.1 -# wants to change that to libpng14.so.14. Searching online finds that -# we are not the only ones with binaries that want libpng.so.14, so we -# are forced to provide a compatibility symlink again... :-/ -# -# We'll try to remove this in 5 to 10 years, just like before. -( cd $PKG/usr/lib${LIBDIRSUFFIX} - if [ ! -e libpng.so.14 -a -e libpng14.so.14 ]; then - ln -sf libpng14.so.14 libpng.so.14 - fi + --includedir=/usr/include \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +( 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 ) -find $PKG | xargs file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -gzip -9 --force $PKG/usr/man/man?/*.? - -mkdir -p $PKG/usr/doc/libpng-$VERSION +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \ libpng*.txt example.c \ - $PKG/usr/doc/libpng-$VERSION + $PKG/usr/doc/${PKGNAM}-$VERSION + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi # 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/libpng-$VERSION) - cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog - touch -r ChangeLog $DOCSDIR/ChangeLog +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES fi -} - -# Build the 1.2 version: -VERSION=$VERSION_OLD -build_source - -# Build the 1.4 version: -VERSION=$VERSION_NEW -build_source - -# Default the includes to version 1.4.x: -( cd $PKG/usr/include ; ln -sf libpng14 libpng ) - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $TMP/libpng-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz |