[cairo-commit] 5 commits - .gitlab-ci.yml src/meson.build subprojects/glib.wrap

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 28 00:21:32 UTC 2022


 .gitlab-ci.yml        |   31 +++++++++++++++++++++++--------
 src/meson.build       |   11 ++++++-----
 subprojects/glib.wrap |   15 ++++++++++-----
 3 files changed, 39 insertions(+), 18 deletions(-)

New commits:
commit 0a111ad1fabdf75837002294bdfc33f18bdb4ec1
Merge: 2cfd08664 cb726f572
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Fri Oct 28 00:21:31 2022 +0000

    Merge branch 'ci-update-windows-image' into 'master'
    
    ci: update Windows image to latest,  update glib wrap, and add separate msvc jobs for shared and static build
    
    See merge request cairo/cairo!364

commit cb726f5729ef3b4cefaa8d8a6c98cb8740bcc99f
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Fri Oct 28 00:17:11 2022 +0100

    ci: mark macOS job as allowed to fail, unit tests are broken

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5f3ff2396..5aab2b8ca 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -391,6 +391,8 @@ meson macOS:
     exclude:
       - "build/test/**/*.cs"
       - "build/test/**/*.trace"
+  # Unit tests on macOS have been failing for a while now, needs investigating..
+  allow_failure: true
   before_script:
     # Install the DejaVu fonts
     - curl -LO https://downloads.sourceforge.net/dejavu/dejavu-fonts-ttf-2.37.zip
commit b9074f952511273bd8a8480ea08c02263c78bbaf
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Thu Oct 27 19:40:09 2022 +0100

    ci: bump macOS image to latest / 12.3

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 524e43507..5f3ff2396 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -377,7 +377,7 @@ meson android arm64 fedora:
 
 meson macOS:
   tags:
-    - gst-macos-11.1
+    - gst-macos-12.3
   stage: 'build'
   artifacts:
     when: 'always'
commit e25511ecd69ecc8f405047765dc786a621db9bfb
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Thu Oct 27 18:15:36 2022 +0100

    Fix build on Windows with -Ddefault_library=static
    
    cairo-perf-chart.c.obj : error LNK2019: unresolved external symbol __imp_cairo_create referenced in function main
    etc.

diff --git a/src/meson.build b/src/meson.build
index 3d50edd54..0a14b3ba3 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -260,6 +260,12 @@ endforeach
 
 incsrc = include_directories('.')
 
+cairo_static_args = []
+if get_option('default_library') == 'static' and host_machine.system() == 'windows'
+  cairo_static_args += ['-DCAIRO_WIN32_STATIC_BUILD']
+  add_project_arguments('-DCAIRO_WIN32_STATIC_BUILD', language: 'c')
+endif
+
 libcairo = library('cairo', cairo_sources,
   dependencies: deps,
   c_args: cairo_no_warn_c_args + pthread_c_args,
@@ -273,11 +279,6 @@ libcairo = library('cairo', cairo_sources,
 
 cairo_headers += [configure_file(output: 'cairo-features.h', configuration: feature_conf)]
 
-cairo_static_args = []
-if get_option('default_library') == 'static' and host_machine.system() == 'windows'
-  cairo_static_args += ['-DCAIRO_WIN32_STATIC_BUILD']
-endif
-
 libcairo_dep = declare_dependency(link_with: libcairo,
   dependencies: deps,
   include_directories: incsrc,
commit bd8bd609f6151a82c57791d72d3c3c23d0e8c634
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Thu Oct 27 14:43:00 2022 +0100

    ci: update Windows image to latest, and glib wrap too
    
    Glib subproject git checkout isn't cached any more on the
    GStreamer CI image, so use tarball for now, and update to
    more recent glib.
    
    This means we can no longer use --default-library=both on
    Windows, so add separate jobs for static/shared build.

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e6fe8610d..524e43507 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,8 +11,8 @@ variables:
   FDO_DISTRIBUTION_TAG: '2021-08-26.0'
 
   # TODO: should probably get its own image at some point instead of reusing the GStreamer one
-  # See https://gitlab.freedesktop.org/gstreamer/gstreamer/container_registry/18035 for latest
-  WINDOWS_IMAGE: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-05-16.1-main"
+  # See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/.gitlab-image-tags.yml for latest
+  WINDOWS_IMAGE: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-09-23.0-main"
 
   DEFAULT_MESON_ARGS: >
     --default-library=both
@@ -285,17 +285,22 @@ meson mingw-64 build:
       -Dfreetype=enabled
       -Dglib=enabled
       -Dzlib=enabled
+      ${EXTRA_MESON_ARGS}
   before_script:
     # Make sure meson is up to date, so we don't need to rebuild the image with each release
-    - pip3 install -U meson
+    # FIXME: don't update meson version for now, since there seems to be a bug
+    # in newer meson versions (0.63.3 at the time of writing) where it can't
+    # find some hash file and then meson subprojects update fails)
+    # - pip3 install -U meson
   script:
     # Make sure powershell exists on errors
     # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-6
     - $ErrorActionPreference = "Stop"
 
     # Copy GLib from existing subproject cache to avoid downloading it
-    - cd $env:CI_PROJECT_DIR
-    - cp -r C:/subprojects/glib subprojects/
+    # FIXME: no longer cached in GStreamer image, using tarball for now
+    #- cd $env:CI_PROJECT_DIR
+    #- cp -r C:/subprojects/glib subprojects/
 
     # For some reason, options are separated by newline instead of space, so we
     # have to replace them first.
@@ -309,15 +314,23 @@ meson mingw-64 build:
         meson build $env:MESON_ARGS &&
         ninja -C build"
 
-meson vs2019 amd64:
+meson vs2019 shared amd64:
+  extends: '.build meson windows'
+  variables:
+    ARCH: 'amd64'
+    EXTRA_MESON_ARGS: '--default-library=shared'
+
+meson vs2019 static amd64:
   extends: '.build meson windows'
   variables:
     ARCH: 'amd64'
+    EXTRA_MESON_ARGS: '--default-library=static'
 
-meson vs2019 x86:
+meson vs2019 shared x86:
   extends: '.build meson windows'
   variables:
     ARCH: 'x86'
+    EXTRA_MESON_ARGS: '--default-library=shared'
 
 meson android arm64 fedora:
   # TODO: should probably build our own image here some day
diff --git a/subprojects/glib.wrap b/subprojects/glib.wrap
index ca58d1a28..51d9cf8d4 100644
--- a/subprojects/glib.wrap
+++ b/subprojects/glib.wrap
@@ -1,5 +1,10 @@
-[wrap-git]
-directory=glib
-url=https://gitlab.gnome.org/GNOME/glib.git
-push-url=git at gitlab.gnome.org:GNOME/glib.git
-revision=2.66.7
+[wrap-file]
+directory = glib-2.74.0
+source_url = https://download.gnome.org/sources/glib/2.74/glib-2.74.0.tar.xz
+source_filename = glib-2.74.0.tar.xz
+source_hash = 3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30
+wrapdb_version = 2.74.0-1
+
+[provide]
+dependency_names = gthread-2.0, gobject-2.0, gmodule-no-export-2.0, gmodule-export-2.0, gmodule-2.0, glib-2.0, gio-2.0, gio-windows-2.0, gio-unix-2.0
+program_names = glib-genmarshal, glib-mkenums, glib-compile-schemas, glib-compile-resources, gio-querymodules, gdbus-codegen


More information about the cairo-commit mailing list