[PATCH] gnu: Add lib3mf.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Steve Sprang
Owner
unassigned
Submitted by
Steve Sprang
Severity
normal
S
S
Steve Sprang wrote on 24 Aug 2019 02:12
(address . guix-patches@gnu.org)
CA+xn8YCSTZDc_MjMjxJHmfFk2Rt7ZkDwDORAKd2rP4U1w0-9pg@mail.gmail.com

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(+)

Toggle diff (52 lines)
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
L
L
Ludovic Courtès wrote on 28 Aug 2019 18:38
(name . Steve Sprang)(address . steve.sprang@gmail.com)(address . 37169@debbugs.gnu.org)
87y2zdfdno.fsf@gnu.org
Steve Sprang <steve.sprang@gmail.com> skribis:

Toggle quote (7 lines)
> 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.

Toggle quote (5 lines)
> + (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.

Toggle quote (4 lines)
> + "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’.
S
S
Steve Sprang wrote on 28 Aug 2019 23:27
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37169@debbugs.gnu.org)
CA+xn8YCC24fY73PfTdgh-B7rb8F+BNMd561zH+C28fcj5sGnkg@mail.gmail.com
On Wed, Aug 28, 2019 at 9:38 AM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (8 lines)
> > + (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.

Unfortunately, no, the build process expects to see the googletest
source in a sub-module directory.

Attached a new patch with the fixes you suggested.
From a691020809334c94a33a9632c8a7fd75102fd8f2 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 | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a1f222bed4..54bf5a7b69 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,38 @@ 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 git-fetch)
+ (uri (git-reference (url "https://github.com/3MFConsortium/lib3mf.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11wpk6n9ga2p57h1dcrp37w77mii0r7r6mlrgmykf7rvii1rzgqd"))))
+ (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 @url{http://3mf.io/specification/}.")
+ (home-page "https://3mf.io/")
+ (license license:bsd-2)))
--
2.23.0
L
L
Ludovic Courtès wrote on 31 Aug 2019 21:02
(name . Steve Sprang)(address . steve.sprang@gmail.com)(address . 37169-done@debbugs.gnu.org)
87woetb1ke.fsf@gnu.org
Steve Sprang <steve.sprang@gmail.com> skribis:

Toggle quote (7 lines)
> From a691020809334c94a33a9632c8a7fd75102fd8f2 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.

Applied, thanks!

Ludo’.
Closed
?