diff options
Diffstat (limited to 'network/transmission')
-rw-r--r-- | network/transmission/README | 16 | ||||
-rw-r--r-- | network/transmission/slack-desc | 4 | ||||
-rw-r--r-- | network/transmission/transmission.SlackBuild | 176 | ||||
-rw-r--r-- | network/transmission/transmission.info | 10 |
4 files changed, 97 insertions, 109 deletions
diff --git a/network/transmission/README b/network/transmission/README index cd8bc73444..9c54e443bf 100644 --- a/network/transmission/README +++ b/network/transmission/README @@ -1,13 +1,17 @@ +transmission (bittorrent client) + Transmission is a lightweight open source BitTorrent client, providing -useful functionality without feature bloat. It consists of a daemon, a -GTK+, Qt and CLI client. +useful functionality without feature bloat. It consists of a daemon +and GTK+, Qt, and CLI clients. -By default, all 4 components are built. Specific parts can be disabled -by setting one or more environment variables: +By default, everything but the Qt client is built. It can be enabled +by exporting QT=yes in the environment. The other parts can be +disabled by exporting one or more environment variables: GTK=no -QT=no CLI=no DAEMON=no -At least one component must be enabled (so all 4 set to "no" won't work). +Hint: if you use QT=yes, you probably also want GTK=no. + +At least one component must be enabled (all 4 set to "no" won't work). diff --git a/network/transmission/slack-desc b/network/transmission/slack-desc index b6a5284dc1..30f5ac84ba 100644 --- a/network/transmission/slack-desc +++ b/network/transmission/slack-desc @@ -10,10 +10,10 @@ transmission: transmission (bittorrent client) transmission: transmission: Transmission is a lightweight open source BitTorrent client, transmission: providing useful functionality without feature bloat. -transmission: It consists of a daemon, a GTK+, Qt and CLI client. +transmission: It consists of a daemon and GTK+, Qt, and CLI clients. transmission: transmission: This package built with options: transmission: @opts@ transmission: -transmission: Homepage: http://transmissionbt.com/ +transmission: Homepage: https://transmissionbt.com/ transmission: diff --git a/network/transmission/transmission.SlackBuild b/network/transmission/transmission.SlackBuild index 274d96b02c..5ccebeb9b7 100644 --- a/network/transmission/transmission.SlackBuild +++ b/network/transmission/transmission.SlackBuild @@ -1,10 +1,10 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for transmission -# Copyright 2007 Vasilis Papavasileiou <el03020 at mail dot ntua dot gr> -# Copyright 2008-2011 Iskar Enev <iskar.enev[@]gmail.com> +# Copyright 2007 Vasilis Papavasileiou <email removed> +# Copyright 2008-2011 Iskar Enev <email removed> # Copyright 2011-2013 Niels Horn, Rio de Janeiro, Brazil -# Copyright 2015 B. Watson <yalhcru@gmail.com> +# Copyright 2015 B. Watson <urchlay@slackware.uk> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,25 +24,38 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# 20180207 bkw: update for v2.93 - +# 20231219 bkw: update for v4.0.5, minor man page tweaks. +# 20230912 bkw: update for v4.0.4. +# 20230510 bkw: update for v4.0.3. remove the warning about D-Bus from README, +# it no longer applies (transmission-gtk works without it). +# 20230320 bkw: update for v4.0.2. add -DREBUILD_WEB=OFF to allow building +# without using the network, if nodejs is installed. thanks +# to Ruben Schuller for pointing this out. +# 20230208 bkw: update for v4.0.0, which has only been out for about 5 hours. +# - Disable the qt5 UI by default. There's no reason to build both GUIs +# by default. User can still say GTK=no QT=yes to get only the qt UI. +# 20210926 bkw: BUILD=2, restore Qt5 build. 15.0 not yet released, but "soon". +# 20200525 bkw: update for v3.00. +# Drop Qt GUI and QT=yes, due to 14.2's old gcc/libstdc++. +# It will come back when 15.0 releases. +# 20180611 bkw: update for v2.94. +# 20180207 bkw: update for v2.93. # 20180116 bkw: security fix, BUILD=2. See: # https://github.com/transmission/transmission/pull/468 # Thanks to Freenode user lord_ for pointing this out. - -# 20180611 bkw: update for v2.94 - # 20170621 bkw: fix build on -current. - # 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. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=transmission -VERSION=${VERSION:-2.94} +VERSION=${VERSION:-4.0.5} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -52,13 +65,15 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -DOCUMENTATION="AUTHORS COPYING INSTALL NEWS README" - if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" @@ -76,22 +91,29 @@ fi set -e GTK="${GTK:-yes}" -QT="${QT:-yes}" +QT="${QT:-no}" CLI="${CLI:-yes}" DAEMON="${DAEMON:-yes}" -if [ "$GTK" != "yes" -a "$QT" != "yes" -a "$CLI" != "yes" -a "$DAEMON" != "yes" ]; then +if [ "$GTK" != "yes" -a "$CLI" != "yes" -a "$DAEMON" != "yes" -a "$QT" != "yes" ]; then cat <<EOF 1>&2 + +****************************************************************** Can't build transmission with everything disabled, at least one of -GTK QT CLI DAEMON must be 'yes'. +GTK CLI QT 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" +# Anything but lowercase "yes" is considered a no! +# cmake didn't used to be case-sensitive about on and off. +# It feels like BDSM, and not in a good way. +[ "$QT" != "yes" ] && QTOPT="OFF" || QTOPT="ON" +[ "$GTK" != "yes" ] && GTKOPT="OFF" || GTKOPT="ON" +[ "$CLI" != "yes" ] && CLIOPT="OFF" || CLIOPT="ON" +[ "$DAEMON" != "yes" ] && DAEMOPT="OFF" || DAEMOPT="ON" rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT @@ -101,85 +123,47 @@ mkdir -p $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.xz 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 {} \; - -# Fix CVE-2018-5702 for transmission-2.92. Patch came from: -# https://github.com/transmission/transmission/files/1624507/transmission-fix-dns-rebinding-vuln.patch.txt -#patch -p1 < $CWD/transmission-fix-dns-rebinding-vuln.diff -# Not needed for >= 2.93 - -sed -i -e 's%-g -O3 -funroll-loops %%g' configure.ac -sed -i -e 's%-ggdb3 %%g' configure.ac - -# fix for -current (does no harm on stable). ref: -# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c13b5e88c6e9c7bd2698d844cb5ed127ed809f7e -rm -f m4/glib-gettext.m4 - -# Thanks Larry Hajali -autoreconf -ivf - -CC=gcc CXX=g++ \ -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --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 (unless disabled) -make -make install DESTDIR=$PKG - -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 - -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 +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# 20231219 bkw: make the man pages slightly nicer looking: replace +# 'BSD General Commands Manual' with 'SlackBuilds.org', and replace +# the 'BSD' at the bottom with the version number. +for i in $( find . -maxdepth 2 -name 'transmission*.1' ); do + sed -i -e '/^\.Os/d' \ + -e '/^\.Dt/s,1 *$,\\\&1 "SlackBuilds.org",' \ + -e '/^\.Dt/a.Os '$VERSION \ + $i +done + +mkdir -p build +cd build + cmake \ + -DREBUILD_WEB=OFF \ + -DENABLE_DAEMON=$DAEMOPT \ + -DENABLE_QT=$QTOPT \ + -DENABLE_GTK=$GTKOPT \ + -DENABLE_CLI=$CLIOPT \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DCMAKE_INSTALL_MANDIR=/usr/man \ + -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \ + -DCMAKE_BUILD_TYPE=Release .. + make VERBOSE=1 + make install/strip DESTDIR=$PKG +cd .. + +gzip -9 $PKG/usr/man/man?/* -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 -sed "s,@opts@,GTK=$GTK QT=$QT CLI=$CLI DAEMON=$DAEMON," $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 -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/network/transmission/transmission.info b/network/transmission/transmission.info index 6abe22b5a6..89363cfcd1 100644 --- a/network/transmission/transmission.info +++ b/network/transmission/transmission.info @@ -1,10 +1,10 @@ PRGNAM="transmission" -VERSION="2.94" -HOMEPAGE="http://www.transmissionbt.com/" -DOWNLOAD="https://github.com/transmission/transmission-releases/raw/master/transmission-2.94.tar.xz" -MD5SUM="c92829294edfa391c046407eeb16358a" +VERSION="4.0.5" +HOMEPAGE="https://www.transmissionbt.com/" +DOWNLOAD="https://github.com/transmission/transmission/releases/download/4.0.5/transmission-4.0.5.tar.xz" +MD5SUM="d3cda868215246644c429b18a30f7e47" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" MAINTAINER="B. Watson" -EMAIL="yalhcru@gmail.com" +EMAIL="urchlay@slackware.uk" |