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