Files
termux-packages/packages/libjxl/build.sh
termux-pacman-bot c96c1c63b6 enhance(main/libjxl): Enable more features
- Fixes https://github.com/termux/termux-packages/issues/25476

- Influenced by Arch Linux's settings: 5e5d853239/PKGBUILD

- New dependencies added
  - `gdk-pixbuf`
  - `giflib`
  - `glib`
  - `libffi`
  - `libiconv`
  - `libjpeg-turbo`
  - `libpng`
  - `zlib`

- New settings enabled
  - `-DJPEGXL_ENABLE_PLUGINS=True`
  - `-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=True`

- New files provided (`dpkg -L libjxl`)

```diff
@@ -68,6 +68,10 @@
 /data/data/com.termux/files/usr/lib/cmake/hwy/hwy-config-release.cmake
 /data/data/com.termux/files/usr/lib/cmake/hwy/hwy-config-version.cmake
 /data/data/com.termux/files/usr/lib/cmake/hwy/hwy-config.cmake
+/data/data/com.termux/files/usr/lib/gdk-pixbuf-2.0
+/data/data/com.termux/files/usr/lib/gdk-pixbuf-2.0/2.10.0
+/data/data/com.termux/files/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders
+/data/data/com.termux/files/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.so
 /data/data/com.termux/files/usr/lib/libhwy.a
 /data/data/com.termux/files/usr/lib/libjxl.so
 /data/data/com.termux/files/usr/lib/libjxl_cms.so
@@ -82,3 +86,8 @@
 /data/data/com.termux/files/usr/share/doc
 /data/data/com.termux/files/usr/share/doc/libjxl
 /data/data/com.termux/files/usr/share/doc/libjxl/copyright
+/data/data/com.termux/files/usr/share/mime
+/data/data/com.termux/files/usr/share/mime/packages
+/data/data/com.termux/files/usr/share/mime/packages/image-jxl.xml
+/data/data/com.termux/files/usr/share/thumbnailers
+/data/data/com.termux/files/usr/share/thumbnailers/jxl.thumbnailer
```

- New shared library dependencies (`for i in $(dpkg -L libjxl); do ldd $i 2>/dev/null; done`)
  - `libz.so.1`
  - `libpng16.so`
  - `libpcre2-8.so`
  - `libjpeg.so.8`
  - `libiconv.so`
  - `libgobject-2.0.so.0`
  - `libgmodule-2.0.so.0`
  - `libglib-2.0.so.0`
  - `libgio-2.0.so.0`
  - `libgdk_pixbuf-2.0.so.0`
  - `libffi.so`
2025-07-29 08:43:58 +00:00

43 lines
1.4 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://jpegxl.info/
TERMUX_PKG_DESCRIPTION="JPEG XL image format reference implementation"
TERMUX_PKG_LICENSE="BSD 3-Clause"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.11.1"
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/libjxl/libjxl/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=1492dfef8dd6c3036446ac3b340005d92ab92f7d48ee3271b5dac1d36945d3d9
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="brotli, giflib, glib, libc++, libffi, libiconv, libjpeg-turbo, libpng, zlib"
TERMUX_PKG_BUILD_DEPENDS="gdk-pixbuf, littlecms"
TERMUX_PKG_SUGGESTS="gdk-pixbuf"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DJPEGXL_ENABLE_JNI=False
-DJPEGXL_FORCE_SYSTEM_BROTLI=True
-DJPEGXL_ENABLE_PLUGINS=True
-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=True
-DJPEGXL_ENABLE_PLUGIN_GIMP210=False
-DJPEGXL_BUNDLE_LIBPNG=False
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
"
termux_step_post_get_source() {
# Do not forget to bump revision of reverse dependencies and rebuild them
# after RELEASE / SOVERSION is changed.
local _SOVERSION=0.11
for a in MAJOR SO_MINOR; do
local _${a}=$(sed -En 's/^set\(JPEGXL_'"${a}"'_VERSION\s+([0-9]+).*/\1/p' \
lib/CMakeLists.txt)
done
local v="${_MAJOR}"
if [ "${_SO_MINOR}" != "0" ]; then
v+=".${_SO_MINOR}"
fi
if [ "${_SOVERSION}" != "${v}" ]; then
termux_error_exit "SOVERSION guard check failed."
fi
./deps.sh
}