mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 13:27:09 +02:00
189 lines
4.6 KiB
Plaintext
189 lines
4.6 KiB
Plaintext
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
|
|
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
|
|
# Maintainer: psykose <alice@ayaya.dev>
|
|
pkgname=transmission
|
|
pkgver=4.0.3
|
|
pkgrel=1
|
|
pkgdesc="Lightweight GTK BitTorrent client"
|
|
url="https://transmissionbt.com/"
|
|
install="transmission-daemon.pre-install transmission-daemon.post-upgrade"
|
|
arch="all"
|
|
license="GPL-2.0-or-later AND MIT"
|
|
pkgusers="transmission"
|
|
pkggroups="transmission"
|
|
makedepends="
|
|
clang
|
|
cmake
|
|
curl-dev
|
|
dbus-glib-dev
|
|
gtkmm4-dev
|
|
libdeflate-dev
|
|
libevent-dev
|
|
libpsl-dev
|
|
llvm
|
|
miniupnpc-dev
|
|
openssl-dev
|
|
qt6-qtsvg-dev
|
|
qt6-qttools-dev
|
|
samurai
|
|
"
|
|
source="https://github.com/transmission/transmission/releases/download/$pkgver/transmission-$pkgver.tar.xz
|
|
transmission-daemon.initd
|
|
transmission-daemon.confd
|
|
transmission-daemon.logrotate
|
|
"
|
|
subpackages="
|
|
$pkgname-lang-gtk:gtklang
|
|
$pkgname-gtk
|
|
$pkgname-lang-qt:qtlang
|
|
$pkgname-qt
|
|
$pkgname-base::noarch
|
|
$pkgname-cli
|
|
$pkgname-daemon
|
|
$pkgname-daemon-openrc
|
|
$pkgname-doc
|
|
"
|
|
# binutils cannot strip lld output on riscv64
|
|
options="!strip"
|
|
|
|
case "$CARCH" in
|
|
riscv64)
|
|
options="$options textrels"
|
|
;;
|
|
esac
|
|
|
|
case "$CARCH" in
|
|
s390x)
|
|
;;
|
|
*)
|
|
makedepends="$makedepends lld"
|
|
export LDFLAGS="$LDFLAGS -fuse-ld=lld"
|
|
;;
|
|
esac
|
|
|
|
# secfixes:
|
|
# 3.00-r0:
|
|
# - CVE-2018-10756
|
|
|
|
build() {
|
|
CC=clang \
|
|
CXX=clang++ \
|
|
CXXFLAGS="$CXXFLAGS -flto -O2 -DNDEBUG" \
|
|
CFLAGS="$CFLAGS -flto -O2 -DNDEBUG" \
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DCMAKE_BUILD_TYPE=None \
|
|
-DBUILD_SHARED_LIBS=OFF \
|
|
-DDISABLE_DEPRECATED=OFF \
|
|
-DENABLE_CLI=ON \
|
|
-DENABLE_GTK=ON \
|
|
-DENABLE_NLS=ON \
|
|
-DENABLE_QT=ON \
|
|
-DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
|
|
-DINSTALL_LIB=OFF \
|
|
-DRUN_CLANG_TIDY=OFF \
|
|
-DUSE_GTK_VERSION=4 \
|
|
-DUSE_QT_VERSION=6 \
|
|
-DUSE_SYSTEM_DEFLATE=ON \
|
|
-DUSE_SYSTEM_EVENT2=ON \
|
|
-DUSE_SYSTEM_MINIUPNPC=ON \
|
|
-DUSE_SYSTEM_PSL=ON \
|
|
-DWITH_CRYPTO="openssl" \
|
|
-DWITH_SYSTEMD=OFF
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
# unstable
|
|
ctest --test-dir build --output-on-failure -j4 -E LT.DhtTest.usesBootstrapFile
|
|
}
|
|
|
|
package() {
|
|
# the base package used to be -gtk, so depend on it now.
|
|
depends="$pkgname-gtk=$pkgver-r$pkgrel"
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
|
|
install -D -m755 "$srcdir"/transmission-daemon.initd \
|
|
"$pkgdir"/etc/init.d/transmission-daemon
|
|
install -D -m644 "$srcdir"/transmission-daemon.confd \
|
|
"$pkgdir"/etc/conf.d/transmission-daemon
|
|
|
|
# binutils can't strip the binaries on riscv, so use the llvm binutils for
|
|
# it by hand
|
|
scanelf --recursive \
|
|
--nobanner \
|
|
--etype "ET_DYN,ET_EXEC" \
|
|
--format "%F" \
|
|
"$pkgdir" \
|
|
| while read -r file; do
|
|
llvm-strip "$file"
|
|
done
|
|
}
|
|
|
|
daemon() {
|
|
pkgdesc="Lightweight BitTorrent client (daemon and webinterface)"
|
|
|
|
install -d -o transmission -g transmission \
|
|
"$subpkgdir"/var/lib/transmission \
|
|
"$subpkgdir"/var/log/transmission
|
|
amove usr/bin/transmission-daemon \
|
|
usr/share/transmission
|
|
install -D -m644 "$srcdir"/transmission-daemon.logrotate \
|
|
"$subpkgdir"/etc/logrotate.d/transmission-daemon
|
|
}
|
|
|
|
cli() {
|
|
pkgdesc="Lightweight BitTorrent client (cli and remote)"
|
|
|
|
amove usr/bin/transmission-cli \
|
|
usr/bin/transmission-create \
|
|
usr/bin/transmission-edit \
|
|
usr/bin/transmission-show \
|
|
usr/bin/transmission-remote
|
|
}
|
|
|
|
base() {
|
|
pkgdesc="Base icons/data for $pkgname"
|
|
|
|
amove usr/share/icons
|
|
amove usr/share/metainfo
|
|
}
|
|
|
|
gtk() {
|
|
pkgdesc="Lightweight BitTorrent client (GTK4 client)"
|
|
depends="$pkgname-base=$pkgver-r$pkgrel"
|
|
|
|
amove usr/bin/transmission-gtk
|
|
amove usr/share/applications/transmission-gtk.desktop
|
|
}
|
|
|
|
gtklang() {
|
|
pkgdesc="Translations for Transmission GTK"
|
|
install_if="$pkgname-gtk=$pkgver-r$pkgrel lang"
|
|
|
|
amove usr/share/locale
|
|
}
|
|
|
|
qt() {
|
|
pkgdesc="Lightweight BitTorrent client (Qt6 client)"
|
|
depends="$pkgname-base=$pkgver-r$pkgrel qt6-qtsvg"
|
|
|
|
amove usr/bin/transmission-qt
|
|
amove usr/share/applications/transmission-qt.desktop
|
|
}
|
|
|
|
qtlang() {
|
|
pkgdesc="Translations for Transmission Qt"
|
|
install_if="$pkgname-qt=$pkgver-r$pkgrel lang"
|
|
|
|
amove usr/share/transmission/translations
|
|
}
|
|
|
|
sha512sums="
|
|
246d4af2f9b399cb5a6e43ca0852d2ab5ff48d2a5c89d0f450c968fcad042ef2e45fef3c9be8ffbf37e7c61dc509929869b6bf59914333818ddf6950582d669c transmission-4.0.3.tar.xz
|
|
d31275fba7eb322510f9667e66a186d626889a6e3143be2923aae87b9c35c5cf0c508639f1cb8c1b88b1e465bc082d80bb1101385ebde736a34d4eeeae0f6e15 transmission-daemon.initd
|
|
dbc093fe00335bb207c28a4e810becc15e74b6f75e7579d561b160755d6b54bb23a45db39ee3480195a94a5e9bffdad692559d1b9662bba28119d18b713747a1 transmission-daemon.confd
|
|
a0e770a46b916cde7ea13076a0e4646c43f3b4db4bc85c18d2fee7cdb5cab458a74897ffb4bf66327f35ce145e89f5320460034a1392cc0df66aa1a3c0d82f7b transmission-daemon.logrotate
|
|
"
|