diff options
-rw-r--r-- | etc/guix/system.scm | 70 |
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) |