mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-19 05:36:38 +02:00
90 lines
2.4 KiB
Text
90 lines
2.4 KiB
Text
# Contributor: Leo <thinkabit.ukim@gmail.com>
|
|
# Contributor: stef <l0ls0fo2i@ctrlc.hu>
|
|
# Contributor: André Klitzing <aklitzing@gmail.com>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=zstd
|
|
pkgver=1.5.7
|
|
pkgrel=0
|
|
pkgdesc="Zstandard - Fast real-time compression algorithm"
|
|
url="https://facebook.github.io/zstd/"
|
|
arch="all"
|
|
license="BSD-3-Clause OR GPL-2.0-or-later"
|
|
depends_dev="$pkgname=$pkgver-r$pkgrel"
|
|
makedepends="grep meson"
|
|
checkdepends="file"
|
|
subpackages="
|
|
$pkgname-libs
|
|
$pkgname-static
|
|
$pkgname-dev
|
|
$pkgname-doc
|
|
$pkgname-frugal
|
|
"
|
|
source="zstd-$pkgver.tar.gz::https://github.com/facebook/zstd/archive/v$pkgver.tar.gz"
|
|
# we run the tests in build() for pgo, so it's tested from there.
|
|
# options="!check"
|
|
|
|
# secfixes:
|
|
# 1.4.9-r0:
|
|
# - CVE-2021-24032
|
|
# 1.4.1-r0:
|
|
# - CVE-2021-24031
|
|
# 1.3.8-r0:
|
|
# - CVE-2019-11922
|
|
|
|
build() {
|
|
export CFLAGS="${CFLAGS/-Os/-O3} -flto=auto -ffat-lto-objects"
|
|
export CXXFLAGS="${CXXFLAGS/-Os/-O3} -flto=auto -ffat-lto-objects"
|
|
export CPPFLAGS="${CPPFLAGS/-Os/-O3} -flto=auto -ffat-lto-objects"
|
|
local pgo=false
|
|
if [ -z "$BOOTSTRAP" ]; then
|
|
pgo=true
|
|
fi
|
|
# 2-stage pgo+lto build (non-bootstrap), standard meson usage.
|
|
# note that with clang,
|
|
# llvm-profdata merge --output=output/somefilename(?) output/*.profraw
|
|
# is needed.
|
|
# believe it or not, this is +30% faster on x86_64 than the default makefile build (same params)..
|
|
# maybe needs more testing
|
|
# shellcheck disable=2046
|
|
abuild-meson \
|
|
--default-library=both \
|
|
-Db_ndebug=true \
|
|
$($pgo && echo -Db_pgo=generate) \
|
|
-Dbin_contrib=true \
|
|
-Dbin_programs=true \
|
|
-Dbin_tests="$(want_check && echo true || echo false)" \
|
|
-Dbacktrace=disabled \
|
|
-Dmulti_thread=enabled \
|
|
-Dlz4=disabled \
|
|
-Dlzma=disabled \
|
|
-Dzlib=disabled \
|
|
build/meson output
|
|
|
|
meson compile -C output
|
|
|
|
if $pgo; then
|
|
meson test -t 4 --no-rebuild --print-errorlogs -C output
|
|
meson configure -Dbin_tests=false -Db_pgo=use output
|
|
meson compile -C output
|
|
fi
|
|
}
|
|
|
|
check() {
|
|
# ran in build above, via pgo
|
|
return 0
|
|
#meson test -t 4 --no-rebuild --print-errorlogs -C output
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" meson install --no-rebuild -C output
|
|
}
|
|
|
|
frugal() {
|
|
pkgdesc="$pkgdesc (frugal cli)"
|
|
|
|
amove usr/bin/zstd-frugal
|
|
}
|
|
|
|
sha512sums="
|
|
26e441267305f6e58080460f96ab98645219a90d290a533410b1b0b1d2f870721c95f8384e342ee647c5e968385a5b7e30c2d04340c37f59b3e6d86762c3260c zstd-1.5.7.tar.gz
|
|
"
|