这是indexloc提供的服务,不要输入任何密码
Skip to content

enhance(main/libjxl): Enable more features #25477

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

robertkirkman
Copy link
Contributor

@robertkirkman robertkirkman commented Jul 27, 2025

@@ -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

@robertkirkman
Copy link
Contributor Author

robertkirkman commented Jul 27, 2025

@Quackdoc I have enabled everything or almost everything potentially useful for Termux that is currently enabled in Arch Linux's libjxl package,

could you download the PR artifact from this workflow, extract it to get the .deb files, install the artifact on your device, and test to make sure that this build solves the problem you are having?

By the way, I know you said that gdk-pixbuf should be a build-only dependency, but are you sure?

When I checked after building this, for me,

ldd /data/data/com.termux/files/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.so shows /data/data/com.termux/files/usr/lib/libgdk_pixbuf-2.0.so.0, which is in the gdk-pixbuf package.

@Quackdoc
Copy link

Quackdoc commented Jul 27, 2025

This is working fine on my phone thanks. Tested with eye of gnome and it is working just as expected.

Also apologies, I meant that gdk-pixbuf is only needed for compilation on the packages. the presence of the libjxl plugin will not cause any issues for libjxl if it's installed without gdk-pixbuf being installed. I know this can be an issue with other packages I used to work with.

When gdk-pixbuf is not installed the plugin will just lay dormant, I'm not sure if there are optional dependencies with termux, but that would be the better way to handle this, if not just not adding it to install deps would be preferred since there are going to be a lot of people who want to use libjxl without pulling gdk-pixbuf.

Because of this gdk-pixbuf should be TERMUX_PKG_BUILD_DEPENDS and not TERMUX_PKG_DEPENDS I correct?

@robertkirkman
Copy link
Contributor Author

When gdk-pixbuf is not installed the plugin will just lay dormant, I'm not sure if there are optional dependencies with termux, but that would be the better way to handle this, if not just not adding it to install deps would be preferred since there are going to be a lot of people who want to use libjxl without pulling gdk-pixbuf.

Because of this gdk-pixbuf should be TERMUX_PKG_BUILD_DEPENDS and not TERMUX_PKG_DEPENDS I correct?

Ok, I will apply that change here!

- Fixes termux#25476

- Influenced by Arch Linux's settings: https://gitlab.archlinux.org/archlinux/packaging/packages/libjxl/-/blob/5e5d85323921b537df6af24eaa23de2698c8aaee/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`
@robertkirkman robertkirkman force-pushed the libjxl-enable-plugins branch from 0cc0c61 to a72f380 Compare July 27, 2025 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

libjxl Please enable jxl plugins so we can have pixbuf and gimp support
2 participants