diff mbox series

[bug#44045,01/10] gnu: Add libArcus.

Message ID 20201017103547.13769-1-malte.f.gerdes@gmail.com
State New
Headers show
Series WIP Ultimaker Cura | expand

Checks

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

Commit Message

Malte Frank Gerdes Oct. 17, 2020, 10:35 a.m. UTC
* gnu/packages/engineering.scm (libArcus): New variable.
---
 gnu/packages/engineering.scm | 47 ++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 2e1ffa1355..5c5db6a17e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -21,6 +21,7 @@ 
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,6 +102,7 @@ 
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
@@ -2825,3 +2827,48 @@  GUI.")
   provides a full-fledged procedural, interactive programming language designed
   to describe data structures and to operate on them.")
       (license license:gpl3+))))
+
+(define-public libArcus
+  (let ((commit "3925125768bac03fafd9b51dceeae2ca1de0f37f")
+        (revision "0"))
+    (package
+      (name "libArcus")
+      (version (string-append "4.7.1-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Ultimaker/libArcus")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32 "0kbv0pi8y4a4lrmac595nm0kx4sfxilf3qj7fcda5pzxv9xkvxk9"))))
+      (build-system cmake-build-system)
+      (inputs
+       `(("protobuf" ,protobuf)
+         ("python" ,python)
+         ("python-sip" ,python-sip)))
+      (arguments
+       `(#:tests? #false
+         #:configure-flags '("-DBUILD_EXAMPLES=OFF")
+         #:phases (modify-phases %standard-phases
+                    (add-before 'configure 'fix-python-sitearch
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (substitute* "cmake/FindSIP.cmake"
+                          (("\\$\\{_process_output\\} Python3_SITEARCH")
+                           (string-append (assoc-ref outputs "out")
+                                          "/lib/python"
+                                          ,(version-major+minor
+                                            (package-version python))
+                                          "/site-packages"
+                                          " Python3_SITEARCH"))))))))
+      (home-page "https://github.com/Ultimaker/libArcus")
+      (synopsis "Communication library between internal components for
+Ultimaker software")
+      (description "This library contains C++ code and Python3 bindings for
+creating a socket in a thread and using this socket to send and receive
+messages based on the Protocol Buffers library.  It is designed to
+facilitate the communication between Cura and its backend and similar code.")
+      (license license:lgpl3))))
+