diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix new file mode 100644 index 000000000000..672569ed1002 --- /dev/null +++ b/pkgs/applications/science/misc/colmap/default.nix @@ -0,0 +1,37 @@ +{ mkDerivation, lib, fetchFromGitHub, cmake, boost, ceres-solver, eigen, + freeimage, glog, libGLU, glew, qtbase, + cudaSupport ? false, cudatoolkit ? null }: + +assert !cudaSupport || cudatoolkit != null; + +let boost_static = boost.override { enableStatic = true; }; +in +mkDerivation rec { + version = "3.5"; + pname = "colmap"; + src = fetchFromGitHub { + owner = "colmap"; + repo = "colmap"; + rev = version; + sha256 = "1vnb62p0y2bnga173wmjs0lnyqdjikv0fkcxjzxm8187khk2lly8"; + }; + + buildInputs = [ + boost_static ceres-solver eigen + freeimage glog libGLU glew qtbase + ] ++ lib.optional cudaSupport cudatoolkit; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline"; + longDescription = '' + COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline + with a graphical and command-line interface. + ''; + homepage = https://colmap.github.io/index.html; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ lebastr ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d0a21b95e46..ee3a4f7d68ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7377,6 +7377,9 @@ in colm = callPackage ../development/compilers/colm { }; + colmap = libsForQt5.callPackage ../applications/science/misc/colmap { }; + colmapWithCuda = colmap.override { cudaSupport = true; }; + chickenPackages_4 = callPackage ../development/compilers/chicken/4 { }; chickenPackages_5 = callPackage ../development/compilers/chicken/5 { }; chickenPackages = chickenPackages_5;