4a7f99d55d
Part of: https://github.com/NixOS/nixpkgs/issues/108938 meta = with stdenv.lib; is a widely used pattern. We want to slowly remove the `stdenv.lib` indirection and encourage people to use `lib` directly. Thus let’s start with the meta field. This used a rewriting script to mostly automatically replace all occurances of this pattern, and add the `lib` argument to the package header if it doesn’t exist yet. The script in its current form is available at https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
66 lines
2.8 KiB
Nix
66 lines
2.8 KiB
Nix
{ lib, stdenv, fetchurl, mfcj6510dwlpr, makeWrapper}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "mfcj6510dw-cupswrapper";
|
|
version = "3.0.0-1";
|
|
|
|
src = fetchurl {
|
|
url = "https://download.brother.com/welcome/dlf006814/mfcj6510dw_cupswrapper_GPL_source_${version}.tar.gz";
|
|
sha256 = "0y5iffybxjin8injrdmc9n9hl4s6b8n6ck76m1z78bzi88vwmhai";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
buildInputs = [ mfcj6510dwlpr ];
|
|
|
|
buildPhase = ''
|
|
cd brcupsconfig
|
|
make all
|
|
cd ..
|
|
'';
|
|
|
|
installPhase = ''
|
|
TARGETFOLDER=$out/opt/brother/Printers/mfcj6510dw/cupswrapper
|
|
mkdir -p $TARGETFOLDER
|
|
cp PPD/brother_mfcj6510dw_printer_en.ppd $TARGETFOLDER
|
|
cp brcupsconfig/brcupsconfpt1 $TARGETFOLDER
|
|
cp scripts/cupswrappermfcj6510dw $TARGETFOLDER
|
|
sed -i -e '26,304d' $TARGETFOLDER/cupswrappermfcj6510dw
|
|
substituteInPlace $TARGETFOLDER/cupswrappermfcj6510dw \
|
|
--replace "\$ppd_file_name" "$TARGETFOLDER/brother_mfcj6510dw_printer_en.ppd"
|
|
|
|
CPUSFILTERFOLDER=$out/lib/cups/filter
|
|
mkdir -p $TARGETFOLDER $CPUSFILTERFOLDER
|
|
ln -s ${mfcj6510dwlpr}/lib/cups/filter/brother_lpdwrapper_mfcj6510dw $out/lib/cups/filter/brother_lpdwrapper_mfcj6510dw
|
|
##TODO: Use the cups filter instead of the LPR one.
|
|
#cp scripts/cupswrappermfcj6510dw $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
|
|
#sed -i -e '110,258!d' $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
|
|
#sed -i -e '33,40d' $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
|
|
#sed -i -e '34,35d' $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
|
|
#substituteInPlace $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw \
|
|
# --replace "/opt/brother/$``{device_model``}/$``{printer_model``}/lpd/filter$``{printer_model``}" \
|
|
# "${mfcj6510dwlpr}/opt/brother/Printers/mfcj6510dw/lpd/filtermfcj6510dw" \
|
|
# --replace "/opt/brother/Printers/$``{printer_model``}/inf/br$``{printer_model``}rc" \
|
|
# "${mfcj6510dwlpr}/opt/brother/Printers/mfcj6510dw/inf/brmfcj6510dwrc" \
|
|
# --replace "/opt/brother/$``{device_model``}/$``{printer_model``}/cupswrapper/brcupsconfpt1" \
|
|
# "$out/opt/brother/Printers/mfcj6510dw/cupswrapper/brcupsconfpt1" \
|
|
# --replace "/usr/share/cups/model/Brother/brother_" "$out/opt/brother/Printers/mfcj6510dw/cupswrapper/brother_"
|
|
#substituteInPlace $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw \
|
|
# --replace "$``{printer_model``}" "mfcj6510dw" \
|
|
# --replace "$``{printer_name``}" "MFCJ6510DW"
|
|
'';
|
|
|
|
cleanPhase = ''
|
|
cd brcupsconfpt1
|
|
make clean
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "http://www.brother.com/";
|
|
description = "Brother MFC-J6510DW CUPS wrapper driver";
|
|
license = with licenses; gpl2;
|
|
platforms = with platforms; linux;
|
|
downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128";
|
|
maintainers = with maintainers; [ ramkromberg ];
|
|
};
|
|
}
|