166 lines
4.4 KiB
Bash
166 lines
4.4 KiB
Bash
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
|
# Contributor : Tom Gundersen <teg@jklm.no>
|
|
# Contributor : Ionut Biru <ibiru@archlinux.org>
|
|
# Contributor : Thomas Weißschuh <thomas t-8ch de>
|
|
# Contributor : Florian Pritz <bluewind@xinu.at>
|
|
|
|
pkgbase=transmission
|
|
pkgname=(transmission-cli transmission-gtk transmission-qt libtransmission)
|
|
pkgver=4.0.6
|
|
pkgrel=2.1
|
|
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
|
|
url="http://www.transmissionbt.com/"
|
|
license=(GPL)
|
|
makedepends=(
|
|
cmake
|
|
curl
|
|
dht
|
|
glibmm-2.68
|
|
gtk4
|
|
gtkmm-4.0
|
|
intltool
|
|
libb64
|
|
libdeflate
|
|
libevent
|
|
libnatpmp
|
|
miniupnpc
|
|
ninja
|
|
qt6-base
|
|
qt6-svg
|
|
qt6-tools
|
|
systemd
|
|
)
|
|
makedepends_powerpc64=(npm)
|
|
makedepends_powerpc64le=(npm)
|
|
makedepends_x86_64=(npm)
|
|
makedepends_risciv64=(npm)
|
|
source=(https://github.com/transmission/transmission/releases/download/$pkgver/transmission-$pkgver.tar.xz
|
|
febfe49c.patch
|
|
transmission-cli.sysusers
|
|
transmission-cli.tmpfiles)
|
|
sha256sums=('2a38fe6d8a23991680b691c277a335f8875bdeca2b97c6b26b598bc9c7b0c45f'
|
|
'1e5917c79a0c17595f18b544c5c1ab101ecbef5b2ffb0ca42a0a3b221a85e044'
|
|
'641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2'
|
|
'1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451')
|
|
|
|
prepare() {
|
|
cd $pkgbase-$pkgver
|
|
patch -p1 -i ../febfe49c.patch # Fix build with miniupnpc 2.2.8
|
|
}
|
|
|
|
build() {
|
|
export CFLAGS+=" -ffat-lto-objects"
|
|
cd $pkgbase-$pkgver
|
|
|
|
case "${CARCH}" in
|
|
powerpc) cmake_options=(-DREBUILD_WEB=OFF) ;;
|
|
*) cmake_options=(-DREBUILD_WEB=ON) ;;
|
|
esac
|
|
|
|
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DENABLE_CLI=ON \
|
|
-DENABLE_DAEMON=ON \
|
|
-DENABLE_GTK=ON \
|
|
-DENABLE_MAC=OFF \
|
|
-DENABLE_QT=ON \
|
|
-DREBUILD_WEB=ON \
|
|
-DENABLE_TESTS=ON \
|
|
-DENABLE_UTILS=ON \
|
|
-DENABLE_UTP=ON \
|
|
-DINSTALL_LIB=ON \
|
|
-DUSE_SYSTEM_B64=ON \
|
|
-DUSE_SYSTEM_DEFLATE=ON \
|
|
-DUSE_SYSTEM_DHT=ON \
|
|
-DUSE_SYSTEM_EVENT2=ON \
|
|
-DUSE_SYSTEM_MINIUPNPC=ON \
|
|
-DUSE_SYSTEM_NATPMP=ON \
|
|
-DUSE_SYSTEM_PSL=ON \
|
|
-DUSE_SYSTEM_UTP=OFF \
|
|
-DWITH_CRYPTO=openssl ${cmake_options[@]} \
|
|
-S . -B build
|
|
|
|
cmake --build build --config Release
|
|
}
|
|
|
|
check() {
|
|
cd $pkgbase-$pkgver
|
|
|
|
cd build
|
|
ctest --output-on-failure -j "$(nproc)"
|
|
}
|
|
|
|
_install_component() {
|
|
(cd $srcdir/$pkgbase-$pkgver/build; DESTDIR="$pkgdir" ninja $1/install)
|
|
}
|
|
|
|
package_transmission-cli() {
|
|
pkgdesc='Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)'
|
|
depends=(curl libevent systemd libb64 miniupnpc libnatpmp libdeflate)
|
|
|
|
cd $pkgbase-$pkgver
|
|
|
|
case "${CARCH}" in
|
|
powerpc) ;;
|
|
*) web=web ;;
|
|
esac
|
|
|
|
for dir in daemon cli utils ${web}; do
|
|
_install_component $dir
|
|
done
|
|
|
|
install -d "$pkgdir"/usr/share/transmission
|
|
case "${CARCH}" in
|
|
powerpc) ;;
|
|
*)
|
|
cp -a build/web/public_html/ "$pkgdir"/usr/share/transmission
|
|
;;
|
|
esac
|
|
|
|
install -Dm644 daemon/transmission-daemon.service \
|
|
"$pkgdir/usr/lib/systemd/system/transmission.service"
|
|
|
|
install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING"
|
|
|
|
install -Dm644 "$srcdir/$pkgname.sysusers" \
|
|
"$pkgdir/usr/lib/sysusers.d/transmission.conf"
|
|
install -Dm644 "$srcdir/$pkgname.tmpfiles" \
|
|
"$pkgdir/usr/lib/tmpfiles.d/transmission.conf"
|
|
}
|
|
|
|
package_transmission-gtk() {
|
|
pkgdesc='Fast, easy, and free BitTorrent client (GTK+ GUI)'
|
|
depends=(curl libevent gtk4 hicolor-icon-theme libb64 miniupnpc libnatpmp libdeflate gtkmm-4.0)
|
|
optdepends=('libnotify: Desktop notification support'
|
|
'transmission-cli: daemon and web support')
|
|
|
|
cd $pkgbase-$pkgver
|
|
|
|
_install_component gtk
|
|
_install_component po
|
|
|
|
install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING"
|
|
}
|
|
|
|
package_transmission-qt() {
|
|
pkgdesc='Fast, easy, and free BitTorrent client (Qt GUI)'
|
|
depends=(curl qt6-base qt6-svg libevent libb64 miniupnpc libnatpmp libdeflate)
|
|
optdepends=('transmission-cli: daemon and web support')
|
|
|
|
cd $pkgbase-$pkgver
|
|
|
|
_install_component qt
|
|
|
|
install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING"
|
|
}
|
|
|
|
package_libtransmission() {
|
|
pkgdesc='Fast, easy, and free BitTorrent client (shared library)'
|
|
|
|
cd $pkgbase-$pkgver
|
|
|
|
install -Dm644 build/libtransmission/libtransmission.a -t "$pkgdir"/usr/lib
|
|
install -Dm644 libtransmission/*.h -t "$pkgdir"/usr/include/transmission
|
|
install -Dm644 COPYING "$pkgdir/usr/share/licenses/libtransmission/COPYING"
|
|
}
|