diff options
Diffstat (limited to 'community/libjxl/APKBUILD')
-rw-r--r-- | community/libjxl/APKBUILD | 94 |
1 files changed, 56 insertions, 38 deletions
diff --git a/community/libjxl/APKBUILD b/community/libjxl/APKBUILD index 7239e7e83cb..0d49e76f0a0 100644 --- a/community/libjxl/APKBUILD +++ b/community/libjxl/APKBUILD @@ -1,55 +1,71 @@ # Maintainer: Alex Xu (Hello71) <alex_y_xu@yahoo.ca> pkgname=libjxl -pkgver=0.6.1 +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 + 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" -_lodepng_commit=48e5364ef48ec2408f44c727657ac1b6703185f8 -source="libjxl-$pkgver.tar.gz::https://github.com/libjxl/libjxl/archive/refs/tags/v$pkgver.tar.gz - lodepng-$_lodepng_commit.tar.gz::https://github.com/lvandeve/lodepng/archive/$_lodepng_commit.tar.gz - system-lcms.patch - sys-platform-ppc.patch + " +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|mips|mips64|riscv64) ;; - *) makedepends="$makedepends gimp-dev" +x86) options="$options !check" ;; esac -# https://github.com/libjxl/libjxl/blob/83b05d7583d37fe93bdaa5e8d306782152f38ca1/.github/workflows/build_test.yml#L339 -if [ "$CARCH" = x86 ]; then - options="!check" -fi - prepare() { default_prepare - rmdir third_party/lodepng - ln -s ../../lodepng-$_lodepng_commit third_party/lodepng + 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 \ @@ -59,21 +75,14 @@ build() { -DJPEGXL_ENABLE_VIEWERS=OFF \ -DJPEGXL_FORCE_SYSTEM_GTEST=ON \ -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ - -DJPEGXL_FORCE_SYSTEM_HWY=ON \ - -DJPEGXL_FORCE_SYSTEM_LCMS=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 - local skipped_tests='DecodeTest\.PixelTestWithICCProfileLossy|RobustStatisticsTest\.' - if [ "$CARCH" = s390x ]; then - skipped_tests="$skipped_tests|DecodeTestParam\.PixelTest/301x33[A-Z]+to[A-Z]+f16" - fi - : ${CTEST_PARALLEL_LEVEL=$JOBS} - # DecodeTest.PixelTestWithICCProfileLossy: https://github.com/libjxl/libjxl/issues/500 - # RobustStatisticsTest: https://github.com/libjxl/libjxl/issues/698 - CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E "($skipped_tests)" + ctest --test-dir build --output-on-failure } package() { @@ -85,9 +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=" -302935d722160b0b288ac63301f9e95caf82eccf6ad76c4f4da6316a0314ee3562115932b1ceacb0d02708de0a07788992d3478cae73af0b90193f5769f9fb52 libjxl-0.6.1.tar.gz -50a515f1f15122fa017637be30df0db05980d07f8891f16b0b68697ef0df797176bbe005df623e9f2dbb68b750b0a87e69c3cef215c7bf15187d00491c4023c7 lodepng-48e5364ef48ec2408f44c727657ac1b6703185f8.tar.gz -7323e9ecacd4d7602a724eed34ab3227794cc81d9cfa1f356d6cd02ba55c5c8bd84015b7f90c469d7e9d58a4f758c8ca914b5bae261a434ac24a8a934ee55f6c system-lcms.patch -f12d0b6ef7e12a3db67be1385e949171ffad037ea853ee91dcb0d711957a5c0908d2890db185c6bf3afaafb4507ae9d2b5c9a79d1fca045a22c2b7af8c91279c sys-platform-ppc.patch +a3169dac40b297617075a49cc5cdfa25e793a34b5dfe95db9c2560bdc967743882f0014d1d0fd508b8d2ea02cb3766d2f295af7a2cf9def8f5370f97b24aa16f libjxl-v0.9.1.tar.gz +31bfccc8421e98cb80cea111ead0ea7d14016c77ad10fd804d783419e61892257688e1fcf89f956166e3242b522349ad22da985b96a9d3129c66be2aa60793b6 libjxl-testdata-873045a9c42ed60721756e26e2a6b32e17415205.tar.gz +93911a350d1515d9ea9a3c2ee1e1f4c6a6daa702ebd551c1a193bda1f8dea70cbe3ecfd1bdee2fc812cb2ea1c10195870ed0e447f557dc09e7c8a55466199646 no-werror.patch " |