diff options
Diffstat (limited to 'network/transmission/transmission.SlackBuild')
-rw-r--r-- | network/transmission/transmission.SlackBuild | 79 |
1 files changed, 55 insertions, 24 deletions
diff --git a/network/transmission/transmission.SlackBuild b/network/transmission/transmission.SlackBuild index 241dd1cf4c..d5f6611f75 100644 --- a/network/transmission/transmission.SlackBuild +++ b/network/transmission/transmission.SlackBuild @@ -4,6 +4,7 @@ # Copyright 2007 Vasilis Papavasileiou <el03020 at mail dot ntua dot gr> # Copyright 2008-2011 Iskar Enev <iskar.enev[@]gmail.com> # Copyright 2011-2013 Niels Horn, Rio de Janeiro, Brazil +# Copyright 2015 B. Watson <yalhcru@gmail.com> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,11 +24,16 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# Revision date: 2014/08/28 +# Revision date: 2015/02/04 + +# 20150204 bkw: allow user to disable the various components. +# By default, all are enabled. We can disable transmission-gtk, +# transmission-qt, transmission-cli, and/or transmission-daemon. +# But disabling them all is no good. PRGNAM=transmission VERSION=${VERSION:-2.84} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -61,6 +67,24 @@ fi set -e +GTK="${GTK:-yes}" +QT="${QT:-yes}" +CLI="${CLI:-yes}" +DAEMON="${DAEMON:-yes}" + +if [ "$GTK" != "yes" -a "$QT" != "yes" -a "$CLI" != "yes" -a "$DAEMON" != "yes" ]; then + cat <<EOF 1>&2 +Can't build transmission with everything disabled, at least one of +GTK QT CLI DAEMON must be 'yes'. +EOF + exit 1 +fi + +# anything but lowercase "yes" is considered a no! +[ "$GTK" != "yes" ] && GTKOPT="no" || GTKOPT="yes" +[ "$CLI" != "yes" ] && CLIOPT="dis" || CLIOPT="en" +[ "$DAEMON" != "yes" ] && DAEMOPT="dis" || DAEMOPT="en" + rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP @@ -78,16 +102,10 @@ find -L . \ sed -i -e 's%-g -O3 -funroll-loops %%g' configure.ac sed -i -e 's%-ggdb3 %%g' configure.ac -# Fix hard-coded path of man file of Qt client -sed -i "s|share/man/|man/|" qt/qtr.pro - -# Needed when using Qt4 -# https://trac.transmissionbt.com/ticket/5700#comment:2 -echo "QMAKE_CXXFLAGS += -std=c++11" >> qt/qtr.pro - # Thanks Larry Hajali autoreconf -ivf +CC=gcc CXX=g++ \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -98,23 +116,39 @@ CXXFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --disable-static \ --verbose \ + --with-gtk=$GTKOPT \ + --${CLIOPT}able-cli \ + --${DAEMOPT}able-daemon \ --build=$ARCH-slackware-linux \ --host=$ARCH-slackware-linux -# build daemon, GTK and cli client +# build daemon, GTK and cli client (unless disabled) make make install DESTDIR=$PKG -# build the Qt client (transmission-qt) -cd $TMP/$PRGNAM-$VERSION/qt - qmake \ - QMAKE_CXXFLAGS+="$SLKCFLAGS" \ - QMAKE_CFLAGS+="$SLKCFLAGS" \ - qtr.pro - sed -i -e 's% -g % %g' Makefile - make - INSTALL_ROOT=$PKG/usr make install -cd - +if [ "$QT" = "yes" ]; then + # build the Qt client (transmission-qt) unless disabled + # Fix hard-coded path of man file of Qt client + sed -i "s|share/man/|man/|" qt/qtr.pro + + # Needed when using Qt4 + # https://trac.transmissionbt.com/ticket/5700#comment:2 + echo "QMAKE_CXXFLAGS += -std=c++11" >> qt/qtr.pro + + cd $TMP/$PRGNAM-$VERSION/qt + qmake \ + QMAKE_CXXFLAGS+="$SLKCFLAGS" \ + QMAKE_CFLAGS+="$SLKCFLAGS" \ + qtr.pro + sed -i -e 's% -g % %g' Makefile + make + INSTALL_ROOT=$PKG/usr make install + + mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps + install -m644 transmission-qt.desktop $PKG/usr/share/applications/transmission-qt.desktop + install -m644 icons/transmission.png $PKG/usr/share/pixmaps/transmission-qt.png + cd - +fi find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -122,15 +156,12 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -install -m644 $TMP/$PRGNAM-$VERSION/qt/transmission-qt.desktop $PKG/usr/share/applications/transmission-qt.desktop -install -m644 $TMP/$PRGNAM-$VERSION/qt/icons/transmission.png $PKG/usr/share/pixmaps/transmission-qt.png - mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a $DOCUMENTATION $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc +sed "s,@opts@,GTK=$GTK QT=$QT CLI=$CLI DAEMON=$DAEMON," $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG |