From 09a26ddb72eb407987d7dfe0f8ad908a557560a5 Mon Sep 17 00:00:00 2001 From: Bruno Lopes Date: Sat, 17 Feb 2024 09:17:30 -0300 Subject: [PATCH] build/windows: Conform scripts to Coding Style Self-explanatory. Also, make the structure a little more cohesive. --- .../gitlab-ci/1_build-deps-crossroad.sh | 2 +- build/windows/gitlab-ci/1_build-deps-msys2.sh | 46 ++++++++++--------- .../gitlab-ci/2_build-gimp-crossroad.sh | 40 ++++++++-------- build/windows/gitlab-ci/2_build-gimp-msys2.sh | 20 ++++---- .../gitlab-ci/3_package-gimp-uni_base.sh | 22 ++++----- 5 files changed, 69 insertions(+), 61 deletions(-) diff --git a/build/windows/gitlab-ci/1_build-deps-crossroad.sh b/build/windows/gitlab-ci/1_build-deps-crossroad.sh index f435092a80..84e8bffab4 100644 --- a/build/windows/gitlab-ci/1_build-deps-crossroad.sh +++ b/build/windows/gitlab-ci/1_build-deps-crossroad.sh @@ -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 \ No newline at end of file +echo "Please run the gimp.cmd file to know the actual plug-in support." > ${CROSSROAD_PREFIX}/README.txt diff --git a/build/windows/gitlab-ci/1_build-deps-msys2.sh b/build/windows/gitlab-ci/1_build-deps-msys2.sh index 3d4137803b..d0e58d63cc 100644 --- a/build/windows/gitlab-ci/1_build-deps-msys2.sh +++ b/build/windows/gitlab-ci/1_build-deps-msys2.sh @@ -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" diff --git a/build/windows/gitlab-ci/2_build-gimp-crossroad.sh b/build/windows/gitlab-ci/2_build-gimp-crossroad.sh index 68bc5a9596..9731f1fd4e 100644 --- a/build/windows/gitlab-ci/2_build-gimp-crossroad.sh +++ b/build/windows/gitlab-ci/2_build-gimp-crossroad.sh @@ -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 diff --git a/build/windows/gitlab-ci/2_build-gimp-msys2.sh b/build/windows/gitlab-ci/2_build-gimp-msys2.sh index 1d7702b9ac..a70a7c78b5 100644 --- a/build/windows/gitlab-ci/2_build-gimp-msys2.sh +++ b/build/windows/gitlab-ci/2_build-gimp-msys2.sh @@ -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 '\