[gimp/wip/Jehan/testing-msys2-win-CI: 1/2] build: use msys2 packages as source for the Windows CI.



commit 8398c83c23359426b7bdeaab1fb50663381940e2
Author: Jehan <jehan girinstud io>
Date:   Thu Apr 16 15:19:36 2020 +0200

    build: use msys2 packages as source for the Windows CI.
    
    This is a new feature I implemented in the crossroad cross-compilation
    tool. Msys2 repository has more packages and they are more up-to-date
    compared to Fedora and Suse cross-built packages (the 2 other available
    sources for pre-built Windows packages).
    This allows to simplify a lot the dependency preparation for the Windows
    CI, and speed things up.

 .gitlab-ci.yml                                   |  6 +-
 build/windows/crossbuild-gitlab-ci/build-deps.sh | 89 ++----------------------
 2 files changed, 10 insertions(+), 85 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 917aaea163..772520cde0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -213,7 +213,7 @@ deps-win64:
         glib2-devel
     #- pip3 install wheel
     #- pip3 install crossroad
-    - git clone git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
+    - git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
     - cd crossroad
     - ./setup.py install --prefix=`pwd`/../.local
     - cd ..
@@ -270,7 +270,7 @@ gimp-win64:
     - export PATH="`pwd`/.local/bin:$PATH"
     - mkdir _build && cd _build
     - echo 'crossroad meson ..
-              -Dwmf=disabled  -Dgtk-doc=false
+              -Dgtk-doc=false
               -Dpython=always -Dlua=always
               -Djavascript=always && ninja install &&
             cp ../build/windows/crossbuild-gitlab-ci/gimp-wrapper.cmd $CROSSROAD_PREFIX/bin/ &&
@@ -329,7 +329,7 @@ deps-win32:
         glib2-devel
     #- pip3 install wheel
     #- pip3 install crossroad
-    - git clone git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
+    - git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
     - cd crossroad
     - ./setup.py install --prefix=`pwd`/../.local
     - cd ..
diff --git a/build/windows/crossbuild-gitlab-ci/build-deps.sh 
b/build/windows/crossbuild-gitlab-ci/build-deps.sh
index 058a595b71..88da893897 100644
--- a/build/windows/crossbuild-gitlab-ci/build-deps.sh
+++ b/build/windows/crossbuild-gitlab-ci/build-deps.sh
@@ -1,100 +1,25 @@
+crossroad source msys2
 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 -Dwith-lcms=false && \
+crossroad meson _build/ -Denable-gir=false && \
 ninja -C _build install || exit 1
 cd ..
 
 # GEGL
 
-crossroad install cairo json-glib && \
+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
-
-# XXX: warnings promotion to errors disabled because of some
-# -Wstrict-prototypes warnings happening on Mingw-w64.
-# The DISABLE_WERROR option can be removed once json-c removes this
-# warning for Windows: https://github.com/json-c/json-c/pull/581
-# Or when patches are published for all Mingw-w64 headers. See ML patch
-# and followup emails: https://sourceforge.net/p/mingw-w64/mailman/message/36981783/
-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 cmake -DDISABLE_WERROR=ON .. && make install || exit 1
-cd ../..
-
-# libmypaint
-
-git clone --depth 1 --branch libmypaint-v1.5.x 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
-crossroad mask glib
-cd ..
-
-# Fix a bug in Mingw-w64 headers when building with strict
-# C90-compliance.
-# See my commit fb232993 in mingw-w64-mingw-w64 repository.
-sed -i 's%^//\(.*\)$%/*\1 */%' $CROSSROAD_PREFIX/include/stdlib.h
-
-# 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
-crossroad mask pango
-cd ..
-
-# DrMingw
-
-git clone --depth 1 https://github.com/jrfonseca/drmingw.git && \
-mkdir drmingw/_build && cd drmingw/_build && \
-crossroad cmake .. -DPYTHON_EXECUTABLE=`which python3` && make install || exit 1
-cd ../..
-
 # preparing GIMP
 
-crossroad install atk gtk3 libtiff xz-libs librsvg2 poppler-glib dbus-glib
+crossroad install gexiv2 appstream-glib json-c \
+                  libmypaint mypaint-brushes   \
+                  poppler-data poppler glib2   \
+                  libwmf drmingw


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