otadump: init at 0.1.2 (#329129)
[NixPkgs.git] / pkgs / by-name / mf / mfcl2740dwlpr / package.nix
blob53ce0da9669f6bbf4f31bb584348ff79593494a9
2   pkgsi686Linux,
3   lib,
4   stdenv,
5   fetchurl,
6   dpkg,
7   makeWrapper,
8   coreutils,
9   ghostscript,
10   gnugrep,
11   gnused,
12   which,
13   perl,
16 stdenv.mkDerivation rec {
17   pname = "mfcl2740dwlpr";
18   version = "3.2.0-1";
20   src = fetchurl {
21     url = "https://download.brother.com/welcome/dlf101727/${pname}-${version}.i386.deb";
22     sha256 = "10a2bc672bd54e718b478f3afc7e47d451557f7d5513167d3ad349a3d00bffaf";
23   };
25   nativeBuildInputs = [
26     dpkg
27     makeWrapper
28   ];
30   unpackPhase = "dpkg-deb -x $src $out";
32   installPhase = ''
33     dir=$out/opt/brother/Printers/MFCL2740DW
35     substituteInPlace $dir/lpd/filter_MFCL2740DW \
36       --replace /usr/bin/perl ${perl}/bin/perl \
37       --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir\"; #" \
38       --replace "PRINTER =~" "PRINTER = \"MFCL2740DW\"; #"
40     wrapProgram $dir/lpd/filter_MFCL2740DW \
41       --prefix PATH : ${
42         lib.makeBinPath [
43           coreutils
44           ghostscript
45           gnugrep
46           gnused
47           which
48         ]
49       }
51     # need to use i686 glibc here, these are 32bit proprietary binaries
52     interpreter=${pkgsi686Linux.glibc}/lib/ld-linux.so.2
53     patchelf --set-interpreter "$interpreter" $dir/inf/braddprinter
54     patchelf --set-interpreter "$interpreter" $dir/lpd/brprintconflsr3
55     patchelf --set-interpreter "$interpreter" $dir/lpd/rawtobr3
56   '';
58   meta = {
59     description = "Brother MFC-L2740DW lpr driver";
60     homepage = "http://www.brother.com/";
61     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
62     license = lib.licenses.unfree;
63     platforms = [
64       "x86_64-linux"
65       "i686-linux"
66     ];
67     maintainers = [ ];
68   };