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