aboutsummaryrefslogtreecommitdiffstats
path: root/main/brotli/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/brotli/APKBUILD')
-rw-r--r--main/brotli/APKBUILD84
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
+"