[bug#78171] gnu: Add manifold
Commit Message
* gnu/packages/engineering.scm (manifold): New variable
Change-Id: I13c0e5369923e5e972ee2a8b95ae892fadfd4154
---
v2 as I initially forgot to remove the "v" prefix from the version number.
gnu/packages/engineering.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Comments
On 2025-05-01 04:56, nomike@nomike.com wrote:
> * gnu/packages/engineering.scm (manifold): New variable
>
> Change-Id: I13c0e5369923e5e972ee2a8b95ae892fadfd4154
> ---
> v2 as I initially forgot to remove the "v" prefix from the version number.
>
> gnu/packages/engineering.scm | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index f472d1127f..3d8e6780dd 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -2917,6 +2917,38 @@ (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)
> + (native-inputs (list))
If you don't need native-inputs, you can drop the field instead.
> + (inputs (list tbb clipper2 assimp python-nanobind googletest))
> + (arguments
> + `(#:configure-flags '("-DMANIFOLD_JSBIND=OFF"))) ; can be removed when emscripten is packaged
> + (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.
> + Our primary goal is reliability: guaranteed manifold output without
> + caveats or edge cases. Our secondary goal is performance: efficient
^ You forgot a space here.
> + algorithms that make extensive use of parallelization, or pipelining
> + when only a single thread is available.")
> + (home-page "https://github.com/elalish/manifold")
> + (license license:asl2.0)))
> +
> (define-public python-keithley2600
> (package
> (name "python-keithley2600")
On 2025-05-01 04:56, nomike@nomike.com wrote:
> * gnu/packages/engineering.scm (manifold): New variable
>
> Change-Id: I13c0e5369923e5e972ee2a8b95ae892fadfd4154
> ---
> v2 as I initially forgot to remove the "v" prefix from the version number.
>
> gnu/packages/engineering.scm | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index f472d1127f..3d8e6780dd 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -2917,6 +2917,38 @@ (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)
> + (native-inputs (list))
> + (inputs (list tbb clipper2 assimp python-nanobind googletest))
> + (arguments
> + `(#:configure-flags '("-DMANIFOLD_JSBIND=OFF"))) ; can be removed when emscripten is packaged
The above line is too long. You can move the comment in a ;; XXX: Can be...
above this line.
> + (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.
> + Our primary goal is reliability: guaranteed manifold output without
> + caveats or edge cases. Our secondary goal is performance: efficient
> + algorithms that make extensive use of parallelization, or pipelining
> + when only a single thread is available.")
This description is not right.
1) Here you add a few spaces with each line, but description is a single
string, so you shouldn't have such line blank prefix.
2) "Our primary/secondary goal" is not right for Guix descriptions. You
could rewrite somethign like
Manifold focusses first on reliability : guaranteed [...] ; but also on
performance : efficient [...].
Or you can drop them, they don't add a lot of descriptive value.
TY Nomike! Otherwise it looks good to me.
> + (home-page "https://github.com/elalish/manifold")
> + (license license:asl2.0)))
> +
> (define-public python-keithley2600
> (package
> (name "python-keithley2600")
@@ -2917,6 +2917,38 @@ (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)
+ (native-inputs (list))
+ (inputs (list tbb clipper2 assimp python-nanobind googletest))
+ (arguments
+ `(#:configure-flags '("-DMANIFOLD_JSBIND=OFF"))) ; can be removed when emscripten is packaged
+ (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.
+ Our primary goal is reliability: guaranteed manifold output without
+ caveats or edge cases. Our secondary goal is performance: efficient
+ algorithms that make extensive use of parallelization, or pipelining
+ when only a single thread is available.")
+ (home-page "https://github.com/elalish/manifold")
+ (license license:asl2.0)))
+
(define-public python-keithley2600
(package
(name "python-keithley2600")