blob: 08a34ef3185b392d2b21eb29760c9674cbf5bac2 (
plain) (
blame)
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
|
name: subsurface
version: git
version-script: |
git describe
icon: icons/subsurface-icon.svg
summary: Open source divelog program for recreational, tech, and free-divers
description: |
Subsurface can plan and track single- and multi-tank dives using air, Nitrox
or TriMix. It allows tracking of dive locations including GPS coordinates
(which can also conveniently be entered using a map interface), logging of
equipment used and names of other divers, and lets users rate dives and
provide additional notes.
grade: stable
confinement: strict
base: core18
apps:
subsurface:
command: desktop-launch $SNAP/bin/subsurface
desktop: share/applications/subsurface.desktop
plugs:
- bluez
- home
- network
- opengl
- raw-usb
- unity7
parts:
googlemaps:
source: git://github.com/Subsurface-divelog/googlemaps.git
build-packages:
- wget
override-pull: |
snapcraftctl pull
export QT_SELECT=5
export QT_VERSION=$( qmake -query QT_VERSION )
mkdir -p QtHeaders/QtLocation/private QtHeaders/QtPositioning/private
cd QtHeaders/QtLocation/private
for HEADER in \
qlocationglobal \
maps/qabstractgeotilecache \
maps/qcache3q \
maps/qgeocameracapabilities \
maps/qgeocameradata \
maps/qgeomap \
maps/qgeomappingmanager \
maps/qgeomappingmanagerengine \
maps/qgeomaptype \
maps/qgeofiletilecache \
maps/qgeoprojection \
maps/qgeotiledmap \
maps/qgeotiledmappingmanagerengine \
maps/qgeotiledmapreply \
maps/qgeotilefetcher \
maps/qgeotilespec \
places/unsupportedreplies
do
wget --no-verbose --content-disposition \
http://code.qt.io/cgit/qt/qtlocation.git/plain/src/location/${HEADER}_p.h?h=v${QT_VERSION}
done
cd -
cd QtHeaders/QtPositioning/private
for HEADER in \
qdoublematrix4x4 \
qdoublevector2d \
qdoublevector3d \
qpositioningglobal
do
wget --no-verbose --content-disposition \
http://code.qt.io/cgit/qt/qtlocation.git/plain/src/positioning/${HEADER}_p.h?h=v${QT_VERSION}
done
plugin: qmake
options:
- INCLUDEPATH+=QtHeaders
libdc:
plugin: autotools
source-subdir: libdivecomputer
build-packages:
- libbluetooth-dev
- libhidapi-dev
- libusb-dev
override-build: |
sed -i 's/\[HIDAPI\], \[hidapi\]/[HIDAPI], [hidapi-libusb]/' libdivecomputer/configure.ac
snapcraftctl build
stage-packages:
- libbluetooth3
- libftdi1-2
- libhidapi-libusb0
- libusb-1.0-0
subsurface:
after: [desktop-qt5, googlemaps, libdc]
plugin: cmake
configflags:
- -DMAKE_TESTS=OFF
- -DLIBGIT2_DYNAMIC=ON
- -DFTDISUPPORT=ON
- -DLIBDIVECOMPUTER_LIBRARIES=../../../stage/lib/libdivecomputer.so
source-type: git
build-packages:
- build-essential
- libcurl4-gnutls-dev
- libftdi1-dev
- libgrantlee5-dev
- libgit2-dev
- libqt5svg5-dev
- libqt5webkit5-dev
- libsqlite3-dev
- libssh2-1-dev
- libssl-dev
- libxml2-dev
- libxslt-dev
- libzip-dev
- pkg-config
- qtconnectivity5-dev
- qtlocation5-dev
- qtpositioning5-dev
- qttools5-dev
override-build: |
mkdir -p ../install-root
ln -sf ../../../stage/usr/lib/*/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so \
../install-root/
sed -i 's@^Icon=.*@Icon=${SNAP}/share/icons/hicolor/scalable/apps/subsurface-icon.svg@' ../src/subsurface.desktop
snapcraftctl build
stage-packages:
- libcap2
- libcurl3-gnutls
- libdb5.3
- libftdi1-2
- libgit2-26
- libgrantlee-templates5
- libqt5bluetooth5
- libqt5concurrent5
- libqt5core5a
- libqt5gui5
- libqt5location5
- libqt5network5
- libqt5positioning5
- libqt5printsupport5
- libqt5qml5
- libqt5quick5
- libqt5quickwidgets5
- libqt5svg5
- libqt5webkit5
- libqt5widgets5
- libsqlite3-0
- libssh2-1
- libssl1.0.0
- libusb-1.0-0
- libxml2
- libxslt1.1
- libzip4
- qml-module-qtlocation
- qml-module-qtpositioning
- qml-module-qtquick2
- zlib1g
|