summaryrefslogtreecommitdiffstats
path: root/soundtouch
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2010-04-12 19:06:01 +0000
committer Eric Hameleers <alien@slackware.com>2010-04-12 19:06:01 +0000
commit5eb6d1956f6a2ee82d5108c0f329e847216bdc07 (patch)
treece8dfc81ae1f93b0088c1ad892a15d9f6e06cefe /soundtouch
parent94d8cada047fda27351f213425e8da4495d20731 (diff)
downloadasb-5eb6d1956f6a2ee82d5108c0f329e847216bdc07.tar.gz
asb-5eb6d1956f6a2ee82d5108c0f329e847216bdc07.tar.xz
Updated for 1.5.0 - I hope...
Diffstat (limited to 'soundtouch')
-rwxr-xr-xsoundtouch/build/soundtouch.SlackBuild155
1 files changed, 72 insertions, 83 deletions
diff --git a/soundtouch/build/soundtouch.SlackBuild b/soundtouch/build/soundtouch.SlackBuild
index 4b98ed94..1790e70e 100755
--- a/soundtouch/build/soundtouch.SlackBuild
+++ b/soundtouch/build/soundtouch.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
# $Id$
-# Copyright (c) 2007 Eric Hameleers <alien@slackware.com>
+# Copyright 2007, 2010 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -34,9 +34,10 @@
# * Initial build.
# 1.3.1-2: 24/Jun/2007 by Eric Hameleers <alien@slackware.com>
# * Use float samples instead of integer samples - Wired has this
-# as a requirement.
+# 1.5.0-1: 12/apr/2010 by Eric Hameleers <alien@slackware.com>
+# * Update.
#
-# Run 'sh soundtouch.SlackBuild --cleanup' to build a Slackware package.
+# Run 'sh soundtouch.SlackBuild' to build a Slackware package.
# The package (.tgz) plus descriptive .txt file are created in /tmp .
# Install using 'installpkg'.
#
@@ -45,16 +46,15 @@
# Set initial variables:
PRGNAM=soundtouch
-VERSION=${VERSION:-1.3.1}
-ARCH=${ARCH:-i486}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.5.0}
+BUILD=${BUILD:-1}
+NUMJOBS=${NUMJOBS:" -j4 "}
+TAG=${TAG:-alien}
-DOCS=""
+DOCS="COPYING.TXT README.html"
# Where do we look for sources?
-CWD=`pwd`
-SRCDIR=`dirname $0`
-[ "${SRCDIR:0:1}" == "." ] && SRCDIR=${CWD}/${SRCDIR}
+SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
@@ -68,63 +68,64 @@ SRCURL="http://www.surina.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz"
## --- with a little luck, you won't have to edit below this point --- ##
##
-# Exit the script on errors:
-set -e
-trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
-# Catch unitialized variables:
-set -u
-P1=${1:-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 ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
# Slackware 11 and up need other option (gcc > 3.3.x)
-if [ `gcc -dumpversion | tr -d '.' |cut -c 1-2` -gt 33 ]; then
+if [ $(gcc -dumpversion | tr -d '.' |cut -c 1-2) -gt 33 ]; then
MOPT=tune
else
MOPT=cpu
fi
case "$ARCH" in
- i386) SLKCFLAGS="-O2 -march=i386 -m${MOPT}=i686 -fomit-frame-pointer"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
i486) SLKCFLAGS="-O2 -march=i486 -m${MOPT}=i686 -fomit-frame-pointer"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
- s390) SLKCFLAGS="-O2"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
- powerpc) SLKCFLAGS="-O2"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
x86_64) SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
;;
- athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
+ *) SLKCFLAGS="-O2"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
esac
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
# Create working directories:
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
rm -rf $TMP/tmp-$PRGNAM/* # By default we remove the remnants of previous build
-mkdir -p $PKG # place for the package to be built
-rm -rf $PKG/* # We always erase old package's contents:
-mkdir -p $OUTPUT # place for the package to be saved
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # We always erase old package's contents:
+mkdir -p $OUTPUT # place for the package to be saved
# Source file availability:
if ! [ -f ${SOURCE} ]; then
if ! [ "x${SRCURL}" == "x" ]; then
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
- [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/`basename $SOURCE`"
- echo "Source '`basename ${SOURCE}`' not available yet..."
- echo "Will download file to `dirname $SOURCE`"
- wget -nv --connect-timeout=30 -O "${SOURCE}" "${SRCURL}" || true
+ [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
+ echo "Source '$(basename ${SOURCE})' not available yet..."
+ echo "Will download file to $(dirname $SOURCE)"
+ wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
- echo "Downloading '`basename ${SOURCE}`' failed... aborting the build."
+ echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
exit 1
fi
else
- echo "File '`basename ${SOURCE}`' not available... aborting the build."
+ echo "File '$(basename ${SOURCE})' not available... aborting the build."
exit 1
fi
fi
@@ -141,20 +142,15 @@ echo "|| $PRGNAM-$VERSION"
echo "++"
cd $TMP/tmp-$PRGNAM
-
echo "Extracting the source archive(s) for $PRGNAM..."
-if `file ${SOURCE} | grep -q ": bzip2"`; then
- tar -xjvf ${SOURCE}
-elif `file ${SOURCE} | grep -q ": gzip"`; then
- tar -xzvf ${SOURCE}
-fi
-cd ${PRGNAM}-${VERSION}
+tar -xzvf ${SOURCE}
+cd ${PRGNAM}
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
-# set correct version for .so build
-LTVERSION=$(echo ${VERSION} | tr '.' ':')
-sed -i -e "s/-rpath \$(libdir)/-rpath \$(libdir) -version-number ${LTVERSION}/" source/SoundTouch/Makefile.in
+## set correct version for .so build
+#LTVERSION=$(echo ${VERSION} | tr '.' ':')
+#sed -i -e "s/-rpath \$(libdir)/-rpath \$(libdir) -version-number ${LTVERSION}/" source/SoundTouch/Makefile.in
# Patch Makefiles to force use of SLKCFLAGS
if [ "$ARCH" == "i486" ]; then
@@ -162,59 +158,57 @@ if [ "$ARCH" == "i486" ]; then
else
sed -i -e 's/-O3 -msse/$(CFLAGS)/' source/SoundTouch/Makefile.*
fi
-sed -i 's/-O3/$(CFLAGS)/' source/example/*/Makefile.*
-# Clean up the documentation files:
-chmod -x README.html
-sed -i -e 's/\r//' README.html COPYING.TXT
+# More breakage:
+ln -sf /usr/share/libtool/ltmain.sh config/ltmain.sh
+rm -f config/m4/lt*
echo Building ...
export LDFLAGS="$SLKLDFLAGS"
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export AUTOMAKE="automake --add-missing --foreign"
-./configure --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --enable-static \
- --enable-shared \
- --program-prefix="" \
- --program-suffix="" \
- --build=$ARCH-slackware-linux \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
- # Wired does not like '--enable-integer-samples'
-# Don't use rpath - thanks FC ;-)
-sed -i -e 's/^hardcode_libdir_flag_spec=.*/hardcode_libdir_flag_spec=""/g' libtool
-sed -i -e 's/^runpath_var=LD_RUN_PATH/runpath_var=DIE_RPATH_DIE/g' libtool
-
-make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --enable-static \
+ --enable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
+ # Wired does not like '--enable-integer-samples'
+
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
-#
# Install all the needed stuff to the package dir
-#
# Use installwatch if available, to produce a logfile of the installation
# process that is more easily readable:
-if `which installwatch > /dev/null 2>&1`; then
+if $(which installwatch > /dev/null 2>&1); then
installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
else
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
fi
# Add documentation:
-mv $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
+cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Compress the man page(s):
if [ -d $PKG/usr/man ]; then
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+ for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).
+gz $i.gz ; rm $i ; done
fi
# Strip binaries:
-cd $PKG
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-cd -
-
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Add a package description:
mkdir -p $PKG/install
@@ -222,14 +216,9 @@ cat $SRCDIR/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
-makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
-md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz.md5
+md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz.md5
cd -
-cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
+cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
-# Clean up the extra stuff:
-if [ "$P1" = "--cleanup" ]; then
- rm -rf $TMP/tmp-$PRGNAM
- rm -rf $PKG
-fi