summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMalte Frank Gerdes <malte.f.gerdes@gmail.com>2022-04-07 15:25:05 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2022-04-07 15:30:49 +0200
commit390d68c95660986769da556affbda9b04ea7aa7d (patch)
tree36e351a3ab2177e3d9319af421b770bdcd356cc4 /gnu
parent7409f246e2b0be9a2b3b6ae246385f3f197e5fbb (diff)
downloadguix-390d68c95660986769da556affbda9b04ea7aa7d.tar.gz
gnu: Add libarcus.
* gnu/packages/engineering.scm (libarcus): New variable.

Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/engineering.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 48954227a0..1580671555 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -30,6 +30,7 @@
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -117,6 +118,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
@@ -3246,3 +3248,44 @@ connector pinouts.  It takes plain text, YAML-formatted files as input and
 produces beautiful graphical output thanks to GraphViz.  It handles automatic
 BOM creation and has a lot of extra features.")
     (license license:gpl3)))
+
+(define-public libarcus
+  (package
+    (name "libarcus")
+    (version "4.13.0") ; Should same version as Cura package.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/libArcus")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
+    (build-system cmake-build-system)
+    (inputs
+     (list protobuf
+           python
+           python-sip-4))
+    (arguments
+     `(#:tests? #f
+       #: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 for Ultimaker software components")
+    (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+)))