Install this version:
emerge -a =media-libs/libjxl-compat-0.12.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =media-libs/libjxl-compat-0.12.0
Or alternatively:
emerge --autounmask-write -a =media-libs/libjxl-compat-0.12.0
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake multilib
MY_PN="${PN%-compat}"
DESCRIPTION="libjxl runtime libraries for prebuilt packages linked against the 0.11 ABI"
HOMEPAGE="https://github.com/libjxl/libjxl/"
SRC_URI="
https://github.com/libjxl/libjxl/archive/refs/tags/v${PV}.tar.gz
-> ${MY_PN}-${PV}.tar.gz
"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="BSD"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~amd64 ~arm64"
# media-libs/libjxl carries SLOT="0/$(ver_cut 1-2)", so only one ABI of it can
# ever be installed. This package supplies the older runtime alongside it,
# without headers, pkg-config files or tools, so nothing links against it.
RDEPEND="
app-arch/brotli:=
>=dev-cpp/highway-1.0.7
>=media-libs/lcms-2.13:2
"
DEPEND="${RDEPEND}"
src_configure() {
# Everything that is not the core decoding library is off: this package
# ships two shared objects and nothing else.
local mycmakeargs=(
-DBUILD_TESTING=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_PNG=ON
-DJPEGXL_ENABLE_BENCHMARK=OFF
-DJPEGXL_ENABLE_COVERAGE=OFF
-DJPEGXL_ENABLE_DOXYGEN=OFF
-DJPEGXL_ENABLE_EXAMPLES=OFF
-DJPEGXL_ENABLE_FUZZERS=OFF
-DJPEGXL_ENABLE_JNI=OFF
-DJPEGXL_ENABLE_JPEGLI=OFF
-DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF
-DJPEGXL_ENABLE_MANPAGES=OFF
-DJPEGXL_ENABLE_OPENEXR=OFF
-DJPEGXL_ENABLE_PLUGINS=OFF
-DJPEGXL_ENABLE_SJPEG=OFF
-DJPEGXL_ENABLE_SKCMS=OFF
-DJPEGXL_ENABLE_TCMALLOC=OFF
-DJPEGXL_ENABLE_TOOLS=OFF
-DJPEGXL_ENABLE_VIEWERS=OFF
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON
-DJPEGXL_FORCE_SYSTEM_HWY=ON
-DJPEGXL_FORCE_SYSTEM_LCMS2=ON
-DJPEGXL_WARNINGS_AS_ERRORS=OFF
)
cmake_src_configure
}
src_install() {
# Install into a scratch DESTDIR first: CMake drops the build-tree RPATH
# on install, and only two of the resulting files belong in a compat
# package. Headers, pkg-config files and CMake exports are deliberately
# left behind -- they would collide with media-libs/libjxl and would let
# other packages build against this old ABI.
DESTDIR="${T}/full" cmake_build install
local lib
for lib in libjxl libjxl_cms; do
dolib.so "${T}/full/usr/$(get_libdir)/${lib}.so.${PV}"
dosym "${lib}.so.${PV}" "/usr/$(get_libdir)/${lib}.so.$(ver_cut 1-2)"
done
}
app-arch/brotli:= >=dev-cpp/highway-1.0.7 >=media-libs/lcms-2.13:2
app-arch/brotli:= >=dev-cpp/highway-1.0.7 >=media-libs/lcms-2.13:2
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | libjxl-0.12.0.tar.gz | 1698757 bytes | https://github.com/libjxl/libjxl/archive/refs/tags/v0.12.0.tar.gz |