summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2018-05-27 11:58:48 +0200
committerNiels De Graef <nielsdegraef@gmail.com>2018-05-27 12:00:53 +0200
commited66836bfe73cef7691dcdde20c768f69f6f7581 (patch)
treedc3f025a6bbef4e639fbc47489c4e3ffe5d182a5
parent7c58c2a0458e6f2b51525ff3bd374a1fda6fc69e (diff)
downloadgnome-contacts-feature/yamlize-flatpak.tar.gz
Flatpak: use YAML rather than JSON in the manifest.feature/yamlize-flatpak
This allows us to make the manifest more concise and readable.
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--data/flatpak/org.gnome.Contacts.json234
-rw-r--r--data/flatpak/org.gnome.Contacts.yml179
3 files changed, 181 insertions, 236 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 52f4e8d..fc65e2e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,12 +12,12 @@ flatpak:master:
image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
stage: build-flatpak
script:
- - flatpak-builder --stop-at=gnome-contacts app data/flatpak/org.gnome.Contacts.json
+ - flatpak-builder --stop-at=gnome-contacts app data/flatpak/org.gnome.Contacts.yml
# 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 meson --prefix=/app _build
- flatpak build app ninja -C _build install
- - flatpak-builder --finish-only --repo=repo app data/flatpak/org.gnome.Contacts.json
+ - flatpak-builder --finish-only --repo=repo app data/flatpak/org.gnome.Contacts.yml
# Make a Flatpak Contacts bundle for people to test
- flatpak build-bundle repo contacts-dev.flatpak --runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo org.gnome.Contacts
# TODO: Run automatic tests inside the Flatpak env
diff --git a/data/flatpak/org.gnome.Contacts.json b/data/flatpak/org.gnome.Contacts.json
deleted file mode 100644
index e07e24f..0000000
--- a/data/flatpak/org.gnome.Contacts.json
+++ /dev/null
@@ -1,234 +0,0 @@
-{
- "app-id": "org.gnome.Contacts",
- "runtime": "org.gnome.Platform",
- "runtime-version": "master",
- "sdk": "org.gnome.Sdk",
- "command": "gnome-contacts",
- "desktop-file-name-prefix": "(Development) ",
- "copy-icon": true,
- "finish-args": [
- /* X11 + XShm access */
- "--share=ipc", "--socket=x11",
- /* Wayland access */
- "--socket=wayland",
- "--device=dri",
- /* Notification access */
- "--talk-name=org.freedesktop.Notifications",
- /* GNOME Control Center (for the Online Accounts panel) */
- "--talk-name=org.gnome.ControlCenter",
- /* GNOME Online Accounts */
- "--talk-name=org.gnome.OnlineAccounts",
- /* Evolution Data server */
- "--talk-name=org.gnome.evolution.dataserver.AddressBook9",
- "--talk-name=org.gnome.evolution.dataserver.Sources5",
- "--talk-name=org.gnome.evolution.dataserver.Subprocess.Backend.*",
- /* Telepathy */
- "--talk-name=org.freedesktop.Telepathy.AccountManager",
- /* Allow avatars from $HOME */
- "--filesystem=home:ro",
- /* Access for the default avatars */
- "--filesystem=xdg-data/pixmaps/faces:ro:create",
- /* Needed for dconf to work */
- "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro",
- "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
- ],
- "build-options" : {
- "cflags": "-O2 -g",
- "cxxflags": "-O2 -g",
- "env": {
- "V": "1"
- }
- },
- "cleanup": [
- "/include",
- "/lib/pkgconfig", "/share/pkgconfig",
- "/share/aclocal",
- "/man", "/share/man",
- "/share/gtk-doc",
- "/share/vala",
- "*.la", "*.a"
- ],
- "modules": [
- {
- "name": "telepathy-glib",
- "config-opts": [
- "--disable-static",
- "--enable-vala-bindings=yes"
- ],
- "sources": [
- {
- "type": "archive",
- "url": "https://telepathy.freedesktop.org/releases/telepathy-glib/telepathy-glib-0.24.1.tar.gz",
- "sha256": "9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7f7d5eb"
- }
- ]
- },
- {
- "name": "libgee",
- "build-options" : {
- "env": {
- "PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR": "/app/share/gir-1.0",
- "PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR": "/app/lib/girepository-1.0"
- }
- },
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/libgee.git"
- }
- ]
- },
- {
- /* Needed by g-o-a */
- "name": "librest",
- "sources": [
- {
- "type": "git",
- "branch": "librest-0-7",
- "url": "https://gitlab.gnome.org/GNOME/librest.git"
- }
- ]
- },
- {
- "name": "gnome-online-accounts",
- "cleanup": [ "/bin", "/share/GConf" ],
- "config-opts": [
- "--disable-telepathy",
- "--disable-documentation",
- "--disable-backend"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/gnome-online-accounts.git"
- }
- ]
- },
- {
- "name": "libical",
- "cleanup": [
- "/lib/cmake"
- ],
- "buildsystem": "cmake-ninja",
- "config-opts": [
- "-DCMAKE_BUILD_TYPE=Release",
- "-DBUILD_SHARED_LIBS:BOOL=ON"
- ],
- "sources": [
- {
- "type": "archive",
- "url": "https://github.com/libical/libical/releases/download/v2.0.0/libical-2.0.0.tar.gz",
- "sha256": "654c11f759c19237be39f6ad401d917e5a05f36f1736385ed958e60cf21456da"
- }
- ]
- },
- {
- "name": "liboauth",
- "sources": [
- {
- "type": "archive",
- "url": "http://netix.dl.sourceforge.net/project/liboauth/liboauth-1.0.3.tar.gz",
- "sha256": "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f"
- }
- ]
- },
- {
- "name": "libgdata",
- "config-opts": [
- "--disable-always-build-tests",
- "--disable-Werror",
- "--disable-static"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/libgdata.git"
- }
- ]
- },
- {
- "name": "evolution-data-server",
- "cleanup": [
- "/lib/cmake",
- "/lib/evolution-data-server/*-backends",
- "/libexec",
- "/share/dbus-1/services"
- ],
- "config-opts": [
- "-DCMAKE_BUILD_TYPE=Release",
- "-DENABLE_GTK=ON",
- "-DENABLE_GOA=ON",
- "-DENABLE_UOA=OFF",
- "-DENABLE_GOOGLE_AUTH=ON",
- "-DENABLE_GOOGLE=ON",
- "-DENABLE_WITH_PHONENUMBER=ON",
- "-DENABLE_VALA_BINDINGS=ON",
- "-DENABLE_WEATHER=OFF",
- "-DWITH_OPENLDAP=OFF",
- "-DENABLE_INTROSPECTION=ON",
- "-DENABLE_INSTALLED_TESTS=OFF",
- "-DENABLE_GTK_DOC=OFF",
- "-DENABLE_EXAMPLES=OFF"
- ],
- "buildsystem": "cmake-ninja",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/evolution-data-server.git"
- }
- ]
- },
- {
- "name": "folks",
- "cleanup": [
- "/bin",
- "/share/GConf"
- ],
- "config-opts": [
- "--disable-fatal-warnings"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/folks.git"
- }
- ]
- },
- {
- "name": "gnome-desktop",
- "config-opts": [
- "--disable-debug-tools",
- "--disable-udev"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/gnome-desktop.git"
- }
- ]
- },
- {
- "name": "cheese",
- "config-opts": [
- "--disable-man",
- "--disable-lcov"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/cheese.git"
- }
- ]
- },
- {
- "name": "gnome-contacts",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/gnome-contacts.git"
- }
- ]
- }
- ]
-}
diff --git a/data/flatpak/org.gnome.Contacts.yml b/data/flatpak/org.gnome.Contacts.yml
new file mode 100644
index 0000000..43cc7eb
--- /dev/null
+++ b/data/flatpak/org.gnome.Contacts.yml
@@ -0,0 +1,179 @@
+app-id: org.gnome.Contacts
+
+runtime: org.gnome.Platform
+runtime-version: master
+sdk: org.gnome.Sdk
+
+command: gnome-contacts
+desktop-file-name-prefix: '(Development) '
+copy-icon: true
+
+finish-args:
+ # X11 + XShm access
+ - --share=ipc
+ - --socket=x11
+ # Wayland access
+ - --socket=wayland
+ - --device=dri
+ # Notification access
+ - --talk-name=org.freedesktop.Notifications
+ # GNOME Settings (for the Online Accounts panel)
+ - --talk-name=org.gnome.ControlCenter
+ # GNOME Online Accounts (GOA)
+ - --talk-name=org.gnome.OnlineAccounts
+ # Evolution Data server (E-D-S)
+ - --talk-name=org.gnome.evolution.dataserver.AddressBook9
+ - --talk-name=org.gnome.evolution.dataserver.Sources5
+ - --talk-name=org.gnome.evolution.dataserver.Subprocess.Backend.*
+ # Telepathy
+ - --talk-name=org.freedesktop.Telepathy.AccountManager
+ # Allow avatars from $HOME
+ - --filesystem=home:ro
+ # Access for the default avatars
+ - --filesystem=xdg-data/pixmaps/faces:ro:create
+ # Needed for dconf to work
+ - --filesystem=xdg-run/dconf
+ - --filesystem=~/.config/dconf:ro
+ - --talk-name=ca.desrt.dconf
+ - --env=DCONF_USER_CONFIG_DIR=.config/dconf
+
+build-options:
+ - cflags: -O2 -g
+ - cxxflags: -O2 -g
+ - env:
+ V: 1
+
+cleanup:
+ - /include
+ - /lib/pkgconfig
+ - /share/pkgconfig
+ - /share/aclocal
+ - /man
+ - /share/man
+ - /share/gtk-doc
+ - /share/vala
+ - '*.la'
+ - '*.a'
+
+modules:
+ - name: telepathy-glib
+ config-opts:
+ - --disable-static
+ - --enable-vala-bindings=yes
+ sources:
+ - type: archive
+ url: https://telepathy.freedesktop.org/releases/telepathy-glib/telepathy-glib-0.24.1.tar.gz
+ sha256: 9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7f7d5eb
+
+ - name: libgee
+ build-options:
+ - env:
+ PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR: /app/share/gir-1.0
+ PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR: /app/lib/girepository-1.0
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/libgee.git
+
+ # Needed by g-o-a
+ - name: librest
+ sources:
+ - type: git
+ branch: librest-0-7
+ url: https://gitlab.gnome.org/GNOME/librest.git
+
+ - name: gnome-online-accounts
+ cleanup:
+ - /bin
+ - /share/GCon/
+ config-opts:
+ - --disable-telepathy
+ - --disable-documentation
+ - --disable-backend
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/gnome-online-accounts.git
+
+ - name: libical
+ cleanup:
+ - /lib/cmake
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=Release
+ - -DBUILD_SHARED_LIBS:BOOL=ON
+ sources:
+ - type: archive
+ url: https://github.com/libical/libical/releases/download/v2.0.0/libical-2.0.0.tar.gz
+ sha256: 654c11f759c19237be39f6ad401d917e5a05f36f1736385ed958e60cf21456da
+
+ - name: liboauth
+ sources:
+ - type: archive
+ url: http://netix.dl.sourceforge.net/project/liboauth/liboauth-1.0.3.tar.gz
+ sha256: 0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f
+
+ - name: libgdata
+ config-opts:
+ - --disable-always-build-tests
+ - --disable-Werror
+ - --disable-static
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/libgdata.git
+
+ - name: evolution-data-server
+ cleanup:
+ - /lib/cmake
+ - '/lib/evolution-data-server/*-backends'
+ - /libexec
+ - /share/dbus-1/services
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=Release
+ - -DENABLE_GTK=ON
+ - -DENABLE_GOA=ON
+ - -DENABLE_UOA=OFF
+ - -DENABLE_GOOGLE_AUTH=ON
+ - -DENABLE_GOOGLE=ON
+ - -DENABLE_WITH_PHONENUMBER=ON
+ - -DENABLE_VALA_BINDINGS=ON
+ - -DENABLE_WEATHER=OFF
+ - -DWITH_OPENLDAP=OFF
+ - -DENABLE_INTROSPECTION=ON
+ - -DENABLE_INSTALLED_TESTS=OFF
+ - -DENABLE_GTK_DOC=OFF
+ - -DENABLE_EXAMPLES=OFF
+ buildsystem: cmake-ninja
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/evolution-data-server.git
+
+ - name: folks
+ cleanup:
+ - /bin
+ - /share/GConf
+ config-opts:
+ - --disable-fatal-warnings
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/folks.git
+
+ - name: gnome-desktop
+ config-opts:
+ - --disable-debug-tools
+ - --disable-udev
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/gnome-desktop.git
+
+ - name: cheese
+ config-opts:
+ - --disable-man
+ - --disable-lcov
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/cheese.git
+
+ - name: gnome-contacts
+ buildsystem: meson
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/GNOME/gnome-contacts.git