build: use libjxl package from MSYS2

This commit is contained in:
Daniel Novomeský 2022-03-03 19:38:29 +01:00
parent d3686fdb9c
commit e519e1a02c
4 changed files with 3 additions and 66 deletions

View File

@ -35,6 +35,7 @@ crossroad install appstream-glib \
ghostscript \
iso-codes \
libheif \
libjxl \
$LIBMNG \
libmypaint mypaint-brushes \
libwebp \
@ -49,28 +50,6 @@ if [ $? -ne 0 ]; then
fi
if [ "x$CROSSROAD_PLATFORM" = "xw64" ]; then
# build libjxl (not available in MSYS2 yet)
crossroad install brotli && \
git clone --depth=1 --branch v0.6.x --recursive https://github.com/libjxl/libjxl.git libjxl && cd libjxl && \
mkdir _build && cd _build && \
crossroad cmake -G Ninja -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=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_TCMALLOC=OFF -DJPEGXL_ENABLE_TOOLS=OFF -DCMAKE_CXX_FLAGS="-DHWY_COMPILE_ONLY_SCALAR" .. && \
ninja && ninja install || exit 1
# move DLLs into correct location
if [ -f ${CROSSROAD_PREFIX}/lib/libjxl.dll ]; then
mv --target-directory=${CROSSROAD_PREFIX}/bin ${CROSSROAD_PREFIX}/lib/libjxl.dll
fi
if [ -f ${CROSSROAD_PREFIX}/lib/libjxl_threads.dll ]; then
mv --target-directory=${CROSSROAD_PREFIX}/bin ${CROSSROAD_PREFIX}/lib/libjxl_threads.dll
fi
# install image/jxl mime type
mkdir -p ${CROSSROAD_PREFIX}/share/mime/packages
cp --target-directory=${CROSSROAD_PREFIX}/share/mime/packages ../plugins/mime/image-jxl.xml
cd ../..
# Generate the loaders.cache file for GUI image support.
# Note: this is mostly for distribution so I initially wanted to
# have these in "win64-nightly" job but "win32-nightly" also

View File

@ -92,47 +92,3 @@ meson -Dprefix="${GIMP_PREFIX}" -Ddocs=false \
ninja
ninja install
cd ../..
## libjxl ##
pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-brotli \
mingw-w64-$MSYS2_ARCH-cmake
git clone --depth=${GIT_DEPTH} --branch v0.6.1 --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=OFF \
-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 ../..

View File

@ -47,6 +47,7 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-lensfun \
mingw-w64-$MSYS2_ARCH-libarchive \
mingw-w64-$MSYS2_ARCH-libheif \
mingw-w64-$MSYS2_ARCH-libjxl \
mingw-w64-$MSYS2_ARCH-libmypaint \
mingw-w64-$MSYS2_ARCH-libspiro \
mingw-w64-$MSYS2_ARCH-libwebp \

View File

@ -46,6 +46,7 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-lensfun \
mingw-w64-$MSYS2_ARCH-libarchive \
mingw-w64-$MSYS2_ARCH-libheif \
mingw-w64-$MSYS2_ARCH-libjxl \
mingw-w64-$MSYS2_ARCH-libmypaint \
mingw-w64-$MSYS2_ARCH-libspiro \
mingw-w64-$MSYS2_ARCH-libwebp \