[bug#37169] gnu: Add lib3mf.
diff mbox series

Message ID CA+xn8YCSTZDc_MjMjxJHmfFk2Rt7ZkDwDORAKd2rP4U1w0-9pg@mail.gmail.com
State New
Headers show
Series
  • [bug#37169] gnu: Add lib3mf.
Related show

Commit Message

Steve Sprang Aug. 24, 2019, 12:12 a.m. UTC

Comments

Ludovic Courtès Aug. 28, 2019, 4:38 p.m. UTC | #1
Steve Sprang <steve.sprang@gmail.com> skribis:

> From 09b40a31d69ca6f6894d9ed33ef519efc64b220b Mon Sep 17 00:00:00 2001
> From: Steve Sprang <scs@stevesprang.com>
> Date: Fri, 23 Aug 2019 15:23:00 -0700
> Subject: [PATCH] gnu: Add lib3mf.
>
> * gnu/packages/engineering.scm (lib3mf): New variable.

Could you address the ‘guix lint’ warnings?  In particular, you’ll have
to use ‘git-fetch’ to get the source.

> +	 (add-after 'unpack 'unpack-googletest
> +	   (lambda* (#:key inputs #:allow-other-keys)
> +	     (copy-recursively (assoc-ref inputs "googletest-source")
> +			       "UnitTests/googletest")

Would it work to simply pass ‘googletest’ as an input?
If not, this approach is fine IMO.

> +     "Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file
> +standard.  It offers a way to integrate 3MF reading and writing capabilities, as
> +well as conversion and validation tools for input and output data.  The
> +specification can be downloaded at http://3mf.io/specification/.")
                                      ^
You can write: @url{http://…}.

Thanks,
Ludo’.

Patch
diff mbox series

From 09b40a31d69ca6f6894d9ed33ef519efc64b220b Mon Sep 17 00:00:00 2001
From: Steve Sprang <scs@stevesprang.com>
Date: Fri, 23 Aug 2019 15:23:00 -0700
Subject: [PATCH] gnu: Add lib3mf.

* gnu/packages/engineering.scm (lib3mf): New variable.
---
 gnu/packages/engineering.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a1f222bed4..778dc6611a 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -12,6 +12,7 @@ 
 ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
 ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
+;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2109,3 +2110,37 @@  while keeping the user experience at mind.  Cutter is created by reverse
 engineers for reverse engineers.")
     (license (list license:cc-by-sa3.0  ;the "Iconic" icon set
                    license:gpl3+))))    ;everything else
+
+(define-public lib3mf
+  (package
+    (name "lib3mf")
+    (version "1.8.1")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "https://github.com/3MFConsortium/lib3mf/archive/v"
+			  version ".tar.gz"))
+      (sha256
+       (base32
+	"05wxmsjps0mf5p0gb2wv7zh3b7spvzdslasb3bxs91nar51d2z90"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest-source" ,(package-source googletest))))
+    (inputs
+     `(("libuuid" ,util-linux)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+	 (add-after 'unpack 'unpack-googletest
+	   (lambda* (#:key inputs #:allow-other-keys)
+	     (copy-recursively (assoc-ref inputs "googletest-source")
+			       "UnitTests/googletest")
+	     #t)))))
+    (synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard")
+    (description
+     "Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file
+standard.  It offers a way to integrate 3MF reading and writing capabilities, as
+well as conversion and validation tools for input and output data.  The
+specification can be downloaded at http://3mf.io/specification/.")
+    (home-page "https://3mf.io/")
+    (license license:bsd-2)))
-- 
2.23.0