mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
d4a4ecfa99
Signed-off-by: Michał Sawicz <michal@sawicz.net>
206 lines
5.7 KiB
YAML
206 lines
5.7 KiB
YAML
name: subsurface
|
|
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.
|
|
|
|
confinement: strict
|
|
base: core22
|
|
adopt-info: subsurface
|
|
|
|
apps:
|
|
subsurface:
|
|
environment:
|
|
LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}:${SNAP}/usr/local/lib
|
|
command-chain:
|
|
- bin/desktop-launch
|
|
command: usr/local/bin/subsurface
|
|
desktop: usr/local/share/applications/subsurface.desktop
|
|
plugs:
|
|
- bluez
|
|
- home
|
|
- network
|
|
- opengl
|
|
- raw-usb
|
|
- removable-media
|
|
- unity7
|
|
- wayland
|
|
|
|
parts:
|
|
googlemaps:
|
|
source: https://github.com/Subsurface/googlemaps.git
|
|
plugin: make
|
|
make-parameters:
|
|
- INSTALL_ROOT=${CRAFT_PART_INSTALL}
|
|
build-packages:
|
|
- qtbase5-dev
|
|
- wget
|
|
override-pull: |
|
|
craftctl default
|
|
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}-lts-lgpl
|
|
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}-lts-lgpl
|
|
done
|
|
override-build: |
|
|
qmake \
|
|
INCLUDEPATH+=${CRAFT_PART_SRC}/QtHeaders \
|
|
${CRAFT_PART_SRC}
|
|
craftctl default
|
|
|
|
desktop-qt5:
|
|
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
|
source-subdir: qt
|
|
plugin: make
|
|
make-parameters: ["FLAVOR=qt5"]
|
|
build-packages:
|
|
- build-essential
|
|
- qtbase5-dev
|
|
- dpkg-dev
|
|
stage-packages:
|
|
- libxkbcommon0
|
|
- fonts-ubuntu
|
|
- dmz-cursor-theme
|
|
- light-themes
|
|
- adwaita-icon-theme
|
|
- gnome-themes-standard
|
|
- shared-mime-info
|
|
- libqt5gui5
|
|
- libgdk-pixbuf2.0-0
|
|
- libqt5svg5 # for loading icon themes which are svg
|
|
- locales-all
|
|
- xdg-user-dirs
|
|
- fcitx-frontend-qt5
|
|
|
|
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
|
|
craftctl default
|
|
stage-packages:
|
|
- libbluetooth3
|
|
- libftdi1-2
|
|
- libhidapi-libusb0
|
|
- libusb-1.0-0
|
|
|
|
subsurface:
|
|
source: .
|
|
after: [desktop-qt5, googlemaps, libdc]
|
|
plugin: cmake
|
|
cmake-parameters:
|
|
- -DMAKE_TESTS=OFF
|
|
- -DLIBGIT2_DYNAMIC=ON
|
|
- -DFTDISUPPORT=ON
|
|
- -DLIBDIVECOMPUTER_LIBRARIES=../../../stage/usr/local/lib/libdivecomputer.so
|
|
- -DLIBDIVECOMPUTER_INCLUDE_DIR=../../../stage/usr/local/include
|
|
build-packages:
|
|
- build-essential
|
|
- libcurl4-gnutls-dev
|
|
- libftdi1-dev
|
|
- libgit2-dev
|
|
- libqt5charts5-dev
|
|
- libqt5svg5-dev
|
|
- libqt5webkit5-dev
|
|
- libsqlite3-dev
|
|
- libssh2-1-dev
|
|
- libssl-dev
|
|
- libxml2-dev
|
|
- libxslt1-dev
|
|
- libzip-dev
|
|
- pkg-config
|
|
- qtconnectivity5-dev
|
|
- qtlocation5-dev
|
|
- qtpositioning5-dev
|
|
- qttools5-dev
|
|
override-pull: |
|
|
craftctl default
|
|
craftctl set grade=devel
|
|
if [ ! -f latest-subsurface-buildnumber ]; then
|
|
git fetch --depth=1 https://github.com/subsurface/nightly-builds.git branch-for-$( git rev-parse HEAD )
|
|
git checkout FETCH_HEAD latest-subsurface-buildnumber
|
|
# We succeeded getting the release version, allow publishing above `beta`
|
|
craftctl set grade=stable
|
|
fi
|
|
craftctl set version=$( scripts/get-version )
|
|
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
|
|
craftctl default
|
|
stage-packages:
|
|
- libcap2
|
|
- libcurl3-gnutls
|
|
- libdb5.3
|
|
- libftdi1-2
|
|
- libgit2-1.1
|
|
- libqt5bluetooth5
|
|
- libqt5charts5
|
|
- libqt5concurrent5
|
|
- libqt5core5a
|
|
- libqt5gui5
|
|
- libqt5location5
|
|
- libqt5network5
|
|
- libqt5positioning5
|
|
- libqt5printsupport5
|
|
- libqt5qml5
|
|
- libqt5quick5
|
|
- libqt5quickwidgets5
|
|
- libqt5svg5
|
|
- libqt5webkit5
|
|
- libqt5widgets5
|
|
- libsqlite3-0
|
|
- libssh2-1
|
|
- libssl3
|
|
- libusb-1.0-0
|
|
- libxml2
|
|
- libxslt1.1
|
|
- libzip4
|
|
- qml-module-qtlocation
|
|
- qml-module-qtpositioning
|
|
- qml-module-qtquick2
|
|
- qtwayland5
|
|
- zlib1g
|