[PATCH 0/2] gnu: Add printrun.

  • Open
  • quality assurance status badge
Details
2 participants
  • Morgan.J.Smith
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Morgan.J.Smith
Severity
normal
M
M
Morgan.J.Smith wrote on 25 Nov 2021 23:26
(address . guix-patches@gnu.org)
BYAPR05MB402374B9DB45FB4583BAE1B2C5629@BYAPR05MB4023.namprd05.prod.outlook.com
I've tested it and the GUI works great. It connects to my 3D printer just fine. I wish we had slic3r packaged but with prusa-slicer and now printrun, we do have a full 3D printing setup available

[PATCH 1/2] gnu: Add python-pyglet.
[PATCH 2/2] gnu: Add printrun.
M
M
Morgan.J.Smith wrote on 26 Nov 2021 01:58
[PATCH 1/2] gnu: Add python-pyglet.
(address . 52116@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
BYAPR05MB4023765F4720BC3D7069A896C5639@BYAPR05MB4023.namprd05.prod.outlook.com
From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/python-xyz.scm (python-pyglet): New variable.
---
gnu/packages/python-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (65 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d33469815a..79677cccc5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28174,3 +28174,58 @@ (define-public bmap-tools
;; contrib/bmap_write.py is gpl2+
;; The rest is gpl2
(license (list license:gpl2+ license:gpl2))))
+
+(define-public python-pyglet
+ (package
+ (name "python-pyglet")
+ (version "1.5.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyglet" version ".zip"))
+ (sha256
+ (base32
+ "1qi8jz8dbyyz3yjz7jm94mll1libda08sk9512xgkdn4dnqdvajs"))))
+ (build-system python-build-system)
+ (inputs
+ `(("mesa" ,mesa)
+ ("glu" ,glu)
+ ("freetype" ,freetype)
+ ("fontconfig" ,fontconfig)
+ ("libx11" ,libx11)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pillow" ,python-pillow)
+ ("xorg-server" ,xorg-server-for-tests)
+ ("unzip" ,unzip)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "pyglet/gl/lib_glx.py"
+ (("'GL'")
+ (string-append "'" (assoc-ref inputs "mesa") "/lib/libGL.so'"))
+ (("'GLU'")
+ (string-append "'" (assoc-ref inputs "glu") "/lib/libGLU.so'")))
+ (substitute* "pyglet/font/freetype_lib.py"
+ (("'freetype'")
+ (string-append "'" (assoc-ref inputs "freetype") "/lib/libfreetype.so'")))
+ (substitute* "pyglet/font/fontconfig.py"
+ (("'fontconfig'")
+ (string-append "'" (assoc-ref inputs "fontconfig") "/lib/libfontconfig.so'")))
+ (substitute* "pyglet/libs/x11/xlib.py"
+ (("'X11'")
+ (string-append "'" (assoc-ref inputs "libx11") "/lib/libX11.so'")))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ (invoke "pytest" "tests/unit")))))))
+ (home-page "http://pyglet.readthedocs.io/en/latest/")
+ (synopsis "Cross-platform windowing and multimedia library")
+ (description "Cross-platform windowing and multimedia library")
+ (license license:bsd-3)))
--
2.34.0
M
M
Morgan.J.Smith wrote on 26 Nov 2021 01:58
[PATCH 2/2] gnu: Add printrun.
(address . 52116@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
BYAPR05MB4023D4330B53BF414D91907EC5639@BYAPR05MB4023.namprd05.prod.outlook.com
From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/printers.scm (printrun): New variable.
---
gnu/packages/printers.scm | 66 +++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (97 lines)
diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm
index 619a2750e0..91ab1a0dfb 100644
--- a/gnu/packages/printers.scm
+++ b/gnu/packages/printers.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages printers)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages compression)
@@ -32,6 +33,7 @@ (define-module (gnu packages printers)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-science)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
@@ -46,6 +48,8 @@ (define-module (gnu packages printers)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages web)
+ #:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages qt))
@@ -288,3 +292,65 @@ (define-public slic3rapp
(synopsis "")
(description "")
(license #f)))
+
+(define-public printrun
+ (package
+ (name "printrun")
+ (version "2.0.0rc8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kliment/Printrun")
+ (commit (string-append "printrun-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bvwrfhmn2km03fp343bd9ddjxv8sp3d0qdxk786rflw4yksbxgn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "requirements.txt"
+ (("== 4.1.0") ">= 4.0.0") ;; wxPython
+ (("dbus-python.*") "")) ;; Not sure why it can't find dbus-python
+ (delete-file "printrun/power/osx.py")
+ (delete-file "printrun/packer.py") ;; Uses a non-free library
+
+ ;; Changing the value of python variables
+ (substitute* "printrun/utils.py"
+ (("shared_pronterface_images_dir = .*")
+ (string-append "shared_pronterface_images_dir = \"" (assoc-ref outputs "out")
+ "/share/pronterface/images\"\n"))
+ (("shared_pixmaps_dir = .*")
+ (string-append "shared_pixmaps_dir = \"" (assoc-ref outputs "out")
+ "/share/pixmaps\"\n"))
+ (("shared_pronterface_dir = .*")
+ (string-append "shared_pixmaps_dir = \"" (assoc-ref outputs "out")
+ "/share/pronterface\"\n")))))
+ (add-before 'check 'setup-display
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")))))))
+ (inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-cairocffi" ,python-cairocffi)
+ ("python-cairosvg" ,python-cairosvg)
+ ("python-cffi" ,python-cffi)
+ ("python-dbus" ,python-dbus)
+ ("python-lxml" ,python-lxml)
+ ("python-numpy" ,python-numpy)
+ ("python-psutil" ,python-psutil)
+ ("python-pyglet" ,python-pyglet)
+ ("python-pyserial" ,python-pyserial)
+ ("python-wxpython" ,python-wxpython)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("xvfb" ,xorg-server-for-tests)))
+ (home-page "https://github.com/kliment/Printrun/")
+ (synopsis "Printrun is a full suite of host interfaces for 3D printers and CNC")
+ (description "Printrun consists of printcore, pronsole and pronterface, and a small
+collection of helpful scripts.")
+ (license license:gpl3+)))
--
2.34.0
M
M
Morgan.J.Smith wrote on 24 Dec 2022 00:08
[PATCH v2 1/2] gnu: Add python-pyglet.
(address . 52116@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
DM5PR03MB3163CBCF33AAAC92EE230DD6C5E99@DM5PR03MB3163.namprd03.prod.outlook.com
From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/python-xyz.scm (python-pyglet): New variable.
---

I updated the patches with the latest style. python-pyglet has released a version 2 but printrun doesn't work with that. Everything still works fine. I would appreciate a review

gnu/packages/python-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

Toggle diff (71 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee25a2d655..e609507032 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4973,6 +4973,64 @@ (define-public python-doc8
text styles of documentation.")
(license license:asl2.0)))
+(define-public python-pyglet
+ (package
+ (name "python-pyglet")
+ (version "1.5.27")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyglet" version ".zip"))
+ (sha256
+ (base32
+ "01ghxgkaiw1m5gp498rd58vl8m5nvbyn95xna7yi0fqz8mky002d"))))
+ (build-system python-build-system)
+ (inputs (list mesa glu freetype fontconfig libx11))
+ (native-inputs (list python-pytest python-pytest-cov python-pillow
+ xorg-server-for-tests unzip))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "pyglet/gl/lib_glx.py"
+ (("'GL'")
+ (string-append "'"
+ (search-input-file inputs
+ "lib/libGL.so") "'"))
+ (("'GLU'")
+ (string-append "'"
+ (search-input-file inputs
+ "lib/libGLU.so")
+ "'")))
+ (substitute* "pyglet/font/freetype_lib.py"
+ (("'freetype'")
+ (string-append "'"
+ (search-input-file inputs
+ "lib/libfreetype.so") "'")))
+ (substitute* "pyglet/font/fontconfig.py"
+ (("'fontconfig'")
+ (string-append "'"
+ (search-input-file inputs
+ "lib/libfontconfig.so") "'")))
+ (substitute* "pyglet/libs/x11/xlib.py"
+ (("'X11'")
+ (string-append "'"
+ (search-input-file inputs
+ "lib/libX11.so")
+ "'")))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ (invoke "pytest" "tests/unit")))))))
+ (home-page "http://pyglet.readthedocs.io/en/latest/")
+ (synopsis "Cross-platform windowing and multimedia library")
+ (description "Cross-platform windowing and multimedia library")
+ (license license:bsd-3)))
+
(define-public python-pygments
(package
(name "python-pygments")
--
2.38.1
M
M
Morgan.J.Smith wrote on 24 Dec 2022 00:08
[PATCH v2 2/2] gnu: Add printrun.
(address . 52116@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
DM5PR03MB316315CB25C6017CCC5062B0C5E99@DM5PR03MB3163.namprd03.prod.outlook.com
From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/printers.scm (printrun): New variable.
---
gnu/packages/printers.scm | 72 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 71 insertions(+), 1 deletion(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm
index e7761070e0..1abc99d64d 100644
--- a/gnu/packages/printers.scm
+++ b/gnu/packages/printers.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,13 +19,20 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages printers)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages qt))
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
;; This is a module for packages related to printer-like devices, but not
;; related to CUPS.
@@ -68,3 +76,65 @@ (define-public robocut
with Graphtec and Sihouette plotting cutters using an SVG file as its input.")
(home-page "http://robocut.org")
(license license:gpl3+)))
+
+(define-public printrun
+ (package
+ (name "printrun")
+ (version "2.0.0rc8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kliment/Printrun")
+ (commit (string-append "printrun-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bvwrfhmn2km03fp343bd9ddjxv8sp3d0qdxk786rflw4yksbxgn"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-files
+ (lambda _
+ (substitute* "requirements.txt"
+ (("== 4.1.0")
+ ">= 4.0.0")
+ (("dbus-python.*")
+ ""))
+ (delete-file "printrun/power/osx.py")
+ (delete-file "printrun/packer.py")
+ (substitute* "printrun/utils.py"
+ (("shared_pronterface_images_dir = .*")
+ (string-append
+ "shared_pronterface_images_dir = \""
+ #$output "/share/pronterface/images\"\n"))
+ (("shared_pixmaps_dir = .*")
+ (string-append "shared_pixmaps_dir = \""
+ #$output "/share/pixmaps\"\n"))
+ (("shared_pronterface_dir = .*")
+ (string-append "shared_pixmaps_dir = \""
+ #$output
+ "/share/pronterface\"\n")))))
+ (add-before 'check 'setup-display
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")))))))
+ (inputs (list python-appdirs
+ python-cairocffi
+ python-cairosvg
+ python-cffi
+ python-dbus
+ python-lxml
+ python-numpy
+ python-psutil
+ python-pyglet
+ python-pyserial
+ python-wxpython))
+ (native-inputs (list python-cython xorg-server-for-tests))
+ (home-page "https://github.com/kliment/Printrun/")
+ (synopsis
+ "Printrun is a full suite of host interfaces for 3D printers and CNC")
+ (description
+ "Printrun consists of printcore, pronsole and pronterface, and a small
+collection of helpful scripts.")
+ (license license:gpl3+)))
--
2.38.1
S
S
Sharlatan Hellseher wrote on 18 Oct 22:18 +0200
[PATCH 0/2] gnu: Add printrun.
(address . 52116@debbugs.gnu.org)
871q0dp3kg.fsf@gmail.com
Hi,

I've refreshed python-pyglet with combined efforts from:

- 48467 [PATCH] gnu: Add python-pyglet.
;;; Copyright © 2021 Adam Kandur <kefironpremise@gmail.com>
- 50505 [PATCH 00/12] gnu: Add python-manim
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
- 52116 [PATCH 0/2] gnu: Add printrun.
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
- 67131 [PATCH 0/7] gnu: Add tuxemon.
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>

Pushed as 88471af678959b1eb4e357a47293030d05de8658 to master.

--
Thanks,
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmcSwq8ACgkQdtcnv/Ys
0rW4Hg/+JihgBhMCuMU7lGUmK0Hl1x49fyJFuCG3+nhfdXJUIoStF58ZuNibJHry
ai6uKWciiLDbQ2eZKmCvGqumBp3sBmBUs2UzO18hE9dT7i4wbDFB1wenhvWOfHzb
QXJKYCfYB0yTOuQ30AD9c5LkJEYUkMICHQh8244H/9lJzBVKg8D4emVQ2ncWb5ZL
cnUE4l4xWf0V6TEOGzqkIEK04SD6lodITgI3HJyo7f3vRH9CYqUMhcw7Ta5BYKms
v7I24acfWMjDfDsMv+2B5SzrmaqdgwwYlOLGktrxOKP9quGi4YRffBYjq/m1mLo3
oxTyPLE+Spsx1sM8QAb7VIEKt7W4WyHh2wPrEUVeM7JCqD48iWE27+kO+h6EGgyw
T+V2z9PCdwgLceW38HjBDKVTxPFB4j2zuYPOcrLKdGJlXHhtHB2mbZ8hr+iu55t3
eDfL/geguwQmsT9F6kHbp3k7Z7QkXvqRUD/IIcAKVxn3v387KFG3ACGSWvIZTrff
kZjjvfGNuMZFRgnybZryQxpd9s0MOpvu1hK7xmE47StUr6PWQAVkFYNjy4G122TC
LkMEBUrHa18L2V5DYWgN+7qHWdeAuAAlL/iBdO31JJq46e6nokMHA1Aqe+LX95AJ
SEA93QOQgkgRNIt07I7WaqaLBtGfpzubnzYOsTYDvZ7Mz9Cyx9k=
=sva7
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 52116@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 52116
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch