diff --git a/main/brotli/0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch b/main/brotli/0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch deleted file mode 100644 index a0ce815a2634eea1ba9022fa15d47fc20dd0ffe1..0000000000000000000000000000000000000000 --- a/main/brotli/0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0545759b2ed9b69e3f21fd0ac954bee78f3104b6 Mon Sep 17 00:00:00 2001 -From: Evgenii Kliuchnikov <eustas.ru@gmail.com> -Date: Fri, 28 Aug 2020 10:14:08 +0200 -Subject: [PATCH] Address issues noted in #833 - ---- - bootstrap | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -diff --git a/bootstrap b/bootstrap -index 92d458f2..33525890 100755 ---- a/bootstrap -+++ b/bootstrap -@@ -1,4 +1,4 @@ --# !/bin/sh -e -+#!/bin/sh -e - - if [ `uname -s` = "Darwin" ]; then - echo "WARNING: OSX autogen build is not supported" -@@ -13,20 +13,22 @@ autoreconf --version >/dev/null 2>&1 || { echo >&2 "'autoconf' $REQUIRED"; exit - - # If libtool is not installed -> "error: Libtool library used but 'LIBTOOL' is undefined" - -+if [ ! -e "./m4" ]; then - mkdir m4 2>/dev/null -+fi - - BROTLI_ABI_HEX=`sed -n 's/#define BROTLI_ABI_VERSION 0x//p' c/common/version.h` - BROTLI_ABI_INT=`echo "ibase=16;$BROTLI_ABI_HEX" | bc` --BROTLI_ABI_CURRENT=`expr $BROTLI_ABI_INT / 16777216` --BROTLI_ABI_REVISION=`expr $BROTLI_ABI_INT / 4096 % 4096` --BROTLI_ABI_AGE=`expr $BROTLI_ABI_INT % 4096` -+BROTLI_ABI_CURRENT=`echo "$BROTLI_ABI_INT / 16777216" | bc` -+BROTLI_ABI_REVISION=`echo "$BROTLI_ABI_INT / 4096 % 4096" | bc` -+BROTLI_ABI_AGE=`echo "$BROTLI_ABI_INT % 4096" | bc` - BROTLI_ABI_INFO="$BROTLI_ABI_CURRENT:$BROTLI_ABI_REVISION:$BROTLI_ABI_AGE" - - BROTLI_VERSION_HEX=`sed -n 's/#define BROTLI_VERSION 0x//p' c/common/version.h` - BROTLI_VERSION_INT=`echo "ibase=16;$BROTLI_VERSION_HEX" | bc` --BROTLI_VERSION_MAJOR=`expr $BROTLI_VERSION_INT / 16777216` --BROTLI_VERSION_MINOR=`expr $BROTLI_VERSION_INT / 4096 % 4096` --BROTLI_VERSION_PATCH=`expr $BROTLI_VERSION_INT % 4096` -+BROTLI_VERSION_MAJOR=`echo "$BROTLI_VERSION_INT / 16777216" | bc` -+BROTLI_VERSION_MINOR=`echo "$BROTLI_VERSION_INT / 4096 % 4096" | bc` -+BROTLI_VERSION_PATCH=`echo "$BROTLI_VERSION_INT % 4096" | bc` - BROTLI_VERSION="$BROTLI_VERSION_MAJOR.$BROTLI_VERSION_MINOR.$BROTLI_VERSION_PATCH" - - sed -i.bak -r "s/[0-9]+:[0-9]+:[0-9]+/$BROTLI_ABI_INFO/" Makefile.am diff --git a/main/brotli/838.patch b/main/brotli/838.patch deleted file mode 100644 index b3a100a6622cec215111913e127d65a5177311b2..0000000000000000000000000000000000000000 --- a/main/brotli/838.patch +++ /dev/null @@ -1,49 +0,0 @@ -Upstream: Yes -Reason: Fixes #11948 -From 092446fafb4bfb81738853b7c7f76b293cd92a80 Mon Sep 17 00:00:00 2001 -From: Evgenii Kliuchnikov <eustas.ru@gmail.com> -Date: Wed, 2 Sep 2020 10:49:49 +0200 -Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)" - -This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1. ---- - scripts/libbrotlicommon.pc.in | 2 +- - scripts/libbrotlidec.pc.in | 2 +- - scripts/libbrotlienc.pc.in | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in -index 10ca969e..2a8cf7a3 100644 ---- a/scripts/libbrotlicommon.pc.in -+++ b/scripts/libbrotlicommon.pc.in -@@ -7,5 +7,5 @@ Name: libbrotlicommon - URL: https://github.com/google/brotli - Description: Brotli common dictionary library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlicommon -+Libs: -L${libdir} -lbrotlicommon - Cflags: -I${includedir} -diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in -index e7c3124f..6f8ef2e4 100644 ---- a/scripts/libbrotlidec.pc.in -+++ b/scripts/libbrotlidec.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlidec - URL: https://github.com/google/brotli - Description: Brotli decoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlidec -+Libs: -L${libdir} -lbrotlidec - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} -diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in -index 4dd0811b..2098afe2 100644 ---- a/scripts/libbrotlienc.pc.in -+++ b/scripts/libbrotlienc.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlienc - URL: https://github.com/google/brotli - Description: Brotli encoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlienc -+Libs: -L${libdir} -lbrotlienc - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} diff --git a/main/brotli/APKBUILD b/main/brotli/APKBUILD index a3265dca2d92460debb99a102d42ced71e282587..528c24878cd5a9aa6eaf7b1cb10a3019be7a8ce3 100644 --- a/main/brotli/APKBUILD +++ b/main/brotli/APKBUILD @@ -1,14 +1,14 @@ # Contributor: prspkt <prspkt@protonmail.com> # Maintainer: prspkt <prspkt@protonmail.com> pkgname=brotli -pkgver=1.0.9 -pkgrel=15 +pkgver=1.1.0 +pkgrel=0 pkgdesc="Generic lossless compressor" url="https://github.com/google/brotli" arch="all" license="MIT" depends_dev="$pkgname=$pkgver-r$pkgrel" -makedepends_build="automake autoconf libtool" +makedepends_build="cmake samurai" subpackages=" $pkgname-doc $pkgname-static @@ -16,14 +16,11 @@ subpackages=" $pkgname-libs " if [ -z "$BOOTSTRAP" ]; then - makedepends_host="python3-dev" + 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 - 838.patch - 0545759b2ed9b69e3f21fd0ac954bee78f3104b6.patch " # secfixes: @@ -33,46 +30,53 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/google/brotli/archive/refs/t prepare() { default_prepare sed -i 's,/usr/bin/env bash,/bin/sh,' tests/*.sh - sh ./bootstrap } build() { - # use sysroot when cross compiling to avoid libtool pulling in host libs - if [ "$CBUILD" != "$CHOST" ]; then - local cross_configure="--with-sysroot=$CBUILDROOT" - else - CFLAGS="$CFLAGS -flto=auto" - CPPFLAGS="$CPPFLAGS -flto=auto" - fi + export CFLAGS="$CFLAGS -flto=auto -O2" - CFLAGS="$CFLAGS -O2" \ - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --target=$CTARGET \ - --prefix=/usr \ - $_cross_configure + # 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 - make + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON + cmake --build build if [ -z "$BOOTSTRAP" ]; then - python3 setup.py build + 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 setup.py install --skip-build --root="$pkgdir" + python3 -m installer -d "$pkgdir" .dist/*.whl fi } @@ -83,9 +87,6 @@ py3() { } 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 +6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9 brotli-1.1.0.tar.gz +3f91155c76c27268b94515087d042b6669f790027cb394c694ec492bf2d5a9a98272fc501d179b4b3736a8be3e016189d2d996ee50ae3e07b52f21857cbfc391 optimize-mips-s390x.patch " diff --git a/main/brotli/build-tool-against-shared-lib.patch b/main/brotli/build-tool-against-shared-lib.patch deleted file mode 100644 index af7f2b3eebfeac7d7e8ac6b9678f1bc358fae97b..0000000000000000000000000000000000000000 --- a/main/brotli/build-tool-against-shared-lib.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream: no. -Reason: Without it the tool is linked staticlly. - GH has an issue requesting an option to build against the shared lib. -URL: https://github.com/google/brotli/issues/803 - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -183,7 +183,7 @@ - - # Build the brotli executable - add_executable(brotli ${BROTLI_CLI_C}) --target_link_libraries(brotli ${BROTLI_LIBRARIES_STATIC}) -+target_link_libraries(brotli ${BROTLI_LIBRARIES}) - - # Installation - if(NOT BROTLI_BUNDLED_MODE) diff --git a/main/brotli/optimize-mips-s390x.patch b/main/brotli/optimize-mips-s390x.patch index 812028555db5a91c145d4d2fe2f5d4622effc1f9..0619c7de45f803ab066632ab3fb1620a45823da7 100644 --- a/main/brotli/optimize-mips-s390x.patch +++ b/main/brotli/optimize-mips-s390x.patch @@ -2,8 +2,8 @@ diff --git a/c/common/platform.h b/c/common/platform.h index 84c448c..853fa83 100755 --- a/c/common/platform.h +++ b/c/common/platform.h -@@ -223,12 +223,21 @@ OR: - #define BROTLI_TARGET_RISCV64 +@@ -213,6 +213,14 @@ + #define BROTLI_TARGET_LOONGARCH64 #endif +#if defined(__s390x__) @@ -14,28 +14,11 @@ index 84c448c..853fa83 100755 +#define BROTLI_TARGET_MIPS64 +#endif + - #if defined(BROTLI_BUILD_64_BIT) - #define BROTLI_64_BITS 1 - #elif defined(BROTLI_BUILD_32_BIT) - #define BROTLI_64_BITS 0 - #elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8_64) || \ -- defined(BROTLI_TARGET_POWERPC64) || defined(BROTLI_TARGET_RISCV64) -+ defined(BROTLI_TARGET_POWERPC64) || defined(BROTLI_TARGET_RISCV64) || \ -+ defined(BROTLI_TARGET_S390X) || defined(BROTLI_TARGET_MIPS64) - #define BROTLI_64_BITS 1 - #else - #define BROTLI_64_BITS 0 -@@ -279,7 +288,7 @@ OR: - #define BROTLI_ALIGNED_READ (!!1) - #elif defined(BROTLI_TARGET_X86) || defined(BROTLI_TARGET_X64) || \ - defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8_ANY) || \ -- defined(BROTLI_TARGET_RISCV64) -+ defined(BROTLI_TARGET_RISCV64) || defined(BROTLI_TARGET_S390X) - /* Allow unaligned read only for white-listed CPUs. */ - #define BROTLI_ALIGNED_READ (!!0) - #else -@@ -289,22 +298,42 @@ OR: - #if BROTLI_ALIGNED_READ + #if defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8_64) || \ + defined(BROTLI_TARGET_POWERPC64) || defined(BROTLI_TARGET_RISCV64) || \ + defined(BROTLI_TARGET_LOONGARCH64) +@@ -285,22 +293,42 @@ + /* Portable unaligned memory access: read / write values via memcpy. */ static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) { +#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6) @@ -75,9 +58,9 @@ index 84c448c..853fa83 100755 memcpy(p, &v, sizeof v); +#endif } - #else /* BROTLI_ALIGNED_READ */ - /* Unaligned memory access is allowed: just cast pointer to requested type. */ -@@ -385,31 +414,20 @@ static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) { + + #if BROTLI_LITTLE_ENDIAN +@@ -311,31 +339,20 @@ #define BROTLI_UNALIGNED_STORE64LE BrotliUnalignedWrite64 #elif BROTLI_BIG_ENDIAN /* BROTLI_LITTLE_ENDIAN */ /* Explain compiler to byte-swap values. */