aboutsummaryrefslogtreecommitdiffstats
path: root/community/libjxl/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/libjxl/APKBUILD')
-rw-r--r--community/libjxl/APKBUILD84
1 files changed, 59 insertions, 25 deletions
diff --git a/community/libjxl/APKBUILD b/community/libjxl/APKBUILD
index f97cd94d921..0d49e76f0a0 100644
--- a/community/libjxl/APKBUILD
+++ b/community/libjxl/APKBUILD
@@ -1,49 +1,71 @@
# Maintainer: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
pkgname=libjxl
-_commit=9f41cb45bb17197aae6a5c29e926bc2ee71f1ccb
-pkgver=0.6.1_git20220218
+pkgver=0.9.1
pkgrel=0
+_testdata_commit=873045a9c42ed60721756e26e2a6b32e17415205
pkgdesc="JPEG XL image format reference implementation"
-url="https://github.com/libjxl/libjxl"
-arch="all"
+url="https://jpeg.org/jpegxl/"
+# s390x fails like most of the tests, implying it's broken
+arch="all !s390x"
license="Apache-2.0"
makedepends="
asciidoc
brotli-dev
+ clang
cmake
gdk-pixbuf-dev
- giflib-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-static $pkgname-tools $pkgname-dev"
-source="https://github.com/libjxl/libjxl/archive/$_commit/libjxl-$_commit.tar.gz"
-builddir=$srcdir/$pkgname-$_commit
+ "
+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
+ "
-# gimp-dev not available
+# with -fstack-clash-protection/-D_GLIBCXX_ASSERTIONS, a lot of these just segfault
case "$CARCH" in
- s390x|riscv64) ;;
- *) makedepends="$makedepends gimp-dev"
+x86) options="$options !check" ;;
esac
-case "$CARCH" in
- # s390x: tests fail
- # x86: https://github.com/libjxl/libjxl/blob/83b05d7583d37fe93bdaa5e8d306782152f38ca1/.github/workflows/build_test.yml#L339
- # armhf/armv7: multiple test failures
- s390x|x86|armhf|armv7) options="!check"
-esac
+prepare() {
+ default_prepare
+ rmdir testdata
+ ln -sfv "$srcdir"/testdata-$_testdata_commit testdata
+ rmdir third_party/skcms
+}
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ case "$CARCH" in
+ riscv64)
+ ;;
+ *)
+ # fails on riscv
+ CFLAGS="$CFLAGS -flto=thin"
+ 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_TESTING=ON \
+ -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 \
@@ -54,13 +76,13 @@ build() {
-DJPEGXL_FORCE_SYSTEM_GTEST=ON \
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
-DJPEGXL_FORCE_SYSTEM_HWY=ON
+ # workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/25526
+ mkdir build/lib/CMakeFiles/jxl_export.dir
cmake --build build
}
check() {
- cd build
- export CTEST_PARALLEL_LEVEL=$JOBS
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ ctest --test-dir build --output-on-failure
}
package() {
@@ -72,6 +94,18 @@ tools() {
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="
-fd2446104d9408f34783bc5b7e7d78b729949da4973694e7736b8c335c21b866f86590e73a29fc790e002b1fb461c876dd1b223beecfd6fff19790525464b030 libjxl-9f41cb45bb17197aae6a5c29e926bc2ee71f1ccb.tar.gz
+a3169dac40b297617075a49cc5cdfa25e793a34b5dfe95db9c2560bdc967743882f0014d1d0fd508b8d2ea02cb3766d2f295af7a2cf9def8f5370f97b24aa16f libjxl-v0.9.1.tar.gz
+31bfccc8421e98cb80cea111ead0ea7d14016c77ad10fd804d783419e61892257688e1fcf89f956166e3242b522349ad22da985b96a9d3129c66be2aa60793b6 libjxl-testdata-873045a9c42ed60721756e26e2a6b32e17415205.tar.gz
+93911a350d1515d9ea9a3c2ee1e1f4c6a6daa702ebd551c1a193bda1f8dea70cbe3ecfd1bdee2fc812cb2ea1c10195870ed0e447f557dc09e7c8a55466199646 no-werror.patch
"