#!/usr/bin/bash # JOBoRun : Jwm OpenBox Obarun RUNit # Maintainer : Joe Bo Run # PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" # Website : https://pozol.eu #-----------------------------------------| DESCRIPTION |--------------------------------------- pkgbase=brotli pkgname=('brotli' 'python-brotli' 'brotli-testdata') pkgver=1.1.0 pkgrel=01 pkgdesc='Generic-purpose lossless compression algorithm' url='https://github.com/google/brotli' makedepends=(git cmake python-setuptools python-build python-installer python-wheel) # options=('debug') ## uncomment this to produce the debug pkg _gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d source=(${pkgname}::"git+${url}#commit=${_gitcommit}") #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 python -m build --wheel --no-isolation cmake -S . -B build \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_SHARED_LIBS=True \ -DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects" cmake --build build -v } check() { cd ${pkgbase} 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" cd build ctest --output-on-failure --stop-on-failure -j$(nproc) } package_brotli() { depends=('glibc') provides=(libbrotlicommon.so libbrotlidec.so libbrotlienc.so) cd ${pkgbase} DESTDIR="$pkgdir" cmake --install build local man 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' depends=('python') cd ${pkgbase} python -m installer --destdir="$pkgdir" dist/*.whl 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" } #---- arch license gpg-key & sha256sums ---- arch=(x86_64) license=('MIT') sha256sums=(SKIP) ## 648dbfe4d27a9c761b019c2032b1e793866b939d668429d842a7ba0a14127b44 brotli-1.1.0-01-x86_64.pkg.tar.lz ## 562dbea12821909d64daeb6a77002e189f8f9a0c6c46f07d56b5730539f01d96 brotli-testdata-1.1.0-01-x86_64.pkg.tar.lz ## 66ca1fd711a3b6a83bfe6233cd2c24aa1c980d97b879db4db054f2794ff9bca8 python-brotli-1.1.0-01-x86_64.pkg.tar.lz