subsurface/snap/snapcraft.yaml

163 lines
4.3 KiB
YAML
Raw Normal View History

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: .
source-type: git
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:
source: .
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