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
* gnu/packages/engineering.scm (libArcus): New variable. --- gnu/packages/engineering.scm | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) 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
* gnu/packages/engineering.scm (cura-engine): New variable. --- gnu/packages/engineering.scm | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) 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
* gnu/packages/engineering.scm (cura-binary-data): New variable. --- gnu/packages/engineering.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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
* gnu/packages/engineering.scm (uranium): New variable. --- gnu/packages/engineering.scm | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) 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
* gnu/packages/engineering.scm (libCharon): New variable. --- gnu/packages/engineering.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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
* gnu/packages/engineering.scm (libSavitar): New variable. --- gnu/packages/engineering.scm | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) 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
* gnu/packages/engineering.scm (cura): New variable. --- gnu/packages/engineering.scm | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) 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
* gnu/packages/python-check.scm (python-pyinstrument-cext): New variable. --- gnu/packages/python-check.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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
* gnu/packages/python-check.scm (python-pyinstrument)@ New variable. --- gnu/packages/python-check.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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
* gnu/packages/python-science.scm (python-trimesh): New variable. --- gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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
[-- Attachment #1: Type: text/plain, Size: 1645 bytes --] 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. > 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 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1043 bytes --] Efraim Flashner <efraim@flashner.co.il> writes: > 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 [-- Attachment #2: 0001-gnu-Add-python-trimesh.patch --] [-- Type: text/x-patch, Size: 2486 bytes --] 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(+) 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
[-- Attachment #1: Type: text/plain, Size: 72 bytes --] This is the updated definition for python-pyinstrument-cext :) Malte [-- Attachment #2: 0001-gnu-Add-python-pyinstrument-cext.patch --] [-- Type: text/x-patch, Size: 1780 bytes --] 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(+) 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
[-- Attachment #1: Type: text/plain, Size: 223 bytes --] 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 #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
[-- Attachment #1: Type: text/plain, Size: 445 bytes --] 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: > 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 #2: Type: text/html, Size: 707 bytes --]
[-- Attachment #1: Type: text/plain, Size: 245 bytes --] 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 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --]