#!/bin/sh # Slackware build script for connie # Written by B. Watson (yalhcru@gmail.com) # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. PRGNAM=connie VERSION=${VERSION:-0.4.3rc9} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} 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} # No support for CFLAGS, use upstream's if [ "$ARCH" = "i486" ]; then LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then LIBDIRSUFFIX="64" else LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION 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 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # SSE isn't autodetected SSE=${SSE:-yes} # QT is left disabled by default because it's experimental. It works, # but is basically useless. QT=${QT:-no} if [ "$SSE" = "yes" ]; then TARGET=${PRGNAM}_sse else TARGET=${PRGNAM}_i386 fi # clean up the Makefile, enable jack session support. # There are a couple of scary-looking compile warnings, but the program # seems to run fine, so I won't try to fix them. sed -i \ -e 's,pentium3,native -fPIC ,' \ -e '/-ljack/s,$, -lm -lpthread,' \ -e '/^# *JACK_SESSION/s,^# *,,' \ Makefile qt4/${PRGNAM}_qt4.pro make $TARGET # 'make install' is tailored to debian, just do it manually. # We won't use upstream's wrapper script, as it causes unexpected # behaviour (spawns a new xterm, even if run from an xterm). Instead, # the .desktop file runs in a terminal. mkdir -p $PKG/usr/bin $PKG/usr/man/man1 install -s -m0755 $TARGET $PKG/usr/bin/$PRGNAM mkdir -p $PKG/usr/share/pixmaps cat $PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png # .desktop written for this SlackBuild mkdir -p $PKG/usr/share/applications cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop # We only install one binary (either i386 or sse), so fix up the man page # so it doesn't mention connie_i386 and connie_sse. sed -i '/^Two bin/,+4d' $PRGNAM.1 # Build experimental QT4 UI if enabled. if [ "$QT" = "yes" ]; then cd qt4 [ "$SSE" = "no" ] && sed -i 's,-march.*,-Wall -O3 -fomit-frame-pointer -pipe,' *.pro qmake make install -s -m0755 ${PRGNAM}_qt4 $PKG/usr/bin/${PRGNAM}_qt4 cat $CWD/${PRGNAM}_qt4.desktop > $PKG/usr/share/applications/${PRGNAM}_qt4.desktop cd - sed -i \ -e '/^\.SH DESC/i.br\n.B connie_qt4 [options]' \ -e '/^\.sp/cconnie_qt4 has a GUI, takes the same options as connie, but supports no keyboard commands.' \ $PRGNAM.1 ln -sf $PRGNAM.1.gz $PKG/usr/man/man1/${PRGNAM}_qt4.1.gz fi gzip -9c $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a README TODO LICENSE debian/changelog \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install sed -e "s,%SSE%,$SSE," -e "s,%QT%,$QT," $CWD/slack-desc \ > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh # Only add capability stuff if not disabled: if [ "${SETCAP:-yes}" = "yes" ]; then cat $CWD/setcap.sh >> $PKG/install/doinst.sh # Only allow execution by audio group chown root:audio $PKG/usr/bin/* chmod 0750 $PKG/usr/bin/* fi cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}