diff options
Diffstat (limited to 'community/libjxl/APKBUILD')
-rw-r--r-- | community/libjxl/APKBUILD | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/community/libjxl/APKBUILD b/community/libjxl/APKBUILD new file mode 100644 index 00000000000..0d49e76f0a0 --- /dev/null +++ b/community/libjxl/APKBUILD @@ -0,0 +1,111 @@ +# Maintainer: Alex Xu (Hello71) <alex_y_xu@yahoo.ca> +pkgname=libjxl +pkgver=0.9.1 +pkgrel=0 +_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 +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) + ;; + *) + # 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_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 + # workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/25526 + mkdir build/lib/CMakeFiles/jxl_export.dir + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +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=" +a3169dac40b297617075a49cc5cdfa25e793a34b5dfe95db9c2560bdc967743882f0014d1d0fd508b8d2ea02cb3766d2f295af7a2cf9def8f5370f97b24aa16f libjxl-v0.9.1.tar.gz +31bfccc8421e98cb80cea111ead0ea7d14016c77ad10fd804d783419e61892257688e1fcf89f956166e3242b522349ad22da985b96a9d3129c66be2aa60793b6 libjxl-testdata-873045a9c42ed60721756e26e2a6b32e17415205.tar.gz +93911a350d1515d9ea9a3c2ee1e1f4c6a6daa702ebd551c1a193bda1f8dea70cbe3ecfd1bdee2fc812cb2ea1c10195870ed0e447f557dc09e7c8a55466199646 no-werror.patch +" |