From 744abbbd6bcee8a195e9cb166dc447a9bb537b2f Mon Sep 17 00:00:00 2001 From: Bruno Date: Thu, 20 Jun 2024 07:00:32 -0300 Subject: [PATCH] build: Respect contributor's own GIMP_PREFIX This makes the scripts less pervasive locally. --- build/linux/appimage/bundle-gimp-appimage.sh | 4 +++- build/linux/flatpak/1_build-deps-flatpak.sh | 4 +++- build/linux/flatpak/2_build-gimp-flatpak.sh | 4 +++- build/windows/gitlab-ci/1_build-deps-msys2.sh | 7 ++++++- build/windows/gitlab-ci/2_build-gimp-msys2.sh | 8 ++++++-- build/windows/gitlab-ci/3_bundle-gimp-uni_base.sh | 6 +++++- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/build/linux/appimage/bundle-gimp-appimage.sh b/build/linux/appimage/bundle-gimp-appimage.sh index 02b235c7d9..58ad0f9478 100644 --- a/build/linux/appimage/bundle-gimp-appimage.sh +++ b/build/linux/appimage/bundle-gimp-appimage.sh @@ -21,7 +21,9 @@ BUILD_ARTIF=$(echo _build*) ## This script is "filesystem-agnostic". The packager can quickly choose either ## putting everything in /usr or in AppDir(root) just specifying the 2nd parameter. GIMP_DISTRIB="$CI_PROJECT_DIR/build/linux/appimage/AppDir" -GIMP_PREFIX="$GIMP_DISTRIB/usr" +if [ "$GITLAB_CI" ] || [ -z "$GIMP_PREFIX" ]; then + GIMP_PREFIX="$GIMP_DISTRIB/usr" +fi if [ -z "$2" ] || [ "$2" = "usr" ]; then OPT_PREFIX="${GIMP_PREFIX}" elif [ "$2" = "AppDir" ]; then diff --git a/build/linux/flatpak/1_build-deps-flatpak.sh b/build/linux/flatpak/1_build-deps-flatpak.sh index 82e7eb1a30..bdf9ab995b 100644 --- a/build/linux/flatpak/1_build-deps-flatpak.sh +++ b/build/linux/flatpak/1_build-deps-flatpak.sh @@ -11,7 +11,9 @@ if [ -z "$GITLAB_CI" ]; then exit 1 fi flatpak update -y - export GIMP_PREFIX="$PWD/../_install-$ARCH" + if [ -z "$GIMP_PREFIX" ]; then + export GIMP_PREFIX="$PWD/../_install-$ARCH" + fi if [ ! -d "$GIMP_PREFIX" ]; then mkdir -p "$GIMP_PREFIX" fi diff --git a/build/linux/flatpak/2_build-gimp-flatpak.sh b/build/linux/flatpak/2_build-gimp-flatpak.sh index 1d13ae931d..3e9a16abca 100644 --- a/build/linux/flatpak/2_build-gimp-flatpak.sh +++ b/build/linux/flatpak/2_build-gimp-flatpak.sh @@ -12,7 +12,9 @@ if [ -z "$GITLAB_CI" ] && [ "$1" != '--ci' ]; then fi git submodule update --init flatpak update -y - export GIMP_PREFIX="$PWD/../_install-$ARCH" + if [ -z "$GIMP_PREFIX" ]; then + export GIMP_PREFIX="$PWD/../_install-$ARCH" + fi # Build GIMP only diff --git a/build/windows/gitlab-ci/1_build-deps-msys2.sh b/build/windows/gitlab-ci/1_build-deps-msys2.sh index 59528a603c..9b2a058df7 100644 --- a/build/windows/gitlab-ci/1_build-deps-msys2.sh +++ b/build/windows/gitlab-ci/1_build-deps-msys2.sh @@ -81,7 +81,12 @@ clone_or_pull gegl # Build babl and GEGL -export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}" +# We need to create the condition this ugly way to not break CI +if [ "$GITLAB_CI" ]; then + export GIMP_PREFIX="$PWD/_install${ARTIFACTS_SUFFIX}" +elif [ -z "$GITLAB_CI" ] && [ -z "$GIMP_PREFIX" ]; then + export GIMP_PREFIX="$PWD/_install${ARTIFACTS_SUFFIX}" +fi ## Universal variables from .gitlab-ci.yml IFS=$'\n' VAR_ARRAY=($(cat ${GIMP_DIR}.gitlab-ci.yml | sed -n '/export PATH=/,/GI_TYPELIB_PATH}\"/p' | sed 's/ - //')) IFS=$' \t\n' diff --git a/build/windows/gitlab-ci/2_build-gimp-msys2.sh b/build/windows/gitlab-ci/2_build-gimp-msys2.sh index 9159fbdf81..b4ca5ebb15 100644 --- a/build/windows/gitlab-ci/2_build-gimp-msys2.sh +++ b/build/windows/gitlab-ci/2_build-gimp-msys2.sh @@ -20,7 +20,6 @@ if [ -z "$GITLAB_CI" ]; then fi git submodule update --init --force pacman --noconfirm -Suy - PARENT_DIR='../' export MESON_OPTIONS="-Drelocatable-bundle=no" fi @@ -32,7 +31,12 @@ echo "$(cat build/windows/gitlab-ci/1_build-deps-msys2.sh | # Build GIMP -export GIMP_PREFIX="$PWD/${PARENT_DIR}_install${ARTIFACTS_SUFFIX}" +# We need to create the condition this ugly way to not break CI +if [ "$GITLAB_CI" ]; then + export GIMP_PREFIX="$PWD/_install${ARTIFACTS_SUFFIX}" +elif [ -z "$GITLAB_CI" ] && [ -z "$GIMP_PREFIX" ]; then + export GIMP_PREFIX="$PWD/../_install${ARTIFACTS_SUFFIX}" +fi ## Universal variables from .gitlab-ci.yml IFS=$'\n' VAR_ARRAY=($(cat .gitlab-ci.yml | sed -n '/export PATH=/,/GI_TYPELIB_PATH}\"/p' | sed 's/ - //')) IFS=$' \t\n' diff --git a/build/windows/gitlab-ci/3_bundle-gimp-uni_base.sh b/build/windows/gitlab-ci/3_bundle-gimp-uni_base.sh index 214de4c5f9..27e83c6db2 100644 --- a/build/windows/gitlab-ci/3_bundle-gimp-uni_base.sh +++ b/build/windows/gitlab-ci/3_bundle-gimp-uni_base.sh @@ -29,7 +29,11 @@ if [[ "$CI_JOB_NAME" =~ "cross" ]]; then export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}-cross" export MSYS_PREFIX="$GIMP_PREFIX" else - export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}" + if [ "$GITLAB_CI" ]; then + export GIMP_PREFIX="$PWD/_install${ARTIFACTS_SUFFIX}" + elif [ -z "$GITLAB_CI" ] && [ -z "$GIMP_PREFIX" ]; then + export GIMP_PREFIX="$PWD/../_install${ARTIFACTS_SUFFIX}" + fi export MSYS_PREFIX="$MSYSTEM_PREFIX" fi export GIMP_DISTRIB="`realpath ./gimp`${ARTIFACTS_SUFFIX}"