-
Notifications
You must be signed in to change notification settings - Fork 55
/
org.viking.Viking.yml
215 lines (207 loc) · 6.8 KB
/
org.viking.Viking.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
app-id: org.viking.Viking
# https://docs.flatpak.org/en/latest/available-runtimes.html
# NB Viking doesn't use any Gnome specifics so freedesktop should suffice for the build
# However for GPSBabel needs Qt, and so use KDE runtime
#runtime: org.freedesktop.Platform
#runtime-version: '22.08'
#sdk: org.freedesktop.Sdk
runtime: org.kde.Platform
runtime-version: '5.15-22.08'
sdk: org.kde.Sdk
command: viking
rename-icon: viking
rename-desktop-file: viking.desktop
finish-args:
- --share=network
- --system-talk-name=org.freedesktop.GeoClue2
- --share=ipc
- --socket=x11
# Allow to read/save anywhere (subject to normal permissions)
- --filesystem=host
modules:
# Shared modules 'git submodule' - https://github.com/flathub/shared-modules
- shared-modules/intltool/intltool-0.51.json
#
# libauth
# build-command mostly from https://github.com/x42/liboauth/blob/master/.travis.yml
# modified to actually work by using '--enable-nss' for this flatpak environment
# and install into the flatpak area - ${FLATPAK_DEST} - which is typically /app
#
- name: liboauth
buildsystem: simple
sources:
- type: git
url: https://github.com/x42/liboauth.git
tag: "v1.0.3"
commit: 07fc30bf6d44f5b431a943452f6083fbaf22bc8f
build-commands:
- aclocal && autoheader && libtoolize --copy && autoconf && automake --gnu --add-missing --copy && ./configure --enable-nss --prefix="${FLATPAK_DEST}" && make && make install
cleanup:
- /include
- '/lib/*.a'
#
# libzip
#
- name: libzip
buildsystem: cmake-ninja
sources:
- type: archive
url: https://libzip.org/download/libzip-1.10.0.tar.xz
sha256: cd2a7ac9f1fb5bfa6218272d9929955dc7237515bba6e14b5ad0e1d1e2212b43
cleanup:
- /include
- /lib/pkgconfig/
- /lib/cmake/
- '/lib/*.a'
- '/bin/zip*'
#
# gexiv2/exiv2 cribbed from GIMP json build
# https://github.com/flathub/org.gimp.GIMP/blob/master/org.gimp.GIMP.json
#
- name: gexiv2
modules:
- name: exiv2
buildsystem: cmake-ninja
builddir: true
sources:
- type: archive
url: https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz
sha256: 35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2
cleanup:
- /include
- '/lib/*.a'
- /lib/pkgconfig/
- /lib/cmake/
- '/bin/exi*'
- '/bin/ipt*'
- '/bin/xmp*'
- '/bin/m*'
- '/bin/addmoddel'
- '/bin/geotag'
- '/bin/taglist'
buildsystem: meson
config-opts:
- -Dintrospection=false
- -Dlibdir=lib
sources:
# Note tried to update to gexiv2-0.14.0
# But get ../meson.build:26:0: ERROR: python3 is missing modules: gi
# Which I don't know how to resolve easily - the following might be relevant but I'm not going to pursue this any further ATM
# https://docs.flatpak.org/en/latest/python.html
- type: archive
url: https://download.gnome.org/sources/gexiv2/0.12/gexiv2-0.12.1.tar.xz
sha256: 8aeafd59653ea88f6b78cb03780ee9fd61a2f993070c5f0d0976bed93ac2bd77
cleanup:
- /include
- '/lib/*.a'
- /lib/pkgconfig/
#
# GPSD
#
- name: gpsd
#
# scons shamelessly copied from
# https://github.com/scx/gpick-flatpak/blob/master/scons.yaml
# but revised cleanup and updated version
#
modules:
- name: scons
buildsystem: simple
sources:
- type: archive
url: http://download.sourceforge.net/scons/scons-3.1.2.tar.gz
sha256: 7801f3f62f654528e272df780be10c0e9337e897650b62ddcee9f39fde13f8fb
build-commands:
- python3 setup.py install --prefix="${FLATPAK_DEST}";
cleanup:
- /include
- '/lib/scons-*'
- '/bin/scons*'
buildsystem: simple
sources:
- type: archive
url: http://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-3.23.1.tar.xz
sha256: ca2c466df783c57b8a07ad3f5c67943186d05befdc377de938ed111d1358a8c1
build-commands:
- scons minimal=yes shared=True gpsd=False gpsdclients=False prefix="${FLATPAK_DEST}" && scons install
cleanup:
- /include
- '/lib/*.a'
- /lib/pkgconfig/
# qt, thus needs org.kde.Sdk
- name: gpsbabel
# NB after 1.7 has moved to cmake
# NB2 1.7 broken build on using --without-libusb
buildsystem: autotools
config-opts:
- --without-libusb
sources:
- type: git
url: https://github.com/gpsbabel/gpsbabel.git
branch: "gpsbabel_1_6_0"
# DO NOT CLEAN THESE AS NEEDED FOR DEPLOYMENT!!
# cleanup:
# - /bin
# - /lib
# Otherwise gpsbabel & libgps.so can get removed
#
# libnova
# Note the v0.16 release does not contain the next moon phase functionality**
# **which has issues anyway - see Bug XYZ...
#
- name: libnova
buildsystem: simple
sources:
- type: git
url: https://git.code.sf.net/p/libnova/libnova
tag: "v0.16"
commit: edbf65abe27ef1a2520eb9e839daaf58f15a6941
build-commands:
- ./autogen.sh && ./configure --prefix="${FLATPAK_DEST}" && make && make install
cleanup:
- /include
- '/lib/*.a'
#
# xxd tool required as part of Viking build
# Found best candidate for standalone component (rather than within Vim)
#
- name: xxd
buildsystem: simple
sources:
- type: git
url: https://github.com/fancer/xxd
tag: "v1.7"
commit: 0a49a7308f365b3b82f26b5d9df2ec00c41eadf0
build-commands:
- ./bootstrap.sh && ./configure --prefix="${FLATPAK_DEST}" && make && make install
# Actual own Viking build here
#
- name: viking
buildsystem: autotools
# Mapnik is expansive C++ dependencies, but more importantly creating maps generally requires a complex system setup for runtime usage
# thus seemingly out of scope for a flatpak app anyway - so disable for now.
config-opts:
- --disable-mapnik
sources:
# Note v1.8 doesn't build 'out of the box' due to dependency on gnome-doc-utils
# Hence creation of v1.8 flatpak version with a few fixes to get build working.
- type: git
url: git://git.code.sf.net/p/viking/code
# branch: "viking-1.8-flatpak"
branch: "viking-1.10"
# Local path for testing
# - type: archive
# path: viking-1.8.zip
# Unclear how this worked previously as yelp.m4 is only in the Gnome Sdk (not even the freedesktop Sdk! but now using Kde for GPSBabel)
# so manually copy a version of yelp.m4 into m4/ for use with this flatpak runtime
- type: file
path: /usr/share/aclocal/yelp.m4
- type: shell
commands: ["cp yelp.m4 ./m4","ls ./m4"]
- name: metainfo
buildsystem: simple
build-commands:
- install -D org.viking.Viking.appdata.xml /app/share/metainfo/org.viking.Viking.metainfo.xml
sources:
- type: file
path: org.viking.Viking.appdata.xml