From ca45050d2e7e1e88b58aab3dbb5ece6f3337da6e Mon Sep 17 00:00:00 2001 From: Johannes Rosenberger Date: Sat, 20 Oct 2018 16:36:02 +0200 Subject: [PATCH] epson-workforce-635-nx625-series: init at 1.0.1 --- maintainers/maintainer-list.nix | 5 + .../default.nix | 98 +++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e60280f30eb..d2736de0a03 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2060,6 +2060,11 @@ github = "joncojonathan"; name = "Jonathan Haddock"; }; + jorsn = { + name = "Johannes Rosenberger"; + email = "johannes@jorsn.eu"; + github = "jorsn"; + }; jpdoyle = { email = "joethedoyle@gmail.com"; github = "jpdoyle"; diff --git a/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix new file mode 100644 index 00000000000..654cb553775 --- /dev/null +++ b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix @@ -0,0 +1,98 @@ +{ + autoreconfHook, cups, gzip, libjpeg, rpmextract, + fetchurl, lib, stdenv +}: + +let + srcdirs = { + filter = "epson-inkjet-printer-filter-1.0.0"; + driver = "epson-inkjet-printer-workforce-635-nx625-series-1.0.1"; + }; +in stdenv.mkDerivation rec { + name = "epson-inkjet-printer-workforce-635-nx625-series"; + version = "1.0.1"; + + src = builtins.fetchurl { + url = "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm"; + sha256 = "19nb2h0y9rvv6rg7j262f8sqap9kjvz8kmisxnjg1w0v19zb9zf2"; + }; + sourceRoot = srcdirs.filter; + + nativeBuildInputs = [ autoreconfHook gzip rpmextract ]; + buildInputs = [ cups libjpeg ]; + + unpackPhase = '' + rpmextract "$src" + for i in ${lib.concatStringsSep " " (builtins.attrValues srcdirs)}; do + tar xvf "$i".tar.gz + done + ''; + + preConfigure = '' + chmod u+x configure + ''; + + installPhase = + let + filterdir = "$out/cups/lib/filter"; + docdir = "$out/share/doc"; + ppddir = "$out/share/cups/model/${name}"; + libdir = + if stdenv.system == "x86_64-linux" then "lib64" + else if stdenv.system == "i686_linux" then "lib" + else throw "other platforms than i686_linux and x86_64-linux are not yet supported"; + in '' + mkdir -p "$out" "${docdir}" "${filterdir}" "${ppddir}" + cp src/epson_inkjet_printer_filter "${filterdir}" + + cd ../${srcdirs.driver} + for ppd in ppds/*; do + substituteInPlace "$ppd" --replace '/opt/${name}' "$out" + gzip -c "$ppd" > "${ppddir}/''${ppd#*/}" + done + cp COPYING.EPSON README "${docdir}" + cp -r resource watermark ${libdir} "$out" + ''; + + meta = { + description = "Proprietary CUPS drivers for Epson inkjet printers"; + longDescription = '' + This software is a filter program used with Common UNIX Printing + System (CUPS) from the Linux. This can supply the high quality print + with Seiko Epson Color Ink Jet Printers. + + This printer driver is supporting the following printers. + + WorkForce 60 + WorkForce 625 + WorkForce 630 + WorkForce 633 + WorkForce 635 + WorkForce T42WD + Epson Stylus NX625 + Epson Stylus SX525WD + Epson Stylus SX620FW + Epson Stylus TX560WD + Epson Stylus Office B42WD + Epson Stylus Office BX525WD + Epson Stylus Office BX625FWD + Epson Stylus Office TX620FWD + Epson ME OFFICE 82WD + Epson ME OFFICE 85ND + Epson ME OFFICE 900WD + Epson ME OFFICE 960FWD + + License: LGPL and SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT + + To use the driver adjust your configuration.nix file: + services.printing = { + enable = true; + drivers = [ pkgs.${name} ]; + }; + ''; + downloadPage = https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f; + license = with licenses; [ lgpl21 epson ]; + maintainers = [ maintainers.jorsn ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +}