#!/bin/bash # Slackware build script for rubberband # Written by Luis Henrique # Modified by B. Watson . Original had no license. # Modified version licensed under the WTFPL. See # http://www.wtfpl.net/txt/copying/ for details. # 20201103 bkw: update for v1.9.0 # 20180702 bkw: # - update for v1.8.2 # - add optional Java support. # - add license to script. # 20140915 bkw: # - took over maintenance # - get rid of static lib # - use sed instead of a diff for $LIBDIRSUFFIX # - fix libdir in .pc files also # - add man page cd $(dirname $0) ; CWD=$(pwd) PRGNAM=rubberband VERSION=${VERSION:-1.9.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 cd $PRGNAM-$VERSION chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ # Fixup libdir on x86_64 sed -i "s,\,lib$LIBDIRSUFFIX,g" Makefile.in *.pc.in # For 1.8.2, the Makefile tries to install the JNI stuff even if # we don't build it. sed -i '/cp *-f .*JNI_TARGET/s,$, || true,' Makefile.in CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --build=$ARCH-slackware-linux make # 20180703 bkw: build java JNI stuff if we have javac in $PATH and # the user says JAVA=yes. Disabled by default because we have too many # choices for java compilers, and I can't be bothered to test them all # (jdk, openjdk 6 through 8, zulu-openjdk 6 thru 8). Plain "make" # doesn't build this... WITHJAVA=without if [ "${JAVA:-no}" = "yes" ] && which javac &>/dev/null; then make lib$LIBDIRSUFFIX/librubberband-jni.so WITHJAVA=with fi make install DESTDIR=$PKG # We don't need the static lib rm -f $PKG/usr/lib$LIBDIRSUFFIX/*.a find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true # man page borrowed from Debian mkdir -p $PKG/usr/man/man1 gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a CHANGELOG COPYING README* $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install sed "s,@WITHJAVA@,$WITHJAVA," $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}