summaryrefslogtreecommitdiff
path: root/source/l/libzip/libzip.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/libzip/libzip.SlackBuild')
-rwxr-xr-xsource/l/libzip/libzip.SlackBuild69
1 files changed, 27 insertions, 42 deletions
diff --git a/source/l/libzip/libzip.SlackBuild b/source/l/libzip/libzip.SlackBuild
index 9531854f..034d35ab 100755
--- a/source/l/libzip/libzip.SlackBuild
+++ b/source/l/libzip/libzip.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
# Copyright 2007, 2013, 2015 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,10 +23,11 @@
# Modified by Robby Workman <rworkman at slackware.com>
+cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libzip
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -38,9 +39,16 @@ if [ -z "$ARCH" ]; then
esac
fi
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
NUMJOBS=${NUMJOBS:--j6}
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-libzip
@@ -62,7 +70,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf libzip-$VERSION
-tar xvf $CWD/libzip-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/libzip-$VERSION.tar.?z || exit 1
cd libzip-$VERSION || exit 1
chown -R root:root .
find . \
@@ -71,31 +79,18 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --includedir=/usr/include \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-static \
- --build=$ARCH-slackware-linux
-
-# Fix symbolic linking for manpages
-sed -i "s|\${LN}|\${LN_S}|g" man/Makefile
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# While I perhaps see the motive for putting platform-specific include files
-# in a place where they won't collide, the fact is that this breaks anything
-# currently using libzip. Adding a link to the standard include directory
-# mostly fixes this, but it is still not optimal. It's likely to cause
-# problems on multilib systems, for example (but like that whole thing isn't
-# an even uglier hack).
-( cd $PKG/usr/include ; ln -sf ../lib${LIBDIRSUFFIX}/libzip/include/zipconf.h . )
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib${LIBDIRSUFFIX} \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DCMAKE_BUILD_TYPE=Release .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -115,19 +110,9 @@ if [ -d $PKG/usr/man ]; then
)
fi
-# Now, fix the stupid symbolic manpage links again:
-( cd $PKG/usr/man/man3
- find . -type l | while read link ; do
- LINKFILE=$(basename $link)
- LINKTARGET=$(basename $(readlink $LINKFILE))
- rm $LINKFILE
- ln -sf $LINKTARGET $LINKFILE
- done
-)
-
mkdir -p $PKG/usr/doc/libzip-$VERSION
cp -a \
- AUTHORS COPYING* INSTALL NEWS README* THANKS TODO \
+ AUTHORS* COPYING* INSTALL* NEWS* README* THANKS* TODO* \
$PKG/usr/doc/libzip-$VERSION
mkdir -p $PKG/install