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