From 276c8cfd7513643160fae38962a6208c97ebc8e4 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Fri, 9 Dec 2022 18:28:04 +0100 Subject: [PATCH 19/19] gnu: Add octoprint. * gnu/packages/printers.scm (octoprint): New variable. diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm index 2bbe45e066..e3550f115c 100644 --- a/gnu/packages/printers.scm +++ b/gnu/packages/printers.scm @@ -25,10 +25,15 @@ (define-module (gnu packages printers) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages check) #:use-module (gnu packages libusb) #:use-module (gnu packages pkg-config) + #: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 qt) - #:use-module (gnu packages python-web)) + #:use-module (gnu packages web)) ;; This is a module for packages related to printer-like devices, but not ;; related to CUPS. @@ -106,6 +111,87 @@ (define-public octoprint-filecheck the past have caused support requests on OctoPrint's Community Forums.") (license license:agpl3))) +(define-public octoprint + (package + (name "octoprint") + (version "1.8.1") + (source + (origin + (method git-fetch) ; no tests in the PyPI tarball. + (uri (git-reference + (url "https://github.com/OctoPrint/OctoPrint") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yqbq4gbnzgbipv35z5b1i1f8x20p0gdz37721f163iyipsxppj6")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled font-awesome. + (delete-file-recursively "src/octoprint/static/vendor"))))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getcwd)))) ; some tests need a writable home + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "tests"))))))) + (native-inputs + (list python-ddt python-mock python-pytest python-pytest-doctest-custom)) + (inputs + (list octoprint-filecheck + octoprint-firmwarecheck + octoprint-pisupport + python-appdirs + python-blinker + python-cachelib-0.2 + python-click + python-colorlog + python-emoji + python-feedparser + python-filetype + python-flask + python-flask-assets + python-flask-babel + python-flask-login-0.5 + python-frozendict + python-future + python-immutabledict + python-itsdangerous + python-jinja2 + python-markdown + python-markupsafe + python-netaddr + python-netifaces + python-pathvalidate + python-pkginfo + python-psutil + python-pylru + python-pyserial + python-pyyaml-5 + python-regex + python-requests + python-sarge-0.1.6 + python-semantic-version + python-sentry-sdk + python-tornado-6 + python-unidecode + python-watchdog-1 + python-websocket-client + python-werkzeug + python-wrapt-1.13 + python-zeroconf-0.33 + python-zipstream-ng)) + (home-page "https://octoprint.org") + (synopsis "Web interface for 3D printers") + (description "OctoPrint provides a snappy web interface for controlling +consumer 3D printers.") + (license license:agpl3))) + (define-public robocut (package (name "robocut") -- 2.38.1