diff options
Diffstat (limited to 'audio/oss/oss.SlackBuild')
-rw-r--r-- | audio/oss/oss.SlackBuild | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/audio/oss/oss.SlackBuild b/audio/oss/oss.SlackBuild new file mode 100644 index 0000000000..5ef14a479d --- /dev/null +++ b/audio/oss/oss.SlackBuild @@ -0,0 +1,103 @@ +#!/bin/sh + +# Slackware build script for OSS 4. + +# Written by Dugan Chen (thedoogster [at] gmail [dot] com). + +PRGNAM=oss +VERSION=${VERSION:-4.2.2008} +SRCZIP="ender.zip" +SRCDIR="oss-v4.2-build2008-ender" +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +MAJOR=$(printf $VERSION | cut -d. -f-2) +MINOR=$(printf $VERSION | cut -d. -f3) + +SRCVERSION=v${MAJOR}-build${MINOR}-src-gpl + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" # yes, -fPIC is left out on purpose here + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVERSION +unzip -x $CWD/$SRCZIP +cd $SRCDIR +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +if [ $ARCH = "x86_64" ]; then + sed -i 's,OSSLIBDIR=\"/usr/lib/oss\",OSSLIBDIR=\"/usr/lib64/oss\",g' configure +fi + +mkdir build && cd build +../configure +CFLAGS="$SLKCFLAGS" make build +cp -a prototype/* $PKG + +chmod -R a+r $PKG +find $PKG -type d -exec chmod a+x '{}' \; + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Don't clobber the config file +mv $PKG/etc/oss.conf $PKG/etc/oss.conf.new + +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.oss > $PKG/etc/rc.d/rc.oss.new + +mkdir -p $PKG/usr/share/applications +cat $CWD/ossxmix.desktop > $PKG/usr/share/applications/ossxmix.desktop + +mkdir -p $PKG/etc/xdg/autostart +( cd $PKG/etc/xdg/autostart + ln -sf /usr/share/applications/ossxmix.desktop . +) + +# Fix location of manual pages +mv $PKG/usr/share/man $PKG/usr + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING Changelog RELNOTES.txt $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |