summaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
authorMalte Frank Gerdes <malte.f.gerdes@gmail.com>2022-04-07 17:42:45 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2022-04-07 22:32:01 +0200
commitb74932988831461e420a69e66d6a0f95fb5a5d44 (patch)
treeaddf7cc304101fde1120a3730747b990d38e529c /gnu/packages/engineering.scm
parent4926c104760c62609b5ad32fff80b28070ec24e7 (diff)
downloadguix-patches-b74932988831461e420a69e66d6a0f95fb5a5d44.tar
guix-patches-b74932988831461e420a69e66d6a0f95fb5a5d44.tar.gz
gnu: Add cura.
* gnu/packages/engineering.scm (cura): New variable. Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index ff528af8fb..17f554df72 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3572,3 +3572,62 @@ belongs to the Cura project from Ultimaker.")
(description "LibSavitar is a C++ implementation of 3mf loading with SIP
python bindings. It belongs to the Cura project from Ultimaker.")
(license license:lgpl3+)))
+
+(define-public cura
+ (package
+ (name "cura")
+ (version "4.13.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/Cura")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yg17pcrj5gm02aqcjfk40ynvpb9r9aaq9rj108dkpki1is15ks7"))))
+ (build-system qt-build-system)
+ (native-inputs
+ (list python-certifi
+ python-mypy
+ python-pytest
+ python-requests))
+ (inputs
+ (list cura-engine
+ libcharon
+ libsavitar
+ python
+ python-keyring
+ python-pynest2d
+ python-pyserial
+ python-sentry-sdk
+ python-sip
+ uranium))
+ (arguments
+ `(;; TODO: Fix tests.
+ #:tests? #f
+ #:configure-flags '("-DURANIUM_SCRIPTS_DIR=")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'link-to-CuraEngine
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (symlink (string-append (assoc-ref inputs "cura-engine")
+ "/bin/CuraEngine")
+ (string-append (assoc-ref outputs "out")
+ "/bin/CuraEngine"))))
+ (add-after 'link-to-CuraEngine 'wrap-pythonpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/cura")
+ (list "GUIX_PYTHONPATH"
+ 'prefix (list (string-append out
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")
+ (getenv "GUIX_PYTHONPATH"))))))))))
+ (home-page "https://github.com/Ultimaker/Cura")
+ (synopsis "Slicer for 3D printers")
+ (description "Cura is a slicing software from Ultimaker. A @emph{slicer}
+generates G-Code for 3D printers.")
+ (license license:lgpl3+)))