about summary refs log tree commit diff
path: root/nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix
blob: 9da1a8269ab11c58bbd650b1859dd3ccea1b693d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{ stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }:

let
  version = "1.0.0";
in
  stdenv.mkDerivation {

    pname = "epson_201207w";
    inherit version;

    src = fetchurl {
      url = "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm";
      sha256 = "1ixnhn2dk83nh9v8sdivzgc2bm9z2phvsbx8bc6ainbjq6vn7lns";
    };

    nativeBuildInputs = [ rpmextract autoreconfHook file ];

    buildInputs = [ libjpeg cups ];

    unpackPhase = ''
      rpmextract $src
      tar -zxf epson-inkjet-printer-201207w-${version}.tar.gz
      tar -zxf epson-inkjet-printer-filter-${version}.tar.gz
      for ppd in epson-inkjet-printer-201207w-${version}/ppds/*; do
        substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201207w" "$out"
        substituteInPlace $ppd --replace "/cups/lib" "/lib/cups"
      done
      cd epson-inkjet-printer-filter-${version}
    '';

    preConfigure = ''
      chmod +x configure
      export LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
    '';

    postInstall = ''
      cd ../epson-inkjet-printer-201207w-${version}
      cp -a lib64 resource watermark $out
      mkdir -p $out/share/cups/model/epson-inkjet-printer-201207w
      cp -a ppds $out/share/cups/model/epson-inkjet-printer-201207w/
      cp -a Manual.txt $out/doc/
      cp -a README $out/doc/README.driver
    '';

    meta = with stdenv.lib; {
      homepage = https://www.openprinting.org/driver/epson-201207w;
      description = "Epson printer driver (L110, L210, L300, L350, L355, L550, L555)";
      longDescription = ''
        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.

        List of printers supported by this package:
           Epson L110 Series
           Epson L210 Series
           Epson L300 Series
           Epson L350 Series
           Epson L355 Series
           Epson L550 Series
           Epson L555 Series

	To use the driver adjust your configuration.nix file:
	  services.printing = {
	    enable = true;
	    drivers = [ pkgs.epson_201207w ];
	  };
      '';
      license = with licenses; [ lgpl21 epson ];
      maintainers = [ maintainers.romildo ];
      platforms = [ "x86_64-linux" ];
    };

  }