[gimp] Build libjxl in Win64 native MSYS2 CI



commit e43743e0ebd15f46b7ebf5f46a0fa29e8da1ef43
Author: Daniel Novomesky <dnovomesky gmail com>
Date:   Wed Sep 29 15:01:58 2021 +0200

    Build libjxl in Win64 native MSYS2 CI

 build/windows/gitlab-ci/build-deps-msys2.sh   | 48 +++++++++++++++++++++++++++
 build/windows/gitlab-ci/build-gimp-msys2.sh   |  2 ++
 build/windows/gitlab-ci/package-gimp-msys2.sh |  1 +
 3 files changed, 51 insertions(+)
---
diff --git a/build/windows/gitlab-ci/build-deps-msys2.sh b/build/windows/gitlab-ci/build-deps-msys2.sh
index 1581cd4473..15b9d80833 100644
--- a/build/windows/gitlab-ci/build-deps-msys2.sh
+++ b/build/windows/gitlab-ci/build-deps-msys2.sh
@@ -125,3 +125,51 @@ meson -Dprefix="${GIMP_PREFIX}" -Ddocs=false \
       ${GEGL_OPTIONS} ..
 ninja
 ninja install
+cd ../..
+
+## libjxl ##
+if [[ "$MSYS2_ARCH" == "x86_64" ]]; then
+    pacman --noconfirm -S --needed \
+        mingw64/mingw-w64-x86_64-brotli  \
+        mingw64/mingw-w64-x86_64-highway \
+        mingw64/mingw-w64-x86_64-cmake
+
+    git clone --depth=${GIT_DEPTH} --branch v0.6.x --recursive https://github.com/libjxl/libjxl.git _libjxl
+
+    mkdir _libjxl/_build
+    cd _libjxl/_build
+    cmake -G Ninja \
+        -DCMAKE_INSTALL_PREFIX=${GIMP_PREFIX} \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DJPEGXL_ENABLE_PLUGINS=OFF \
+        -DBUILD_TESTING=OFF \
+        -DJPEGXL_WARNINGS_AS_ERRORS=OFF \
+        -DJPEGXL_ENABLE_SJPEG=OFF \
+        -DJPEGXL_ENABLE_BENCHMARK=OFF \
+        -DJPEGXL_ENABLE_EXAMPLES=OFF \
+        -DJPEGXL_ENABLE_MANPAGES=OFF \
+        -DJPEGXL_ENABLE_SKCMS=ON \
+        -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
+        -DJPEGXL_FORCE_SYSTEM_HWY=ON \
+        -DJPEGXL_ENABLE_JNI=OFF \
+        -DJPEGXL_ENABLE_TCMALLOC=OFF \
+        -DJPEGXL_ENABLE_TOOLS=OFF \
+        -DCMAKE_CXX_FLAGS="-DHWY_COMPILE_ONLY_SCALAR" ..
+    ninja
+    ninja install
+
+    # move DLLs into correct location
+    if [ -f ${GIMP_PREFIX}/lib/libjxl.dll ]; then
+      mv --target-directory=${GIMP_PREFIX}/bin ${GIMP_PREFIX}/lib/libjxl.dll
+    fi
+
+    if [ -f ${GIMP_PREFIX}/lib/libjxl_threads.dll ]; then
+      mv --target-directory=${GIMP_PREFIX}/bin ${GIMP_PREFIX}/lib/libjxl_threads.dll
+    fi
+
+    # install image/jxl mime type
+    mkdir -p ${GIMP_PREFIX}/share/mime/packages
+    cp --target-directory=${GIMP_PREFIX}/share/mime/packages ../plugins/mime/image-jxl.xml
+
+    cd ../..
+fi
diff --git a/build/windows/gitlab-ci/build-gimp-msys2.sh b/build/windows/gitlab-ci/build-gimp-msys2.sh
index d2e43e385c..abca02aff1 100644
--- a/build/windows/gitlab-ci/build-gimp-msys2.sh
+++ b/build/windows/gitlab-ci/build-gimp-msys2.sh
@@ -28,6 +28,7 @@ pacman --noconfirm -S --needed \
     \
     mingw-w64-$MSYS2_ARCH-appstream-glib \
     mingw-w64-$MSYS2_ARCH-atk \
+    mingw-w64-$MSYS2_ARCH-brotli \
     mingw-w64-$MSYS2_ARCH-cairo \
     mingw-w64-$MSYS2_ARCH-drmingw \
     mingw-w64-$MSYS2_ARCH-gexiv2 \
@@ -39,6 +40,7 @@ pacman --noconfirm -S --needed \
     mingw-w64-$MSYS2_ARCH-gtk3 \
     mingw-w64-$MSYS2_ARCH-gtk-doc \
     mingw-w64-$MSYS2_ARCH-headers-git \
+    mingw-w64-$MSYS2_ARCH-highway \
     mingw-w64-$MSYS2_ARCH-iso-codes \
     mingw-w64-$MSYS2_ARCH-json-c \
     mingw-w64-$MSYS2_ARCH-json-glib \
diff --git a/build/windows/gitlab-ci/package-gimp-msys2.sh b/build/windows/gitlab-ci/package-gimp-msys2.sh
index deb412ca28..5bcf8db90f 100644
--- a/build/windows/gitlab-ci/package-gimp-msys2.sh
+++ b/build/windows/gitlab-ci/package-gimp-msys2.sh
@@ -28,6 +28,7 @@ pacman --noconfirm -S --needed \
     \
     mingw-w64-$MSYS2_ARCH-appstream-glib \
     mingw-w64-$MSYS2_ARCH-atk \
+    mingw-w64-$MSYS2_ARCH-brotli \
     mingw-w64-$MSYS2_ARCH-cairo \
     mingw-w64-$MSYS2_ARCH-drmingw \
     mingw-w64-$MSYS2_ARCH-gexiv2 \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]