[libgudev/tchaik/meson: 1/2] ci: Use meson and publish documentation




commit 305df819172e884d2f9e890f5e8df624d0afb1c3
Author: Martin Blanchard <tchaik gmx com>
Date:   Tue Feb 19 19:26:49 2019 +0000

    ci: Use meson and publish documentation
    
    Publish documentation on GitLab pages as meson does not embed generated
    documentation in distribution tarballs. Pages URL:
    
        https://gnome.pages.gitlab.gnome.org/libgudev/libgudev

 .ci/check-abi     | 13 +++++++------
 .gitlab-ci.yml    | 51 ++++++++++++++++++++++++++++++++++++---------------
 gudev/meson.build |  1 +
 meson.build       |  2 ++
 4 files changed, 46 insertions(+), 21 deletions(-)
---
diff --git a/.ci/check-abi b/.ci/check-abi
index f511e10..f2f27a7 100755
--- a/.ci/check-abi
+++ b/.ci/check-abi
@@ -65,13 +65,14 @@ def build_install(revision):
         rm_rf(build_dir)
         rm_rf(revision)
 
-        subprocess.check_call(['./autogen.sh',
+        subprocess.check_call(['meson', 'setup', build_dir,
                                '--prefix=/usr',
-                               '--libdir=/usr/lib/',
-                               '--disable-gtk-doc',
-                               '--disable-umockdev'])
-        subprocess.check_call(['make'])
-        subprocess.check_call(['make', 'install'],
+                               '--libdir=lib',
+                               '-Dintrospection=disabled',
+                               '-Dvapi=disabled',
+                               '-Dgtk_doc=false'])
+        subprocess.check_call(['meson', 'compile', '-C', build_dir])
+        subprocess.check_call(['meson', 'install', '-C', build_dir],
                               env={'DESTDIR': dest_dir})
 
     return dest_dir
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 45e80fd..6ab563b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,14 +1,12 @@
+image: fedora:latest
+
 variables:
-  LAST_ABI_BREAK: "43a593b5b4097b887e49eaacafbc1337bd709718"
+  LAST_ABI_BREAK: "4cd99290ea083a1206a5f73296cc6691a130ab65"
   DNF_CORE_DEPS: >
     gcc
     gettext
-    redhat-rpm-config
-    libtool
-    automake
-    autoconf
-    xz
-    make
+    meson
+    ninja-build
     git
     gnome-common
     systemd-devel
@@ -23,16 +21,39 @@ variables:
 
 stages:
   - test
+  - document
+  - deploy
 
 build-fedora:
-  image: fedora:latest
   stage: test
   before_script:
-    - dnf install -y ${DNF_CORE_DEPS} ${DNF_TEST_DEPS} ${DNF_API_DOC_DEPS}
+    - dnf install -y ${DNF_CORE_DEPS} ${DNF_TEST_DEPS}
+  script:
+    - meson setup build/
+    - ninja -C build/ install
+    - .ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
+
+reference:
+  stage: document
+  before_script:
+    - dnf install -y ${DNF_CORE_DEPS} ${DNF_API_DOC_DEPS}
+  script:
+    - meson setup build/ -Dgtk_doc=true
+    - ninja -C build/ install
+  artifacts:
+    name: libgudev-doc
+    paths:
+      - build/docs/html
+
+pages:
+  stage: deploy
+  dependencies:
+    - reference
   script:
-    - ./autogen.sh --disable-dependency-tracking
-    - make
-    - make install
-    - make check
-    - ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
-    - make distcheck
+    - mkdir -p public/
+    - mv build/docs/html/ public/libgudev/
+  artifacts:
+    paths:
+      - public
+  only:
+    - master
diff --git a/gudev/meson.build b/gudev/meson.build
index c12d5f2..fd06a11 100644
--- a/gudev/meson.build
+++ b/gudev/meson.build
@@ -34,6 +34,7 @@ libgudev_c_args = [
 
 libgudev_link_args = [
   '-export-dynamic',
+  '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
 ]
 
 libgudev_enums = gnome.mkenums(
diff --git a/meson.build b/meson.build
index f7bc608..c7b6d92 100644
--- a/meson.build
+++ b/meson.build
@@ -82,6 +82,8 @@ configure_file(
   configuration: config_h
 )
 
+top_srcdir = meson.current_source_dir()
+
 subdir('gudev')
 
 if umockdev_dep.found()


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