1---
2# Flatpak builder manifest for Geary.
3#
4# When updating this file after branching a new stable release, the
5# following should be updated:
6#
7# - app branch and geary source branches
8# - remove app tags and desktop-file-name-prefix
9#
10# When updating the Flathub manifest, copy the stable manifest over it
11# and pin each source to a specific tarball.
12#
13
14app-id: org.gnome.Geary.Devel
15branch: master
16runtime: org.gnome.Platform
17runtime-version: master
18sdk: org.gnome.Sdk
19command: geary
20
21desktop-file-name-suffix: " (Development)"
22tags:
23  - "nightly"
24
25finish-args:
26  # X11 + XShm access
27  - "--share=ipc"
28  - "--socket=x11"
29
30  # Wayland access
31  - "--socket=wayland"
32
33  # OpenGL access for WK2
34  - "--device=dri"
35
36  # Sent mail sound plugin
37  - "--socket=pulseaudio"
38
39  # Needs to talk to the network
40  - "--share=network"
41
42  # Secrets access
43  - "--talk-name=org.freedesktop.secrets"
44
45  # Contacts open/edit support
46  - "--talk-name=org.gnome.Contacts"
47
48  # GOA support
49  - "--talk-name=org.gnome.ControlCenter"
50  - "--talk-name=org.gnome.OnlineAccounts"
51
52  # Folks contact and avatar support (via EDS)
53  - "--talk-name=org.gnome.evolution.dataserver.*"
54  - "--filesystem=xdg-cache/evolution/addressbook:ro"
55
56  # Migrate GSettings into the sandbox
57  - "--metadata=X-DConf=migrate-path=/org/gnome/Geary/"
58
59  # Migrate Geary settings from other release versions
60  - "--filesystem=~/.config/geary:ro"
61  - "--filesystem=~/.var/app/org.gnome.Geary/config/geary:ro"
62
63  # Workaround for printing to PDF until WebKitGTK supports printing
64  - "--filesystem=xdg-download:rw"
65
66  # Let view source keep on working as-sis for now. Bug 779311.
67  - "--filesystem=/tmp"
68
69cleanup:
70  - /include
71  - /lib/pkgconfig
72  - /man
73  - /share/aclocal
74  - /share/gir-1.0
75  - /share/girepository-1
76  - /share/gtk-doc
77  - /share/man
78  - /share/pkgconfig
79  - /share/vala
80  - "*.la"
81  - "*.a"
82
83modules:
84
85  # Geary dependency
86  - name: gnome-online-accounts
87    config-opts:
88      - "--disable-telepathy"
89      - "--disable-documentation"
90      - "--disable-backend"
91      # Enabling debug via configure causes both -g and -O0 # to be
92      # set, which is bad since the former is redundant with the
93      # default fd.o build-options, and the latter conflicts with
94      # them. So disable debug instead.
95      - "--enable-debug=no"
96    sources:
97      - type: git
98        url: "https://gitlab.gnome.org/GNOME/gnome-online-accounts.git"
99        branch: master
100
101  # Geary dependency
102  - name: gspell
103    config-opts:
104      - "--disable-gtk-doc"
105      - "--disable-gtk-doc-html"
106    sources:
107      - type: git
108        url: "https://gitlab.gnome.org/GNOME/gspell.git"
109        branch: master
110    cleanup:
111      - /bin
112      - /share
113
114  # Geary dependency
115  - name: libhandy
116    buildsystem: meson
117    config-opts:
118      - "-Dglade_catalog=disabled"
119    sources:
120      - type: git
121        url: "https://gitlab.gnome.org/GNOME/libhandy.git"
122        branch: master
123    cleanup:
124      - /bin
125
126  # EDS dependency
127  - name: libical
128    buildsystem: cmake-ninja
129    config-opts:
130      - "-DBUILD_SHARED_LIBS:BOOL=ON"
131      - "-DCMAKE_BUILD_TYPE=Release"
132      - "-DCMAKE_INSTALL_LIBDIR=lib"
133      - "-DGOBJECT_INTROSPECTION=true"
134      - "-DICAL_BUILD_DOCS=false"
135      - "-DICAL_GLIB=true"
136      - "-DICAL_GLIB_VAPI=true"
137    sources:
138      - type: archive
139        url: https://github.com/libical/libical/releases/download/v3.0.8/libical-3.0.8.tar.gz
140        sha256: 09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f
141    cleanup:
142      - /lib/cmake
143
144  # EDS and sound-theme-freedesktop dependency
145  - name: "intltool"
146    sources:
147      - type: archive
148        url: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
149        sha256: 67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd
150    cleanup:
151      - "*"
152
153  # Geary dependency
154  - name: evolution-data-server
155    buildsystem: cmake-ninja
156    config-opts:
157      - "-DCMAKE_BUILD_TYPE=Release"
158      - "-DENABLE_CANBERRA=OFF"
159      - "-DENABLE_EXAMPLES=OFF"
160      - "-DENABLE_GOA=ON"
161      - "-DENABLE_GOOGLE=OFF"
162      - "-DENABLE_GTK=ON"
163      - "-DENABLE_GTK_DOC=OFF"
164      - "-DENABLE_INSTALLED_TESTS=OFF"
165      - "-DENABLE_INTROSPECTION=ON"
166      - "-DENABLE_VALA_BINDINGS=ON"
167      - "-DENABLE_WEATHER=OFF"
168      - "-DWITH_LIBDB=OFF"
169      - "-DWITH_OPENLDAP=OFF"
170    sources:
171      - type: git
172        url: https://gitlab.gnome.org/GNOME/evolution-data-server.git
173        branch: master
174    cleanup:
175      - /lib/cmake
176      - /lib/evolution-data-server/*-backends
177      - /libexec
178      - /share/dbus-1/services
179
180  # Geary dependency
181  - name: folks
182    buildsystem: meson
183    config-opts:
184      - "-Dtelepathy_backend=false"
185      - "-Dbluez_backend=false"
186      - "-Dinspect_tool=false"
187      - "-Dimport_tool=false"
188    sources:
189      - type: git
190        url: https://gitlab.gnome.org/GNOME/folks.git
191        branch: master
192    cleanup:
193      - /bin
194
195  # GSound dependency
196  - name: libcanberra
197    sources:
198      - type: archive
199        url: http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz
200        sha256: c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72
201    config-opts:
202      - "--disable-alsa"
203      - "--disable-null"
204      - "--disable-oss"
205
206  # Geary dependency, workaround libsecret access via secret portal
207  # being non-functional GNOME/libsecret#58
208  - name: libsecret
209    sources:
210      - type: archive
211        url: https://download.gnome.org/sources/libsecret/0.19/libsecret-0.19.1.tar.xz
212        sha256: 8583e10179456ae2c83075d95455f156dc08db6278b32bf4bd61819335a30e3a
213
214  # Geary dependency
215  - name: gsound
216    sources:
217      - type: git
218        url: https://gitlab.gnome.org/GNOME/gsound.git
219        branch: master
220
221  # Geary dependency
222  - name: gmime
223    sources:
224      - type: git
225        url: https://github.com/jstedfast/gmime.git
226        # Pin to 3.2.7 until 3.2.8 is released, or the mainline branch
227        # is pre-bumped to same.
228        branch: 3.2.7
229
230  # Geary dependency
231  - name: libpeas
232    buildsystem: meson
233    sources:
234      - type: git
235        url: https://gitlab.gnome.org/GNOME/libpeas.git
236        branch: master
237
238  # Geary dependency
239  - name: "libytnef"
240    sources:
241      - type: git
242        url: https://github.com/Yeraze/ytnef.git
243        # Pin to last known good version while
244        # https://github.com/Yeraze/ytnef/issues/81 remains an issue
245        branch: v1.9.3
246
247  # Geary dependency
248  - name: snowball
249    buildsystem: simple
250    sources:
251      - type: git
252        url: https://github.com/snowballstem/snowball.git
253        branch: master
254      - type: patch
255        paths:
256          - build-aux/patches/shared-library.diff
257    build-commands:
258      - "make libstemmer.so -j$FLATPAK_BUILDER_N_JOBS"
259      - "install -Dm644 include/libstemmer.h /app/include/libstemmer.h"
260      - "install -Dm644 libstemmer.so.0.0.0 /app/lib/libstemmer.so.0.0.0"
261      - "ln -s libstemmer.so.0.0.0 /app/lib/libstemmer.so.0"
262      - "ln -s libstemmer.so.0 /app/lib/libstemmer.so"
263
264  # Geary dependency
265  - name: sound-theme-freedesktop
266    sources:
267      - type: archive
268        url: http://people.freedesktop.org/~mccann/dist/sound-theme-freedesktop-0.8.tar.bz2
269        sha256: cb518b20eef05ec2e82dda1fa89a292c1760dc023aba91b8aa69bafac85e8a14
270
271  - name: geary
272    buildsystem: meson
273    config-opts:
274      - "-Dprofile=development"
275    sources:
276      - type: git
277        url: https://gitlab.gnome.org/GNOME/geary.git
278        branch: mainline
279