aboutsummaryrefslogtreecommitdiffstats
path: root/community/libtorrent-rasterbar/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/libtorrent-rasterbar/APKBUILD')
-rw-r--r--community/libtorrent-rasterbar/APKBUILD73
1 files changed, 73 insertions, 0 deletions
diff --git a/community/libtorrent-rasterbar/APKBUILD b/community/libtorrent-rasterbar/APKBUILD
new file mode 100644
index 00000000000..202d8f5530a
--- /dev/null
+++ b/community/libtorrent-rasterbar/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=libtorrent-rasterbar
+pkgver=2.0.10
+pkgrel=1
+pkgdesc="Feature complete C++ bittorrent implementation"
+url="https://www.rasterbar.com/products/libtorrent"
+arch="all"
+license="BSD-3-Clause"
+depends_dev="boost-dev openssl-dev>3"
+makedepends="$depends_dev cmake linux-headers python3-dev py3-setuptools samurai"
+subpackages="py3-$pkgname:_py3 $pkgname-dev"
+source="https://github.com/arvidn/libtorrent/releases/download/v$pkgver/libtorrent-rasterbar-$pkgver.tar.gz"
+
+case "$CARCH" in
+arm*|x86)
+ # fail to build on 32-bit
+ options="$options !check"
+ ;;
+*)
+ ;;
+esac
+
+build() {
+ CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_CXX_STANDARD=17 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -Dbuild_tests="$(want_check && echo ON || echo OFF)" \
+ -Dpython-bindings=ON \
+ -Dpython-egg-info=ON
+ cmake --build build
+}
+
+check() {
+ # upnp: relies on upnp networking setup
+ # flags: fails randomly, on 32-bit and aarch64
+ # remove_torrent: random failures when running multiple tests at once
+ # privacy: flaky on port allocation
+ local tests_to_skip="test_upnp|test_flags|test_remove_torrent|test_privacy"
+
+ # broken
+ tests_to_skip="$tests_to_skip|test_create_torrent"
+
+ # fails on btrfs?
+ tests_to_skip="$tests_to_skip|test_copy_file"
+
+ # flaky
+ tests_to_skip="$tests_to_skip|test_web_seed|test_url_seed|test_transfer|test_ssl"
+
+ ctest -j4 --output-on-failure --test-dir build --exclude-regex "$tests_to_skip"
+}
+
+package() {
+ DESTDIR=$pkgdir cmake --install build
+}
+
+dev() {
+ default_dev
+
+ amove usr/share/cmake
+}
+
+_py3() {
+ pkgdesc="$pkgdesc (python bindings)"
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+a6406ccdd1d0c8d42543419a3b9edca880ab85e0849bfba29e3b1bd98f9630244aa3e88110cdf95e476792c9ea87a141fcb16a8c3b3e0c44c0076ebf6f9adbee libtorrent-rasterbar-2.0.10.tar.gz
+"