[gimp] gitlab-ci: add native Windows 32-bit build with MSYS2.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] gitlab-ci: add native Windows 32-bit build with MSYS2.
- Date: Mon, 10 May 2021 17:11:15 +0000 (UTC)
commit a04eff326ffc72ecca3ebe140dec81fe5f8bcf7e
Author: Jehan <jehan girinstud io>
Date: Sat May 8 15:05:35 2021 +0200
gitlab-ci: add native Windows 32-bit build with MSYS2.
Note: Vala API doesn't build well on the 32-bit build. Not sure why (the
meson logs for GObject Introspection build are just as empty as ever),
but it won't generate the VAPI. So I disabled the option on 32-bit.
.gitlab-ci.yml | 50 +++++++++++++++++++++++++++++
build/windows/gitlab-ci/build-deps-msys2.sh | 12 +++++--
build/windows/gitlab-ci/build-gimp-msys2.sh | 13 ++++++--
3 files changed, 71 insertions(+), 4 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c087d4719a..dde74f710d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -237,11 +237,61 @@ gimp-win64-native:
expire_in: 1 day
paths:
- _install
+ - _build
cache:
paths:
- _ccache/
needs: ["deps-win64-native"]
+## WINDOWS 32-bit CI (native MSYS2) ##
+
+deps-win32-native:
+ rules:
+ - if: '$CI_COMMIT_TAG == null && $CI_PIPELINE_SOURCE != "schedule"'
+ stage: dependencies
+ variables:
+ MSYSTEM: "MINGW32"
+ CHERE_INVOKING: "yes"
+ tags:
+ - win32-ps
+ cache:
+ paths:
+ - _install/
+ script:
+ - C:\msys64\usr\bin\pacman --noconfirm -Syyuu
+ - C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/build-deps-msys2.sh"
+ artifacts:
+ name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}"
+ when: always
+ expire_in: 2 hours
+ paths:
+ - _install
+ needs: []
+
+gimp-win32-native:
+ rules:
+ - if: '$CI_COMMIT_TAG == null && $CI_PIPELINE_SOURCE != "schedule"'
+ stage: gimp
+ variables:
+ MSYSTEM: "MINGW32"
+ CHERE_INVOKING: "yes"
+ tags:
+ - win32-ps
+ script:
+ - C:\msys64\usr\bin\pacman --noconfirm -Syyuu
+ - C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/build-gimp-msys2.sh"
+ artifacts:
+ name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}"
+ when: always
+ expire_in: 1 day
+ paths:
+ - _install
+ - _build
+ cache:
+ paths:
+ - _ccache/
+ needs: ["deps-win32-native"]
+
## WINDOWS 64-bit CI (cross-build crossroad) ##
deps-win64:
diff --git a/build/windows/gitlab-ci/build-deps-msys2.sh b/build/windows/gitlab-ci/build-deps-msys2.sh
index 31d400a956..a7f667ae3b 100644
--- a/build/windows/gitlab-ci/build-deps-msys2.sh
+++ b/build/windows/gitlab-ci/build-deps-msys2.sh
@@ -4,8 +4,14 @@ set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export MSYS2_ARCH="i686"
+ # vapi build fails on 32-bit, with no error output. Let's just drop
+ # it for this architecture.
+ export BABL_OPTIONS="-Denable-vapi=false"
+ export GEGL_OPTIONS="-Dvapigen=disabled"
else
export MSYS2_ARCH="x86_64"
+ export BABL_OPTIONS=""
+ export GEGL_OPTIONS=""
fi
# Why do we even have to remove these manually? The whole thing is
@@ -59,7 +65,8 @@ git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl
mkdir _babl/_build
cd _babl/_build
-meson -Dprefix="${GIMP_PREFIX}" -Dwith-docs=false ..
+meson -Dprefix="${GIMP_PREFIX}" -Dwith-docs=false \
+ ${BABL_OPTIONS} ..
ninja
ninja install
@@ -67,6 +74,7 @@ mkdir ../../_gegl/_build
cd ../../_gegl/_build
meson -Dprefix="${GIMP_PREFIX}" -Ddocs=false \
-Dcairo=enabled -Dumfpack=enabled \
- -Dopenexr=enabled -Dworkshop=true ..
+ -Dopenexr=enabled -Dworkshop=true \
+ ${GEGL_OPTIONS} ..
ninja
ninja install
diff --git a/build/windows/gitlab-ci/build-gimp-msys2.sh b/build/windows/gitlab-ci/build-gimp-msys2.sh
index 0ffb8a837c..050e046158 100644
--- a/build/windows/gitlab-ci/build-gimp-msys2.sh
+++ b/build/windows/gitlab-ci/build-gimp-msys2.sh
@@ -4,8 +4,14 @@ set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export MSYS2_ARCH="i686"
+ export ACLOCAL_FLAGS="-I/c/msys64/mingw32/share/aclocal"
+ export PATH="/c/msys64/mingw32/bin:$PATH"
+ export GIMP_OPTIONS="--with-vala=no --enable-vala=no"
else
export MSYS2_ARCH="x86_64"
+ export ACLOCAL_FLAGS="-I/c/msys64/mingw64/share/aclocal"
+ export PATH="/c/msys64/mingw64/bin:$PATH"
+ export GIMP_OPTIONS=""
fi
# Why do we even have to remove these manually? The whole thing is
@@ -79,7 +85,7 @@ 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 ACLOCAL_FLAGS="-I/c/msys64/mingw64/share/aclocal"
+export ACLOCAL_FLAGS="-I/c/msys64/mingw32/share/aclocal"
export XDG_DATA_DIRS="${GIMP_PREFIX}/share:/mingw64/share/"
mkdir -p _ccache
@@ -90,9 +96,12 @@ export CC="ccache gcc"
ccache --zero-stats
ccache --show-stats
-./autogen.sh --prefix="${GIMP_PREFIX}"
+mkdir _build
+cd _build
+../autogen.sh --prefix="${GIMP_PREFIX}" ${GIMP_OPTIONS}
make -j4
make install
+cd ..
ccache --show-stats
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]