python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / misc / drivers / epson-workforce-635-nx625-series / default.nix
blob7a467ac1ad393fd792c9f787e370d3ff1575519b
2   autoreconfHook, cups, libjpeg, rpmextract,
3   fetchurl, lib, stdenv
4 }:
6 let
7   srcdirs = {
8     filter = "epson-inkjet-printer-filter-1.0.0";
9     driver = "epson-inkjet-printer-workforce-635-nx625-series-1.0.1";
10   };
11 in stdenv.mkDerivation rec {
12   pname = "epson-inkjet-printer-workforce-635-nx625-series";
13   version = "1.0.1";
15   src = fetchurl {
16     # NOTE: Don't forget to update the webarchive link too!
17     urls = [
18       "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${pname}-${version}-1lsb3.2.src.rpm"
19       "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/${pname}-${version}-1lsb3.2.src.rpm"
20     ];
21     sha256 = "19nb2h0y9rvv6rg7j262f8sqap9kjvz8kmisxnjg1w0v19zb9zf2";
22   };
23   sourceRoot = srcdirs.filter;
25   nativeBuildInputs = [ autoreconfHook rpmextract ];
26   buildInputs = [ cups libjpeg ];
28   unpackPhase = ''
29     rpmextract "$src"
30     for i in ${lib.concatStringsSep " " (builtins.attrValues srcdirs)}; do
31         tar xvf "$i".tar.gz
32     done
33   '';
35   preConfigure = ''
36     chmod u+x configure
37   '';
39   installPhase =
40     let
41       filterdir = "$out/cups/lib/filter";
42       docdir  = "$out/share/doc";
43       ppddir  = "$out/share/cups/model/${pname}";
44       libdir =
45         if stdenv.system == "x86_64-linux"    then "lib64"
46         else if stdenv.system == "i686_linux" then "lib"
47         else throw "other platforms than i686_linux and x86_64-linux are not yet supported";
48     in ''
49       mkdir -p "$out" "${docdir}" "${filterdir}" "${ppddir}"
50       cp src/epson_inkjet_printer_filter "${filterdir}"
52       cd ../${srcdirs.driver}
53       for ppd in ppds/*; do
54           substituteInPlace "$ppd" --replace '/opt/${pname}' "$out"
55           gzip -c "$ppd" > "${ppddir}/''${ppd#*/}"
56       done
57       cp COPYING.EPSON README "${docdir}"
58       cp -r resource watermark ${libdir} "$out"
59     '';
61   meta = {
62     description = "Proprietary CUPS drivers for Epson inkjet printers";
63     longDescription = ''
64       This software is a filter program used with Common UNIX Printing
65       System (CUPS) from the Linux. This can supply the high quality print
66       with Seiko Epson Color Ink Jet Printers.
68       This printer driver is supporting the following printers.
70       WorkForce 60
71       WorkForce 625
72       WorkForce 630
73       WorkForce 633
74       WorkForce 635
75       WorkForce T42WD
76       Epson Stylus NX625
77       Epson Stylus SX525WD
78       Epson Stylus SX620FW
79       Epson Stylus TX560WD
80       Epson Stylus Office B42WD
81       Epson Stylus Office BX525WD
82       Epson Stylus Office BX625FWD
83       Epson Stylus Office TX620FWD
84       Epson ME OFFICE 82WD
85       Epson ME OFFICE 85ND
86       Epson ME OFFICE 900WD
87       Epson ME OFFICE 960FWD
89       License: LGPL and SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT
91       To use the driver adjust your configuration.nix file:
92         services.printing = {
93           enable = true;
94           drivers = [ pkgs.${pname} ];
95         };
96     '';
97     downloadPage = "https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f";
98     license = with lib.licenses; [ lgpl21 epson ];
99     maintainers = [ lib.maintainers.jorsn ];
100     platforms = [ "x86_64-linux" "i686-linux" ];
101   };