3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

78 lines
2.7 KiB
Nix

{ lib, stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }:
let
version = "1.0.1";
filterVersion = "1.0.0";
in
stdenv.mkDerivation {
pname = "epson-201106w";
inherit version;
src = fetchurl {
# NOTE: Don't forget to update the webarchive link too!
urls = [
"https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm"
"https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm"
];
sha256 = "1yig1xrh1ikblbp7sx706n5nnc237wy4mbch23ymy6akbgqg4aig";
};
nativeBuildInputs = [ rpmextract autoreconfHook file ];
buildInputs = [ libjpeg cups ];
unpackPhase = ''
rpmextract $src
tar -zxf epson-inkjet-printer-201106w-${version}.tar.gz
tar -zxf epson-inkjet-printer-filter-${filterVersion}.tar.gz
for ppd in epson-inkjet-printer-201106w-${version}/ppds/*; do
substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201106w" "$out"
substituteInPlace $ppd --replace "/cups/lib" "/lib/cups"
done
cd epson-inkjet-printer-filter-${filterVersion}
'';
preConfigure = ''
chmod +x configure
export LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
'';
postInstall = ''
cd ../epson-inkjet-printer-201106w-${version}
cp -a lib64 resource watermark $out
mkdir -p $out/share/cups/model/epson-inkjet-printer-201106w
cp -a ppds $out/share/cups/model/epson-inkjet-printer-201106w/
cp -a Manual.txt $out/doc/
cp -a README $out/doc/README.driver
'';
meta = with lib; {
homepage = "https://www.openprinting.org/driver/epson-201106w";
description = "Epson printer driver (BX535WD, BX630FW, BX635FWD, ME940FW, NX530, NX635, NX635, SX535WD, WorkForce 545, WorkForce 645";
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 BX535WD Series
Epson BX630FW Series
Epson BX635FWD Series
Epson ME940FW Series
Epson NX530 Series
Epson SX535WD Series
Epson WorkForce 545 Series
Epson WorkForce 645 Series
To use the driver adjust your configuration.nix file:
services.printing = {
enable = true;
drivers = [ pkgs.epson-201106w ];
};
'';
license = with licenses; [ lgpl21 epson ];
platforms = platforms.linux;
maintainers = [ maintainers.nphilou ];
};
}