summaryrefslogtreecommitdiffstats
path: root/network/transmission
diff options
context:
space:
mode:
Diffstat (limited to 'network/transmission')
-rw-r--r--network/transmission/README16
-rw-r--r--network/transmission/slack-desc4
-rw-r--r--network/transmission/transmission.SlackBuild176
-rw-r--r--network/transmission/transmission.info10
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"