2024-02-12 10:45:13 +01:00

153 lines
5.0 KiB
Bash

# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>
_realname=transmission
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-cli"
"${MINGW_PACKAGE_PREFIX}-${_realname}-gtk"
"${MINGW_PACKAGE_PREFIX}-${_realname}-qt")
pkgver=4.0.5
pkgrel=1
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
msys2_references=(
'archlinux: transmission-gtk'
)
url='https://www.transmissionbt.com/'
license=('spdx:GPL-2.0-or-later AND GPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-curl"
"${MINGW_PACKAGE_PREFIX}-libb64"
"${MINGW_PACKAGE_PREFIX}-libdeflate"
"${MINGW_PACKAGE_PREFIX}-libevent"
"${MINGW_PACKAGE_PREFIX}-libnatpmp"
"${MINGW_PACKAGE_PREFIX}-libpsl"
"${MINGW_PACKAGE_PREFIX}-libutp"
"${MINGW_PACKAGE_PREFIX}-miniupnpc"
"${MINGW_PACKAGE_PREFIX}-openssl")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-dht"
"${MINGW_PACKAGE_PREFIX}-gtk3"
"${MINGW_PACKAGE_PREFIX}-gtkmm3"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-qt5-base"
"${MINGW_PACKAGE_PREFIX}-qt5-svg"
"${MINGW_PACKAGE_PREFIX}-qt5-tools"
"${MINGW_PACKAGE_PREFIX}-qt5-winextras")
source=("https://github.com/transmission/transmission/releases/download/${pkgver}/transmission-${pkgver}.tar.xz")
sha256sums=('fd68ff114a479200043c30c7e69dba4c1932f7af36ca4c5b5d2edcb5866e6357')
noextract=("transmission-${pkgver}.tar.xz")
prepare() {
tar -xf "transmission-${pkgver}.tar.xz" 2> /dev/null || tar -xf "transmission-${pkgver}.tar.xz" || true
cd "${srcdir}"/${_realname}-${pkgver}
}
build() {
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
# This icon is missing in the tarball, and does not get copied to the build directory,
# but we can borrow the Qt one as it's identical
mkdir gtk
cp "${srcdir}/${_realname}-${pkgver}"/qt/qtr.ico gtk/transmission.ico
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DENABLE_TESTS=OFF \
-DENABLE_QT=ON \
-DENABLE_GTK=ON \
-DENABLE_CLI=ON \
-DENABLE_UTP=ON \
-DUSE_GTK_VERSION=3 \
-DUSE_QT_VERSION=5 \
-DUSE_SYSTEM_EVENT2=ON \
-DUSE_SYSTEM_DEFLATE=ON \
-DUSE_SYSTEM_DHT=ON \
-DUSE_SYSTEM_MINIUPNPC=ON \
-DUSE_SYSTEM_NATPMP=ON \
-DUSE_SYSTEM_PSL=ON \
-DUSE_SYSTEM_UTP=ON \
-DUSE_SYSTEM_B64=ON \
-DWITH_CRYPTO=openssl \
-DINSTALL_DOC=ON \
-DBUILD_SHARED_LIBS=ON \
../${_realname}-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
}
package_transmission-cli() {
pkgdesc="Fast, easy, and free BitTorrent client - CLI tools, daemon and web client (mingw-w64)"
for dir in daemon cli utils; do
cd "${srcdir}/build-${MSYSTEM}/${dir}"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .
done
cd "${srcdir}/${_realname}-${pkgver}"
install -Dm644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licences/transmission-cli/COPYING"
}
package_transmission-gtk() {
pkgdesc="Fast, easy, and free BitTorrent client - GTK+ GUI (mingw-w64)"
depends+=(
"${MINGW_PACKAGE_PREFIX}-gtk3"
"${MINGW_PACKAGE_PREFIX}-gtkmm3"
"${MINGW_PACKAGE_PREFIX}-hicolor-icon-theme")
optdepends=("${MINGW_PACKAGE_PREFIX}-libnotify: Desktop notification support"
"${MINGW_PACKAGE_PREFIX}-transmission-cli: daemon and web support")
replaces=("${MINGW_PACKAGE_PREFIX}-transmission")
conflicts=("${MINGW_PACKAGE_PREFIX}-transmission")
provides=("${MINGW_PACKAGE_PREFIX}-transmission")
for dir in gtk po; do
cd "${srcdir}/build-${MSYSTEM}/${dir}"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .
done
cd "${srcdir}/${_realname}-${pkgver}"
install -Dm644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licences/transmission-gtk/COPYING"
}
package_transmission-qt() {
pkgdesc='Fast, easy, and free BitTorrent client - Qt GUI (mingw-w64)'
depends+=("${MINGW_PACKAGE_PREFIX}-qt5-base"
"${MINGW_PACKAGE_PREFIX}-qt5-svg"
"${MINGW_PACKAGE_PREFIX}-qt5-winextras")
optdepends=("${MINGW_PACKAGE_PREFIX}-transmission-cli: daemon and web support")
cd "${srcdir}/build-${MSYSTEM}/qt"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .
rm -rf "${pkgdir}${MINGW_PREFIX}/etc"
cd "${srcdir}/${_realname}-${pkgver}"
install -Dm644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licences/transmission-qt/COPYING"
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;