diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e99a1a8b61f79a87a84569754d64a0cb9f817939..52dc45ee3de9678787d2b960eead130853ae2f6c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -197,11 +197,13 @@ deps-debian-x64: fi - git clone $babl_branch --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/babl.git _babl - git clone $gegl_branch --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl - - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/lib/pkgconfig" - - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`/pkgconfig/:$PKG_CONFIG_PATH" - - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}" - - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`:$LD_LIBRARY_PATH" - - export XDG_DATA_DIRS="${DEB_GIMP_PREFIX}/share:/usr/local/share:/usr/share" + - export PATH="$DEB_GIMP_PREFIX/bin:$PATH" + - gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" + - gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') + - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" + - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + - export XDG_DATA_DIRS="${DEB_GIMP_PREFIX}/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + - export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" script: - mkdir -p "$APT_CACHE" - apt-get install -y --no-install-recommends -o dir::cache::archives="$APT_CACHE" @@ -231,14 +233,13 @@ deps-debian-x64: - "${DEB_BUILD_DIR}" - "${DEB_INSTALL_DIR}" before_script: - - export PATH="${DEB_GIMP_PREFIX}/bin:$PATH" - - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/lib/pkgconfig:${DEB_GIMP_PREFIX}/share/pkgconfig" - - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`/pkgconfig/:$PKG_CONFIG_PATH" - - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/share/`gcc -print-multiarch`/pkgconfig/:$PKG_CONFIG_PATH" - - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}" - - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`:$LD_LIBRARY_PATH" - - export XDG_DATA_DIRS="${DEB_GIMP_PREFIX}/share:/usr/local/share:/usr/share" - - export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`/girepository-1.0/:${GI_TYPELIB_PATH}" + - export PATH="$DEB_GIMP_PREFIX/bin:$PATH" + - gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" + - gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') + - export PKG_CONFIG_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" + - export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + - export XDG_DATA_DIRS="${DEB_GIMP_PREFIX}/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + - export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" - git submodule update --init needs: ["deps-debian-x64"] @@ -465,9 +466,10 @@ gimp-win-x64-cross: - GIMP_APP_VERSION=$(grep GIMP_APP_VERSION ${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') - mkdir bin - echo "#!/bin/sh" > bin/gimp-console-$GIMP_APP_VERSION - - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION - - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`:\$LD_LIBRARY_PATH" >> bin/gimp-console-$GIMP_APP_VERSION - - echo export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`/girepository-1.0/:${GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION + - gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" + - gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') + - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION + - echo export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION - echo "${DEB_GIMP_PREFIX}/bin/gimp-console-$GIMP_APP_VERSION \"\$@\"" >> bin/gimp-console-$GIMP_APP_VERSION - chmod u+x bin/gimp-console-$GIMP_APP_VERSION - export PATH="`pwd`/bin:$PATH" @@ -579,9 +581,10 @@ gimp-win-x86-cross: - GIMP_APP_VERSION=$(grep GIMP_APP_VERSION ${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') - mkdir bin - echo "#!/bin/sh" > bin/gimp-console-$GIMP_APP_VERSION - - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib:${LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION - - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`:\$LD_LIBRARY_PATH" >> bin/gimp-console-$GIMP_APP_VERSION - - echo export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/lib/`gcc -print-multiarch`/girepository-1.0/:${GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION + - gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" + - gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') + - echo export LD_LIBRARY_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION + - echo export GI_TYPELIB_PATH="${DEB_GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION - echo "${DEB_GIMP_PREFIX}/bin/gimp-console-$GIMP_APP_VERSION \"\$@\"" >> bin/gimp-console-$GIMP_APP_VERSION - chmod u+x bin/gimp-console-$GIMP_APP_VERSION - export PATH="`pwd`/bin:$PATH" diff --git a/build/windows/gitlab-ci/1_build-deps-msys2.sh b/build/windows/gitlab-ci/1_build-deps-msys2.sh index 760e30644086d032f0cf76cc689ac180edeeba97..42cfd8ea8ac459286f2dbe600910ff9086d5ddd5 100644 --- a/build/windows/gitlab-ci/1_build-deps-msys2.sh +++ b/build/windows/gitlab-ci/1_build-deps-msys2.sh @@ -88,11 +88,15 @@ clone_or_pull gegl # Build babl and GEGL export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}" +# Universal variables 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/" +gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" +gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') +export PKG_CONFIG_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" +export LD_LIBRARY_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +export XDG_DATA_DIRS="${GIMP_PREFIX}/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" +export GI_TYPELIB_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +# End of universal variables configure_or_build () { diff --git a/build/windows/gitlab-ci/2_build-gimp-msys2.sh b/build/windows/gitlab-ci/2_build-gimp-msys2.sh index 420a7cea09e668d2554220627035517146085bc2..b467bf3679f55ff7f282481d4de62158d33fff9d 100644 --- a/build/windows/gitlab-ci/2_build-gimp-msys2.sh +++ b/build/windows/gitlab-ci/2_build-gimp-msys2.sh @@ -37,6 +37,7 @@ fi # Install the required (pre-built) packages for GIMP +# We take code from deps script to better maintenance GIMP_DIR="" DEPS_CODE=$(cat build/windows/gitlab-ci/1_build-deps-msys2.sh) DEPS_CODE=$(sed -n '/# Install the/,/# End of install/p' <<< $DEPS_CODE) @@ -49,11 +50,16 @@ wget -O "${MSYS2_PREFIX}/include/qoi.h" https://raw.githubusercontent.com/phobos # Build GIMP export GIMP_PREFIX="`realpath ~/_install`${ARTIFACTS_SUFFIX}" +# Universal variables +# FIX ME: We can't set them modularly like we install deps modularly 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/" +gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib" +gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/') +export PKG_CONFIG_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" +export LD_LIBRARY_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +export XDG_DATA_DIRS="${GIMP_PREFIX}/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" +export GI_TYPELIB_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +# End of universal variables if [ ! -d "_ccache" ]; then mkdir -p _ccache diff --git a/build/windows/gitlab-ci/3_package-gimp-uni_base.sh b/build/windows/gitlab-ci/3_package-gimp-uni_base.sh index ac7dfdc5c6a756cc9db75bdd16dffbab28c1a6a7..1f7229653fc302d50ba00b1f1dd82fe4e8ef4873 100644 --- a/build/windows/gitlab-ci/3_package-gimp-uni_base.sh +++ b/build/windows/gitlab-ci/3_package-gimp-uni_base.sh @@ -25,6 +25,7 @@ fi if [[ "$BUILD_TYPE" != "CI_CROSS" ]]; then # Install the required (pre-built) packages again + # We take code from deps script to better maintenance GIMP_DIR="" DEPS_CODE=$(cat build/windows/gitlab-ci/1_build-deps-msys2.sh) DEPS_CODE=$(sed -n '/# Install the/,/# End of install/p' <<< $DEPS_CODE)