[gimp/wip/Jehan/CI-Windows] build, gitlab-ci: add a script to cross-build GIMP with Gitlab CI.



commit 5fc8fddba58cae3b3918227096dd98057d100b3e
Author: Jehan <jehan girinstud io>
Date:   Wed Sep 25 14:27:09 2019 +0200

    build, gitlab-ci: add a script to cross-build GIMP with Gitlab CI.

 .gitlab-ci.yml                        | 26 ++++++++++-
 build/windows/crossbuild-gitlab-ci.sh | 83 +++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+), 1 deletion(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8e98a6889c..a07d5ca2ce 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: salamandar/archlinux-gimp:latest
+image: archlinux/base:latest
 
 stages:
   - babl
@@ -217,3 +217,27 @@ build-git-meson:
 #   dependencies:
 #     - babl-min
 #     - gegl-min
+
+.gimp-x86_64-w64-mingw32-base:
+  stage: gimp
+  artifacts:
+    paths:
+    - "${INSTALL_DIR}"
+  before_script:
+    - pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}"
+        git
+        base-devel
+        mingw-w64-x86_64-toolchain
+        python-pip
+    - pip3 install --user crossroad
+
+build-git-x86_64-w64-mingw32-meson:
+  extends: .gimp-x86_64-w64-mingw32-base
+  script:
+    - crossroad w64 gimp --run="build/windows/crossbuild-gitlab-ci.sh"
+  artifacts:
+    name: "app-tests-logs-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
+    when: on_failure
+    expire_in: 1 week
+    paths:
+      - _build/
diff --git a/build/windows/crossbuild-gitlab-ci.sh b/build/windows/crossbuild-gitlab-ci.sh
new file mode 100644
index 0000000000..c1fb903695
--- /dev/null
+++ b/build/windows/crossbuild-gitlab-ci.sh
@@ -0,0 +1,83 @@
+mkdir _deps && cd _deps
+
+# babl
+
+crossroad install lcms2
+git clone --depth 1 https://gitlab.gnome.org/GNOME/babl.git && cd babl
+crossroad meson _build/ -Denable-gir=false && \
+ninja -C _build install || exit 1
+cd ..
+
+# GEGL
+
+crossroad install json-glib
+git clone --depth 1 https://gitlab.gnome.org/GNOME/gegl.git && cd gegl
+crossroad meson _build/ -Dintrospection=false -Dsdl2=disabled && \
+ninja -C _build install || exit 1
+cd ..
+
+# gexiv2
+
+crossroad install exiv2
+git clone --depth 1 https://gitlab.gnome.org/GNOME/gexiv2.git && cd gexiv2
+crossroad meson _build/ -Dintrospection=false -Dvapi=false && \
+ninja -C _build install || exit 1
+cd ..
+
+# appstream-glib
+
+crossroad install libsoup libarchive gdk-pixbuf
+git clone --depth 1 https://github.com/hughsie/appstream-glib.git && cd appstream-glib
+crossroad meson _build/ -Dintrospection=false -Drpm=false -Dbuilder=false \
+                        -Dstemmer=false -Dman=false -Ddep11=false && \
+ninja -C _build install || exit 1
+cd ..
+
+# json-c
+
+git clone --depth 1 https://github.com/json-c/json-c.git
+mkdir json-c/_build && cd json-c/_build
+CFLAGS="-Wno-expansion-to-defined" crossroad ../configure && make install || exit 1
+cd ../..
+
+# libmypaint
+
+git clone --depth 1 --branch libmypaint-v1 https://github.com/mypaint/libmypaint.git
+mkdir libmypaint/_build && cd libmypaint/_build
+crossroad ../configure --enable-introspection=no && make install || exit 1
+cd ../..
+
+# mypaint-brushes
+
+git clone --depth 1 --branch v1.3.x https://github.com/mypaint/mypaint-brushes.git
+mkdir mypaint-brushes/_build && cd mypaint-brushes/_build
+crossroad ../configure && make install || exit 1
+cd ../..
+
+# poppler-data
+
+git clone --depth 1 https://anongit.freedesktop.org/git/poppler/poppler-data.git
+mkdir poppler-data/_build && cd poppler-data/_build
+crossroad cmake .. && make install || exit 1
+cd ../..
+
+# Glib (available in crossroad but bumped Pango needs higher version)
+
+git clone --depth 1 https://gitlab.gnome.org/GNOME/glib.git && cd glib
+crossroad meson _build && ninja -C _build install || exit 1
+cd ..
+
+# Pango (available in crossroad but too old)
+
+crossroad install harfbuzz
+git clone --depth 1 https://gitlab.gnome.org/GNOME/pango.git && cd pango
+crossroad meson _build -Dintrospection=false && \
+ninja -C _build install || exit 1
+cd ..
+
+# GIMP
+
+cd ..
+crossroad install atk gtk3 exiv2 libtiff xz-libs librsvg2 poppler-glib dbus-glib
+mkdir _build && cd _build
+crossroad meson .. -Dwmf=disabled  -Dgtk-doc=false && ninja install


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]