summaryrefslogtreecommitdiff
path: root/network/transmission/transmission.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/transmission/transmission.SlackBuild')
-rw-r--r--network/transmission/transmission.SlackBuild79
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