diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 2832a52e5dc4..350ce14a0f01 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -8,13 +8,16 @@ fetchFromGitHub, glfw, gmp, + libjxl, libjpeg, libpng, libtiff, mpfr, + nanoflann, opencv, openmp, pkg-config, + python3Packages, stdenv, vcg, zstd, @@ -26,19 +29,22 @@ let }); in stdenv.mkDerivation rec { - version = "2.2.0"; + version = "2.4.0"; pname = "openmvs"; src = fetchFromGitHub { owner = "cdcseacave"; repo = "openmvs"; rev = "v${version}"; - hash = "sha256-j/tGkR73skZiU+bP4j6aZ5CxkbIcHtqKcaUTgNvj0C8="; + hash = "sha256-0tL2tqHYBQMGL9k+NqTUxieWuDP3YB6X9DcXYnlGWWg="; fetchSubmodules = true; }; # SSE is enabled by default - cmakeFlags = lib.optional (!stdenv.hostPlatform.isx86_64) "-DOpenMVS_USE_SSE=OFF"; + cmakeFlags = [ + (lib.cmakeFeature "Python3_EXECUTABLE" (lib.getExe python3Packages.python)) + ] + ++ lib.optional (!stdenv.hostPlatform.isx86_64) "-DOpenMVS_USE_SSE=OFF"; buildInputs = [ boostWithZstd @@ -47,10 +53,12 @@ stdenv.mkDerivation rec { eigen glfw gmp + libjxl libjpeg libpng libtiff mpfr + nanoflann opencv openmp vcg @@ -59,6 +67,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config + python3Packages.python ]; postInstall = '' @@ -69,6 +78,16 @@ stdenv.mkDerivation rec { doCheck = true; + checkPhase = '' + runHook preCheck + ${lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' + export KMP_AFFINITY=disabled + export OMP_PROC_BIND=false + ''} + ctest --output-on-failure + runHook postCheck + ''; + meta = { description = "Open Multi-View Stereo reconstruction library"; homepage = "https://github.com/cdcseacave/openMVS";