summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorGonzalo Exequiel Pedone2024-04-17 21:39:52 -0300
committerGonzalo Exequiel Pedone2024-04-17 21:39:52 -0300
commit42eca14eb77f1d53287033c602523a8db3f2b0fc (patch)
tree4d9054253b5d8e7aa1b8b04233500849a300a538 /PKGBUILD
downloadaur-android-x86-64-libjxl.tar.gz
New package.
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD91
1 files changed, 91 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..850a2d702b6e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,91 @@
+# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
+# Contributor: Daniel Bermond <dbermond@archlinux.org>
+
+_android_arch=x86-64
+
+pkgname=android-${_android_arch}-libjxl
+pkgver=0.10.2
+pkgrel=1
+arch=('any')
+pkgdesc="JPEG XL image format reference implementation (Android ${_android_arch})"
+url='https://jpeg.org/jpegxl/'
+license=('BSD-3-Clause')
+depends=("android-${_android_arch}-brotli"
+ "android-${_android_arch}-giflib"
+ "android-${_android_arch}-highway"
+ "android-${_android_arch}-libjpeg-turbo"
+ "android-${_android_arch}-libpng"
+ "android-${_android_arch}-openexr")
+makedepends=('git'
+ 'android-cmake'
+ "android-${_android_arch}-gdk-pixbuf2"
+ "java-environment"
+ "python"
+ "asciidoc"
+ "xdg-utils")
+optdepends=("android-${_android_arch}-gdk-pixbuf2: for gdk-pixbuf loader"
+ "java-runtime: for JNI bindings")
+options=(!strip !buildflags staticlibs !emptydirs)
+source=("https://github.com/libjxl/libjxl/archive/refs/tags/v${pkgver}.tar.gz")
+md5sums=('e383b622cb2caef4dfcc8047f5a0fe72')
+
+prepare() {
+ cd "${srcdir}/libjxl-${pkgver}"
+ source android-env ${_android_arch}
+
+ ./deps.sh
+}
+
+build() {
+ cd "${srcdir}/libjxl-${pkgver}"
+ source android-env ${_android_arch}
+
+ export CFLAGS="${CFLAGS} -DNDEBUG"
+ export CXXFLAGS="${CXXFLAGS} -DNDEBUG"
+
+ android-${_android_arch}-cmake \
+ -S . \
+ -B build \
+ -DBUILD_TESTING=OFF \
+ -DJPEGXL_ENABLE_BENCHMARK=OFF \
+ -DJPEGXL_ENABLE_DOXYGEN=OFF \
+ -DJPEGXL_ENABLE_EXAMPLES=OFF \
+ -DJPEGXL_ENABLE_FUZZERS=OFF \
+ -DJPEGXL_ENABLE_MANPAGES=OFF \
+ -DJPEGXL_ENABLE_PLUGINS=ON \
+ -DJPEGXL_ENABLE_TOOLS=OFF \
+ -DJPEGXL_ENABLE_VIEWERS=OFF \
+ -DJPEGXL_ENABLE_SJPEG=OFF \
+ -DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \
+ -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
+ -DJPEGXL_FORCE_SYSTEM_GTEST=ON \
+ -DJPEGXL_FORCE_SYSTEM_HWY=ON \
+ -DJPEGXL_FORCE_SYSTEM_LCMS2=ON \
+ -DJPEGXL_BUNDLE_LIBPNG=OFF \
+ -DJPEGXL_ENABLE_JNI=ON \
+ -DJPEGXL_INSTALL_JARDIR="${ANDROID_PREFIX_SHARE}/java" \
+ -DHWY_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DHWY_LIBRARY="${ANDROID_PREFIX_LIB}/libhwy.so" \
+ -DBROTLI_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}/brotli" \
+ -DBROTLICOMMON_LIBRARY="${ANDROID_PREFIX_LIB}/libbrotlicommon.so" \
+ -DBROTLIENC_LIBRARY="${ANDROID_PREFIX_LIB}/libbrotlienc.so" \
+ -DBROTLIDEC_LIBRARY="${ANDROID_PREFIX_LIB}/libbrotlidec.so" \
+ -DLCMS2_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DLCMS2_LIBRARY="${ANDROID_PREFIX_LIB}/liblcms2.so" \
+ -DPNG_PNG_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}/png" \
+ -DPNG_LIBRARY="${ANDROID_PREFIX_LIB}/libpng.so" \
+ -DZLIB_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DZLIB_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libz.so" \
+ -Wno-dev
+ sed -i "s|liblcms2.so -lgdk_pixbuf-2.0 |liblcms2.so -L${ANDROID_PREFIX_LIB} -lgdk_pixbuf-2.0 |g" build/plugins/gdk-pixbuf/CMakeFiles/pixbufloader-jxl.dir/link.txt
+ make -C build $MAKEFLAGS
+}
+
+package() {
+ cd "${srcdir}/libjxl-${pkgver}"
+ source android-env ${_android_arch}
+
+ make -C build DESTDIR="$pkgdir" install
+ ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}"/${ANDROID_PREFIX_LIB}/*.so
+ mv "${pkgdir}/${ANDROID_PREFIX_SHARE}/java"/{org.jpeg.jpegxl,jpegxl}.jar
+}