summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2016-11-15 04:56:35 +0100
committerGitHub <noreply@github.com>2016-11-15 04:56:35 +0100
commit8bed505d7e4db8f398651c31c00fae7657bc823a (patch)
treecc314709db42459dc15912263b185db7fb8f2bc9 /pkgs
parent02e9c88d778b06909d4ef5a2e7e417aaeecb89a7 (diff)
parent90377526eba1b9d0747f541e21340578369796b6 (diff)
downloadnixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar.gz
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar.bz2
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar.lz
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar.xz
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.tar.zst
nixpkgs-8bed505d7e4db8f398651c31c00fae7657bc823a.zip
Merge pull request #20311 from mguentner/subsurface
subsurface init at 4.5.6 and dependencies (libdivecomputer, libmarble-ssrf, libgit2 @ 0.23.2)
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/misc/subsurface/default.nix64
-rw-r--r--pkgs/development/libraries/git2/0.23.nix27
-rw-r--r--pkgs/development/libraries/libdivecomputer/default.nix21
-rw-r--r--pkgs/development/libraries/libmarble-ssrf/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix10
5 files changed, 155 insertions, 0 deletions
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
new file mode 100644
index 00000000000..be4a004fb8b
--- /dev/null
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -0,0 +1,64 @@
+{
+  stdenv,
+  cmake,
+  curl,
+  fetchgit,
+  grantlee,
+  libdivecomputer,
+  libgit2,
+  libmarble-ssrf,
+  libssh2,
+  libxml2,
+  libxslt,
+  libzip,
+  pkgconfig,
+  qtbase,
+  qtconnectivity,
+  qttools,
+  qtwebkit,
+  sqlite
+}:
+
+stdenv.mkDerivation rec {
+  version = "4.5.6";
+  name = "subsurface-${version}";
+
+  # use fetchgit instead of the official tgz is not complete
+  src = fetchgit {
+    sha256 = "156rqcszy0c4plk2mv7wdd4h7s7mygpq5sdc64pjfs4qvvsdj10f";
+    url = "git://git.subsurface-divelog.org/subsurface";
+    rev = "4d8d7c2a0fa1b4b0e6953d92287c75b6f97472d0";
+    branchName = "v4.5-branch";
+  };
+
+  buildInputs = [ qtbase libdivecomputer libmarble-ssrf libxslt
+                  libzip libxml2 grantlee qtwebkit qttools
+                  qtconnectivity libgit2 libssh2 curl ];
+  nativeBuildInputs = [ pkgconfig cmake ];
+
+  enableParallelBuilding = true;
+
+  # hack incoming...
+  preConfigure = ''
+    marble_libs=$(echo $(echo $CMAKE_LIBRARY_PATH | grep -o "/nix/store/[[:alnum:]]*-libmarble-ssrf-[a-zA-Z0-9\-]*/lib")/libssrfmarblewidget.so)
+    cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Debug \
+                            -DMARBLE_LIBRARIES=$marble_libs \
+                            -DNO_PRINTING=OFF \
+                            -DUSE_LIBGIT23_API=1"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Subsurface is an open source divelog program that runs on Windows, Mac and Linux";
+    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
+      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.
+    '';
+    homepage = https://subsurface-divelog.org;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.mguentner ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/development/libraries/git2/0.23.nix b/pkgs/development/libraries/git2/0.23.nix
new file mode 100644
index 00000000000..3cf429ab1d7
--- /dev/null
+++ b/pkgs/development/libraries/git2/0.23.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }:
+
+stdenv.mkDerivation (rec {
+  version = "0.23.2";
+  name = "libgit2-${version}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
+    sha256 = "1d3901bmgvdnmzrx21afi1d0llsqmca3ckj942p0i2wpdpr1kbcp";
+  };
+
+  cmakeFlags = "-DTHREADSAFE=ON";
+
+  nativeBuildInputs = [ cmake python pkgconfig ];
+  buildInputs = [ zlib libssh2 openssl http-parser ];
+
+  meta = {
+    description = "the Git linkable library";
+    homepage = http://libgit2.github.com/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; all;
+  };
+} // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
+  NIX_LDFLAGS = "-liconv";
+  propagatedBuildInputs = [ libiconv ];
+})
diff --git a/pkgs/development/libraries/libdivecomputer/default.nix b/pkgs/development/libraries/libdivecomputer/default.nix
new file mode 100644
index 00000000000..23ab36fe09f
--- /dev/null
+++ b/pkgs/development/libraries/libdivecomputer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libdivecomputer-${version}";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "http://www.libdivecomputer.org/releases/${name}.tar.gz";
+    sha256 = "11n2qpqg4b2h7mqifp9qm5gm1aqwy7wj1j4j5ha0wdjf55zzy30y";
+  };
+
+  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 = [ maintainers.mguentner ];
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libmarble-ssrf/default.nix b/pkgs/development/libraries/libmarble-ssrf/default.nix
new file mode 100644
index 00000000000..1d6c5413439
--- /dev/null
+++ b/pkgs/development/libraries/libmarble-ssrf/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, doxygen, pkgconfig, cmake, qtbase, qtscript, qtquick1 }:
+
+stdenv.mkDerivation rec {
+  name = "libmarble-ssrf-${version}";
+  version = "2016-11-09";
+
+  src = fetchgit {
+    sha256 = "1dm2hdk6y36ls7pxbzkqmyc46hdy2cd5f6pkxa6nfrbhvk5f31zd";
+    url = "git://git.subsurface-divelog.org/marble";
+    rev = "4325da93b7516abb6f93a1417adc10593dacd794";
+  };
+
+  buildInputs = [ qtbase qtscript qtquick1 ];
+  nativeBuildInputs = [ doxygen pkgconfig cmake ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Release \
+                            -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 = [ maintainers.mguentner ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 799504275cd..db2102238f1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2377,6 +2377,8 @@ in
 
   makebootfat = callPackage ../tools/misc/makebootfat { };
 
+  libmarble-ssrf = qt55.callPackage ../development/libraries/libmarble-ssrf { };
+
   matrix-synapse = callPackage ../servers/matrix-synapse { };
 
   memtester = callPackage ../tools/system/memtester { };
@@ -3725,6 +3727,11 @@ in
 
   sstp = callPackage ../tools/networking/sstp {};
 
+  subsurface =
+    qt55.callPackage ../applications/misc/subsurface {
+        libgit2 = pkgs.libgit2_0_23;
+    };
+
   sudo = callPackage ../tools/security/sudo { };
 
   suidChroot = callPackage ../tools/system/suid-chroot { };
@@ -7044,6 +7051,7 @@ in
   );
 
   libgit2_0_21 = callPackage ../development/libraries/git2/0.21.nix { };
+  libgit2_0_23 = callPackage ../development/libraries/git2/0.23.nix { };
 
   gle = callPackage ../development/libraries/gle { };
 
@@ -7680,6 +7688,8 @@ in
 
   libdiscid = callPackage ../development/libraries/libdiscid { };
 
+  libdivecomputer = callPackage ../development/libraries/libdivecomputer { };
+
   libdivsufsort = callPackage ../development/libraries/libdivsufsort { };
 
   libdmtx = callPackage ../development/libraries/libdmtx { };