* add transmission
This commit is contained in:
parent
904135144a
commit
4b85965520
71
transmission/.SRCINFO
Normal file
71
transmission/.SRCINFO
Normal file
@ -0,0 +1,71 @@
|
||||
pkgbase = transmission
|
||||
pkgver = 4.0.6
|
||||
pkgrel = 2
|
||||
url = http://www.transmissionbt.com/
|
||||
arch = x86_64
|
||||
license = GPL
|
||||
makedepends = cmake
|
||||
makedepends = curl
|
||||
makedepends = dht
|
||||
makedepends = glibmm-2.68
|
||||
makedepends = gtk4
|
||||
makedepends = gtkmm-4.0
|
||||
makedepends = intltool
|
||||
makedepends = libb64
|
||||
makedepends = libdeflate
|
||||
makedepends = libevent
|
||||
makedepends = libnatpmp
|
||||
makedepends = miniupnpc
|
||||
makedepends = ninja
|
||||
makedepends = npm
|
||||
makedepends = qt6-base
|
||||
makedepends = qt6-svg
|
||||
makedepends = qt6-tools
|
||||
makedepends = systemd
|
||||
source = https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz
|
||||
source = febfe49c.patch
|
||||
source = transmission-cli.sysusers
|
||||
source = transmission-cli.tmpfiles
|
||||
sha256sums = 2a38fe6d8a23991680b691c277a335f8875bdeca2b97c6b26b598bc9c7b0c45f
|
||||
sha256sums = 1e5917c79a0c17595f18b544c5c1ab101ecbef5b2ffb0ca42a0a3b221a85e044
|
||||
sha256sums = 641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2
|
||||
sha256sums = 1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451
|
||||
|
||||
pkgname = transmission-cli
|
||||
pkgdesc = Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)
|
||||
depends = curl
|
||||
depends = libevent
|
||||
depends = systemd
|
||||
depends = libb64
|
||||
depends = miniupnpc
|
||||
depends = libnatpmp
|
||||
depends = libdeflate
|
||||
|
||||
pkgname = transmission-gtk
|
||||
pkgdesc = Fast, easy, and free BitTorrent client (GTK+ GUI)
|
||||
depends = curl
|
||||
depends = libevent
|
||||
depends = gtk4
|
||||
depends = hicolor-icon-theme
|
||||
depends = libb64
|
||||
depends = miniupnpc
|
||||
depends = libnatpmp
|
||||
depends = libdeflate
|
||||
depends = gtkmm-4.0
|
||||
optdepends = libnotify: Desktop notification support
|
||||
optdepends = transmission-cli: daemon and web support
|
||||
|
||||
pkgname = transmission-qt
|
||||
pkgdesc = Fast, easy, and free BitTorrent client (Qt GUI)
|
||||
depends = curl
|
||||
depends = qt6-base
|
||||
depends = qt6-svg
|
||||
depends = libevent
|
||||
depends = libb64
|
||||
depends = miniupnpc
|
||||
depends = libnatpmp
|
||||
depends = libdeflate
|
||||
optdepends = transmission-cli: daemon and web support
|
||||
|
||||
pkgname = libtransmission
|
||||
pkgdesc = Fast, easy, and free BitTorrent client (shared library)
|
3
transmission/.nvchecker.toml
Normal file
3
transmission/.nvchecker.toml
Normal file
@ -0,0 +1,3 @@
|
||||
[transmission]
|
||||
source = "git"
|
||||
git = "https://github.com/transmission/transmission.git"
|
165
transmission/PKGBUILD
Normal file
165
transmission/PKGBUILD
Normal file
@ -0,0 +1,165 @@
|
||||
# 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
|
||||
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"
|
||||
}
|
34
transmission/febfe49c.patch
Normal file
34
transmission/febfe49c.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
|
||||
Date: Sat, 15 Jun 2024 07:24:06 +0800
|
||||
Subject: [PATCH] bump miniupnpc to 2.2.8 (#6907)
|
||||
|
||||
* bump miniupnpc to 2.2.8
|
||||
|
||||
* Avoid build error "ln: include/miniupnpc/.: Operation not permitted"
|
||||
---
|
||||
Transmission.xcodeproj/project.pbxproj | 2 +-
|
||||
libtransmission/port-forwarding-upnp.cc | 9 +++++++--
|
||||
third-party/miniupnp | 2 +-
|
||||
3 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libtransmission/port-forwarding-upnp.cc b/libtransmission/port-forwarding-upnp.cc
|
||||
index 6d7bbc7f7c2..a4146e0df13 100644
|
||||
--- a/libtransmission/port-forwarding-upnp.cc
|
||||
+++ b/libtransmission/port-forwarding-upnp.cc
|
||||
@@ -261,8 +261,13 @@ tr_port_forwarding_state tr_upnpPulse(
|
||||
|
||||
FreeUPNPUrls(&handle->urls);
|
||||
auto lanaddr = std::array<char, TR_ADDRSTRLEN>{};
|
||||
- if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) ==
|
||||
- UPNP_IGD_VALID_CONNECTED)
|
||||
+ if (
|
||||
+#if (MINIUPNPC_API_VERSION >= 18)
|
||||
+ UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1, nullptr, 0)
|
||||
+#else
|
||||
+ UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1)
|
||||
+#endif
|
||||
+ == UPNP_IGD_VALID_CONNECTED)
|
||||
{
|
||||
tr_logAddInfo(fmt::format(_("Found Internet Gateway Device '{url}'"), fmt::arg("url", handle->urls.controlURL)));
|
||||
tr_logAddInfo(fmt::format(_("Local Address is '{address}'"), fmt::arg("address", lanaddr.data())));
|
37
transmission/transmission-3.00-openssl-3.patch
Normal file
37
transmission/transmission-3.00-openssl-3.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 6ee128b95bacaff20746538dc97c2b8e2b9fcc29 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Sun, 15 May 2022 10:54:38 -0400
|
||||
Subject: [PATCH] openssl: load "legacy" provider for RC4
|
||||
|
||||
---
|
||||
libtransmission/crypto-utils-openssl.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c
|
||||
index 45fd71913..14d680654 100644
|
||||
--- a/libtransmission/crypto-utils-openssl.c
|
||||
+++ b/libtransmission/crypto-utils-openssl.c
|
||||
@@ -20,6 +20,9 @@
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/x509.h>
|
||||
+#if OPENSSL_VERSION_MAJOR >= 3
|
||||
+#include <openssl/provider.h>
|
||||
+#endif
|
||||
|
||||
#include "transmission.h"
|
||||
#include "crypto-utils.h"
|
||||
@@ -184,6 +187,10 @@ static void openssl_evp_cipher_context_free(EVP_CIPHER_CTX* handle)
|
||||
|
||||
tr_rc4_ctx_t tr_rc4_new(void)
|
||||
{
|
||||
+#if OPENSSL_VERSION_MAJOR >= 3
|
||||
+ OSSL_PROVIDER_load(NULL, "default");
|
||||
+ OSSL_PROVIDER_load(NULL, "legacy");
|
||||
+#endif
|
||||
EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new();
|
||||
|
||||
if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1)))
|
||||
--
|
||||
2.35.1
|
||||
|
1
transmission/transmission-cli.sysusers
Normal file
1
transmission/transmission-cli.sysusers
Normal file
@ -0,0 +1 @@
|
||||
u transmission 169 "Transmission BitTorrent Daemon" /var/lib/transmission
|
1
transmission/transmission-cli.tmpfiles
Normal file
1
transmission/transmission-cli.tmpfiles
Normal file
@ -0,0 +1 @@
|
||||
d /var/lib/transmission 0750 transmission transmission
|
Loading…
x
Reference in New Issue
Block a user