aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/printers.scm
blob: bbf98ee65332c52fd5d7b91f8e557eb1fe9b3730 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages printers)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages cups)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages ghostscript)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages qt))

;; This is a module for packages related to printer-like devices, but not
;; related to CUPS.

(define-public robocut
  (package
    (name "robocut")
    (version "1.0.11")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Timmmm/robocut")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0dp9cssyik63yvkk35s51v94a873x751iqg93qzd8dpqkmz5z8gn"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (modify-phases %standard-phases
                  (replace 'configure
                    (lambda* (#:key outputs #:allow-other-keys)
                      (let ((out (assoc-ref outputs "out")))
                        (substitute* "Robocut.pro"
                          (("/usr/")
                           (string-append out "/")))

                        (invoke "qmake"
                                (string-append "PREFIX=" out))
                        #t))))))
    (inputs
     `(("libusb" ,libusb)
       ("qt" ,qtbase)
       ("qtsvg" ,qtsvg)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("qmake" ,qtbase)))
    (synopsis "Graphical program to drive plotting cutters")
    (description
     "Robocut is a simple graphical program that allows you to cut graphics
with Graphtec and Sihouette plotting cutters using an SVG file as its input.")
    (home-page "http://robocut.org")
    (license license:gpl3+)))

(define-public brlaser
  (package
    (name "brlaser")
    (version "6")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/pdewacht/brlaser")
                    (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1995s69ksq1fz0vb34v0ndiqncrinbrlpmp70rkl6az7kag99s80"))))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags
       (list (string-append "-DCUPS_DATA_DIR="
                            (assoc-ref %outputs "out")
                            "/share/cups")
             (string-append "-DCUPS_SERVER_BIN="
                            (assoc-ref %outputs "out")
                            "/lib/cups"))))
    (inputs
     `(("ghostscript" ,ghostscript)
       ("cups" ,cups)
       ("zlib" ,zlib)))
    (home-page "https://github.com/pdewacht/brlaser")
    (synopsis "Brother laser printer driver")
    (description "Brlaser is a CUPS driver for Brother laser printers.  This
driver is known to work with these printers:

@enumerate
@item Brother DCP-1510 series
@item Brother DCP-1600 series
@item Brother DCP-7030
@item Brother DCP-7040
@item Brother DCP-7055
@item Brother DCP-7055W
@item Brother DCP-7060D
@item Brother DCP-7065DN
@item Brother DCP-7080
@item Brother DCP-L2500D series
@item Brother DCP-L2520D series
@item Brother DCP-L2540DW series
@item Brother HL-1110 series
@item Brother HL-1200 series
@item Brother HL-2030 series
@item Brother HL-2140 series
@item Brother HL-2220 series
@item Brother HL-2270DW series
@item Brother HL-5030 series
@item Brother HL-L2300D series
@item Brother HL-L2320D series
@item Brother HL-L2340D series
@item Brother HL-L2360D series
@item Brother MFC-1910W
@item Brother MFC-7240
@item Brother MFC-7360N
@item Brother MFC-7365DN
@item Brother MFC-7840W
@item Brother MFC-L2710DW series
@item Lenovo M7605D
@end enumerate")
    (license license:gpl2+)))
s/mail.scm | 2 +- gnu/packages/patchutils.scm | 2 +- 3 files changed, 50 insertions(+), 21 deletions(-) (limited to 'gnu/packages/mail.scm') diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index dd066b5d67..1cc7199eef 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2019 Sam +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,43 +46,55 @@ (define-public python-django (package (name "python-django") - (version "1.11.29") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "171jsi54fbnxzi2n3l4hkdmmwfnfrwacs180rw59l0bqcvxsw022")))) + "0bzwy58hrxbsh7szak1yfh7qvvfnpdpi8ay1x7d3pvbkm1f15j2r")))) (build-system python-build-system) (arguments - '(#:modules ((srfi srfi-1) - (guix build python-build-system) - (guix build utils)) - #:phases + '(#:phases (modify-phases %standard-phases - (add-before 'check 'set-tzdir + (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; The test-suite tests timezone-dependent functions, thus tzdata ;; needs to be available. (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) - #t)) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (setenv "PYTHONPATH" - (string-append ".:" (getenv "PYTHONPATH"))) + + ;; Disable test for incorrect timezone: it only raises the + ;; expected error when /usr/share/zoneinfo exists, even though + ;; the machinery gracefully falls back to TZDIR. According to + ;; django/conf/__init__.py, lack of /usr/share/zoneinfo is + ;; harmless, so just ignore this test. + (substitute* "tests/settings_tests/tests.py" + ((".*def test_incorrect_timezone.*" all) + (string-append " @unittest.skipIf(True, 'Disabled by Guix')\n" + all))) + + ;; Preserve the PYTHONPATH created by Guix when running the tests. (substitute* "tests/admin_scripts/tests.py" (("python_path = \\[") (string-append "python_path = ['" - (find (lambda (entry) - (string-prefix? - (assoc-ref inputs "python-pytz") - entry)) - (string-split (getenv "PYTHONPATH") - #\:)) + (string-join + (string-split (getenv "PYTHONPATH") #\:) + "','") "', "))) - (invoke "python" "tests/runtests.py")))))) + + #t)) + (replace 'check + (lambda _ + (with-directory-excursion "tests" + (setenv "PYTHONPATH" + (string-append "..:" (getenv "PYTHONPATH"))) + (invoke "python" "runtests.py" + ;; By default tests run in parallel, which may cause + ;; various race conditions. Run sequentially for + ;; consistent results. + "--parallel=1"))))))) ;; TODO: Install extras/django_bash_completion. (native-inputs `(("tzdata" ,tzdata-for-tests) @@ -99,6 +112,7 @@ ("python-tblib" ,python-tblib))) (propagated-inputs `(("python-argon2-cffi" ,python-argon2-cffi) + ("python-asgiref" ,python-asgiref) ("python-bcrypt" ,python-bcrypt) ("python-pytz" ,python-pytz))) (home-page "https://www.djangoproject.com/") @@ -125,6 +139,21 @@ to the @dfn{don't repeat yourself} (DRY) principle.") ;; required. ,@(package-native-inputs base)))))) +(define-public python-django-2.2 + (package + (inherit python-django) + (version "2.2.16") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "1535g2r322cl4x52fb0dmzlbg23539j2wx6027j54p22xvjlbkv2")))) + (native-inputs + `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. + ("python-selenium" ,python-selenium) + ,@(package-native-inputs python-django))))) + (define-public python-django-extensions (package (name "python-django-extensions") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index c9edde65be..2f26cf09ef 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3118,7 +3118,7 @@ which sends emails to HyperKitty, the official Mailman3 web archiver.") "--settings=hyperkitty.tests.settings_test")))))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-django" ,python-django) + ("python-django" ,python-django-2.2) ("python-django-compressor" ,python-django-compressor) ("python-django-extensions" ,python-django-extensions) ("python-django-gravatar2" ,python-django-gravatar2) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index c26977be1f..335d251e74 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -467,7 +467,7 @@ if __name__ == \"__main__\": (inputs `(("python-wrapper" ,python-wrapper))) (propagated-inputs - `(("python-django" ,python-django) + `(("python-django" ,python-django-2.2) ;; TODO: Make this configurable ("python-psycopg2" ,python-psycopg2) ("python-mysqlclient" ,python-mysqlclient) -- cgit v1.2.3 From a2c0dbb84a5537a0f9edb67dd20af3c7fe773aea Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 22 Sep 2020 18:23:26 +0200 Subject: gnu: python-hyperkitty: Enable previously failing test. * gnu/packages/mail.scm (python-hyperkitty)[arguments]: Remove substitution. --- gnu/packages/mail.scm | 4 ---- 1 file changed, 4 deletions(-) (limited to 'gnu/packages/mail.scm') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 2f26cf09ef..fcdefbb577 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3109,10 +3109,6 @@ which sends emails to HyperKitty, the official Mailman3 web archiver.") (modify-phases %standard-phases (replace 'check (lambda _ - ;; It is unclear why this test fails. - (substitute* "hyperkitty/tests/commands/test_import.py" - (("def test_bad_content_type_part_two") - "@SkipTest\n def test_bad_content_type_part_two")) (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH"))) (invoke "example_project/manage.py" "test" "--settings=hyperkitty.tests.settings_test")))))) -- cgit v1.2.3 From 7230f6d5dda8d1351d16c786c0f86eca55aca09a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Sep 2020 21:31:52 +0200 Subject: gnu: Fix typoes in package descriptions. * gnu/packages/audio.scm (caps-plugins-lv2)[synopsis]: Fix typo. * gnu/packages/bioconductor.scm (r-karyoploter, r-anota, r-gcrma) (r-big