about summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2019-01-14 11:02:02 +0000
committerGitHub <noreply@github.com>2019-01-14 11:02:02 +0000
commitff0dc34c1d36c53049a833c3e86806c846deccdb (patch)
tree9b623e7d2e885b924a9d47b704131753b8b6bb25 /pkgs/misc
parent7f6ca93029f4f43262144bd730d487c2564ae1b6 (diff)
parente0809da91bae49b8bb560eaffc2b9e906c1a69b4 (diff)
downloadnixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar.gz
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar.bz2
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar.lz
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar.xz
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.tar.zst
nixlib-ff0dc34c1d36c53049a833c3e86806c846deccdb.zip
Merge pull request #48752 from jorsn/new.epson-workforce-635-nx625-series
epson-workforce-635-nx625-series: init at 1.0.1
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix98
1 files changed, 98 insertions, 0 deletions
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 000000000000..15a7ba3cd3c4
--- /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 = 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 lib.licenses; [ lgpl21 epson ];
+    maintainers = [ lib.maintainers.jorsn ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}