From d635cef3e5a1868405404b0a5888d72852079d38 Mon Sep 17 00:00:00 2001 From: BtbN Date: Tue, 19 Dec 2023 23:35:59 +0100 Subject: [PATCH] internal cms library in jxl are busted, build manually --- scripts.d/50-libjxl/45-lcms2.sh | 36 ++++++++++++++++++++++++++++++++ scripts.d/50-libjxl/50-libjxl.sh | 5 ++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 scripts.d/50-libjxl/45-lcms2.sh diff --git a/scripts.d/50-libjxl/45-lcms2.sh b/scripts.d/50-libjxl/45-lcms2.sh new file mode 100644 index 0000000..4d0b83b --- /dev/null +++ b/scripts.d/50-libjxl/45-lcms2.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +SCRIPT_REPO="https://github.com/mm2/Little-CMS.git" +SCRIPT_COMMIT="f1060e7989a68f62dd3876aa7d755d974ffd9a3a" + +ffbuild_enabled() { + return 0 +} + +ffbuild_dockerbuild() { + cd "$FFBUILD_DLDIR/$SELF" + + mkdir build && cd build + + local myconf=( + --prefix="$FFBUILD_PREFIX" + -Ddefault_library=static + -Dutils=false + -Dsamples=false + -Dfastfloat=true + -Dthreaded=true + ) + + if [[ $TARGET == win* || $TARGET == linux* ]]; then + myconf+=( + --cross-file=/cross.meson + ) + else + echo "Unknown target" + return -1 + fi + + meson "${myconf[@]}" .. + ninja -j$(nproc) + ninja install +} diff --git a/scripts.d/50-libjxl/50-libjxl.sh b/scripts.d/50-libjxl/50-libjxl.sh index eea402c..c7ee408 100755 --- a/scripts.d/50-libjxl/50-libjxl.sh +++ b/scripts.d/50-libjxl/50-libjxl.sh @@ -13,7 +13,7 @@ ffbuild_enabled() { ffbuild_dockerdl() { default_dl "$SELF" - to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway third_party/skcms" + to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway" } ffbuild_dockerbuild() { @@ -31,6 +31,7 @@ ffbuild_dockerbuild() { fi cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_FORCE_SYSTEM_LCMS2=ON \ -DBUILD_SHARED_LIBS=OFF -DJPEGXL_STATIC=OFF -DBUILD_SHARED_LIBS=OFF -DJPEGXL_ENABLE_TOOLS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_EMSCRIPTEN=OFF -DJPEGXL_ENABLE_DOXYGEN=OFF \ -DJPEGXL_ENABLE_JPEGLI=OFF -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_PLUGINS=OFF \ -DJPEGXL_ENABLE_DEVTOOLS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_BUNDLE_LIBPNG=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON .. @@ -47,6 +48,8 @@ ffbuild_dockerbuild() { echo "Libs.private: -ladvapi32" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl.pc echo "Libs.private: -ladvapi32" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl_threads.pc fi + + echo "Requires.private: lcms2" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl_cms.pc } ffbuild_configure() {