python312Packages.manifold3d: init at 2.5.1 (#344375)

This commit is contained in:
Sandro 2024-10-05 20:21:57 +02:00 committed by GitHub
commit 57d7c72fcc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 88 additions and 0 deletions

View File

@ -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 ];
};
}

View File

@ -7609,6 +7609,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 { };