git » transmission.git » commit fd75c4f

upstream update

author Florian Pritz
2023-02-12 15:24:31 UTC
committer Florian Pritz
2023-02-12 15:24:31 UTC
parent ba29ccc2106455313ddaf210cab28586867e9e70

upstream update

PKGBUILD +80 -45

diff --git a/PKGBUILD b/PKGBUILD
index 22b5397..5ca5bba 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,66 +1,105 @@
-# Maintainer : Tom Gundersen <teg@jklm.no>
-# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# 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=3.00
-pkgrel=6
+pkgver=4.0.0
+pkgrel=1
 arch=(x86_64)
 url="http://www.transmissionbt.com/"
-license=(MIT)
-makedepends=(gtk3 intltool curl qt5-base libevent systemd qt5-tools libappindicator-gtk3 dht libb64 libutp miniupnpc libnatpmp)
-source=(https://github.com/transmission/transmission-releases/raw/master/transmission-${pkgver}.tar.xz
-        transmission-3.00-openssl-3.patch
+license=(GPL)
+makedepends=(
+	cmake
+	curl
+	dht
+	glibmm-2.68
+	gtk4
+	gtkmm-4.0
+	intltool
+	libb64
+	libdeflate
+	libevent
+	libnatpmp
+	miniupnpc
+	ninja
+	npm
+	qt6-base
+	qt6-svg
+	qt6-tools
+	systemd
+)
+source=(https://github.com/transmission/transmission/releases/download/$pkgver/transmission-$pkgver.tar.xz
+		$pkgname-PR-4808.patch::https://patch-diff.githubusercontent.com/raw/transmission/transmission/pull/4808.patch
         transmission-cli.sysusers
         transmission-cli.tmpfiles)
-sha256sums=('9144652fe742f7f7dd6657716e378da60b751aaeda8bef8344b3eefc4db255f2'
-            'a5e56b906724f007db0bdb9835fbf5088bb56a521ec2971aec0ea44578d5955b'
+sha256sums=('af4f023c0b3f2417f62b314d84ea7f329ca080f86664f24b44246a8c50c6b10a'
+            '247951146c2c193643616e18c76e25e39bf5304fce58e843e1003b198ec031e1'
             '641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2'
             '1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451')
 
 prepare() {
   cd $pkgbase-$pkgver
 
-  # Fix compatibility with OpenSSL 3.0 (patch from Gentoo)
-  # https://github.com/transmission/transmission/issues/1777
-  patch -Np1 -i ../transmission-3.00-openssl-3.patch
-
-  # Fix build with autoconf 2.70
-  sed -i 's/\[IT_PROG_INTLTOOL(\[/[\nIT_PROG_INTLTOOL(\[/' configure.ac
-  rm -f m4/glib-gettext.m4
-  autoreconf -fi
-
-  sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop
+  # Disable some broken tests https://github.com/transmission/transmission/issues/4747
+  patch -p1 -i "$srcdir/$pkgname-PR-4808.patch"
 }
 
 build() {
   export CFLAGS+=" -ffat-lto-objects"
   cd $pkgbase-$pkgver
-  ./configure --prefix=/usr \
-    --enable-external-dht \
-    --enable-external-b64 \
-    --enable-external-natpmp
-  make
-
-  cd qt
-  qmake qtr.pro \
-    DEFINES+=TRANSLATIONS_DIR=\\\\\\\"/usr/share/transmission-qt/translations\\\\\\\"
-  make
-  lrelease translations/*.ts
+
+  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 \
+	  -DENABLE_TESTS=ON \
+	  -DENABLE_UTILS=ON \
+	  -DENABLE_UTP=ON \
+	  -DENABLE_WEB=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 \
+	  -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)
+  depends=(curl libevent systemd libb64 miniupnpc libnatpmp libdeflate)
 
   cd $pkgbase-$pkgver
 
   for dir in daemon cli web utils; do
-    make -C "$dir" DESTDIR="$pkgdir" install
+    _install_component $dir
   done
 
   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" \
@@ -71,40 +110,36 @@ package_transmission-cli() {
 
 package_transmission-gtk() {
   pkgdesc='Fast, easy, and free BitTorrent client (GTK+ GUI)'
-  depends=(curl libevent gtk3 hicolor-icon-theme libappindicator-gtk3 libb64 miniupnpc libnatpmp)
+  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
 
-  make -C gtk DESTDIR="$pkgdir" install
-  make -C po DESTDIR="$pkgdir" install
+  _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 qt5-base libevent libb64 miniupnpc libnatpmp)
+  depends=(curl qt6-base qt6-svg libevent libb64 miniupnpc libnatpmp libdeflate)
   optdepends=('transmission-cli: daemon and web support')
 
   cd $pkgbase-$pkgver
 
-  make -C qt INSTALL_ROOT="$pkgdir"/usr install
-  install -Dm644 -t "$pkgdir/usr/share/transmission-qt/translations" \
-    qt/translations/*.qm
+  _install_component qt
 
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING"
-  install -Dm644 qt/icons/transmission.png \
-    "$pkgdir/usr/share/pixmaps/transmission-qt.png"
-  install -Dm644 qt/transmission-qt.desktop \
-    "$pkgdir/usr/share/applications/transmission-qt.desktop"
 }
 
 package_libtransmission() {
   pkgdesc='Fast, easy, and free BitTorrent client (shared library)'
 
   cd $pkgbase-$pkgver
-  install -Dm644 libtransmission/libtransmission.a -t "$pkgdir"/usr/lib
+
+  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"
 }