summary refs log tree commit diff
path: root/pkgs/applications/misc/subsurface/default.nix
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2017-11-01 12:26:04 +0000
committerOrivej Desh <orivej@gmx.fr>2017-11-05 03:38:37 +0000
commita4085e28b17fcac19c7c44b1b72fd47becc93989 (patch)
tree5ee33a3c881070e448c5aeb374de93a248461905 /pkgs/applications/misc/subsurface/default.nix
parente64dc2543458b52abcd913bad87851f5d7db435d (diff)
downloadnixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar.gz
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar.bz2
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar.lz
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar.xz
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.tar.zst
nixpkgs-a4085e28b17fcac19c7c44b1b72fd47becc93989.zip
subsurface: 4.6.0 -> 4.7.2
Diffstat (limited to 'pkgs/applications/misc/subsurface/default.nix')
-rw-r--r--pkgs/applications/misc/subsurface/default.nix109
1 files changed, 55 insertions, 54 deletions
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 950f8da7860..051b67bc972 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -1,71 +1,65 @@
-{
-  stdenv,
-  cmake, doxygen, pkgconfig, autoreconfHook,
-  curl,
-  fetchgit,
-  grantlee,
-  libgit2,
-  libusb,
-  libssh2,
-  libxml2,
-  libxslt,
-  libzip,
-  qtbase, qtconnectivity, qtquickcontrols, qtscript, qtsvg, qttools, qtwebkit,
-  sqlite
+{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake
+, curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
+, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit
 }:
 
 let
-  version = "4.6.0";
+  version = "4.7.2";
 
-  libmarble = stdenv.mkDerivation rec {
-    name = "libmarble-ssrf-${version}";
+  libdc = stdenv.mkDerivation rec {
+    name = "libdivecomputer-ssrf-${version}";
 
-    src = fetchgit {
-      url    = "git://git.subsurface-divelog.org/marble";
-      rev    = "refs/tags/v${version}";
-      sha256 = "1dm2hdk6y36ls7pxbzkqmyc46hdy2cd5f6pkxa6nfrbhvk5f31zd";
+    src = fetchurl {
+      url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz";
+      sha256 = "04wadhhva1bfnwk0kl359kcv0f83mgym2fzs441spw5llcl7k52r";
     };
 
-    buildInputs = [ qtbase qtquickcontrols qtscript qtwebkit ];
-    nativeBuildInputs = [ doxygen pkgconfig cmake ];
+    nativeBuildInputs = [ autoreconfHook ];
+
+    buildInputs = [ zlib ];
 
     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;
+      homepage = http://www.libdivecomputer.org;
+      description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
       maintainers = with maintainers; [ mguentner ];
+      license = licenses.lgpl21;
       platforms = platforms.all;
     };
   };
 
-  libdc = stdenv.mkDerivation rec {
-    name = "libdivecomputer-ssrf-${version}";
+  googlemaps = stdenv.mkDerivation rec {
+    name = "googlemaps-${version}";
+
+    version = "2017-09-17";
 
-    src = fetchgit {
-      url    = "git://subsurface-divelog.org/libdc";
-      rev    = "refs/tags/v${version}";
-      sha256 = "0s82c8bvqph9c9chwzd76iwrw968w7lgjm3pj4hmad1jim67bs6n";
+    src = fetchFromGitHub {
+      owner = "vladest";
+      repo = "googlemaps";
+      rev = "1b857c02504dd52b1aa442418b8dcea78ced3f35";
+      sha256 = "14icmc925g4abwwdrldjc387aiyvcp3ia5z7mfh9qa09bv829a84";
     };
 
-    nativeBuildInputs = [ autoreconfHook ];
+    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; {
-      homepage = http://www.libdivecomputer.org;
-      description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
-      maintainers = with maintainers; [ mguentner ];
-      license = licenses.lgpl21;
+      inherit (src.meta) homepage;
+      description = "QtLocation plugin for Google maps tile API";
+      maintainers = with maintainers; [ orivej ];
+      license = licenses.mit;
       platforms = platforms.all;
     };
   };
@@ -73,28 +67,35 @@ let
 in stdenv.mkDerivation rec {
   name = "subsurface-${version}";
 
-  src = fetchgit {
-    url    = "git://git.subsurface-divelog.org/subsurface";
-    rev    = "refs/tags/v${version}";
-    sha256 = "1rk5n52p6cnyjrgi7ybhmvh7y31zxrjny0mqpnc1wql69f90h94c";
+  src = fetchurl {
+    url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz";
+    sha256 = "06f215xx1nc2q2qff2ihcl86fkrlnkvacl1swi3fw9iik6nq3bjp";
   };
 
   buildInputs = [
-    libdc libmarble
+    libdc googlemaps
     curl grantlee libgit2 libssh2 libusb libxml2 libxslt libzip
     qtbase qtconnectivity qtsvg qttools qtwebkit
   ];
-  nativeBuildInputs = [ cmake pkgconfig ];
 
-  enableParallelBuilding = false; # subsurfacewebservices.h dependency on ui_webservices.h
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
 
   cmakeFlags = [
-    "-DMARBLE_LIBRARIES=${libmarble}/lib/libssrfmarblewidget.so"
+    "-DLIBDC_FROM_PKGCONFIG=ON"
     "-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; {
-    description = "Subsurface is an open source divelog program that runs on Windows, Mac and Linux";
+    description = "A divelog program";
     longDescription = ''
       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