about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2022-04-28 18:04:16 +0200
committerVladimír Čunát <v@cunat.cz>2022-04-28 18:04:16 +0200
commit8caa1418f67e7b49496889e723784e09b028cd3a (patch)
treec85b0152cbd871f9f7a076e43bda4d44806e65d2 /pkgs/applications/science
parent51554cbbdbe6086da3b31fb803e9d725647052c3 (diff)
parent0cd6f99f9506e31044a320a8223b59a81323d940 (diff)
Merge branch 'master' into staging-next-2022-04-23
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/misc/colmap/default.nix28
1 files changed, 22 insertions, 6 deletions
diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix
index c41c8593a5c49..8dc8f749897ee 100644
--- a/pkgs/applications/science/misc/colmap/default.nix
+++ b/pkgs/applications/science/misc/colmap/default.nix
@@ -1,10 +1,14 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, boost17x, ceres-solver, eigen,
   freeimage, glog, libGLU, glew, qtbase,
-  cudaSupport ? false, cudatoolkit ? null }:
+  cudaSupport ? false, cudaPackages }:
 
-assert !cudaSupport || cudatoolkit != null;
+assert cudaSupport -> cudaPackages != { };
 
-let boost_static = boost17x.override { enableStatic = true; };
+let
+  boost_static = boost17x.override { enableStatic = true; };
+
+  # TODO: migrate to redist packages
+  inherit (cudaPackages) cudatoolkit;
 in
 mkDerivation rec {
   version = "3.7";
@@ -13,15 +17,27 @@ mkDerivation rec {
      owner = "colmap";
      repo = "colmap";
      rev = version;
-     sha256 = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
+     hash = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
   };
 
+  # TODO: rm once the gcc11 issue is closed, https://github.com/colmap/colmap/issues/1418#issuecomment-1049305256
+  cmakeFlags = lib.optionals cudaSupport [
+    "-DCUDA_ENABLED=ON"
+    "-DCUDA_NVCC_FLAGS=--std=c++14"
+  ];
+
   buildInputs = [
     boost_static ceres-solver eigen
     freeimage glog libGLU glew qtbase
-  ] ++ lib.optional cudaSupport cudatoolkit;
+  ] ++ lib.optionals cudaSupport [
+    cudatoolkit
+  ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
 
   meta = with lib; {
     description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline";