From 22de8e19178b0cf5a53d6b02e895b8ac517396d4 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Mon, 15 Jan 2018 22:38:55 -0500 Subject: hll2390dw-cups: init at 4.0.0-1 --- pkgs/misc/cups/drivers/hll2390dw-cups/default.nix | 71 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/misc/cups/drivers/hll2390dw-cups/default.nix diff --git a/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix new file mode 100644 index 000000000000..cda4ed6304d2 --- /dev/null +++ b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchurl, makeWrapper +, cups +, dpkg +, a2ps, ghostscript, gnugrep, gnused, coreutils, file, perl, which +}: + +stdenv.mkDerivation rec { + name = "hll2390dw-cups-${version}"; + version = "4.0.0-1"; + + src = fetchurl { + # The i386 part is a lie. There are x86, x86_64 and armv7l drivers. + # Though this builds only supports x86_64 for now. + url = "http://download.brother.com/welcome/dlf103579/hll2390dwpdrv-${version}.i386.deb"; + sha256 = "0w8rxh1sa5amxr87qmzs4m2p06b1b36wn2q127mg427sbkh1rwni"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ cups ghostscript dpkg a2ps ]; + + unpackPhase = "true"; + + installPhase = '' + dpkg-deb -x $src $out + + substituteInPlace $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter \ + --replace /opt "$out/opt" \ + --replace /usr/bin/perl ${perl}/bin/perl \ + --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$out\"; #" \ + --replace "PRINTER =~" "PRINTER = \"HLL2390DW\"; #" + + # FIXME : Allow i686 and armv7l variations to be setup instead. + _PLAT=x86_64 + patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/brprintconflsr3 + patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/rawtobr3 + ln -s $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/brprintconflsr3 $out/opt/brother/Printers/HLL2390DW/lpd/brprintconflsr3 + ln -s $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/rawtobr3 $out/opt/brother/Printers/HLL2390DW/lpd/rawtobr3 + + for f in \ + $out/opt/brother/Printers/HLL2390DW/cupswrapper/lpdwrapper \ + $out/opt/brother/Printers/HLL2390DW/cupswrapper/paperconfigml2 \ + ; do + #substituteInPlace $f \ + wrapProgram $f \ + --prefix PATH : ${stdenv.lib.makeBinPath [ + coreutils ghostscript gnugrep gnused + ]} + done + + mkdir -p $out/lib/cups/filter/ + ln -s $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter $out/lib/cups/filter/brother_lpdwrapper_HLL2390DW + + mkdir -p $out/share/cups/model + ln -s $out/opt/brother/Printers/HLL2390DW/cupswrapper/brother-HLL2390DW-cups-en.ppd $out/share/cups/model/ + + wrapProgram $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter \ + --prefix PATH ":" ${ stdenv.lib.makeBinPath [ ghostscript a2ps file gnused gnugrep coreutils which ] } + ''; + + meta = with stdenv.lib; { + homepage = http://www.brother.com/; + description = "Brother HL-L2390DW combined print driver"; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us_ot&lang=en&prod=hll2390dw_us&os=128; + maintainers = [ maintainers.samueldr ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1fd87d2a4521..623508bce617 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19765,6 +19765,8 @@ with pkgs; canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { }; + hll2390dw-cups = callPackage ../misc/cups/drivers/hll2390dw-cups { }; + mfcj470dw-cupswrapper = callPackage ../misc/cups/drivers/mfcj470dwcupswrapper { }; mfcj470dwlpr = callPackage_i686 ../misc/cups/drivers/mfcj470dwlpr { }; -- cgit 1.4.1