diff options
Diffstat (limited to 'main/brotli/APKBUILD')
-rw-r--r-- | main/brotli/APKBUILD | 90 |
1 files changed, 60 insertions, 30 deletions
diff --git a/main/brotli/APKBUILD b/main/brotli/APKBUILD index 53f6a763ef8..e0cb5bc03e6 100644 --- a/main/brotli/APKBUILD +++ b/main/brotli/APKBUILD @@ -1,67 +1,97 @@ # Contributor: prspkt <prspkt@protonmail.com> # Maintainer: prspkt <prspkt@protonmail.com> pkgname=brotli -pkgver=1.0.9 -pkgrel=7 +pkgver=1.1.0 +pkgrel=2 pkgdesc="Generic lossless compressor" url="https://github.com/google/brotli" arch="all" license="MIT" -makedepends_build="automake autoconf libtool" +depends_dev="$pkgname=$pkgver-r$pkgrel" +makedepends_build="cmake samurai" +subpackages=" + $pkgname-doc + $pkgname-static + $pkgname-dev + $pkgname-libs + " if [ -z "$BOOTSTRAP" ]; then - makedepends_host="python3-dev" - python="py3-$pkgname:py3" + makedepends_host="python3-dev py3-gpep517 py3-setuptools py3-wheel" + subpackages="$subpackages py3-$pkgname-pyc py3-$pkgname:py3" fi -subpackages="$pkgname-doc $pkgname-static $pkgname-dev $pkgname-libs $python" -source="$pkgname-$pkgver.tar.gz::https://github.com/google/brotli/archive/v$pkgver.tar.gz +source="$pkgname-$pkgver.tar.gz::https://github.com/google/brotli/archive/refs/tags/v$pkgver.tar.gz optimize-mips-s390x.patch - build-tool-against-shared-lib.patch - 838.patch - 0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch " # secfixes: # 1.0.9-r0: # - CVE-2020-8927 -# use sysroot when cross compiling to avoid libtool pulling in host libs -[ "$CBUILD" != "$CHOST" ] && _cross_configure="--with-sysroot=$CBUILDROOT" - prepare() { default_prepare sed -i 's,/usr/bin/env bash,/bin/sh,' tests/*.sh - sh ./bootstrap } build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --target=$CTARGET \ - --prefix=/usr \ - $_cross_configure \ - make + # -flto=auto does not work when cross-compiling + if [ "$CBUILD" != "$CHOST" ]; then + export CFLAGS="$CFLAGS -O2" + else + export CFLAGS="$CFLAGS -flto=auto -O2" + fi + + # static libs, see https://github.com/google/brotli/issues/795 + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=OFF + cmake --build build + + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON + cmake --build build + + if [ -z "$BOOTSTRAP" ]; then + gpep517 build-wheel \ + --wheel-dir .dist \ + --output-fd 3 3>&1 >&2 + fi } check() { - make check + ctest --output-on-failure --test-dir build + + python3 -m venv --clear --without-pip --system-site-packages .testenv + .testenv/bin/python3 -m installer .dist/*.whl + cd python; ../.testenv/bin/python3 -m unittest discover -v -p '*_test.py' } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" cmake --install build + + local file; for file in common dec enc; do + install -D -m 755 "$builddir"/build/libbrotli$file.a \ + "$pkgdir"/usr/lib/ + done local man; for man in docs/*.?; do install -D -m644 $man "$pkgdir"/usr/share/man/man${man##*.}/${man##*/} done + + if [ -z "$BOOTSTRAP" ]; then + python3 -m installer -d "$pkgdir" .dist/*.whl + fi } py3() { - cd "$builddir" - python3 setup.py install --prefix=/usr --root="$subpkgdir" + pkgdesc="$pkgdesc (python bindings)" + + amove usr/lib/python3* } -sha512sums="b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5 brotli-1.0.9.tar.gz -59e934578ce23b703f8f25f56578f8e9fd1466a9844b6f67b542acd6496df352548e3762697dc3851cfd0f8e1bad170bfdaa3e8a87c901fe81e2f3042e3aee84 optimize-mips-s390x.patch -f4a7653a0f7ef69f059d7f744a48c7731c8e66f977ce2e66cd106f697e82aa1f005923898d216a3d8be143b2dc8db1927c09daedb981818e752640a333d75fbc build-tool-against-shared-lib.patch -58ef677595f0db80b7d1353e42603cc30ef9b0b9530927f731ee31ac60ad9a3b2aac960a5cd100f8b10e547c9534e1ebf78c53550b52eed6fb3b7fb853317d20 838.patch -6b7953f09c7ce4219dd9411d53fcd495e0de92f210c53be43dcd235a47050b10933b347fcc8e92d7e3fd89b12375eb0deea61b01eb279902079fa7b7aca62a5a 0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch" +sha512sums=" +6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9 brotli-1.1.0.tar.gz +3f91155c76c27268b94515087d042b6669f790027cb394c694ec492bf2d5a9a98272fc501d179b4b3736a8be3e016189d2d996ee50ae3e07b52f21857cbfc391 optimize-mips-s390x.patch +" |