2022-03-20 13:19:37 +01:00
|
|
|
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
|
|
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
|
|
|
# Contributor: Lex Black <autumn-wind at web dot de>
|
|
|
|
# Contributor: TingPing <tingping@tingping.se>
|
|
|
|
# Contributor: Guillaume Horel <guillaume.horel@gmail.com>
|
|
|
|
|
|
|
|
pkgbase=brotli
|
|
|
|
pkgname=('brotli' 'python-brotli' 'brotli-testdata')
|
|
|
|
_gitcommit=e61745a6b7add50d380cfd7d3883dd6c62fc2c71
|
|
|
|
pkgver=1.0.9
|
2023-01-31 21:17:45 +01:00
|
|
|
pkgrel=10
|
2022-03-20 13:19:37 +01:00
|
|
|
pkgdesc='Generic-purpose lossless compression algorithm'
|
|
|
|
url='https://github.com/google/brotli'
|
|
|
|
arch=('x86_64')
|
|
|
|
license=('MIT')
|
2023-01-31 21:17:45 +01:00
|
|
|
makedepends=('git' 'cmake' 'python-setuptools')
|
2022-03-20 13:19:37 +01:00
|
|
|
source=(${pkgname}::"git+${url}#commit=${_gitcommit}")
|
|
|
|
sha512sums=('SKIP')
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd ${pkgbase}
|
|
|
|
git cherry-pick -n 09b0992b6acb7faa6fd3b23f9bc036ea117230fc # Fix broken Libs: in pc file
|
|
|
|
}
|
|
|
|
|
|
|
|
pkgver() {
|
|
|
|
cd ${pkgbase}
|
|
|
|
git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
cd ${pkgbase}
|
|
|
|
python setup.py build
|
2022-11-19 18:17:37 +01:00
|
|
|
cmake -S . -B build \
|
2022-03-20 13:19:37 +01:00
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
2022-04-25 11:02:36 +02:00
|
|
|
-DBUILD_SHARED_LIBS=True \
|
|
|
|
-DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects"
|
2022-11-19 18:17:37 +01:00
|
|
|
cmake --build build -v
|
2022-03-20 13:19:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
check() {
|
|
|
|
cd ${pkgbase}
|
2023-01-31 21:17:45 +01:00
|
|
|
local python_version=$(python -c 'import sys; print("".join(map(str, sys.version_info[:2])))')
|
|
|
|
PYTHONPATH="$PWD/bin/lib.linux-$CARCH-cpython-${python_version}" python -m unittest discover python "*_test.py"
|
2022-11-19 18:17:37 +01:00
|
|
|
cd build
|
|
|
|
ctest --output-on-failure --stop-on-failure -j$(nproc)
|
2022-03-20 13:19:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
package_brotli() {
|
2023-01-31 21:17:45 +01:00
|
|
|
depends=('glibc')
|
2022-03-20 13:19:37 +01:00
|
|
|
provides=(libbrotlicommon.so libbrotlidec.so libbrotlienc.so)
|
|
|
|
|
|
|
|
cd ${pkgbase}
|
2022-11-19 18:17:37 +01:00
|
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
|
|
local man
|
2022-03-20 13:19:37 +01:00
|
|
|
for man in docs/*.?; do
|
|
|
|
install -Dm 644 "$man" "$pkgdir/usr/share/man/man${man##*.}/${man##*/}"
|
|
|
|
done
|
|
|
|
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
|
|
|
|
}
|
|
|
|
|
|
|
|
package_python-brotli() {
|
|
|
|
pkgdesc+=' - python library'
|
2023-01-31 21:17:45 +01:00
|
|
|
depends=('python')
|
2022-03-20 13:19:37 +01:00
|
|
|
|
|
|
|
cd ${pkgbase}
|
|
|
|
python setup.py install --skip-build -O1 --root="$pkgdir"
|
|
|
|
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
|
|
|
|
}
|
|
|
|
|
|
|
|
package_brotli-testdata() {
|
|
|
|
pkgdesc+=' - test data'
|
|
|
|
depends=()
|
|
|
|
|
|
|
|
cd ${pkgbase}
|
|
|
|
install -dm755 "$pkgdir"/usr/share/brotli
|
|
|
|
cp -a tests/testdata "$pkgdir"/usr/share/brotli/
|
|
|
|
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
|
|
|
|
}
|