mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 09:53:25 +00:00
build/windows: Extend unified list to Deps scripts
The list contains, in addition to the GIMP deps, all babl and GEGL deps. So, let's use it. Also, nothing new under the sun. We already use a unique list on the Windows build instruction page (for stable branch) and do the same to Debian image job.
This commit is contained in:
parent
c4f5bae14a
commit
5f164ef913
5 changed files with 91 additions and 83 deletions
|
@ -1,16 +1,22 @@
|
||||||
if [[ "x$CROSSROAD_PLATFORM" = "xw64" ]]; then
|
if [[ "x$CROSSROAD_PLATFORM" = "xw64" ]]; then
|
||||||
export ARTIFACTS_SUFFIX="-x64"
|
export ARTIFACTS_SUFFIX="-x64"
|
||||||
else # [[ "x$CROSSROAD_PLATFORM" = "xw32" ]];
|
else # [[ "x$CROSSROAD_PLATFORM" = "xw32" ]];
|
||||||
export ARTIFACTS_SUFFIX="-x86"
|
export ARTIFACTS_SUFFIX="-x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Install the required (pre-built) packages for babl and GEGL
|
# Install the required (pre-built) packages for babl, GEGL and GIMP
|
||||||
crossroad source msys2
|
crossroad source msys2
|
||||||
crossroad install cairo \
|
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
||||||
graphviz \
|
sed -i "s/DEPS_ARCH_//g" $DEPS_PATH
|
||||||
json-glib \
|
export GIMP_DEPS=`cat $DEPS_PATH`
|
||||||
lcms2
|
crossroad install $GIMP_DEPS
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Installation of pre-built dependencies failed.";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Clone babl and GEGL (follow master branch)
|
# Clone babl and GEGL (follow master branch)
|
||||||
mkdir _deps && cd _deps
|
mkdir _deps && cd _deps
|
||||||
|
@ -31,39 +37,28 @@ ninja && ninja install
|
||||||
cd ../../
|
cd ../../
|
||||||
|
|
||||||
|
|
||||||
# Install the required (pre-built) packages for GIMP
|
|
||||||
export DEPS_PATH="../build/windows/gitlab-ci/all-deps-uni.txt"
|
|
||||||
sed -i "s/DEPS_ARCH_//g" $DEPS_PATH
|
|
||||||
export GIMP_DEPS=`cat $DEPS_PATH`
|
|
||||||
crossroad install libmng $GIMP_DEPS
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Installation of pre-built dependencies failed.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build (part of) GIMP
|
# Build (part of) GIMP
|
||||||
if [ "x$CROSSROAD_PLATFORM" = "xw64" ]; then
|
if [ "x$CROSSROAD_PLATFORM" = "xw64" ]; then
|
||||||
## Generator of the gio 'giomodule.cache' to fix error about
|
## Generator of the gio 'giomodule.cache' to fix error about
|
||||||
## libgiognutls.dll that prevents generating loaders.cache
|
## libgiognutls.dll that prevents generating loaders.cache
|
||||||
gio=''
|
gio=''
|
||||||
gio+="libgiognomeproxy.dll: gio-proxy-resolver\n"
|
gio+="libgiognomeproxy.dll: gio-proxy-resolver\n"
|
||||||
gio+="libgiognutls.dll: gio-tls-backend\n"
|
gio+="libgiognutls.dll: gio-tls-backend\n"
|
||||||
gio+="libgiolibproxy.dll: gio-proxy-resolver\n"
|
gio+="libgiolibproxy.dll: gio-proxy-resolver\n"
|
||||||
gio+="libgioopenssl.dll: gio-tls-backend\n"
|
gio+="libgioopenssl.dll: gio-tls-backend\n"
|
||||||
printf "%b" "$gio" > ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache
|
printf "%b" "$gio" > ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache
|
||||||
|
|
||||||
## NOT WORKING: Fallback generator of the pixbuf 'loaders.cache' for GUI image support
|
## NOT WORKING: Fallback generator of the pixbuf 'loaders.cache' for GUI image support
|
||||||
export GDK_PATH=`echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/`
|
export GDK_PATH=`echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/`
|
||||||
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
|
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
|
||||||
wine ${CROSSROAD_PREFIX}/bin/gdk-pixbuf-query-loaders.exe ${CROSSROAD_PREFIX}/${GDK_PATH}loaders/*.dll > ${CROSSROAD_PREFIX}/${GDK_PATH}loaders.cache
|
wine ${CROSSROAD_PREFIX}/bin/gdk-pixbuf-query-loaders.exe ${CROSSROAD_PREFIX}/${GDK_PATH}loaders/*.dll > ${CROSSROAD_PREFIX}/${GDK_PATH}loaders.cache
|
||||||
sed -i "s&$CROSSROAD_PREFIX/&&" ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
sed -i "s&$CROSSROAD_PREFIX/&&" ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
||||||
sed -i '/.dll\"/s*/*\\\\*g' ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
sed -i '/.dll\"/s*/*\\\\*g' ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
||||||
|
|
||||||
## Generator of the glib 'gschemas.compiled'
|
## Generator of the glib 'gschemas.compiled'
|
||||||
export GLIB_PATH=`echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/`
|
export GLIB_PATH=`echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/`
|
||||||
GLIB_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GLIB_PATH)
|
GLIB_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GLIB_PATH)
|
||||||
wine glib-compile-schemas --targetdir=${CROSSROAD_PREFIX}/${GLIB_PATH} ${CROSSROAD_PREFIX}/${GLIB_PATH}
|
wine glib-compile-schemas --targetdir=${CROSSROAD_PREFIX}/${GLIB_PATH} ${CROSSROAD_PREFIX}/${GLIB_PATH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## XXX Functional fix to the problem of non-configured interpreters
|
## XXX Functional fix to the problem of non-configured interpreters
|
||||||
|
|
|
@ -5,40 +5,40 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ "$MSYSTEM_CARCH" == "aarch64" ]]; then
|
if [[ "$MSYSTEM_CARCH" == "aarch64" ]]; then
|
||||||
export ARTIFACTS_SUFFIX="-a64"
|
export ARTIFACTS_SUFFIX="-a64"
|
||||||
elif [[ "$MSYSTEM_CARCH" == "x86_64" ]]; then
|
elif [[ "$MSYSTEM_CARCH" == "x86_64" ]]; then
|
||||||
export ARTIFACTS_SUFFIX="-x64"
|
export ARTIFACTS_SUFFIX="-x64"
|
||||||
else # [[ "$MSYSTEM_CARCH" == "i686" ]];
|
else # [[ "$MSYSTEM_CARCH" == "i686" ]];
|
||||||
export ARTIFACTS_SUFFIX="-x86"
|
export ARTIFACTS_SUFFIX="-x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_TYPE" != "CI_NATIVE" ]]; then
|
if [[ "$BUILD_TYPE" != "CI_NATIVE" ]]; then
|
||||||
# Make the script callable from every directory
|
# Make the script callable from every directory
|
||||||
cd ~
|
if [[ "$0" != "build/windows/gitlab-ci/1_build-deps-msys2.sh" ]]; then
|
||||||
|
GIMP_EXTDIR="$0"
|
||||||
|
GIMP_EXTDIR=$(sed 's|build/windows/gitlab-ci/1_build-deps-msys2.sh||g' <<< $GIMP_EXTDIR)
|
||||||
|
GIMP_DIR="$GIMP_EXTDIR"
|
||||||
|
else
|
||||||
|
GIMP_GITDIR="$(pwd)"
|
||||||
|
GIMP_GITDIR=$(sed 's|build/windows/gitlab-ci||g' <<< $GIMP_GITDIR)
|
||||||
|
GIMP_GITDIR=$(sed 's|build/windows||g' <<< $GIMP_GITDIR)
|
||||||
|
GIMP_GITDIR=$(sed 's|build||g' <<< $GIMP_GITDIR)
|
||||||
|
GIMP_DIR="$GIMP_GITDIR"
|
||||||
|
fi
|
||||||
|
cd $GIMP_DIR
|
||||||
|
|
||||||
pacman --noconfirm -Suy
|
pacman --noconfirm -Suy
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Install the required (pre-built) packages for babl and GEGL
|
# Install the required (pre-built) packages for babl and GEGL
|
||||||
pacman --noconfirm -S --needed \
|
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
||||||
base-devel \
|
sed -i "s/DEPS_ARCH_/${MINGW_PACKAGE_PREFIX}-/g" $DEPS_PATH
|
||||||
${MINGW_PACKAGE_PREFIX}-toolchain \
|
export GIMP_DEPS=`cat $DEPS_PATH`
|
||||||
${MINGW_PACKAGE_PREFIX}-meson \
|
pacman --noconfirm -S --needed git \
|
||||||
\
|
base-devel \
|
||||||
${MINGW_PACKAGE_PREFIX}-cairo \
|
${MINGW_PACKAGE_PREFIX}-toolchain \
|
||||||
${MINGW_PACKAGE_PREFIX}-crt-git \
|
$GIMP_DEPS
|
||||||
${MINGW_PACKAGE_PREFIX}-glib-networking \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-gobject-introspection \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-json-glib \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-lcms2 \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-lensfun \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-libspiro \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-maxflow \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-openexr \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-pango \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-suitesparse \
|
|
||||||
${MINGW_PACKAGE_PREFIX}-vala
|
|
||||||
|
|
||||||
|
|
||||||
# Clone babl and GEGL (follow master branch)
|
# Clone babl and GEGL (follow master branch)
|
||||||
|
@ -51,11 +51,11 @@ export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}"
|
||||||
export XDG_DATA_DIRS="${GIMP_PREFIX}/share:${MSYSTEM_PREFIX}/share/"
|
export XDG_DATA_DIRS="${GIMP_PREFIX}/share:${MSYSTEM_PREFIX}/share/"
|
||||||
|
|
||||||
clone_or_pull() {
|
clone_or_pull() {
|
||||||
if [ ! -d "_${1}" ]; then
|
if [ ! -d "_${1}" ]; then
|
||||||
git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/${1}.git _${1}
|
git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/${1}.git _${1}
|
||||||
else
|
else
|
||||||
cd _${1} && git pull && cd ..
|
cd _${1} && git pull && cd ..
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
clone_or_pull babl
|
clone_or_pull babl
|
||||||
|
@ -63,22 +63,30 @@ clone_or_pull gegl
|
||||||
|
|
||||||
|
|
||||||
# Build babl and GEGL
|
# Build babl and GEGL
|
||||||
configure_or_build() {
|
configure_or_build()
|
||||||
|
{
|
||||||
if [ ! -f "_${1}/_build/build.ninja" ]; then
|
if [ ! -f "_${1}/_build/build.ninja" ]; then
|
||||||
mkdir -p _${1}/_build${ARTIFACTS_SUFFIX} && cd _${1}/_build${ARTIFACTS_SUFFIX}
|
mkdir -p _${1}/_build${ARTIFACTS_SUFFIX} && cd _${1}/_build${ARTIFACTS_SUFFIX}
|
||||||
meson setup .. -Dprefix="${GIMP_PREFIX}" \
|
meson setup .. -Dprefix="${GIMP_PREFIX}" \
|
||||||
$2
|
$2
|
||||||
ninja && ninja install
|
ninja && ninja install
|
||||||
cd ../..
|
cd ../..
|
||||||
else
|
else
|
||||||
cd _${1}/_build${ARTIFACTS_SUFFIX}
|
cd _${1}/_build${ARTIFACTS_SUFFIX}
|
||||||
ninja && ninja install
|
ninja && ninja install
|
||||||
cd ../..
|
cd ../..
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
configure_or_build babl "-Dwith-docs=false"
|
configure_or_build babl "-Dwith-docs=false"
|
||||||
|
|
||||||
configure_or_build gegl "-Ddocs=false \
|
configure_or_build gegl "-Ddocs=false \
|
||||||
-Dcairo=enabled -Dumfpack=enabled \
|
-Dcairo=enabled -Dumfpack=enabled \
|
||||||
-Dopenexr=enabled -Dworkshop=true"
|
-Dopenexr=enabled -Dworkshop=true"
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$BUILD_TYPE" != "CI_NATIVE" ]]; then
|
||||||
|
mv _babl ~
|
||||||
|
mv _gegl ~
|
||||||
|
mv "${GIMP_PREFIX}" ~
|
||||||
|
fi
|
|
@ -43,7 +43,9 @@ fi
|
||||||
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
||||||
sed -i "s/DEPS_ARCH_/${MINGW_PACKAGE_PREFIX}-/g" $DEPS_PATH
|
sed -i "s/DEPS_ARCH_/${MINGW_PACKAGE_PREFIX}-/g" $DEPS_PATH
|
||||||
export GIMP_DEPS=`cat $DEPS_PATH`
|
export GIMP_DEPS=`cat $DEPS_PATH`
|
||||||
pacman --noconfirm -S --needed base-devel $GIMP_DEPS
|
pacman --noconfirm -S --needed base-devel \
|
||||||
|
${MINGW_PACKAGE_PREFIX}-toolchain \
|
||||||
|
$GIMP_DEPS
|
||||||
|
|
||||||
# Install QOI header manually
|
# Install QOI header manually
|
||||||
# mingw32 package of qoi was removed from MSYS2, we have download it by ourselves
|
# mingw32 package of qoi was removed from MSYS2, we have download it by ourselves
|
||||||
|
|
|
@ -28,7 +28,9 @@ if [[ "$BUILD_TYPE" != "CI_CROSS" ]]; then
|
||||||
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
export DEPS_PATH="build/windows/gitlab-ci/all-deps-uni.txt"
|
||||||
sed -i "s/DEPS_ARCH_/${MINGW_PACKAGE_PREFIX}-/g" $DEPS_PATH
|
sed -i "s/DEPS_ARCH_/${MINGW_PACKAGE_PREFIX}-/g" $DEPS_PATH
|
||||||
export GIMP_DEPS=`cat $DEPS_PATH`
|
export GIMP_DEPS=`cat $DEPS_PATH`
|
||||||
pacman --noconfirm -S --needed base-devel $GIMP_DEPS
|
pacman --noconfirm -S --needed base-devel \
|
||||||
|
${MINGW_PACKAGE_PREFIX}-toolchain \
|
||||||
|
$GIMP_DEPS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ DEPS_ARCH_libheif
|
||||||
DEPS_ARCH_libiff
|
DEPS_ARCH_libiff
|
||||||
DEPS_ARCH_libilbm
|
DEPS_ARCH_libilbm
|
||||||
DEPS_ARCH_libjxl
|
DEPS_ARCH_libjxl
|
||||||
|
DEPS_ARCH_libmng
|
||||||
DEPS_ARCH_libmypaint
|
DEPS_ARCH_libmypaint
|
||||||
DEPS_ARCH_libspiro
|
DEPS_ARCH_libspiro
|
||||||
DEPS_ARCH_libwebp
|
DEPS_ARCH_libwebp
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue