tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
dcp9020cdw{lpr,-cupswrapper}: init at 1.1.2
Pavel Shirshov
4 years ago
bc4d8649
dbd8269e
+103
2 changed files
expand all
collapse all
unified
split
pkgs
misc
cups
drivers
brother
dcp9020cdw
default.nix
top-level
all-packages.nix
+99
pkgs/misc/cups/drivers/brother/dcp9020cdw/default.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
{ lib
2
+
, stdenv
3
+
, fetchurl
4
+
, cups
5
+
, dpkg
6
+
, gnused
7
+
, makeWrapper
8
+
, ghostscript
9
+
, file
10
+
, a2ps
11
+
, coreutils
12
+
, gnugrep
13
+
, which
14
+
, gawk
15
+
}:
16
+
17
+
let
18
+
version = "1.1.2";
19
+
model = "dcp9020cdw";
20
+
in
21
+
rec {
22
+
driver = stdenv.mkDerivation {
23
+
pname = "${model}-lpr";
24
+
inherit version;
25
+
26
+
src = fetchurl {
27
+
url = "https://download.brother.com/welcome/dlf100441/dcp9020cdwlpr-${version}-1.i386.deb";
28
+
sha256 = "1z6nma489s0a0b0a8wyg38yxanz4k99dg29fyjs4jlprsvmwk56y";
29
+
};
30
+
31
+
nativeBuildInputs = [ dpkg makeWrapper ];
32
+
buildInputs = [ cups ghostscript a2ps gawk ];
33
+
unpackPhase = "dpkg-deb -x $src $out";
34
+
35
+
installPhase = ''
36
+
substituteInPlace $out/opt/brother/Printers/${model}/lpd/filter${model} \
37
+
--replace /opt "$out/opt"
38
+
39
+
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
40
+
$out/opt/brother/Printers/${model}/lpd/br${model}filter
41
+
42
+
mkdir -p $out/lib/cups/filter/
43
+
ln -s $out/opt/brother/Printers/${model}/lpd/filter${model} $out/lib/cups/filter/brother_lpdwrapper_${model}
44
+
45
+
wrapProgram $out/opt/brother/Printers/${model}/lpd/filter${model} \
46
+
--prefix PATH ":" ${lib.makeBinPath [
47
+
gawk
48
+
ghostscript
49
+
a2ps
50
+
file
51
+
gnused
52
+
gnugrep
53
+
coreutils
54
+
which
55
+
]}
56
+
'';
57
+
58
+
meta = with lib; {
59
+
homepage = "http://www.brother.com/";
60
+
description = "Brother ${model} printer driver";
61
+
license = licenses.unfree;
62
+
platforms = platforms.linux;
63
+
downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_eu&os=128";
64
+
maintainers = with maintainers; [ pshirshov ];
65
+
};
66
+
};
67
+
68
+
cupswrapper = stdenv.mkDerivation {
69
+
pname = "${model}-cupswrapper";
70
+
inherit version;
71
+
72
+
src = fetchurl {
73
+
url = "https://download.brother.com/welcome/dlf100443/dcp9020cdwcupswrapper-${version}-1.i386.deb";
74
+
sha256 = "04yqm1qv9p4hgp1p6mqq4siygl4056s6flv6kqln8mvmcr8zaq1s";
75
+
};
76
+
77
+
nativeBuildInputs = [ dpkg makeWrapper ];
78
+
buildInputs = [ cups ghostscript a2ps gawk ];
79
+
unpackPhase = "dpkg-deb -x $src $out";
80
+
81
+
installPhase = ''
82
+
for f in $out/opt/brother/Printers/${model}/cupswrapper/cupswrapper${model}; do
83
+
wrapProgram $f --prefix PATH : ${lib.makeBinPath [ coreutils ghostscript gnugrep gnused ]}
84
+
done
85
+
86
+
mkdir -p $out/share/cups/model
87
+
ln -s $out/opt/brother/Printers/${model}/cupswrapper/brother_${model}_printer_en.ppd $out/share/cups/model/
88
+
'';
89
+
90
+
meta = with lib; {
91
+
homepage = "http://www.brother.com/";
92
+
description = "Brother ${model} printer CUPS wrapper driver";
93
+
license = licenses.unfree;
94
+
platforms = platforms.linux;
95
+
downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_eu&os=128";
96
+
maintainers = with maintainers; [ pshirshov ];
97
+
};
98
+
};
99
+
}
+4
pkgs/top-level/all-packages.nix
···
31428
31429
cups-bjnp = callPackage ../misc/cups/drivers/cups-bjnp { };
31430
0
0
0
0
31431
cups-brother-hl1110 = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1110 { };
31432
31433
cups-brother-hl1210w = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1210w { };
···
31428
31429
cups-bjnp = callPackage ../misc/cups/drivers/cups-bjnp { };
31430
31431
+
dcp9020cdwlpr = (pkgsi686Linux.callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).driver;
31432
+
31433
+
dcp9020cdw-cupswrapper = (callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).cupswrapper;
31434
+
31435
cups-brother-hl1110 = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1110 { };
31436
31437
cups-brother-hl1210w = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1210w { };