epson-workforce-635-nx625-series: init at 1.0.1

This commit is contained in:
Johannes Rosenberger 2018-10-20 16:36:02 +02:00
parent 0b97a9c475
commit ca45050d2e
2 changed files with 103 additions and 0 deletions

View file

@ -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";

View file

@ -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" ];
};
}