From a52f0060b6458356f076aa59e60d5d11e0344193 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 25 Sep 2024 09:48:46 +0200 Subject: [PATCH] python312Packages.manifold3d: init at 2.5.1 --- .../python-modules/manifold3d/default.nix | 86 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 88 insertions(+) create mode 100644 pkgs/development/python-modules/manifold3d/default.nix diff --git a/pkgs/development/python-modules/manifold3d/default.nix b/pkgs/development/python-modules/manifold3d/default.nix new file mode 100644 index 000000000000..62852fe60a0c --- /dev/null +++ b/pkgs/development/python-modules/manifold3d/default.nix @@ -0,0 +1,86 @@ +{ + lib, + buildPythonPackage, + python, + fetchFromGitHub, + scikit-build-core, + cmake, + ninja, + nanobind, + pkg-config, + numpy, + clipper2, + tbb, + glm, + pytestCheckHook, + trimesh, +}: + +let + # archived library, but manifold3d has removed this on master + thrust-src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "thrust"; + rev = "refs/tags/2.1.0"; + hash = "sha256-U9WgRZva7R/bNOF5VZTvIwIQDQDD3/bRO08j2TPLl9Q="; + fetchSubmodules = true; + }; + +in + +buildPythonPackage rec { + pname = "manifold3d"; + version = "2.5.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "elalish"; + repo = "manifold"; + rev = "refs/tags/v${version}"; + hash = "sha256-0zjS4ygt85isP1jyiTCeD/umhQ8ffIN+u2CeLeybX9U="; + fetchSubmodules = true; + }; + + dontUseCmakeConfigure = true; + + build-system = [ + scikit-build-core + cmake + ninja + nanobind + pkg-config + ]; + + dependencies = [ + numpy + ]; + + buildInputs = [ + glm + tbb + clipper2 + ]; + + env.SKBUILD_CMAKE_DEFINE = "FETCHCONTENT_SOURCE_DIR_THRUST=${thrust-src}"; + + nativeCheckInputs = [ + pytestCheckHook + trimesh + ]; + + preCheck = '' + ${python.interpreter} bindings/python/examples/run_all.py + ''; + + pythonImportsCheck = [ + "manifold3d" + ]; + + meta = { + description = "Geometry library for topological robustness"; + homepage = "https://github.com/elalish/manifold"; + changelog = "https://github.com/elalish/manifold/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ pbsds ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 584ca15af3d4..b66538ff8956 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7577,6 +7577,8 @@ self: super: with self; { manifest-ml = callPackage ../development/python-modules/manifest-ml { }; + manifold3d = callPackage ../development/python-modules/manifold3d { }; + manifestoo = callPackage ../development/python-modules/manifestoo { }; manifestoo-core = callPackage ../development/python-modules/manifestoo-core { };