build/windows: Conform scripts to Coding Style

Self-explanatory. Also, make the structure a little more cohesive.
This commit is contained in:
Bruno Lopes 2024-02-17 09:17:30 -03:00
parent cf73a28145
commit 09a26ddb72
5 changed files with 69 additions and 61 deletions

View file

@ -75,4 +75,4 @@ echo "@echo off
bin\gdk-pixbuf-query-loaders.exe lib\gdk-pixbuf-2.0\2.10.0\loaders\*.dll > lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
echo.
bin\gimp-$gimp_app_version.exe" > ${CROSSROAD_PREFIX}/gimp.cmd
echo "Please run the gimp.cmd file to know the actual plug-in support." > ${CROSSROAD_PREFIX}/README.txt
echo "Please run the gimp.cmd file to know the actual plug-in support." > ${CROSSROAD_PREFIX}/README.txt

View file

@ -1,9 +1,9 @@
#!/bin/bash
# $MSYSTEM_CARCH, $MINGW_PACKAGE_PREFIX and $MSYSTEM_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
set -e
# $MSYSTEM_CARCH, $MSYSTEM_PREFIX and $MINGW_PACKAGE_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
if [[ "$MSYSTEM_CARCH" == "aarch64" ]]; then
export ARTIFACTS_SUFFIX="-a64"
elif [[ "$MSYSTEM_CARCH" == "x86_64" ]]; then
@ -56,14 +56,9 @@ fi
# Clone babl and GEGL (follow master branch)
export GIT_DEPTH=1
export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}"
export PATH="$GIMP_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="${GIMP_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="${GIMP_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}"
export XDG_DATA_DIRS="${GIMP_PREFIX}/share:${MSYSTEM_PREFIX}/share/"
clone_or_pull() {
clone_or_pull ()
{
repo="https://gitlab.gnome.org/GNOME/${1}.git"
if [ "$CI_COMMIT_TAG" != "" ]; then
@ -86,19 +81,26 @@ clone_or_pull gegl
# Build babl and GEGL
configure_or_build()
{
if [ ! -f "_${1}/_build/build.ninja" ]; then
mkdir -p _${1}/_build${ARTIFACTS_SUFFIX} && cd _${1}/_build${ARTIFACTS_SUFFIX}
(meson setup .. -Dprefix="${GIMP_PREFIX}" $2 && \
ninja && ninja install) || exit 1
cd ../..
else
cd _${1}/_build${ARTIFACTS_SUFFIX}
(ninja && ninja install) || exit 1
cd ../..
fi
}
export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}"
export PATH="$GIMP_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="${GIMP_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="${GIMP_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}"
export XDG_DATA_DIRS="${GIMP_PREFIX}/share:${MSYSTEM_PREFIX}/share/"
configure_or_build ()
{
if [ ! -f "_${1}/_build/build.ninja" ]; then
mkdir -p _${1}/_build${ARTIFACTS_SUFFIX} && cd _${1}/_build${ARTIFACTS_SUFFIX}
(meson setup .. -Dprefix="${GIMP_PREFIX}" $2 && \
ninja && ninja install) || exit 1
cd ../..
else
cd _${1}/_build${ARTIFACTS_SUFFIX}
(ninja && ninja install) || exit 1
cd ../..
fi
}
configure_or_build babl "-Dwith-docs=false"

View file

@ -1,14 +1,17 @@
set -e
if [[ "x$CROSSROAD_PLATFORM" = "xw64" ]]; then
export ARTIFACTS_SUFFIX="-x64"
export MESON_OPTIONS=""
export ARTIFACTS_SUFFIX="-x64"
export MESON_OPTIONS=""
else # [[ "x$CROSSROAD_PLATFORM" = "xw32" ]];
export ARTIFACTS_SUFFIX="-x86"
export MESON_OPTIONS="-Dwmf=disabled -Dmng=disabled"
export ARTIFACTS_SUFFIX="-x86"
export MESON_OPTIONS="-Dwmf=disabled -Dmng=disabled"
fi
# The required packages for GIMP are taken from the previous job
# Build GIMP
mkdir _build${ARTIFACTS_SUFFIX} && cd _build${ARTIFACTS_SUFFIX}
crossroad meson setup .. -Dgi-docgen=disabled \
@ -16,21 +19,22 @@ crossroad meson setup .. -Dgi-docgen=disabled \
ninja && ninja install
cd ..
# Copy the required packages and (part of) GIMP from the deps artifact
# Copy built GIMP, babl and GEGL and pre-built packages to GIMP_PREFIX
cp -fr $CROSSROAD_PREFIX/ _install${ARTIFACTS_SUFFIX}/
if [[ "x$CROSSROAD_PLATFORM" = "xw32" ]]; then
# We fail to install wine32 in x86 dep job and Gitlab "needs" field
# requires jobs to be from a prior stage, so we take from the x64 dep job
export CROSSROAD_PREFIX=".local/share/crossroad/roads/w64/gimp"
cp ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache _install${ARTIFACTS_SUFFIX}/lib/gio/modules
export GDK_PATH=`echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/`
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
cp ${CROSSROAD_PREFIX}/${GDK_PATH}loaders.cache _install${ARTIFACTS_SUFFIX}/${GDK_PATH}
export GLIB_PATH=`echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/`
GLIB_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GLIB_PATH)
cp ${CROSSROAD_PREFIX}/${GLIB_PATH}gschemas.compiled _install${ARTIFACTS_SUFFIX}/${GLIB_PATH}
# We fail to install wine32 in x86 dep job and Gitlab "needs" field
# requires jobs to be from a prior stage, so we take from the x64 dep job
export CROSSROAD_PREFIX=".local/share/crossroad/roads/w64/gimp"
cp ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache _install${ARTIFACTS_SUFFIX}/lib/gio/modules
export GDK_PATH=`echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/`
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
cp ${CROSSROAD_PREFIX}/${GDK_PATH}loaders.cache _install${ARTIFACTS_SUFFIX}/${GDK_PATH}
export GLIB_PATH=`echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/`
GLIB_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GLIB_PATH)
cp ${CROSSROAD_PREFIX}/${GLIB_PATH}gschemas.compiled _install${ARTIFACTS_SUFFIX}/${GLIB_PATH}
fi

View file

@ -1,18 +1,18 @@
#!/bin/bash
# $MSYSTEM_CARCH, $MSYSTEM_PREFIX and $MINGW_PACKAGE_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
set -e
# $MSYSTEM_CARCH, $MSYSTEM_PREFIX and $MINGW_PACKAGE_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
if [[ "$MSYSTEM_CARCH" == "aarch64" ]]; then
export ARTIFACTS_SUFFIX="-a64"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export ARTIFACTS_SUFFIX="-a64"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
elif [[ "$MSYSTEM_CARCH" == "x86_64" ]]; then
export ARTIFACTS_SUFFIX="-x64"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export ARTIFACTS_SUFFIX="-x64"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
else # [[ "$MSYSTEM_CARCH" == "i686" ]];
export ARTIFACTS_SUFFIX="-x86"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export ARTIFACTS_SUFFIX="-x86"
export MSYS2_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
fi
if [[ "$BUILD_TYPE" == "CI_NATIVE" ]]; then
@ -64,6 +64,7 @@ fi
# mingw32 package of qoi was removed from MSYS2, we have download it by ourselves
wget -O "${MSYS2_PREFIX}/include/qoi.h" https://raw.githubusercontent.com/phoboslab/qoi/master/qoi.h
# Build GIMP
export GIMP_PREFIX="`realpath ~/_install`${ARTIFACTS_SUFFIX}"
export PATH="$GIMP_PREFIX/bin:$PATH"
@ -108,7 +109,8 @@ fi
# XXX Functional fix to the problem of non-configured interpreters
make_cmd() {
make_cmd ()
{
gimp_app_version=`grep -rI '\<version *:' ../meson.build | head -1 | sed "s/^.*version *: *'\([0-9]\+\.[0-9]\+\).[0-9]*' *,.*$/\1/"`
echo "@echo off
echo This is a $1 native build of GIMP.

View file

@ -1,21 +1,21 @@
#!/bin/bash
# $MSYSTEM_CARCH and $MINGW_PACKAGE_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
set -e
# $MSYSTEM_CARCH, $MSYSTEM_PREFIX and $MINGW_PACKAGE_PREFIX are defined by MSYS2.
# https://github.com/msys2/MSYS2-packages/blob/master/filesystem/msystem
if [[ "$MSYSTEM_CARCH" == "aarch64" ]]; then
export ARTIFACTS_SUFFIX="-a64"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-a64`
export ARTIFACTS_SUFFIX="-a64"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-a64`
elif [[ "$CROSSROAD_PLATFORM" == "w64" ]] || [[ "$MSYSTEM_CARCH" == "x86_64" ]]; then
export ARTIFACTS_SUFFIX="-x64"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-x64`
export ARTIFACTS_SUFFIX="-x64"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-x64`
else # [[ "$CROSSROAD_PLATFORM" == "w32" ]] || [[ "$MSYSTEM_CARCH" == "i686" ]];
export ARTIFACTS_SUFFIX="-x86"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-x86`
export ARTIFACTS_SUFFIX="-x86"
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
export GIMP_DISTRIB=`realpath ./gimp-x86`
fi
if [[ "$BUILD_TYPE" != "CI_CROSS" ]] && [[ "$BUILD_TYPE" != "CI_NATIVE" ]]; then