Date: Thursday, June 16, 2022 @ 18:30:34 Author: anthraxx Revision: 448852
upgpkg: zstd 1.5.2-7: avoid building twice (static) just for tests Modified: zstd/trunk/PKGBUILD ----------+ PKGBUILD | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-06-16 18:26:37 UTC (rev 448851) +++ PKGBUILD 2022-06-16 18:30:34 UTC (rev 448852) @@ -5,7 +5,7 @@ pkgname=zstd pkgver=1.5.2 -pkgrel=6 +pkgrel=7 pkgdesc='Zstandard - Fast real-time compression algorithm' url='https://facebook.github.io/zstd/' arch=(x86_64) @@ -13,7 +13,7 @@ depends=(glibc gcc-libs zlib xz lz4) makedepends=(cmake gtest ninja) provides=(libzstd.so) -options=(debug staticlibs) +options=(debug) source=(https://github.com/facebook/zstd/releases/download/v${pkgver}/zstd-${pkgver}.tar.zst{,.sig}) sha256sums=('3ea06164971edec7caa2045a1932d757c1815858e4c2b68c7ef812647535c23f' 'SKIP') @@ -21,38 +21,40 @@ 'SKIP') validpgpkeys=(4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD) +prepare() { + cd ${pkgname}-${pkgver} + # avoid error on tests without static libs, we use LD_LIBRARY_PATH + sed '/build static library to build tests/d' -i build/cmake/CMakeLists.txt + sed 's/libzstd_static/libzstd_shared/g' -i build/cmake/tests/CMakeLists.txt +} + build() { + cd ${pkgname}-${pkgver} export CFLAGS+=' -ffat-lto-objects' export CXXFLAGS+=' -ffat-lto-objects' - cmake -S ${pkgname}-${pkgver}/build/cmake -B build-shared -G Ninja \ + + cmake -S build/cmake -B build -G Ninja \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DZSTD_BUILD_CONTRIB=ON \ -DZSTD_BUILD_STATIC=OFF \ - -DZSTD_BUILD_TESTS=OFF \ + -DZSTD_BUILD_TESTS=ON \ -DZSTD_PROGRAMS_LINK_SHARED=ON - cmake --build build-shared - cmake -S ${pkgname}-${pkgver}/build/cmake -B build-static -G Ninja \ - -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DZSTD_BUILD_CONTRIB=ON \ - -DZSTD_BUILD_STATIC=ON \ - -DZSTD_BUILD_TESTS=ON \ - -DZSTD_PROGRAMS_LINK_SHARED=OFF - cmake --build build-static + cmake --build build } check() { - cd build-static/tests - ctest + cd ${pkgname}-${pkgver} + export LD_LIBRARY_PATH="$(pwd)/build/lib" + ctest -VV --test-dir build } package() { - DESTDIR="${pkgdir}" cmake --install build-shared + cd ${pkgname}-${pkgver} + DESTDIR="${pkgdir}" cmake --install build ln -sf /usr/bin/zstd "${pkgdir}/usr/bin/zstdmt" - install -Dm 644 ${pkgname}-${pkgver}/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } # vim: ts=2 sw=2 et:
