1{
2 lib,
3 buildPythonPackage,
4 python,
5 fetchFromGitHub,
6 scikit-build-core,
7 manifold,
8 cmake,
9 ninja,
10 nanobind,
11 pkg-config,
12 numpy,
13 clipper2,
14 tbb,
15 pytestCheckHook,
16 trimesh,
17}:
18
19buildPythonPackage rec {
20 pname = "manifold3d";
21 inherit (manifold) version src;
22 pyproject = true;
23
24 dontUseCmakeConfigure = true;
25
26 build-system = [
27 scikit-build-core
28 cmake
29 ninja
30 nanobind
31 pkg-config
32 ];
33
34 dependencies = [
35 numpy
36 ];
37
38 buildInputs = [
39 tbb
40 clipper2
41 ];
42
43 nativeCheckInputs = [
44 pytestCheckHook
45 trimesh
46 ];
47
48 preCheck = ''
49 ${python.interpreter} bindings/python/examples/run_all.py
50 '';
51
52 pythonImportsCheck = [
53 "manifold3d"
54 ];
55
56 meta = {
57 inherit (manifold.meta)
58 homepage
59 changelog
60 description
61 license
62 ;
63 maintainers = with lib.maintainers; [
64 pbsds
65 pca006132
66 ];
67 };
68}