[bug#78293,1/2] gnu: Add manifold

Message ID 20250507053152.3613895-1-nomike@nomike.com
State New
Headers
Series Update openscad to 2025.05.02 and add manifold |

Commit Message

nomike (they/them) May 7, 2025, 5:31 a.m. UTC
  * gnu/packages/engineering.scm (manifold): New variable

Change-Id: Id400803644cf3256a1e79c4ec2e16381c230f370
---
 gnu/packages/engineering.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
  

Patch

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 6d2aa021bb..3c0dcde0ea 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -42,6 +42,7 @@ 
 ;;; Copyright © 2024 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
 ;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
+;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2918,6 +2919,34 @@  (define-public lib3mf
     (home-page "https://3mf.io/")
     (license license:bsd-2)))
 
+(define-public manifold
+  (package
+    (name "manifold")
+    (version "3.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/elalish/manifold")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f0k8937gk7b9100k99pmz1f17nzczpdk7797p2aijla0z29ddy1"))))
+    (build-system cmake-build-system)
+    (inputs (list tbb clipper2 assimp python-nanobind googletest))
+    (arguments
+     ;; can be removed when emscripten is packaged
+     `(#:configure-flags '("-DMANIFOLD_JSBIND=OFF")))
+    (synopsis "Geometry library for topological robustness")
+    (description
+     "Manifold is a geometry library dedicated to creating and operating on
+manifold triangle meshes.  A manifold mesh is a mesh that represents a solid
+object, and so is very important in manufacturing, CAD, structural analysis,
+etc..  Manifold also supports arbitrary vertex properties and enables mapping
+of materials for rendering use-cases.")
+    (home-page "https://github.com/elalish/manifold")
+    (license license:asl2.0)))
+
 (define-public python-keithley2600
   (package
     (name "python-keithley2600")