[PATCH 00/10] WIP Ultimaker Cura

  • Done
  • quality assurance status badge
Details
4 participants
  • Demis Balbach
  • Efraim Flashner
  • Guillaume Le Vaillant
  • Malte Frank Gerdes
Owner
unassigned
Submitted by
Malte Frank Gerdes
Severity
normal
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:32
(address . guix-patches@gnu.org)
86v9f95eip.fsf@gmail.com
Hi,

this series adds Ultimakers Cura software to Guix. It's WIP because the cura
program itself segfaults while starting and i am not getting further as to why
this happens. It would be great if someone interested could take a look :-)

The trimesh python library cannot be built, because pyinstrument-cext can't be
built. This is due to the fact that the used URLs to fetch the source archive
don't exist. I have yet to find out how they are generated.

The python packages should be at the correct place, but i'm not usre where the
cura packages should be placed. Is engineering.scm the right place? If so i will
sort them alphabetically.


Malte

Malte Frank Gerdes (10):
gnu: Add libArcus.
gnu: Add cura-engine.
gnu: Add cura-binary-data.
gnu: Add uranium.
gnu: Add libCharon.
gnu: Add libSavitar.
gnu: Add cura.
gnu: Add python-pyinstrument-cext.
gnu: Add python-pyinstrument.
gnu: Add python-trimesh.

gnu/packages/engineering.scm | 293 ++++++++++++++++++++++++++++++++
gnu/packages/python-check.scm | 39 +++++
gnu/packages/python-science.scm | 29 ++++
3 files changed, 361 insertions(+)

--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 01/10] gnu: Add libArcus.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-1-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (libArcus): New variable.
---
gnu/packages/engineering.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (71 lines)
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))))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 02/10] gnu: Add cura-engine.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-2-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (cura-engine): New variable.
---
gnu/packages/engineering.scm | 46 ++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5c5db6a17e..c06b9aebf9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -107,6 +107,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
@@ -2872,3 +2873,48 @@ 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))))
+(define-public cura-engine
+ (package
+ (name "cura-engine")
+ (version "4.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/CuraEngine")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "177fk6j4gn3ssi8j1qxj8p4486f7jkz328vc75agxnh7vhd4mwsm"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("googletest" ,googletest)))
+ (inputs
+ `(("protobuf" ,protobuf)
+ ("libArcus" ,libArcus)
+ ("stb-image" ,stb-image)))
+ (arguments
+ `(#:configure-flags '("-DBUILD_TESTS=ON")
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "../source/cmake/FindStb.cmake"
+ (("/usr/include")
+ (string-append (assoc-ref inputs "stb-image")
+ "/include"))
+ (("stb/stb_image_resize.h")
+ "stb_image.h"))
+ (substitute*
+ "../source/src/infill/ImageBasedDensityProvider.cpp"
+ (("stb/stb_image.h")
+ "stb_image.h"))
+ #true)))))
+ (home-page "https://github.com/Ultimaker/CuraEngine")
+ (synopsis "Cura slicing engine")
+ (description "CuraEngine is a powerful, fast and robust engine for
+processing 3D models into 3D printing instruction for Ultimaker and other
+GCode based 3D printers. It is part of the larger open source project called
+Cura.")
+ (license license:agpl3)))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 03/10] gnu: Add cura-binary-data.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-3-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (cura-binary-data): New variable.
---
gnu/packages/engineering.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index c06b9aebf9..e36abe0dbd 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2918,3 +2918,26 @@ GCode based 3D printers. It is part of the larger open source project called
Cura.")
(license license:agpl3)))
+(define-public cura-binary-data
+ (package
+ (name "cura-binary-data")
+ (version "4.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/cura-binary-data")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17gsfv32dynx70g4bbrcxf3jn9bzplbfpfb4f4gvhrd4p3cn6q6k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #false
+ #:configure-flags '("-DENABLE_FIRMWARE_INSTALL=OFF")))
+ (home-page "https://github.com/Ultimaker/cura-binary-data")
+ (synopsis "Binary data for Cura, like compiled translations.")
+ (description "Contains binary data for Cura releases, like compiled
+translations. Prebuilt Firmware files are removed.")
+ (license license:agpl3)))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 05/10] gnu: Add libCharon.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-5-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (libCharon): New variable.
---
gnu/packages/engineering.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 1b4cb391b3..27d4eae948 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3009,3 +3009,27 @@ related Desktop Applications using PyQt5. It belongs to the Cura project
from Ultimaker.")
(license license:lgpl3)))
+(define-public libCharon
+ (package
+ (name "libCharon")
+ (version "4.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/libCharon")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hcjbn29rlvy4xcscnnnyck91fg9cvnc73x50g1ir3y3l1gplc2k"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pytest" ,python-pytest)))
+ (inputs
+ `(("python" ,python)))
+ (home-page "https://github.com/Ultimaker/libCharon")
+ (synopsis "File metadata and streaming library")
+ (description "libCharon is a python file metadata and streaming library. It
+belongs to the Cura project from Ultimaker.")
+ (license license:lgpl3)))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 04/10] gnu: Add uranium.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-4-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (uranium): New variable.
---
gnu/packages/engineering.scm | 68 ++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (85 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e36abe0dbd..1b4cb391b3 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -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)))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 06/10] gnu: Add libSavitar.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-6-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (libSavitar): New variable.
---
gnu/packages/engineering.scm | 42 ++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 27d4eae948..a65cbb81e8 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3033,3 +3033,45 @@ from Ultimaker.")
belongs to the Cura project from Ultimaker.")
(license license:lgpl3)))
+(define-public libSavitar
+ (let ((commit "85abbec0d947e6646b5172b6716c49c17e241632")
+ (revision "0"))
+ (package
+ (name "libSavitar")
+ (version (string-append "4.7.1-" revision "."
+ (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ultimaker/libSavitar")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32 "1i895d5r7c32z61m88xjkqs9j72bwmxllshs4y2rwgzxpq3rk1k5"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("python" ,python)
+ ("sip" ,python-sip)))
+ (arguments
+ `(#:tests? #false ;; this library doesn't have tests
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'fix-python-sitearch
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((path (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (substitute* "cmake/FindSIP.cmake"
+ (("\\$\\{_process_output\\} Python3_SITEARCH")
+ (string-append path " Python3_SITEARCH"))
+ (("\\$\\{_process_output\\} Python3_SITELIB")
+ (string-append path " Python3_SITELIB"))))
+ #true)))))
+ (home-page "https://github.com/Ultimaker/libSavitar")
+ (synopsis "C++ implementation of 3mf loading with SIP python bindings")
+ (description "libSavitar is a C++ implementation of 3mf loading with SIP
+python bindings. It belongs to the Cura project from Ultimaker.")
+ (license license:lgpl3))))
+
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 07/10] gnu: Add cura.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-7-malte.f.gerdes@gmail.com
* gnu/packages/engineering.scm (cura): New variable.
---
gnu/packages/engineering.scm | 43 ++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a65cbb81e8..2a7dfe470f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3075,3 +3075,46 @@ belongs to the Cura project from Ultimaker.")
python bindings. It belongs to the Cura project from Ultimaker.")
(license license:lgpl3))))
+(define-public cura
+ (package
+ (name "cura")
+ (version "4.7.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 "19an168iad3cb5w8i71c0wbr79qnz5qnpxqx1j6dgh64qz6ffn2r"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("mypy" ,python-mypy)
+ ("pytest" ,python-pytest)
+ ("certifi" ,python-certifi)
+ ("requests" ,python-requests)))
+ (inputs
+ `(("uranium" ,uranium)
+ ("cura-engine" ,cura-engine)
+ ("serial" ,python-pyserial)
+ ("savitar" ,libSavitar)
+ ("charon" ,libCharon)
+ ("sip" ,python-sip)))
+ (arguments
+ `(#:tests? #false
+ #: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"))
+ #true)))))
+ (home-page "https://github.com/Ultimaker/Cura")
+ (synopsis "Cura Slicer")
+ (description "Cura is a slicing software from Ultimaker. A @emph{Slicer}
+generates G-Code for 3D printers.")
+ (license license:lgpl3)))
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 08/10] gnu: Add python-pyinstrument-cext.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-8-malte.f.gerdes@gmail.com
* gnu/packages/python-check.scm (python-pyinstrument-cext): New variable.
---
gnu/packages/python-check.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 498f495584..6d068a9cd8 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -82,6 +83,22 @@ This package provides seamless integration with coverage.py (and thus pytest,
nosetests, etc...) in Python projects.")
(license license:expat)))
+(define-public python-pyinstrument-cext
+ (package
+ (name "python-pyinstrument-cext")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyinstrument-cext" version))
+ (sha256
+ (base32 "0nycf7nhx2xzba49m8208agx5xghzxkma3iim5f43h3l3pvjb7pj"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/joerick/pyinstrument_cext")
+ (synopsis "A CPython extension supporting pyinstrument")
+ (description "A CPython extension supporting pyinstrument")
+ (license license:bsd-3)))
+
(define-public python-vcrpy
(package
(name "python-vcrpy")
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 09/10] gnu: Add python-pyinstrument.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-9-malte.f.gerdes@gmail.com
* gnu/packages/python-check.scm (python-pyinstrument)@ New variable.
---
gnu/packages/python-check.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 6d068a9cd8..4fcc382913 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -99,6 +99,28 @@ nosetests, etc...) in Python projects.")
(description "A CPython extension supporting pyinstrument")
(license license:bsd-3)))
+(define-public python-pyinstrument
+ (package
+ (name "python-pyinstrument")
+ (version "3.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyinstrument" version))
+ (sha256
+ (base32
+ "0r8n2ajhjx9mlsy7hsvf6ihw1lk4zn1l95vd1c3g0jc3m1pfz3yf"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyinstrument-cext" ,python-pyinstrument-cext)))
+ (home-page
+ "https://github.com/joerick/pyinstrument")
+ (synopsis
+ "Call stack profiler for Python. Shows you why your code is slow!")
+ (description
+ "Call stack profiler for Python. Shows you why your code is slow!")
+ (license license:bsd-3)))
+
(define-public python-vcrpy
(package
(name "python-vcrpy")
--
2.28.0
M
M
Malte Frank Gerdes wrote on 17 Oct 2020 12:35
[PATCH 10/10] gnu: Add python-trimesh.
(address . 44045@debbugs.gnu.org)(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)
20201017103547.13769-10-malte.f.gerdes@gmail.com
* gnu/packages/python-science.scm (python-trimesh): New variable.
---
gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 101c8fb640..1d5835bff5 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
@@ -285,6 +287,33 @@ logic, also known as grey logic.")
of the SGP4 satellite tracking algorithm.")
(license license:expat)))
+(define-public python-trimesh
+ (package
+ (name "python-trimesh")
+ (version "3.8.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "trimesh" version))
+ (sha256
+ (base32
+ "0sf0wms2zhyljhiqjmyp77kx7b123gmr98hmna0y2ic7idzhzyr4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-setuptools" ,python-setuptools)))
+ (native-inputs
+ `(("python-coveralls" ,python-coveralls)
+ ("python-pyinstrument" ,python-pyinstrument)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/mikedh/trimesh")
+ (synopsis
+ "Import, export, process, analyze and view triangular meshes.")
+ (description
+ "Import, export, process, analyze and view triangular meshes.")
+ (license license:expat)))
+
(define-public python-pandas
(package
(name "python-pandas")
--
2.28.0
E
E
Efraim Flashner wrote on 19 Oct 2020 09:08
Re: [bug#44045] [PATCH 00/10] WIP Ultimaker Cura
(name . Malte Frank Gerdes)(address . malte.f.gerdes@gmail.com)(address . 44045@debbugs.gnu.org)
20201019070814.GK974@E5400
On Sat, Oct 17, 2020 at 12:32:30PM +0200, Malte Frank Gerdes wrote:
Toggle quote (10 lines)
> Hi,
>
> this series adds Ultimakers Cura software to Guix. It's WIP because the cura
> program itself segfaults while starting and i am not getting further as to why
> this happens. It would be great if someone interested could take a look :-)
>
> The trimesh python library cannot be built, because pyinstrument-cext can't be
> built. This is due to the fact that the used URLs to fetch the source archive
> don't exist. I have yet to find out how they are generated.

for pyinstrument-cext, try replacing the string in pypi-uri to
"pyinstrument_cext", with an underscore.

Toggle quote (30 lines)
> The python packages should be at the correct place, but i'm not usre where the
> cura packages should be placed. Is engineering.scm the right place? If so i will
> sort them alphabetically.
>
>
> Malte
>
> Malte Frank Gerdes (10):
> gnu: Add libArcus.
> gnu: Add cura-engine.
> gnu: Add cura-binary-data.
> gnu: Add uranium.
> gnu: Add libCharon.
> gnu: Add libSavitar.
> gnu: Add cura.
> gnu: Add python-pyinstrument-cext.
> gnu: Add python-pyinstrument.
> gnu: Add python-trimesh.
>
> gnu/packages/engineering.scm | 293 ++++++++++++++++++++++++++++++++
> gnu/packages/python-check.scm | 39 +++++
> gnu/packages/python-science.scm | 29 ++++
> 3 files changed, 361 insertions(+)
>
> --
> 2.28.0
>
>
>

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl+NO1sACgkQQarn3Mo9
g1H8gRAAsk+UmcaY7ltBxcjcbk1tFzyasC5f2qaP9LGUQpd36tIyJF6rwH5S0Vio
XSOrpGiKTrZzG//9VvneI8JfDPr4DcPQeuTtuAKOlsJmzx0fIw0HTj6V+HgljjXv
GjALiqQqzC32JSx60O+qOoDoJ7GfPqy52L2r6PgREtR/wIdYaSlY9b2KCbLFjl3W
ktMA6X+FwCDsUMQBNsadgVCjRy+IpXkYDC21YpEAlvRSROElAbpRp3ssOgbtnuxw
18AcGbNMSXc2oJXIGIq6UXC+pJWliPQYrJ6wOpfr9q29Io3UjlIYEai44211LRMA
HL2iSNJgwijW2wJSd7QkEUBCwXSlM+WqPpvoy+iHzrqUIGnMwYK2cFl6S9wXwVT0
TvBFW0ymCj8+TwYzCMjeVaOQ/qxpZw+lvAVwCVrJ1jNg+qEuynaOinnQ7PYufwWa
m/LELgJVcXk3p4GmoivsaqyKqP0h7xsemDnjjv0bANyZR02HP8mv1wNvGSbilQl9
VatlPe2SSDQRyLKIY1+Na8b4MRCPxeRueeQTXC3Wz+4hhxUWk7LayQkiobeY1bBX
kGxK/F/n4z/lA6R5c3B7ZgWBrMb2x33FKtnMlXsCXb7iCel9wfZ6QpOrkJubn/lY
Gpw40LF+cfcAMXcNBPl9DIQLh+suadkVlM2hch+g2uNZol89hOQ=
=Iy+F
-----END PGP SIGNATURE-----


M
M
Malte Frank Gerdes wrote on 21 Oct 2020 16:10
[bug#44045] [PATCH 10/10 v2] WIP Ultimaker Cura
(address . 44045@debbugs.gnu.org)(address . efraim@flashner.co.il)
861rhrlleo.fsf@gmail.com
Efraim Flashner <efraim@flashner.co.il> writes:

Toggle quote (14 lines)
> On Sat, Oct 17, 2020 at 12:32:30PM +0200, Malte Frank Gerdes wrote:
>> Hi,
>>
>> this series adds Ultimakers Cura software to Guix. It's WIP because the cura
>> program itself segfaults while starting and i am not getting further as to why
>> this happens. It would be great if someone interested could take a look :-)
>>
>> The trimesh python library cannot be built, because pyinstrument-cext can't be
>> built. This is due to the fact that the used URLs to fetch the source archive
>> don't exist. I have yet to find out how they are generated.
>
> for pyinstrument-cext, try replacing the string in pypi-uri to
> "pyinstrument_cext", with an underscore.

Thanks for the s/-/_/ tip! This works :-)

Having that out of the way i noticed that trimesh's testsuite dependes
(for whatever reason) on a javascript library which has to be generated
via npm, which is currently not available in Guix. Therefore i disabled
the testsuite from trimesh.

Attached is a corresponding patch.


Malte
From c39889e9a89662d702d8149c5d9600122e099209 Mon Sep 17 00:00:00 2001
From: Malte Frank Gerdes <malte.f.gerdes@gmail.com>
Date: Sat, 17 Oct 2020 12:04:29 +0200
Subject: [PATCH] gnu: Add python-trimesh.

* gnu/packages/python-science.scm (python-trimesh): New variable.
---
gnu/packages/python-science.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (60 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 101c8fb640..738ac1111e 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
@@ -285,6 +287,37 @@ logic, also known as grey logic.")
of the SGP4 satellite tracking algorithm.")
(license license:expat)))
+(define-public python-trimesh
+ (package
+ (name "python-trimesh")
+ (version "3.8.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "trimesh" version))
+ (sha256
+ (base32
+ "1pi7v9rdaakjfrqpc3zk77pg3z6vaz7qh1wy322sj9bq4824h2vr"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-setuptools" ,python-setuptools)))
+ (native-inputs
+ `(("python-coveralls" ,python-coveralls)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (arguments
+ `(;; tests need to be disabled because pyinstrument
+ ;; can't be built, because it depends on npm for
+ ;; JS generation.
+ #:tests? #false))
+ (home-page "https://github.com/mikedh/trimesh")
+ (synopsis
+ "Import, export, process, analyze and view triangular meshes.")
+ (description
+ "Import, export, process, analyze and view triangular meshes.")
+ (license license:expat)))
+
(define-public python-pandas
(package
(name "python-pandas")
--
2.28.0
M
M
Malte Frank Gerdes wrote on 21 Oct 2020 16:16
[bug#44045] [PATCH 08/10 v2] WIP Ultimaker Cura
(address . 44045@debbugs.gnu.org)
86wnzjk6l8.fsf@gmail.com
This is the updated definition for python-pyinstrument-cext :)


Malte
From 8cd0fb113041b792b48834c07dd6765ecf80baf6 Mon Sep 17 00:00:00 2001
From: Malte Frank Gerdes <malte.f.gerdes@gmail.com>
Date: Sat, 17 Oct 2020 12:02:05 +0200
Subject: [PATCH] gnu: Add python-pyinstrument-cext.

* gnu/packages/python-check.scm (python-pyinstrument-cext): New variable.
---
gnu/packages/python-check.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 498f495584..f62121cf1b 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -82,6 +83,24 @@ This package provides seamless integration with coverage.py (and thus pytest,
nosetests, etc...) in Python projects.")
(license license:expat)))
+(define-public python-pyinstrument-cext
+ (package
+ (name "python-pyinstrument-cext")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyinstrument_cext" version))
+ (sha256
+ (base32 "0nycf7nhx2xzba49m8208agx5xghzxkma3iim5f43h3l3pvjb7pj"))))
+ (build-system python-build-system)
+ (inputs
+ `(("nose" ,python-nose)))
+ (home-page "https://github.com/joerick/pyinstrument_cext")
+ (synopsis "A CPython extension supporting pyinstrument")
+ (description "A CPython extension supporting pyinstrument")
+ (license license:bsd-3)))
+
(define-public python-vcrpy
(package
(name "python-vcrpy")
--
2.28.0
G
G
Guillaume Le Vaillant wrote on 7 Apr 2022 22:41
Re: bug#44045: [PATCH 00/10] WIP Ultimaker Cura
(address . 44045-done@debbugs.gnu.org)
87v8vkfwql.fsf@kitej
Hi,
I updated this old patch series to make it work with current versions of
Cura and Guix, and pushed it as 390d68c95660986769da556affbda9b04ea7aa7d
and following.
Thanks for the patches and sorry for the very long delay.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYk9Ngg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+dowD9HEDWAIsxk6gRgkqE1Xyx5SkIyey1OYw+z9dA
Dobsso0A/jGgehSuPBYOjtLdJh1IvJC5YEEnPrtqEK78vJTsqNWD
=U32c
-----END PGP SIGNATURE-----

Closed
M
M
Malte Gerdes wrote on 11 Apr 2022 15:32
CAMVpQiXLgvgiajvWzyPaSskDuzR6Z+R+5mybqF+Hn-hwDJ2S_Q@mail.gmail.com
Thank you very much ?. I already forgot about it. It's extremely nice to
finally have a decent slicing Software in Guix!

On Thu, 7 Apr 2022, 22:47 Guillaume Le Vaillant, <glv@posteo.net> wrote:

Toggle quote (6 lines)
> Hi,
> I updated this old patch series to make it work with current versions of
> Cura and Guix, and pushed it as 390d68c95660986769da556affbda9b04ea7aa7d
> and following.
> Thanks for the patches and sorry for the very long delay.
>
Attachment: file
D
D
Demis Balbach wrote on 19 Feb 2023 23:58
(address . control@debbugs.gnu.org)
877cwds1o4.fsf@minikn.xyz
unarchive 44045
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEz9zHmXzCRksxyCGU8X3bmMw8QFwFAmPyqYsACgkQ8X3bmMw8
QFyEfA//YcWbEWhQLOwoaO+Tjh85KATmY7lPbqgFfmDEcJh3T3+6d39sitEMdTeJ
RQsjMVau/H9pVx9e1zuKSxr3q1+CGGsBjYp5NGSPaGw7sWkZGm3Qgct3poPDsVeY
KroOX6XhWPJdQU4ws0IQWAS+FBN5u8kJy43dfFhn8xfc8w8WfKd+QYH5xktnVNV+
Dbu/RTsNhjCOgaCIuIQ4pojoFcGT5nTOQqaIJh5WpbEfdL6+CuZhZ5M7Y5iPyplG
Azec/fLNt4Ly9WaibEhcaPo7yrC7vTOJz2HVb37aMrAC7IoQscH0CEZGT5fPwqoZ
Ia/HJqbFQfH4WZ0tOiTRQf1g5nHukG/Zyrv6Jc32KZ5rkWqDJxvpeh0NawqPzPXv
mGWWZjlg8/3Zlr3SlAmxPtBu79fhKWZ+5O33hTfEQ/v/c0fxyruRPp4LuKE/GYmj
eqD9obMYtxB/2WX5jnXwQE9a+BQ3MWOWYKdlUiiVAZxx6kYZ6BkRl0Kkx7MsZcJ+
j+jhvyNUzdRnpAvQpXsisIpgkSqfYVZosZ+WUZNtlTCx+aQETDGSX0reQVEjKD68
bgWmhbzhGUCArWKw1egKYxVJKhDkK+jk16OknZLtk46BzdFqRMgHX/jDmbFqbevq
iiSzXyjkObMzmNAinfV4TI/mw74s3dwzTaYsM7HHdfb0Ux+gsuY=
=3D0F
-----END PGP SIGNATURE-----

D
D
Demis Balbach wrote on 20 Feb 2023 00:00
(address . 44045@debbugs.gnu.org)
87sff1qmzb.fsf@minikn.xyz
Hello Malte,

could you explain how to set up cura properly? When using the package
some things seem to be missing like generic materials, default profiles
and so on. Thanks!

--
Best regards / Mit freundlichen Grüßen,
Demis Balbach
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEz9zHmXzCRksxyCGU8X3bmMw8QFwFAmPyqigACgkQ8X3bmMw8
QFwtLQ/+KpOlCru0Fnv51aRtCYDpA55DFO0NEuPjdjlzh85GtNT8bb17l+23CDX+
cl32rAJv+UThE3ui+b+mJp2MgvFsDCNCKD3ay4fRUdOyU+ACjQ5Dl9FSbrWWXOOw
302vmXPR1rMYL/lKE6J8G7xkf2fpll33Y59x/Ga5SgmyXQ9Txqn/ru+m2nGEu06d
Jd2FFKSmmQcfF5N7y4APt0KpoRTwCOC1jlc7iSwj0bNf7A29HDj5BOzLQCjfWQDs
pxMrtcj6s1SnstdCzZ//5FejMxRXDq6qYsB4sBTlS0G5GlcIygrlimPdvlp9v6ih
5jI+VgpCqzzQe4R7u/zgWPWhSKyL9WcM28wUNGiuS5W0lXJrV7SHcfMqIrNlotQd
ABVV4KnFJHdsWoN1uhNt5iyGph55lOfW0YFOm//GLkjwZGqFfKnocurBACZfSufI
4ZwPBgNVjOlFSFfGJx82ywVCwxc9N2eG5ZmaE7yJqf1GAxhQQBzns7XQRka5NaDL
Hn/xcHP8TkXCuGyte1rjxFdmUxAzY8lKslV/UC1oHTMoGECUT/fy8mskQ6z0B+tL
JOiErc1S6+sbT+cHbQb+ZH20ayeRIxhb2jJ6RGO/rbLuY5f3ozVQG5W4bDdj+p9u
aSB3tCs+fQtMfUYErH+PAemJOM4X5LBsOfJ58IknmNdTrPXxpj4=
=whId
-----END PGP SIGNATURE-----

?