Partially reverts 9d279a60 and 4f965557

These commits introduced sensible drawbacks in our CI file organization.
Some of them I already commented in the MR but was "ignored" back then
probably due to the complexity of the MR. So, the let's revert:
- Unecessary repetition of libomp installation (4 times, now 1)
- Unecessary repetition of submodule initialization (6 times, now 4)
- Creation of new variables in the hope of more clarity. But,
  they aren't consistent with the gimp-web-devel instructions
  nor with other systems variables. This is terrible to undestand.
  Please, let's not reinvent the wheel since this is a bad example to
  packagers, since they tends to isolation and overly-engineering.

Also, made some little adjustments that I should have done in previous MR.

---

This MR was splitted. Even more simplification will be done in the future.
This commit is contained in:
Bruno Lopes 2024-03-28 08:41:26 -03:00
parent 10eb615eff
commit 70886e554f
5 changed files with 92 additions and 92 deletions

View file

@ -39,9 +39,8 @@ stages:
variables:
GIT_DEPTH: "1"
DEB_INSTALL_DIR: "_install-debian-x64"
DEB_BUILD_DIR: "_build-debian-x64"
DEB_GIMP_PREFIX: "${CI_PROJECT_DIR}/${DEB_INSTALL_DIR}"
ARTIFACTS_SUFFIX: "-x64"
GIMP_PREFIX: "${CI_PROJECT_DIR}/_install${ARTIFACTS_SUFFIX}"
APT_CACHE: "${CI_PROJECT_DIR}/apt-cache"
## prepare docker images ##
@ -54,13 +53,13 @@ image-debian-x64:
# On releases.
- if: '$CI_COMMIT_TAG != null'
# Custom builds though web GUI, API or schedules.
- if: '$GIMP_CI_MESON_GCC != null'
- if: '$GIMP_CI_MESON_CLANG != null'
- if: '$GIMP_CI_MESON_GCC != null'
- if: '$GIMP_CI_RASTER_ICONS != null'
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_SOURCES != null'
- if: '$GIMP_CI_FLATPAK != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
stage: prepare
variables:
GIT_STRATEGY: none
@ -75,6 +74,10 @@ image-debian-x64:
- echo "FROM debian:bookworm" > Dockerfile
- echo "RUN apt-get update" >> Dockerfile
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
# libjxl uses C++ features that require posix threads so we install
# specifically g++-mingw-w64-x86-64-posix and gcc-mingw-w64-x86-64-posix.
# Note that we can't install both the -posix and -win32 versions since
# update gcc-mingw-w64 (25). This is for crossroad builds only
- echo "appstream
at-spi2-core
build-essential
@ -114,6 +117,7 @@ image-debian-x64:
liblzma-dev
libmng-dev
libmypaint-dev
libomp-dev
libopenexr-dev
libpoppler-glib-dev
libraw-dev
@ -158,13 +162,13 @@ deps-debian-x64:
# On releases.
- if: '$CI_COMMIT_TAG != null'
# Custom builds though web GUI, API or schedules.
- if: '$GIMP_CI_SOURCES != null'
- if: '$GIMP_CI_MESON_GCC != null'
- if: '$GIMP_CI_MESON_CLANG != null'
- if: '$GIMP_CI_MESON_GCC != null'
- if: '$GIMP_CI_RASTER_ICONS != null'
- if: '$GIMP_CI_FLATPAK != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_SOURCES != null'
- if: '$GIMP_CI_FLATPAK != null'
variables:
CC: "clang"
CXX: "clang++"
@ -178,9 +182,9 @@ deps-debian-x64:
expire_in: 2 hours
when: always
paths:
- "${DEB_INSTALL_DIR}"
- _babl/${DEB_BUILD_DIR}
- _gegl/${DEB_BUILD_DIR}
- "_install${ARTIFACTS_SUFFIX}"
- _babl/_build${ARTIFACTS_SUFFIX}
- _gegl/_build${ARTIFACTS_SUFFIX}
before_script:
- if [ "$CI_COMMIT_TAG" != "" ]; then
repo=https://gitlab.gnome.org/GNOME/babl.git;
@ -197,23 +201,22 @@ 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 PATH="$DEB_GIMP_PREFIX/bin:$PATH"
- export PATH="$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}"
- 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}"
script:
- mkdir -p "$APT_CACHE"
- apt-get install -y --no-install-recommends -o dir::cache::archives="$APT_CACHE"
clang
libomp-dev
- mkdir _babl/${DEB_BUILD_DIR} && cd _babl/${DEB_BUILD_DIR}
- meson setup .. -Dprefix="${DEB_GIMP_PREFIX}"
- mkdir _babl/_build${ARTIFACTS_SUFFIX} && cd _babl/_build${ARTIFACTS_SUFFIX}
- meson setup .. -Dprefix="${GIMP_PREFIX}"
- ninja && ninja install
- mkdir ../../_gegl/${DEB_BUILD_DIR} && cd ../../_gegl/${DEB_BUILD_DIR}
- meson setup .. -Dprefix="${DEB_GIMP_PREFIX}"
- mkdir ../../_gegl/_build${ARTIFACTS_SUFFIX} && cd ../../_gegl/_build${ARTIFACTS_SUFFIX}
- meson setup .. -Dprefix="${GIMP_PREFIX}"
- ninja && ninja install
needs: ["image-debian-x64"]
@ -230,16 +233,16 @@ deps-debian-x64:
when: always
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
paths:
- "${DEB_BUILD_DIR}"
- "${DEB_INSTALL_DIR}"
- "_build${ARTIFACTS_SUFFIX}"
- "_install${ARTIFACTS_SUFFIX}"
before_script:
- export PATH="$DEB_GIMP_PREFIX/bin:$PATH"
- export PATH="$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}"
- 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}"
- git submodule update --init
needs: ["deps-debian-x64"]
@ -254,9 +257,9 @@ gimp-debian-x64:
- if: '$CI_COMMIT_TAG != null'
# Custom builds though web GUI, API or schedules.
- if: '$GIMP_CI_MESON_CLANG != null'
- if: '$GIMP_CI_SOURCES != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
- if: '$GIMP_CI_SOURCES != null'
extends: .gimp-debian-base
variables:
CC: "clang"
@ -265,12 +268,10 @@ gimp-debian-x64:
- mkdir -p "$APT_CACHE"
- apt-get install -y --no-install-recommends -o dir::cache::archives="$APT_CACHE"
clang
libomp-dev
- mkdir -p "${DEB_BUILD_DIR}" && cd "${DEB_BUILD_DIR}"
- meson setup .. -Dprefix="${DEB_GIMP_PREFIX}"
- mkdir -p "_build${ARTIFACTS_SUFFIX}" && cd "_build${ARTIFACTS_SUFFIX}"
- meson setup .. -Dprefix="${GIMP_PREFIX}"
-Dgi-docgen=enabled
-Dg-ir-doc=true
-Dwindows-installer=true
- ninja && ninja test
# The src should not be changed by the build. If it is, something is
# wrong. Let's print out the diff for debugging in such case, and
@ -284,14 +285,14 @@ gimp-debian-x64:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
when: always
reports:
junit: "${DEB_BUILD_DIR}/meson-logs/testlog.junit.xml"
junit: "_build${ARTIFACTS_SUFFIX}/meson-logs/testlog.junit.xml"
paths:
- "${DEB_BUILD_DIR}/config.h"
- "${DEB_BUILD_DIR}/meson-logs"
- "${DEB_BUILD_DIR}/meson-dist"
- "${DEB_BUILD_DIR}/devel-docs"
- "${DEB_BUILD_DIR}/build/flatpak/"
- "${DEB_INSTALL_DIR}"
- "_build${ARTIFACTS_SUFFIX}/config.h"
- "_build${ARTIFACTS_SUFFIX}/meson-logs"
- "_build${ARTIFACTS_SUFFIX}/meson-dist"
- "_build${ARTIFACTS_SUFFIX}/devel-docs"
- "_build${ARTIFACTS_SUFFIX}/build/flatpak/"
- "_install${ARTIFACTS_SUFFIX}"
gimp-debian-gcc:
rules:
@ -299,8 +300,8 @@ gimp-debian-gcc:
- if: '$GIMP_CI_MESON_GCC != null'
extends: .gimp-debian-base
script:
- mkdir -p ${DEB_BUILD_DIR} && cd ${DEB_BUILD_DIR}
- meson setup .. -Dprefix="${DEB_GIMP_PREFIX}"
- mkdir -p _build${ARTIFACTS_SUFFIX} && cd _build${ARTIFACTS_SUFFIX}
- meson setup .. -Dprefix="${GIMP_PREFIX}"
- ninja && ninja test
gimp-debian-raster-icons:
@ -309,8 +310,8 @@ gimp-debian-raster-icons:
- if: '$GIMP_CI_RASTER_ICONS != null'
extends: .gimp-debian-base
script:
- mkdir -p ${DEB_BUILD_DIR} && cd ${DEB_BUILD_DIR}
- meson setup .. -Dprefix="${DEB_GIMP_PREFIX}"
- mkdir -p _build${ARTIFACTS_SUFFIX} && cd _build${ARTIFACTS_SUFFIX}
- meson setup .. -Dprefix="${GIMP_PREFIX}"
-Dvector-icons=false
- ninja && ninja test
@ -354,7 +355,7 @@ packaging-flatpak-x64:
- date && date -u
# Get pre-configured manifest from Debian job
- cp ${DEB_BUILD_DIR}/build/flatpak/*json build/flatpak/
- cp _build${ARTIFACTS_SUFFIX}/build/flatpak/*json build/flatpak/
# GNOME script to customize the manifest
- rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
@ -425,8 +426,8 @@ deps-win-x64-cross:
- cd crossroad
- ./setup.py install --prefix=`pwd`/../.local
- cd ..
script:
- export PATH="`pwd`/.local/bin:$PATH"
script:
- crossroad w64 gimp --run="build/windows/gitlab-ci/1_build-deps-crossroad.sh"
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
@ -434,8 +435,8 @@ deps-win-x64-cross:
expire_in: 2 hours
paths:
- .local/
- _deps/_babl/_build-x64/
- _deps/_gegl/_build-x64/
- _deps/_babl/_build-x64-cross/
- _deps/_gegl/_build-x64-cross/
needs: ["image-debian-x64"]
gimp-win-x64-cross:
@ -458,23 +459,22 @@ gimp-win-x64-cross:
paths:
- .cache/crossroad/
- apt-cache
script:
- mkdir -p "$APT_CACHE"
- apt-get install -y --no-install-recommends -o dir::cache::archives="$APT_CACHE" libomp-dev
before_script:
- git submodule update --init
# So that we can use gimp-console from gimp-debian-x64 project.
- GIMP_APP_VERSION=$(grep GIMP_APP_VERSION ${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
- GIMP_APP_VERSION=$(grep GIMP_APP_VERSION _build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
- mkdir bin
- echo "#!/bin/sh" > 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
- echo export LD_LIBRARY_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION
- echo export GI_TYPELIB_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION
- echo "${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"
# For crossroad
- export PATH="`pwd`/.local/bin:$PATH"
script:
- crossroad w64 gimp --run="build/windows/gitlab-ci/2_build-gimp-crossroad.sh"
needs: ["deps-win-x64-cross", "gimp-debian-x64"]
artifacts:
@ -482,8 +482,8 @@ gimp-win-x64-cross:
when: always
expire_in: 1 day
paths:
- _build-x64/
- _install-x64/
- _build-x64-cross/
- _install-x64-cross/
packaging-win-x64-nightly:
rules:
@ -543,8 +543,8 @@ deps-win-x86-cross:
- cd crossroad
- ./setup.py install --prefix=`pwd`/../.local
- cd ..
script:
- export PATH="`pwd`/.local/bin:$PATH"
script:
- crossroad w32 gimp --run="build/windows/gitlab-ci/1_build-deps-crossroad.sh"
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
@ -552,8 +552,8 @@ deps-win-x86-cross:
expire_in: 2 hours
paths:
- .local/
- _deps/_babl/_build-x86/
- _deps/_gegl/_build-x86/
- _deps/_babl/_build-x86-cross/
- _deps/_gegl/_build-x86-cross/
needs: ["image-debian-x64"]
gimp-win-x86-cross:
@ -573,23 +573,22 @@ gimp-win-x86-cross:
paths:
- .cache/crossroad/
- apt-cache
script:
- mkdir -p "$APT_CACHE"
- apt-get install -y --no-install-recommends -o dir::cache::archives="$APT_CACHE" libomp-dev
before_script:
- git submodule update --init
# So that we can use gimp-console from gimp-debian-x64 project.
- GIMP_APP_VERSION=$(grep GIMP_APP_VERSION ${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
- GIMP_APP_VERSION=$(grep GIMP_APP_VERSION _build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
- mkdir bin
- echo "#!/bin/sh" > 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
- echo export LD_LIBRARY_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION
- echo export GI_TYPELIB_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" >> bin/gimp-console-$GIMP_APP_VERSION
- echo "${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"
# For crossroad
- export PATH="`pwd`/.local/bin:$PATH"
script:
- crossroad w32 gimp --run="build/windows/gitlab-ci/2_build-gimp-crossroad.sh"
needs: ["deps-win-x86-cross", "deps-win-x64-cross", "gimp-debian-x64"]
artifacts:
@ -597,8 +596,8 @@ gimp-win-x86-cross:
when: always
expire_in: 1 day
paths:
- _build-x86/
- _install-x86/
- _build-x86-cross/
- _install-x86-cross/
packaging-win-x86-nightly:
rules:
@ -690,7 +689,6 @@ gimp-win-a64:
- windows-aarch64
before_script:
# C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- git submodule update --init
script:
- $stuck = Test-Path -Path "C:\msys64\var\lib\pacman\db.lck" -PathType Leaf
- if ($stuck -eq "True") {
@ -804,7 +802,6 @@ gimp-win-x64:
- win32-ps
before_script:
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- git submodule update --init
script:
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/2_build-gimp-msys2.sh"
artifacts:
@ -897,7 +894,6 @@ gimp-win-x86:
- win32-ps
before_script:
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- git submodule update --init
script:
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/2_build-gimp-msys2.sh"
artifacts:
@ -1039,7 +1035,7 @@ sources-debian:
- gimp-*.tar.xz.SHA256SUMS
- gimp-*.tar.xz.SHA512SUMS
script:
- mv ${DEB_BUILD_DIR}/meson-dist/gimp-*.tar.xz .
- mv _build${ARTIFACTS_SUFFIX}/meson-dist/gimp-*.tar.xz .
- FILENAME=`ls gimp-*.tar.xz` &&
sha256sum gimp-*.tar.xz > ${FILENAME}.SHA256SUMS &&
sha512sum gimp-*.tar.xz > ${FILENAME}.SHA512SUMS
@ -1073,33 +1069,33 @@ dev-docs:
- gimp-api-docs-*.tar.xz.SHA256SUMS
- gimp-api-docs-*.tar.xz.SHA512SUMS
script:
- BABL_VER=$(grep BABL_VERSION _babl/${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
BABL_API_VER=$(grep BABL_API_VERSION _babl/${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
- BABL_VER=$(grep BABL_VERSION _babl/_build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
BABL_API_VER=$(grep BABL_API_VERSION _babl/_build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
DIR_NAME=babl-api-docs-$BABL_VER &&
mkdir $DIR_NAME &&
mv "${DEB_GIMP_PREFIX}/share/doc/babl-$BABL_API_VER" $DIR_NAME/ &&
mv "${GIMP_PREFIX}/share/doc/babl-$BABL_API_VER" $DIR_NAME/ &&
TAR_NAME="$DIR_NAME.tar.xz" &&
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&
sha512sum $TAR_NAME > ${TAR_NAME}.SHA512SUMS
- GEGL_MAJ_VER=$(grep GEGL_MAJOR_VERSION _gegl/${DEB_BUILD_DIR}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
GEGL_MIN_VER=$(grep GEGL_MINOR_VERSION _gegl/${DEB_BUILD_DIR}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
GEGL_MIC_VER=$(grep GEGL_MICRO_VERSION _gegl/${DEB_BUILD_DIR}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
- GEGL_MAJ_VER=$(grep GEGL_MAJOR_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
GEGL_MIN_VER=$(grep GEGL_MINOR_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
GEGL_MIC_VER=$(grep GEGL_MICRO_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
GEGL_VER="$GEGL_MAJ_VER.$GEGL_MIN_VER.$GEGL_MIC_VER" &&
GEGL_API_VER="$GEGL_MAJ_VER.$GEGL_MIN_VER" &&
DIR_NAME=gegl-api-docs-$GEGL_VER &&
mkdir $DIR_NAME &&
mv "${DEB_GIMP_PREFIX}/share/doc/gegl-$GEGL_API_VER" $DIR_NAME/ &&
mv "${GIMP_PREFIX}/share/doc/gegl-$GEGL_API_VER" $DIR_NAME/ &&
TAR_NAME="$DIR_NAME.tar.xz" &&
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&
sha512sum $TAR_NAME > ${TAR_NAME}.SHA512SUMS
- GIMP_VER=$(grep GIMP_VERSION ${DEB_BUILD_DIR}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
- GIMP_VER=$(grep GIMP_VERSION _build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
APP_VER=$(echo $GIMP_VER | sed 's/\([0-9]\+\.[0-9]\+\)\..*/\1/') &&
DIR_NAME=gimp-api-docs-$GIMP_VER &&
mkdir $DIR_NAME &&
mv "${DEB_GIMP_PREFIX}/share/doc/gimp-$APP_VER" $DIR_NAME/reference &&
mv ${DEB_BUILD_DIR}/devel-docs/g-ir-docs $DIR_NAME/ &&
mv "${GIMP_PREFIX}/share/doc/gimp-$APP_VER" $DIR_NAME/reference &&
mv _build${ARTIFACTS_SUFFIX}/devel-docs/g-ir-docs $DIR_NAME/ &&
TAR_NAME="$DIR_NAME.tar.xz" &&
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&

View file

@ -25,11 +25,11 @@ git clone --depth 1 https://gitlab.gnome.org/GNOME/babl.git _babl
git clone --depth 1 https://gitlab.gnome.org/GNOME/gegl.git _gegl
# Build babl and GEGL
mkdir _babl/_build${ARTIFACTS_SUFFIX}/ && cd _babl/_build${ARTIFACTS_SUFFIX}/
mkdir _babl/_build${ARTIFACTS_SUFFIX}-cross/ && cd _babl/_build${ARTIFACTS_SUFFIX}-cross/
crossroad meson setup .. -Denable-gir=false
ninja && ninja install
mkdir ../../_gegl/_build${ARTIFACTS_SUFFIX}/ && cd ../../_gegl/_build${ARTIFACTS_SUFFIX}/
mkdir ../../_gegl/_build${ARTIFACTS_SUFFIX}-cross/ && cd ../../_gegl/_build${ARTIFACTS_SUFFIX}-cross/
crossroad meson setup .. -Dintrospection=false
ninja && ninja install
cd ../../

View file

@ -13,7 +13,7 @@ fi
# Build GIMP
mkdir _build${ARTIFACTS_SUFFIX} && cd _build${ARTIFACTS_SUFFIX}
mkdir _build${ARTIFACTS_SUFFIX}-cross && cd _build${ARTIFACTS_SUFFIX}-cross
crossroad meson setup .. -Dgi-docgen=disabled \
-Djavascript=disabled -Dlua=disabled \
-Dpython=disabled -Dvala=disabled \
@ -24,7 +24,7 @@ cd ..
## XXX Functional fix to the problem of non-configured interpreters
## XXX Also, functional generator of the pixbuf 'loaders.cache' for GUI image support
GIMP_APP_VERSION=$(grep GIMP_APP_VERSION _build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
GIMP_APP_VERSION=$(grep GIMP_APP_VERSION _build${ARTIFACTS_SUFFIX}-cross/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/')
GDK_PATH=$(echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/)
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
GDK_PATH=$(sed 's|/|\\|g' <<< $GDK_PATH)
@ -43,7 +43,7 @@ echo "Please run the gimp.cmd file to know the actual plug-in support." > ${CROS
# Copy built GIMP, babl and GEGL and pre-built packages to GIMP_PREFIX
cp -fr $CROSSROAD_PREFIX/ _install${ARTIFACTS_SUFFIX}/
cp -fr $CROSSROAD_PREFIX/ _install${ARTIFACTS_SUFFIX}-cross/
if [[ "x$CROSSROAD_PLATFORM" = "xw32" ]]; then
# We fail to install wine32 in x86 dep job and Gitlab "needs" field

View file

@ -75,6 +75,9 @@ export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
#ccache --zero-stats
#ccache --show-stats
git submodule update --init
if [ ! -f "_build${ARTIFACTS_SUFFIX}/build.ninja" ]; then
mkdir -p "_build${ARTIFACTS_SUFFIX}" && cd "_build${ARTIFACTS_SUFFIX}"
# We disable javascript as we are not able for the time being to add a

View file

@ -35,10 +35,11 @@ fi
# Package deps and GIMP files
export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}"
export PATH="$GIMP_PREFIX/bin:$PATH"
if [[ "$BUILD_TYPE" == "CI_CROSS" ]]; then
export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}-cross"
export MSYS_PREFIX="$GIMP_PREFIX"
fi
export PATH="$GIMP_PREFIX/bin:$PATH"
## Copy a previously built wrapper at tree root, less messy than
## having to look inside bin/, in the middle of all the DLLs.