mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-06 02:54:23 +02:00
109 lines
2.8 KiB
Text
109 lines
2.8 KiB
Text
# Maintainer: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
|
|
pkgname=libjxl
|
|
pkgver=0.10.3
|
|
pkgrel=2
|
|
_testdata_commit=873045a9c42ed60721756e26e2a6b32e17415205
|
|
pkgdesc="JPEG XL image format reference implementation"
|
|
url="https://jpeg.org/jpegxl/"
|
|
# s390x fails like most of the tests, implying it's broken (even without llvm/lld)
|
|
arch="all !s390x"
|
|
license="Apache-2.0"
|
|
makedepends="
|
|
asciidoc
|
|
brotli-dev
|
|
clang
|
|
cmake
|
|
gdk-pixbuf-dev
|
|
gflags-dev
|
|
giflib-dev
|
|
gtest-dev
|
|
highway-dev
|
|
lcms2-dev
|
|
libjpeg-turbo-dev
|
|
libpng-dev
|
|
lld
|
|
llvm
|
|
openexr-dev
|
|
samurai
|
|
zlib-dev
|
|
"
|
|
subpackages="$pkgname-doc $pkgname-tools $pkgname-dev $pkgname-pixbuf-loader"
|
|
source="https://github.com/libjxl/libjxl/archive/v$pkgver/libjxl-v$pkgver.tar.gz
|
|
libjxl-testdata-$_testdata_commit.tar.gz::https://github.com/libjxl/testdata/archive/$_testdata_commit.tar.gz
|
|
no-werror.patch
|
|
"
|
|
|
|
# with -fstack-clash-protection/-D_GLIBCXX_ASSERTIONS, a lot of these just segfault
|
|
case "$CARCH" in
|
|
x86) options="$options !check" ;;
|
|
esac
|
|
|
|
prepare() {
|
|
default_prepare
|
|
rmdir testdata
|
|
ln -sfv "$srcdir"/testdata-$_testdata_commit testdata
|
|
rmdir third_party/skcms
|
|
}
|
|
|
|
build() {
|
|
case "$CARCH" in
|
|
riscv64|ppc64le)
|
|
;;
|
|
*)
|
|
# fails on riscv/test fail on ppc64le
|
|
export CFLAGS="$CFLAGS -flto=thin"
|
|
export CXXFLAGS="$CXXFLAGS -flto=thin"
|
|
export CC=clang
|
|
export CXX=clang++
|
|
export LDFLAGS="$LDFLAGS -fuse-ld=lld"
|
|
;;
|
|
esac
|
|
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
|
|
-DJPEGXL_ENABLE_PLUGINS=ON \
|
|
-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \
|
|
-DJPEGXL_ENABLE_BENCHMARK=OFF \
|
|
-DJPEGXL_ENABLE_COVERAGE=OFF \
|
|
-DJPEGXL_ENABLE_EXAMPLES=OFF \
|
|
-DJPEGXL_ENABLE_FUZZERS=OFF \
|
|
-DJPEGXL_ENABLE_SJPEG=OFF \
|
|
-DJPEGXL_ENABLE_SKCMS=OFF \
|
|
-DJPEGXL_ENABLE_VIEWERS=OFF \
|
|
-DJPEGXL_FORCE_SYSTEM_GTEST=ON \
|
|
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
|
|
-DJPEGXL_FORCE_SYSTEM_HWY=ON
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
ctest --test-dir build -E 'CodecTest.TestRoundTrip'
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
}
|
|
|
|
tools() {
|
|
pkgdesc="JPEG XL image format reference implementation tools (cjxl, djxl)"
|
|
amove usr/bin/*
|
|
}
|
|
|
|
loader() {
|
|
pkgdesc="$pkgdesc (pixbuf loader)"
|
|
install_if="$pkgname=$pkgver-r$pkgrel gdk-pixbuf-loaders"
|
|
|
|
amove \
|
|
usr/lib/gdk-pixbuf-* \
|
|
usr/share/mime \
|
|
usr/share/thumbnailers
|
|
}
|
|
|
|
sha512sums="
|
|
5ece482f4c5f0312e87e020f921525622a6d3f1a3834f3cd8666638fc8d0fba8cd072ef58f7b153dc17ca19071ebae2fbad7b08e6d440c2669f4f1b35888a7d4 libjxl-v0.10.3.tar.gz
|
|
31bfccc8421e98cb80cea111ead0ea7d14016c77ad10fd804d783419e61892257688e1fcf89f956166e3242b522349ad22da985b96a9d3129c66be2aa60793b6 libjxl-testdata-873045a9c42ed60721756e26e2a6b32e17415205.tar.gz
|
|
a99668ca0dbb3b9827341c3f7f8b93a109b46b759c40da6652cc1cd0fa597e0e1040392af09f3d19645ec8baccc68c37deb634b6d9975298427ccb797a2adcb3 no-werror.patch
|
|
"
|