Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help.
| Dependency | Version | Used under the terms of |
|-----------------|------------|--------------------------------------------------------------|
| [aom] | 3.13.1 | BSD 2-Clause + [Alliance for Open Media Patent License 1.0] |
| [brotli] | 1.2.0 | MIT Licence |
| [cairo] | 1.18.4 | Mozilla Public License 2.0 |
| [cgif] | 0.5.0 | MIT Licence |
| [expat] | 2.7.3 | MIT Licence |
Expand All @@ -33,6 +34,7 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help.
| [libffi] | 3.5.2 | MIT Licence |
| [libheif] | 1.20.2 | LGPLv3 |
| [libimagequant] | 2.4.1[^1] | BSD 2-Clause |
| [libjxl] | [53042ec] | BSD 3-Clause |
| [libpng] | 1.6.53 | [libpng License version 2] |
| [librsvg] | 2.61.3 | LGPLv3 |
| [libtiff] | 4.7.1 | [libtiff License] (BSD-like) |
Expand All @@ -50,10 +52,12 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help.
[^2]: libvips is built from the [`v8.18.0-rc2`](https://github.com/libvips/libvips/tree/v8.18.0-rc2) tag, see:
https://github.com/libvips/libvips/releases/tag/v8.18.0-rc2

[53042ec]: https://github.com/libjxl/libjxl/commit/53042ec537712e0df08709524f4df097d42174bc
[0826579]: https://github.com/mozilla/mozjpeg/commit/08265790774cd0714832c9e675522acbe5581437

[aom]: https://aomedia.googlesource.com/aom/
[Alliance for Open Media Patent License 1.0]: https://aomedia.org/license/patent-license/
[brotli]: https://github.com/google/brotli
[cairo]: https://gitlab.freedesktop.org/cairo/cairo
[cgif]: https://github.com/dloebl/cgif
[expat]: https://github.com/libexpat/libexpat
Expand All @@ -71,6 +75,7 @@ https://github.com/libvips/libvips/releases/tag/v8.18.0-rc2
[libffi]: https://github.com/libffi/libffi
[libheif]: https://github.com/strukturag/libheif
[libimagequant]: https://github.com/lovell/libimagequant
[libjxl]: https://github.com/libjxl/libjxl
[libpng]: https://github.com/pnggroup/libpng
[libpng License version 2]: https://github.com/pnggroup/libpng/blob/master/LICENSE
[librsvg]: https://gitlab.gnome.org/GNOME/librsvg
Expand All @@ -94,14 +99,12 @@ Same as libvips-web + these extra dependencies:

| Dependency | Version | Used under the terms of |
|-----------------|------------|--------------------------------------------------------------|
| [brotli] | 1.2.0 | MIT Licence |
| [cfitsio] | 4.6.2 | BSD-like |
| [fftw] | 3.3.10 | GPLv2 |
| [gdk-pixbuf] | 2.44.4 | LGPLv3 |
| [imagemagick] | 6.9.13-35 | [ImageMagick License] (Apache-2.0-like) |
| [imath] | 3.1.9 | BSD 3-Clause |
| [libdicom] | 1.2.0 | MIT Licence |
| [libjxl] | 0.11.1 | BSD 3-Clause |
| [libraw] | 0.21.4 | LGPL-2.1-only |
| [matio] | 1.5.29 | BSD 2-Clause |
| [nifticlib] | 3.0.1 | Public domain |
Expand All @@ -112,15 +115,13 @@ Same as libvips-web + these extra dependencies:
| [sqlite] | 3.51.1 | Public domain |
| [zstd] | 1.5.7 | BSD 3-Clause |

[brotli]: https://github.com/google/brotli
[cfitsio]: https://github.com/HEASARC/cfitsio
[fftw]: https://github.com/FFTW/fftw3
[gdk-pixbuf]: https://gitlab.gnome.org/GNOME/gdk-pixbuf
[imagemagick]: https://github.com/ImageMagick/ImageMagick6
[ImageMagick License]: https://github.com/ImageMagick/ImageMagick6/blob/main/LICENSE
[imath]: https://github.com/AcademySoftwareFoundation/Imath
[libdicom]: https://github.com/ImagingDataCommons/libdicom
[libjxl]: https://github.com/libjxl/libjxl
[libraw]: https://github.com/LibRaw/LibRaw
[matio]: https://github.com/tbeu/matio
[nifticlib]: https://github.com/NIFTI-Imaging/nifti_clib
Expand Down
27 changes: 24 additions & 3 deletions build/libjxl.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ PKG := libjxl
$(PKG)_WEBSITE := https://github.com/libjxl/libjxl
$(PKG)_DESCR := JPEG XL image format reference implementation
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.11.1
$(PKG)_CHECKSUM := 1492dfef8dd6c3036446ac3b340005d92ab92f7d48ee3271b5dac1d36945d3d9
# https://github.com/libjxl/libjxl/tarball/53042ec537712e0df08709524f4df097d42174bc
$(PKG)_VERSION := 53042ec
$(PKG)_CHECKSUM := 8bb362724e2973f9cf57cefe4949bcfd47d6832bce706a691b29aa43d1c901e1
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/$(PKG)-[0-9]*.patch)))
$(PKG)_GH_CONF := libjxl/libjxl/tags,v
$(PKG)_GH_CONF := libjxl/libjxl/branches/main
$(PKG)_DEPS := cc brotli highway lcms libpng

define $(PKG)_BUILD
Expand All @@ -20,6 +21,26 @@ define $(PKG)_BUILD
-DJPEGXL_ENABLE_OPENEXR=OFF \
-DJPEGXL_ENABLE_SKCMS=OFF \
-DJPEGXL_ENABLE_TRANSCODE_JPEG=OFF \
$(if $(call seq,aarch64,$(PROCESSOR)), \
-DJPEGXL_ENABLE_HWY_SVE2_128=OFF \
-DJPEGXL_ENABLE_HWY_SVE_256=OFF \
-DJPEGXL_ENABLE_HWY_SVE2=OFF \
-DJPEGXL_ENABLE_HWY_SVE=OFF \
-DJPEGXL_ENABLE_HWY_NEON_BF16=OFF \
-DJPEGXL_ENABLE_HWY_NEON=OFF \
-DJPEGXL_ENABLE_HWY_NEON_WITHOUT_AES=ON \
$(else), \
-DJPEGXL_ENABLE_HWY_AVX10_2=OFF \
-DJPEGXL_ENABLE_HWY_AVX3_SPR=OFF \
-DJPEGXL_ENABLE_HWY_AVX3_ZEN4=OFF \
-DJPEGXL_ENABLE_HWY_AVX3_DL=OFF \
-DJPEGXL_ENABLE_HWY_AVX3=OFF \
-DJPEGXL_ENABLE_HWY_AVX2=ON \
-DJPEGXL_ENABLE_HWY_SSE4=OFF \
-DJPEGXL_ENABLE_HWY_SSSE3=OFF \
-DJPEGXL_ENABLE_HWY_SSE2=ON) \
-DJPEGXL_ENABLE_HWY_EMU128=OFF \
-DJPEGXL_ENABLE_HWY_SCALAR=OFF \
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
-DJPEGXL_FORCE_SYSTEM_LCMS2=ON \
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
Expand Down
26 changes: 26 additions & 0 deletions build/patches/libjxl-0.12-fixes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <github@kleisauke.nl>
Date: Mon, 8 Dec 2025 19:41:56 +0100
Subject: [PATCH 1/1] Allow disabling the `HWY_AVX10_2` target

Upstream-Status: Inappropriate [other]
Requires Highway 1.3.0 or later, will fail on earlier versions with:
```
error: use of undeclared identifier 'HWY_AVX10_2'
```

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1111111..2222222 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -132,8 +132,8 @@ else()
set(ENABLE_SKCMS_DEFAULT YES)
endif()

-set(JPEGXL_HWY_TARGETS AVX2 AVX3 AVX3_DL AVX3_SPR AVX3_ZEN4 EMU128 NEON NEON_BF16 NEON_WITHOUT_AES PPC10 PPC8 PPC9 RVV SCALAR SSE2 SSE4 SSSE3 SVE SVE_256 SVE2 SVE2_128 WASM WASM_EMU256 Z14 Z15)
-set(JPEGXL_HWY_TARGETS_OFF_BY_DEFAULT AVX3 AVX3_SPR AVX3_ZEN4 RVV SSSE3 SVE_256)
+set(JPEGXL_HWY_TARGETS AVX2 AVX3 AVX3_DL AVX3_SPR AVX3_ZEN4 AVX10_2 EMU128 NEON NEON_BF16 NEON_WITHOUT_AES PPC10 PPC8 PPC9 RVV SCALAR SSE2 SSE4 SSSE3 SVE SVE_256 SVE2 SVE2_128 WASM WASM_EMU256 Z14 Z15)
+set(JPEGXL_HWY_TARGETS_OFF_BY_DEFAULT AVX3 AVX3_SPR AVX3_ZEN4 AVX10_2 RVV SSSE3 SVE_256)
if (NOT CXX_SVE_SUPPORTED)
list(APPEND JPEGXL_HWY_TARGETS_OFF_BY_DEFAULT SVE SVE2 SVE_256 SVE2_128)
endif()
1 change: 1 addition & 0 deletions build/plugins/all-deps/overrides.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ vips_PATCHES := $(vips_PATCHES) \
vips_MESON_OPTS = \
-Dmodules=enabled \
-Dheif-module=$(if $(IS_HEVC),enabled,disabled) \
-Djpeg-xl-module=disabled \
$(if $(findstring graphicsmagick,$(vips_all_DEPS)), -Dmagick-package=GraphicsMagick) \
-Dpdfium=disabled \
-Dquantizr=disabled \
Expand Down
2 changes: 1 addition & 1 deletion build/plugins/all-deps/vips-all.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $(PKG)_SUBDIR = $(vips_SUBDIR)
$(PKG)_FILE = $(vips_FILE)
$(PKG)_URL = $(vips_URL)
$(PKG)_DEPS := $(vips_DEPS) imagemagick matio openexr cfitsio \
nifticlib poppler fftw openslide libjxl libraw
nifticlib poppler fftw openslide libraw

define $(PKG)_PRE_CONFIGURE
# Copy some files to the packaging directory
Expand Down
1 change: 0 additions & 1 deletion build/plugins/web-deps/overrides.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ vips_MESON_OPTS = \
-Dmodules=disabled \
-Dcfitsio=disabled \
-Dfftw=disabled \
-Djpeg-xl=disabled \
-Dmagick=disabled \
-Dmatio=disabled \
-Dnifti=disabled \
Expand Down
2 changes: 2 additions & 0 deletions build/plugins/web-deps/vips-web.mk
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ define $(PKG)_PRE_CONFIGURE
(printf '{\n'; \
printf ' "aom": "$(aom_VERSION)",\n'; \
printf ' "archive": "$(libarchive_VERSION)",\n'; \
printf ' "brotli": "$(brotli_VERSION)",\n'; \
printf ' "cairo": "$(cairo_VERSION)",\n'; \
printf ' "cgif": "$(cgif_VERSION)",\n'; \
printf ' "exif": "$(libexif_VERSION)",\n'; \
Expand All @@ -36,6 +37,7 @@ define $(PKG)_PRE_CONFIGURE
$(if $(IS_JPEGLI), \
printf ' "jpegli": "$(jpegli_VERSION)"$(comma)\n';, \
$(if $(IS_MOZJPEG),,printf ' "jpeg": "$(libjpeg-turbo_VERSION)"$(comma)\n';)) \
printf ' "jxl": "$(libjxl_VERSION)",\n'; \
printf ' "lcms": "$(lcms_VERSION)",\n'; \
$(if $(IS_MOZJPEG),printf ' "mozjpeg": "$(mozjpeg_VERSION)"$(comma)\n';) \
printf ' "pango": "$(pango_VERSION)",\n'; \
Expand Down
2 changes: 1 addition & 1 deletion build/vips.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $(PKG)_GH_CONF := libvips/libvips/releases,v,,,,.tar.xz
$(PKG)_SUBDIR := $(PKG)-$(firstword $(subst -, ,$($(PKG)_VERSION)))
$(PKG)_DEPS := cc meson-wrapper libwebp librsvg glib pango libarchive \
libjpeg-turbo tiff lcms libexif libheif \
libimagequant highway cgif uhdr
libimagequant highway cgif uhdr libjxl

define $(PKG)_BUILD
$(eval export CFLAGS += -O3)
Expand Down