author | Florian Pritz
<bluewind@archlinux.org> 2023-02-12 15:24:31 UTC |
committer | Florian Pritz
<bluewind@archlinux.org> 2023-02-12 15:24:31 UTC |
parent | ba29ccc2106455313ddaf210cab28586867e9e70 |
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" }