subsurface: 4.6.0 -> 4.7.2

This commit is contained in:
Orivej Desh 2017-11-01 12:26:04 +00:00
parent e64dc25434
commit a4085e28b1

View File

@ -1,64 +1,23 @@
{ { stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake
stdenv, , curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
cmake, doxygen, pkgconfig, autoreconfHook, , qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit
curl,
fetchgit,
grantlee,
libgit2,
libusb,
libssh2,
libxml2,
libxslt,
libzip,
qtbase, qtconnectivity, qtquickcontrols, qtscript, qtsvg, qttools, qtwebkit,
sqlite
}: }:
let let
version = "4.6.0"; version = "4.7.2";
libmarble = stdenv.mkDerivation rec {
name = "libmarble-ssrf-${version}";
src = fetchgit {
url = "git://git.subsurface-divelog.org/marble";
rev = "refs/tags/v${version}";
sha256 = "1dm2hdk6y36ls7pxbzkqmyc46hdy2cd5f6pkxa6nfrbhvk5f31zd";
};
buildInputs = [ qtbase qtquickcontrols qtscript qtwebkit ];
nativeBuildInputs = [ doxygen pkgconfig cmake ];
enableParallelBuilding = true;
cmakeFlags = [
"-DQTONLY=TRUE"
"-DQT5BUILD=ON"
"-DBUILD_MARBLE_TESTS=NO"
"-DWITH_DESIGNER_PLUGIN=NO"
"-DBUILD_MARBLE_APPS=NO"
];
meta = with stdenv.lib; {
description = "Qt library for a slippy map with patches from the Subsurface project";
homepage = http://subsurface-divelog.org;
license = licenses.lgpl21;
maintainers = with maintainers; [ mguentner ];
platforms = platforms.all;
};
};
libdc = stdenv.mkDerivation rec { libdc = stdenv.mkDerivation rec {
name = "libdivecomputer-ssrf-${version}"; name = "libdivecomputer-ssrf-${version}";
src = fetchgit { src = fetchurl {
url = "git://subsurface-divelog.org/libdc"; url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz";
rev = "refs/tags/v${version}"; sha256 = "04wadhhva1bfnwk0kl359kcv0f83mgym2fzs441spw5llcl7k52r";
sha256 = "0s82c8bvqph9c9chwzd76iwrw968w7lgjm3pj4hmad1jim67bs6n";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ zlib ];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -70,31 +29,73 @@ let
}; };
}; };
googlemaps = stdenv.mkDerivation rec {
name = "googlemaps-${version}";
version = "2017-09-17";
src = fetchFromGitHub {
owner = "vladest";
repo = "googlemaps";
rev = "1b857c02504dd52b1aa442418b8dcea78ced3f35";
sha256 = "14icmc925g4abwwdrldjc387aiyvcp3ia5z7mfh9qa09bv829a84";
};
nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase qtlocation ];
pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
installPhase = ''
mkdir $out $(dirname ${pluginsSubdir})
mv plugins ${pluginsSubdir}
mv lib $out/
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
inherit (src.meta) homepage;
description = "QtLocation plugin for Google maps tile API";
maintainers = with maintainers; [ orivej ];
license = licenses.mit;
platforms = platforms.all;
};
};
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "subsurface-${version}"; name = "subsurface-${version}";
src = fetchgit { src = fetchurl {
url = "git://git.subsurface-divelog.org/subsurface"; url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz";
rev = "refs/tags/v${version}"; sha256 = "06f215xx1nc2q2qff2ihcl86fkrlnkvacl1swi3fw9iik6nq3bjp";
sha256 = "1rk5n52p6cnyjrgi7ybhmvh7y31zxrjny0mqpnc1wql69f90h94c";
}; };
buildInputs = [ buildInputs = [
libdc libmarble libdc googlemaps
curl grantlee libgit2 libssh2 libusb libxml2 libxslt libzip curl grantlee libgit2 libssh2 libusb libxml2 libxslt libzip
qtbase qtconnectivity qtsvg qttools qtwebkit qtbase qtconnectivity qtsvg qttools qtwebkit
]; ];
nativeBuildInputs = [ cmake pkgconfig ];
enableParallelBuilding = false; # subsurfacewebservices.h dependency on ui_webservices.h nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
cmakeFlags = [ cmakeFlags = [
"-DMARBLE_LIBRARIES=${libmarble}/lib/libssrfmarblewidget.so" "-DLIBDC_FROM_PKGCONFIG=ON"
"-DNO_PRINTING=OFF" "-DNO_PRINTING=OFF"
]; ];
postInstall = ''
wrapProgram $out/bin/subsurface \
--prefix QT_PLUGIN_PATH : "${googlemaps}/${googlemaps.pluginsSubdir}"
'';
enableParallelBuilding = true;
passthru = { inherit version libdc googlemaps; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Subsurface is an open source divelog program that runs on Windows, Mac and Linux"; description = "A divelog program";
longDescription = '' longDescription = ''
Subsurface can track single- and multi-tank dives using air, Nitrox or TriMix. Subsurface can track single- and multi-tank dives using air, Nitrox or TriMix.
It allows tracking of dive locations including GPS coordinates (which can also It allows tracking of dive locations including GPS coordinates (which can also