mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
Merge pull request #241283 from u2x1/master
cups-brother-hl2260d: init at 3.2.0-1
This commit is contained in:
commit
e2246cd1c7
@ -18024,6 +18024,12 @@
|
||||
githubId = 1983821;
|
||||
name = "Eric Wolf";
|
||||
};
|
||||
u2x1 = {
|
||||
email = "u2x1@outlook.com";
|
||||
github = "u2x1";
|
||||
githubId = 30677291;
|
||||
name = "u2x1";
|
||||
};
|
||||
uakci = {
|
||||
name = "uakci";
|
||||
email = "uakci@uakci.pl";
|
||||
|
89
pkgs/misc/cups/drivers/hl2260d/default.nix
Normal file
89
pkgs/misc/cups/drivers/hl2260d/default.nix
Normal file
@ -0,0 +1,89 @@
|
||||
{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, coreutils, perl, gnugrep, which
|
||||
, debugLvl ? "0"
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.2.0-1";
|
||||
lprdeb = fetchurl {
|
||||
url = "https://download.brother.com/welcome/dlf102692/hl2260dlpr-${version}.i386.deb";
|
||||
hash = "sha256-R+cM2SKc/MP6keo3PUrKXPC6a2dEQQdBunrpNtAHlH0=";
|
||||
};
|
||||
|
||||
cupsdeb = fetchurl {
|
||||
url = "https://download.brother.com/welcome/dlf102693/hl2260dcupswrapper-${version}.i386.deb";
|
||||
hash = "sha256-k6+ulZVoFTpEY6WJ9TO9Rzp2c4dwPqL3NY5/XYJpvOc=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "cups-brother-hl2260d";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper dpkg ];
|
||||
buildInputs = [ cups ghostscript perl ];
|
||||
|
||||
dontPatchELF = true;
|
||||
dontBuild = true;
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir -p $out
|
||||
dpkg-deb -x ${cupsdeb} $out
|
||||
dpkg-deb -x ${lprdeb} $out
|
||||
'';
|
||||
|
||||
patchPhase = ''
|
||||
# Patch lpr
|
||||
INFDIR=$out/opt/brother/Printers/HL2260D/inf
|
||||
LPDDIR=$out/opt/brother/Printers/HL2260D/lpd
|
||||
|
||||
substituteInPlace $LPDDIR/filter_HL2260D \
|
||||
--replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$out/opt/brother/Printers/HL2260D\"; #" \
|
||||
--replace "PRINTER =~" "PRINTER = \"HL2260D\"; #"
|
||||
|
||||
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
$INFDIR/braddprinter
|
||||
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
$LPDDIR/brprintconflsr3
|
||||
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
$LPDDIR/rawtobr3
|
||||
|
||||
# Patch cupswrapper
|
||||
WRAPPER=$out/opt/brother/Printers/HL2260D/cupswrapper/brother_lpdwrapper_HL2260D
|
||||
PAPER_CFG=$out/opt/brother/Printers/HL2260D/cupswrapper/paperconfigml1
|
||||
|
||||
substituteInPlace $WRAPPER \
|
||||
--replace "basedir =~" "basedir = \"$out/opt/brother/Printers/HL2260D\"; #" \
|
||||
--replace "PRINTER =~" "PRINTER = \"HL2260D\"; #" \
|
||||
--replace "\$DEBUG=0;" "\$DEBUG=${debugLvl};"
|
||||
substituteInPlace $WRAPPER \
|
||||
--replace "\`cp " "\`cp -p " \
|
||||
--replace "\$TEMPRC\`" "\$TEMPRC; chmod a+rw \$TEMPRC\`" \
|
||||
--replace "\`mv " "\`cp -p "
|
||||
# This config script make this assumption that the *.ppd are found in a global location `/etc/cups/ppd`.
|
||||
substituteInPlace $PAPER_CFG \
|
||||
--replace "/etc/cups/ppd" "$out/share/cups/model"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/cups/model
|
||||
ln -s $out/opt/brother/Printers/HL2260D/cupswrapper/brother-HL2260D-cups-en.ppd $out/share/cups/model
|
||||
|
||||
mkdir -p $out/lib/cups/filter/
|
||||
makeWrapper \
|
||||
$out/opt/brother/Printers/HL2260D/cupswrapper/brother_lpdwrapper_HL2260D \
|
||||
$out/lib/cups/filter/brother_lpdwrapper_HL2260D \
|
||||
--prefix PATH : ${lib.makeBinPath [coreutils gnugrep gnused]}
|
||||
|
||||
wrapProgram $out/opt/brother/Printers/HL2260D/lpd/filter_HL2260D \
|
||||
--prefix PATH ":" ${ lib.makeBinPath [ ghostscript which ] }
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.brother.com/";
|
||||
description = "Brother HL-2260D printer driver";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
downloadPage = "https://support.brother.com/g/b/downloadtop.aspx?c=cn_ot&lang=en&prod=hl2260d_cn";
|
||||
maintainers = with maintainers; [ u2x1 ];
|
||||
};
|
||||
}
|
@ -40184,6 +40184,8 @@ with pkgs;
|
||||
|
||||
cups-brother-hl1210w = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1210w { };
|
||||
|
||||
cups-brother-hl2260d = pkgsi686Linux.callPackage ../misc/cups/drivers/hl2260d { };
|
||||
|
||||
cups-brother-hl3140cw = pkgsi686Linux.callPackage ../misc/cups/drivers/hl3140cw { };
|
||||
|
||||
cups-brother-hll2340dw = pkgsi686Linux.callPackage ../misc/cups/drivers/hll2340dw { };
|
||||
|
Loading…
Reference in New Issue
Block a user