[evolution-data-server/tintou/flatpak-ci] Add Flatpak manifest and GitLab CI



commit 82f5ad1e57793bd40dc746df68bf0c6b2caad720
Author: Corentin Noël <corentin noel collabora com>
Date:   Thu Sep 20 11:11:28 2018 +0200

    Add Flatpak manifest and GitLab CI

 .gitlab-ci.yml                          |  50 ++++++++
 data/org.gnome.EvolutionDataServer.json | 205 ++++++++++++++++++++++++++++++++
 2 files changed, 255 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..f29c51e5c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,50 @@
+stages:
+    - test
+    - review
+
+variables:
+    BUNDLE: "evolution-data-server-git.flatpak"
+
+flatpak:
+    image: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master"
+    stage: test
+    variables:
+        GIT_SUBMODULE_STRATEGY: normal
+
+        # Replace with your manifest path
+        MANIFEST_PATH: "data/org.gnome.EvolutionDataServer.json"
+        RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo";
+        # Replace with your application name, as written in the manifest
+        FLATPAK_MODULE: "evolution-data-server"
+        # Make sure to keep this in sync with the Flatpak manifest, all arguments
+        # are passed except the config-args because we build it ourselves
+        CMAKE_ARGS: "-DENABLE_FILE_LOCKING=fcntl -DENABLE_DOT_LOCKING=OFF -DENABLE_OAUTH2=ON -DENABLE_GTK=ON 
-DENABLE_UOA=OFF -DENABLE_GOA=ON -DENABLE_EXAMPLES=ON -DENABLE_INTROSPECTION=ON -DENABLE_VALA_BINDINGS=ON 
-DENABLE_INSTALLED_TESTS=ON -DENABLE_GTK_DOC=OFF -DENABLE_DBUS_SESSION_TOOL=ON -DWITH_PRIVATE_DOCS=ON 
-DWITH_PHONENUMBER=OFF -DWITH_SYSTEMDUSERUNITDIR=OFF -DWITH_LIBDB=OFF"
+        DBUS_ID: "org.gnome.EvolutionDataServer"
+
+    script:
+        - mkdir _build
+        - mv .flatpak-builder _build/.flatpak-builder
+        - cd _build
+        - flatpak-builder --stop-at=${FLATPAK_MODULE} app ../${MANIFEST_PATH}
+        # Make sure to keep this in sync with the Flatpak manifest, all arguments
+        # are passed except the config-args because we build it ourselves
+        - flatpak build app cmake -DCMAKE_INSTALL_PREFIX=/app ${CMAKE_ARGS} ..
+        - flatpak build app make install
+        - flatpak build app make test
+        - flatpak-builder --finish-only --repo=repo app ../${MANIFEST_PATH}
+        # Generate a Flatpak bundle
+        - flatpak build-bundle repo ../${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${DBUS_ID}
+        - mv .flatpak-builder ../.flatpak-builder
+
+    artifacts:
+        paths:
+            - ${BUNDLE}
+            - _build/Testing/Temporary/LastTestsFailed.log
+            - _build/Testing/Temporary/LastTest.log
+        expire_in: 30 days
+        
+    cache:
+        paths:
+            - .flatpak-builder/downloads/
+            - .flatpak-builder/git/
+
diff --git a/data/org.gnome.EvolutionDataServer.json b/data/org.gnome.EvolutionDataServer.json
new file mode 100644
index 000000000..331435947
--- /dev/null
+++ b/data/org.gnome.EvolutionDataServer.json
@@ -0,0 +1,205 @@
+{
+    "app-id" : "org.gnome.EvolutionDataServer",
+    "runtime" : "org.gnome.Sdk",
+    "runtime-version" : "master",
+    "sdk" : "org.gnome.Sdk",
+    "tags" : [
+        "nightly"
+    ],
+    "finish-args" : [
+        "--share=ipc",
+        "--share=network",
+        "--socket=x11",
+        "--socket=wayland",
+        "--socket=pulseaudio",
+        "--talk-name=org.freedesktop.Notifications",
+        "--talk-name=org.freedesktop.portal.Desktop",
+        "--talk-name=org.gnome.OnlineAccounts"
+    ],
+    "x-run-args" : [
+        "--standalone",
+        "-vvvv"
+    ],
+    "build-options" : {
+        "cflags" : "-O2 -g",
+        "cxxflags" : "-O2 -g",
+        "env" : {
+            "BASH_COMPLETIONSDIR" : "/app/share/bash-completion/completions",
+            "MOUNT_FUSE_PATH" : "../tmp/",
+            "V" : "1"
+        }
+    },
+    "cleanup" : [
+        "/include",
+        "/lib/pkgconfig",
+        "/lib/cmake",
+        "/share/pkgconfig",
+        "/share/aclocal",
+        "/man",
+        "/share/man",
+        "/share/gtk-doc",
+        "/share/vala",
+        "/share/bash-completions",
+        "*.la",
+        "*.a"
+    ],
+    "modules" : [
+        {
+            "name": "libical",
+            "cleanup": [ "/lib/cmake" ],
+            "buildsystem": "cmake-ninja",
+            "config-opts": [
+                "-DCMAKE_INSTALL_LIBDIR:PATH=/app/lib",
+                "-DBUILD_SHARED_LIBS:BOOL=ON",
+                "-DGOBJECT_INTROSPECTION:BOOL=OFF"
+            ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"https://github.com/libical/libical/releases/download/v3.0.3/libical-3.0.3.tar.gz";,
+                    "sha256": "5b91eb8ad2d2dcada39d2f81d5e3ac15895823611dc7df91df39a35586f39241"
+                }
+            ]
+        },
+        {
+            "name": "liboauth",
+            "config-opts": [ "--enable-nss" ],
+            "cleanup": [ "/share/man" ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "https://downloads.sourceforge.net/project/liboauth/liboauth-1.0.3.tar.gz";,
+                    "sha256": "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f"
+                }
+            ]
+        },
+        {
+            "name": "openldap",
+            "rm-configure": true,
+            "cleanup": [
+                "/bin",
+                "/share/man"
+            ],
+            "config-opts": [
+                "--disable-backends",
+                "--disable-overlays",
+                "--disable-slapd",
+                "--disable-debug",
+                "--enable-dynamic",
+                "--without-threads",
+                "--with-tls=gnutls"
+            ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.tgz";,
+                    "sha256": "9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d"
+                },
+
+                {
+                    "type": "script",
+                    "dest-filename": "autogen.sh",
+                    "commands": [
+                        "AUTOMAKE=\"/bin/true\" autoreconf -vfi"
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "libgdata",
+            "config-opts": [
+                "--disable-always-build-tests",
+                "--disable-goa",
+                "--disable-gtk-doc",
+                "--disable-introspection",
+                "--disable-installed-tests",
+                "--disable-vala"
+            ],
+            "cleanup": [
+                "/share/gtk-doc"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/libgdata.git";
+                }
+            ]
+        },
+        {
+            "name": "gnome-online-accounts",
+            "config-opts": [ "--disable-Werror", "--disable-telepathy", "--disable-documentation", 
"--disable-backend" ],
+            "cleanup": [ "/bin", "/share/GConf" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/gnome-online-accounts.git";
+                }
+            ]
+        },
+        {
+            "name": "geocode-glib",
+            "config-opts": [
+                "--disable-introspection",
+                "--disable-gtk-doc"
+            ],
+            "cleanup": [
+                "/share/gtk-doc"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/geocode-glib.git";
+                }
+            ]
+        },
+        {
+            "name": "libgweather",
+            "buildsystem" : "meson",
+            "builddir" : true,
+            "config-opts" : [
+                "--libdir=/app/lib",
+                "--buildtype=debugoptimized",
+                "-Dglade_catalog=false",
+                "-Denable_vala=false"
+            ],
+            "cleanup": [
+                "/share/gtk-doc"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/libgweather.git";
+                }
+            ]
+        },
+        {
+            "name": "evolution-data-server",
+            "buildsystem": "cmake-ninja",
+            "cleanup": [ "/share/GConf" ],
+            "config-opts": [
+                "-DENABLE_FILE_LOCKING=fcntl",
+                "-DENABLE_DOT_LOCKING=OFF",
+                "-DENABLE_OAUTH2=ON",
+                "-DENABLE_GTK=ON",
+                "-DENABLE_UOA=OFF",
+                "-DENABLE_GOA=ON",
+                "-DENABLE_EXAMPLES=ON",
+                "-DENABLE_INTROSPECTION=ON",
+                "-DENABLE_VALA_BINDINGS=ON",
+                "-DENABLE_INSTALLED_TESTS=ON",
+                "-DENABLE_GTK_DOC=OFF",
+                "-DENABLE_DBUS_SESSION_TOOL=ON",
+                "-DWITH_PRIVATE_DOCS=ON",
+                "-DWITH_PHONENUMBER=OFF",
+                "-DWITH_SYSTEMDUSERUNITDIR=OFF"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "https://gitlab.gnome.org/GNOME/evolution-data-server.git";,
+                    "branch": "master"
+                }
+            ]
+        }
+    ]
+}


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