[geary/mjog/1193-conversation-buttons-resize-race] build: Pull in libhandy as a submodule until 1.2.1 is packaged




commit f9d3f04a71c3f5a4c66776d6b574ff43c042235a
Author: Michael Gratton <mike vee net>
Date:   Tue Apr 13 19:08:39 2021 +1000

    build: Pull in libhandy as a submodule until 1.2.1 is packaged

 .gitlab-ci.yml       |  5 +++++
 .gitmodules          |  3 +++
 meson.build          | 22 +++++++++++++++++++++-
 org.gnome.Geary.json | 18 ++++++++++++++++++
 org.gnome.Geary.yaml | 13 +++++++++++++
 src/meson.build      |  9 ++++++++-
 subprojects/libhandy |  1 +
 7 files changed, 69 insertions(+), 2 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2b02d93e3..b9b67c328 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,6 +17,7 @@ variables:
   # Build
   BUILD_DIR: build
   CONFIG_CMD: meson --buildtype=debug $BUILD_DIR
+  SUBPROJECT_CMD: git submodule update --init
   BUILD_CMD: ninja -v -C $BUILD_DIR
   TEST_CMD: xvfb-run meson test -v --no-stdsplit -C $BUILD_DIR $TEST_ARGS
   INSTALL_CMD: ninja -v -C $BUILD_DIR install
@@ -29,6 +30,7 @@ variables:
     libappstream-glib-devel libgee-devel libhandy1-devel libicu-devel
     libpeas-devel libsecret-devel libstemmer-devel libunwind-devel
     libxml2-devel libytnef-devel sqlite-devel webkitgtk4-devel
+    git
   FEDORA_TEST_DEPS: glibc-langpack-en gnutls-utils tar Xvfb xz
 
   # Ubuntu packages
@@ -40,6 +42,7 @@ variables:
     libhandy-1-dev libicu-dev libjson-glib-dev libmessaging-menu-dev
     libpeas-dev libsecret-1-dev libsqlite3-dev libstemmer-dev
     libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev libytnef0-dev
+    git ca-certificates
   UBUNTU_TEST_DEPS: gnutls-bin librsvg2-common locales xauth xvfb
 
 fedora:
@@ -49,6 +52,7 @@ fedora:
     - dnf update -y --nogpgcheck
     - dnf install -y --nogpgcheck $FEDORA_DEPS $FEDORA_TEST_DEPS
   script:
+    - $SUBPROJECT_CMD
     - $CONFIG_CMD
     - $BUILD_CMD
     - $TEST_CMD
@@ -69,6 +73,7 @@ ubuntu:
     - apt-get install -q -y --no-install-recommends $UBUNTU_DEPS $UBUNTU_TEST_DEPS
     - locale-gen $TEST_LOCALE
   script:
+    - $SUBPROJECT_CMD
     - $CONFIG_CMD
     - $BUILD_CMD
     - $TEST_CMD
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..e0fed8ac4
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "subprojects/libhandy"]
+       path = subprojects/libhandy
+       url = https://gitlab.gnome.org/GNOME/libhandy.git
diff --git a/meson.build b/meson.build
index 85ec18a4f..5d8269188 100644
--- a/meson.build
+++ b/meson.build
@@ -89,7 +89,7 @@ icu_uc = dependency('icu-uc', version: '>=60')
 iso_codes = dependency('iso-codes')
 javascriptcoregtk = dependency('javascriptcoregtk-4.0', version: '>=' + target_webkit)
 json_glib = dependency('json-glib-1.0', version: '>= 1.0')
-libhandy = dependency('libhandy-1', version: '>= 1.2.1')
+libhandy = dependency('libhandy-1', version: '>= 1.2.1', required: false)
 libmath = cc.find_library('m')
 libpeas = dependency('libpeas-1.0', version: '>= 1.24.0')
 libpeas_gtk = dependency('libpeas-gtk-1.0', version: '>= 1.24.0')
@@ -138,6 +138,26 @@ libstemmer = declare_dependency(
   ],
 )
 
+# Required until libhandy 1.2.1 is GA
+libhandy_vapi = ''
+if not libhandy.found()
+  libhandy_project = subproject(
+    'libhandy',
+    default_options: [
+      'examples=false',
+      'package_subdir=geary',
+      'tests=false',
+    ]
+  )
+  libhandy = declare_dependency(
+    dependencies: [
+      libhandy_project.get_variable('libhandy_dep'),
+      libhandy_project.get_variable('libhandy_vapi')
+    ]
+  )
+  libhandy_vapi = meson.build_root() / 'subprojects' / 'libhandy' / 'src'
+endif
+
 # Optional dependencies
 appstream_util = find_program('appstream-util', required: false)
 desktop_file_validate = find_program('desktop-file-validate', required: false)
diff --git a/org.gnome.Geary.json b/org.gnome.Geary.json
index 2d5565113..83c79872a 100644
--- a/org.gnome.Geary.json
+++ b/org.gnome.Geary.json
@@ -78,6 +78,24 @@
                 "/share"
             ]
         },
+        {
+            "name": "libhandy",
+            "buildsystem": "meson",
+            "config-opts": [
+                "-Dglade_catalog=disabled"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/libhandy.git";,
+                    "branch": "master"
+                }
+            ],
+            "cleanup": [
+                "/bin",
+                "/share"
+            ]
+        },
         {
             "name": "libical",
             "buildsystem": "cmake-ninja",
diff --git a/org.gnome.Geary.yaml b/org.gnome.Geary.yaml
index c3908a89a..b7d06d525 100644
--- a/org.gnome.Geary.yaml
+++ b/org.gnome.Geary.yaml
@@ -111,6 +111,19 @@ modules:
       - /bin
       - /share
 
+  # Geary dependency
+  - name: libhandy
+    buildsystem: meson
+    config-opts:
+      - "-Dglade_catalog=disabled"
+    sources:
+      - type: git
+        url: "https://gitlab.gnome.org/GNOME/libhandy.git";
+        branch: master
+    cleanup:
+      - /bin
+      - /share
+
   # EDS dependency
   - name: libical
     buildsystem: cmake-ninja
diff --git a/src/meson.build b/src/meson.build
index d2b018038..a67336af2 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -139,6 +139,9 @@ valadoc_vapi_dirs = [
   vapi_dir,
   meson.current_build_dir()
 ]
+if libhandy_vapi != ''
+  valadoc_vapi_dirs += libhandy_vapi
+endif
 
 # Hopefully Meson will get baked-in valadoc support, so we don't have
 # to resort to these kinds of hacks any more. See
@@ -147,7 +150,11 @@ valadoc_vapi_dirs = [
 valadoc_dep_args = []
 foreach dep : valadoc_dependencies
   valadoc_dep_args += '--pkg'
-  valadoc_dep_args += dep.name()
+  if dep != libhandy
+    valadoc_dep_args += dep.name()
+  else
+    valadoc_dep_args += 'libhandy-1'
+  endif
 endforeach
 valadoc_dep_args += [ '--pkg', 'icu-uc' ]
 valadoc_dep_args += [ '--pkg', 'libstemmer' ]
diff --git a/subprojects/libhandy b/subprojects/libhandy
new file mode 160000
index 000000000..37132b8cd
--- /dev/null
+++ b/subprojects/libhandy
@@ -0,0 +1 @@
+Subproject commit 37132b8cdcea09ac0f8f8cebee2f8017f9fd6aae


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