Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Commit

Permalink
upgpkg: zstd 1.5.2-7: avoid building twice (static) just for tests
Browse files Browse the repository at this point in the history
git-svn-id: file:///srv/repos/svn-packages/svn@448852 eb2447ed-0c53-47e4-bac8-5bc4a241df78
  • Loading branch information
anthraxx authored and svntogit committed Jun 16, 2022
1 parent df1c8e9 commit 8c5a7de
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions trunk/PKGBUILD
Expand Up @@ -5,54 +5,56 @@

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)
license=(BSD GPL2)
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')
b2sums=('513e4526a92bcb59416b3457d186a30e554f9e0cf21d7114eb3e9fbcbd9d662c8d95cf0b06237f6fe3f756862c63de0aa146d6a23cb4111c16e6459608d115f1'
'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_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
-DZSTD_PROGRAMS_LINK_SHARED=ON
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:

0 comments on commit 8c5a7de

Please sign in to comment.