diff options
Diffstat (limited to 'main/brotli/APKBUILD')
-rw-r--r-- | main/brotli/APKBUILD | 84 |
1 files changed, 63 insertions, 21 deletions
diff --git a/main/brotli/APKBUILD b/main/brotli/APKBUILD index e7944f2b24e..e0cb5bc03e6 100644 --- a/main/brotli/APKBUILD +++ b/main/brotli/APKBUILD @@ -1,55 +1,97 @@ # Contributor: prspkt <prspkt@protonmail.com> # Maintainer: prspkt <prspkt@protonmail.com> pkgname=brotli -pkgver=1.0.7 -pkgrel=5 +pkgver=1.1.0 +pkgrel=2 pkgdesc="Generic lossless compressor" url="https://github.com/google/brotli" arch="all" license="MIT" -makedepends="cmake python3-dev" -subpackages="$pkgname-doc $pkgname-static $pkgname-dev $pkgname-libs py3-$pkgname:py3" -source="$pkgname-$pkgver.tar.gz::https://github.com/google/brotli/archive/v$pkgver.tar.gz +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 py3-gpep517 py3-setuptools py3-wheel" + subpackages="$subpackages py3-$pkgname-pyc py3-$pkgname:py3" +fi +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 " +# secfixes: +# 1.0.9-r0: +# - CVE-2020-8927 + prepare() { default_prepare sed -i 's,/usr/bin/env bash,/bin/sh,' tests/*.sh } build() { - if [ "$CBUILD" != "$CHOST" ]; then - CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + # -flto=auto does not work when cross-compiling + if [ "$CBUILD" != "$CHOST" ]; then + export CFLAGS="$CFLAGS -O2" + else + export CFLAGS="$CFLAGS -flto=auto -O2" fi - cmake -B build \ + + # static libs, see https://github.com/google/brotli/issues/795 + cmake -B build -G Ninja \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DBUILD_SHARED_LIBS=True \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - $CMAKE_CROSSOPTS - make -C build + -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 -C build test + 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 -C build 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="a82362aa36d2f2094bca0b2808d9de0d57291fb3a4c29d7c0ca0a37e73087ec5ac4df299c8c363e61106fccf2fe7f58b5cf76eb97729e2696058ef43b1d3930a brotli-1.0.7.tar.gz -59e934578ce23b703f8f25f56578f8e9fd1466a9844b6f67b542acd6496df352548e3762697dc3851cfd0f8e1bad170bfdaa3e8a87c901fe81e2f3042e3aee84 optimize-mips-s390x.patch -f4a7653a0f7ef69f059d7f744a48c7731c8e66f977ce2e66cd106f697e82aa1f005923898d216a3d8be143b2dc8db1927c09daedb981818e752640a333d75fbc build-tool-against-shared-lib.patch" +sha512sums=" +6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9 brotli-1.1.0.tar.gz +3f91155c76c27268b94515087d042b6669f790027cb394c694ec492bf2d5a9a98272fc501d179b4b3736a8be3e016189d2d996ee50ae3e07b52f21857cbfc391 optimize-mips-s390x.patch +" |