@@ -104,6 +104,10 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-science)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -2941,3 +2945,67 @@ Cura.")
translations. Prebuilt Firmware files are removed.")
(license license:agpl3)))
+(define-public uranium
+ (package
+ (name "uranium")
+ (version "4.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/Uranium")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h5d3scy3cnbyhh0pbavflpqklhn2lbp7hl193rc5gx8yzr3mqbh"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("pytest" ,python-pytest)
+ ("mypy" ,python-mypy)
+ ("certifi" ,python-certifi)
+ ("twisted" ,python-twisted)
+ ("doxygen" ,doxygen)
+ ("graphviz" ,graphviz)
+ ("gettext" ,gettext-minimal)))
+ (propagated-inputs
+ `(("cura-binary-data" ,cura-binary-data)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtcontrols2" ,qtquickcontrols2)
+ ("qtcontrols" ,qtquickcontrols)
+ ("qtgraphicaleffects" ,qtgraphicaleffects)
+ ("pyQt5" ,python-pyqt)
+ ("numpy" ,python-numpy)
+ ("arcus" ,libArcus)
+ ("shapely" ,python-shapely)
+ ("scipy" ,python-scipy)
+ ("python" ,python)
+ ("cryptography" ,python-cryptography)
+ ;; ("trimesh" ,python-trimesh)
+ ))
+ (arguments
+ `(#:tests? #false ;; tests are disabled, because they cause an infinite loop
+ #:configure-flags
+ `(,(string-append "-DGETTEXT_MSGINIT_EXECUTABLE="
+ (assoc-ref %build-inputs "gettext") "/bin/msginit")
+ ,(string-append "-DCURA_BINARY_DATA_DIRECTORY="
+ (assoc-ref %build-inputs "cura-binary-data")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-uranium-plugin-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "UM/Application.py"
+ (("app_root =.*$")
+ (string-append "app_root = \""
+ (assoc-ref outputs "out") "\"\n"))
+ (("app_root, \"share\", \"uranium\", \"plugins\"")
+ "app_root, \"lib\", \"uranium\", \"plugins\""))
+ #true)))))
+ (home-page "https://github.com/Ultimaker/Uranium")
+ (synopsis "Python Framework for building Desktop applications")
+ (description "Uranium is a Python Framework for building 3D Printing
+related Desktop Applications using PyQt5. It belongs to the Cura project
+from Ultimaker.")
+ (license license:lgpl3)))
+