From b705896d69deaefffe6f21b07c37cd0642c9e12d Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Mon, 23 Jan 2023 11:33:21 +0100 Subject: [PATCH 1/6] openmvs: move binaries to correct location Turns out the build puts the binaries into an OpenMVS directory so it doesn't work when the bin folder is added to the PATH. --- pkgs/applications/science/misc/openmvs/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 031f1655b0af..3d5d7d2f794e 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; + postFixup = '' + mv $out/bin/OpenMVS/* $out/bin + rmdir $out/bin/OpenMVS + ''; + meta = { description = "Open Multi-View Stereo reconstruction library"; homepage = "https://github.com/cdcseacave/openMVS"; From 0dcc6bc710cb0a2a743b774e735c3974e04d4406 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Mon, 23 Jan 2023 15:24:46 +0100 Subject: [PATCH 2/6] Add missing 'optional' packages --- .../science/misc/openmvs/default.nix | 35 +++++++++++++++++-- pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 3d5d7d2f794e..6442c88b0059 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -1,4 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, eigen, opencv, cgal, ceres-solver, boost, vcg, glfw, zstd }: +{ lib +, boost +, breakpad +, ceres-solver +, cgal +, cmake +, eigen +, fetchFromGitHub +, glfw +, libjpeg +, libpng +, libtiff +, opencv +, openmp +, pkg-config +, stdenv +, vcg +, zstd +}: let boostWithZstd = boost.overrideAttrs (old: { @@ -20,7 +38,20 @@ stdenv.mkDerivation rec { # SSE is enabled by default cmakeFlags = lib.optional (!stdenv.isx86_64) "-DOpenMVS_USE_SSE=OFF"; - buildInputs = [ eigen opencv cgal ceres-solver vcg glfw boostWithZstd ]; + buildInputs = [ + boostWithZstd + breakpad + ceres-solver + cgal + eigen + glfw + libjpeg + libpng + libtiff + opencv + openmp + vcg + ]; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97c76b591fe6..dcef125a10bd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10297,7 +10297,9 @@ with pkgs; openmvg = callPackage ../applications/science/misc/openmvg { }; - openmvs = callPackage ../applications/science/misc/openmvs { }; + openmvs = callPackage ../applications/science/misc/openmvs { + inherit (llvmPackages) openmp; + }; openntpd = callPackage ../tools/networking/openntpd { }; From 1fe7bc7570ef609aa607700998d22b6e446a515a Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Tue, 31 Jan 2023 12:10:06 +0100 Subject: [PATCH 3/6] openmvs: don't compile test binary --- pkgs/applications/science/misc/openmvs/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 6442c88b0059..c019e26abbf5 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -36,7 +36,9 @@ stdenv.mkDerivation rec { }; # SSE is enabled by default - cmakeFlags = lib.optional (!stdenv.isx86_64) "-DOpenMVS_USE_SSE=OFF"; + cmakeFlags = [ + "-DOpenMVS_ENABLE_TESTS=OFF" + ] ++ lib.optional (!stdenv.isx86_64) "-DOpenMVS_USE_SSE=OFF"; buildInputs = [ boostWithZstd From 8003109e393300dcfc40272ad4eb4aa177b68a25 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Tue, 31 Jan 2023 12:35:14 +0100 Subject: [PATCH 4/6] openmvs: add missing gmp, mpfr --- pkgs/applications/science/misc/openmvs/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index c019e26abbf5..4e3f5a81881b 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -7,9 +7,11 @@ , eigen , fetchFromGitHub , glfw +, gmp , libjpeg , libpng , libtiff +, mpfr , opencv , openmp , pkg-config @@ -47,9 +49,11 @@ stdenv.mkDerivation rec { cgal eigen glfw + gmp libjpeg libpng libtiff + mpfr opencv openmp vcg From b1ea6b2d73707d52fbf151fd4235f1c2e501a03c Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Wed, 1 Feb 2023 12:10:23 +0100 Subject: [PATCH 5/6] openmvs: add check and instalCheck --- .../science/misc/openmvs/default.nix | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 4e3f5a81881b..2ea25215e0e9 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -38,9 +38,7 @@ stdenv.mkDerivation rec { }; # SSE is enabled by default - cmakeFlags = [ - "-DOpenMVS_ENABLE_TESTS=OFF" - ] ++ lib.optional (!stdenv.isx86_64) "-DOpenMVS_USE_SSE=OFF"; + cmakeFlags = lib.optional (!stdenv.isx86_64) "-DOpenMVS_USE_SSE=OFF"; buildInputs = [ boostWithZstd @@ -61,9 +59,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; - postFixup = '' + postInstall = '' mv $out/bin/OpenMVS/* $out/bin rmdir $out/bin/OpenMVS + rm $out/bin/Tests + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + ctest + runHook postCheck + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/TextureMesh -v + runHook postInstallCheck ''; meta = { From e6276c1d199100136f1cbdc91cfa02ac9351591d Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Wed, 1 Feb 2023 20:04:54 +0100 Subject: [PATCH 6/6] Remove installCheckPhase There's no --version flag on the openmvs binaries. --- pkgs/applications/science/misc/openmvs/default.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 2ea25215e0e9..fde756181cca 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -72,13 +72,6 @@ stdenv.mkDerivation rec { runHook postCheck ''; - doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - $out/bin/TextureMesh -v - runHook postInstallCheck - ''; - meta = { description = "Open Multi-View Stereo reconstruction library"; homepage = "https://github.com/cdcseacave/openMVS";