diff mbox series

[bug#42778] gnu: Add libredwg.

Message ID 20200809155346.55194-1-monego@posteo.net
State Accepted
Headers show
Series [bug#42778] gnu: Add libredwg. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Vinicius Monego Aug. 9, 2020, 3:53 p.m. UTC
* gnu/packages/engineering.scm (libredwg): New variable.
---
Not sure if bindings should be a part of this package or a separate package or output.
There's also no documentation for them. Disabling for now.

Parallel is an optional input to "speed up special tests". Could be removed, but I
didn't attempt to build without it.

 gnu/packages/engineering.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

Comments

Mathieu Othacehe Aug. 10, 2020, 9:49 a.m. UTC | #1
Hello,

> Not sure if bindings should be a part of this package or a separate package or output.
> There's also no documentation for them. Disabling for now.

https://www.gnu.org/software/libredwg/manual/html_node/Bindings.html
says that bindings can be "quite huge". Depending on how "huge",
separate output(s) could be nice.

You can have a look to "sudo" for an example of separate python bindings
package output.

In the meantime, this looks fine. Pushed!

Thanks,

Mathieu
diff mbox series

Patch

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a227fdbdad..169c4d5c7b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -19,6 +19,7 @@ 
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -95,6 +96,8 @@ 
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages parallel)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -1075,6 +1078,36 @@  provides a machine-independent interface to select the best such procedures to
 use on a given system.")
     (license license:gpl3+)))
 
+(define-public libredwg
+  (package
+    (name "libredwg")
+    (version "0.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://gnu/libredwg/libredwg-"
+             version ".tar.xz"))
+       (sha256
+        (base32 "1vd7ii32k5447z7k4w9s005hv1ffpj6dyf1w40x6c53qksrblny2"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--disable-bindings")))
+    (native-inputs
+     `(("libxml2" ,libxml2)
+       ("parallel" ,parallel)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("python-libxml2" ,python-libxml2)))
+    (inputs
+     `(("pcre2" ,pcre2)))
+    (home-page "https://www.gnu.org/software/libredwg/")
+    (synopsis "C library to handle DWG (CAD-related) files")
+    (description
+     "GNU LibreDWG is a free C library to handle DWG files.  It aims to be a
+free replacement for the OpenDWG libraries.")
+    (license license:gpl3+)))
+
 (define-public minicom
   (package
     (name "minicom")