aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/guix/system.scm70
1 files changed, 69 insertions, 1 deletions
diff --git a/etc/guix/system.scm b/etc/guix/system.scm
index 56505b9..ea77089 100644
--- a/etc/guix/system.scm
+++ b/etc/guix/system.scm
@@ -1,5 +1,10 @@
(use-modules
+ (gnu packages cpio)
+ (gnu packages cups)
+ (gnu packages image)
+ (gnu packages package-management)
+
(xyz euandreh queue)
(gnu packages mail)
(gnu packages admin)
@@ -46,6 +51,69 @@
(xyz euandreh queue))
(heredoc:enable-syntax)
+(define-public epson-L365-x
+ (package
+ (name "epson-L365-x")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/92e9c9254f0ee4230a069545ba27ec2858a2c457/epson-inkjet-printer-201401w-"
+ version
+ "-1lsb3.2.src.rpm"))
+ (sha256
+ (base32 "0c60m1sd59s4sda38dc5nniwa7dh1b0kv1maajr0x9d38gqlyk3x"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir "source")
+ (chdir "source")
+ (system (string-append "rpm2cpio " #$source " | cpio -idv"))
+ (invoke "tar" "-xvf" (string-append "epson-inkjet-printer-201401w-" #$version ".tar.gz"))
+ (invoke "tar" "-xvf" (string-append "epson-inkjet-printer-filter-" #$version ".tar.gz"))))
+ (add-after 'unpack 'patch-/opt-paths
+ (lambda _
+ (substitute* (find-files (string-append "epson-inkjet-printer-201401w-" #$version "/ppds/"))
+ (("/opt/epson-inkjet-printer-201401w/cups/lib")
+ (string-append (assoc-ref outputs "out")
+ "/lib/cups")))
+ (substitute* (find-files (string-append "epson-inkjet-printer-201401w-" #$version "/ppds/"))
+ (("/opt/epson-inkjet-printer-201401w/watermark")
+ (string-append (assoc-ref outputs "out")
+ "/watermark")))))
+ (add-after 'unpack 'chdir-into-builddir
+ (lambda _
+ (chdir (string-append "epson-inkjet-printer-filter-" #$version))))
+ (add-after 'install 'install-extra-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (model-dir (string-append out "/share/cups/model/epson-inkjet-printer-201401w")))
+ (chdir (string-append "../epson-inkjet-printer-201401w-" #$version))
+ (mkdir-p model-dir)
+ (invoke "cp" "-a" "ppds" model-dir)
+ (invoke "cp" "-a" "lib64" "resource" "watermark" out)))))))
+ (native-inputs
+ (list cpio
+ cups-minimal
+ libjpeg-turbo
+ rpm))
+ (synopsis
+ "Epson printer driver (L456, L455, L366, L365, L362, L360, L312, L310, L222, L220, L132, L130)")
+ (description
+ "This software is a filter program used with the Common UNIX Printing
+System (CUPS) under Linux. It supplies high quality printing with
+Seiko Epson Color Ink Jet Printers.")
+ (home-page "https://www.openprinting.org/driver/epson-201401w")
+ ;; Plus the "SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT":
+ ;; https://epson.com/SoftwareLicenseAgreement
+ (license license:lgpl2.1)))
+
(define whoami "andreh")
(define priv-statedir (string-append "/var/lib/" whoami))
(define toph "toph")
@@ -410,7 +478,7 @@
(cups-configuration
(web-interface? #t)
(extensions
- (list epson-L365))))
+ (list epson-L365-x))))
(service openssh-service-type
(openssh-configuration
(password-authentication? #f)