mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-19 12:14:10 +00:00
ef8566f38b
The `cups-drv-rastertosag-gdi` CUPS printer driver package provides a filter executable `rastertosag-gdi` and two ppd files that reference the filter file. The commit at hand uses `patchPpdFilesHook` to replace calls to the filter executable with absolute paths to increase package purity.
59 lines
2.2 KiB
Nix
59 lines
2.2 KiB
Nix
{ lib
|
|
, fetchzip
|
|
, fetchpatch
|
|
, cups
|
|
, python3Packages
|
|
, patchPpdFilesHook
|
|
}:
|
|
|
|
python3Packages.buildPythonApplication rec {
|
|
pname = "rastertosag-gdi";
|
|
version = "0.1";
|
|
src = fetchzip {
|
|
url = "https://www.openprinting.org/download/printing/${pname}/${pname}-${version}.tar.gz";
|
|
sha256 = "1ldplpv497j8vhw24sksg3fiw8c5pqr0wajajh7p5xpvb6zlcmvw";
|
|
};
|
|
patches = [
|
|
# port to python 3
|
|
( fetchpatch {
|
|
url = "https://sources.debian.org/data/main/r/${pname}/0.1-7/debian/patches/0001-${pname}-python3.patch";
|
|
sha256 = "1l3xbrs67025595k9ba5794q3s74anizpbxwsshcfhmbrzd9h8hg";
|
|
})
|
|
];
|
|
format = "other";
|
|
nativeBuildInputs = [ (lib.getBin cups) patchPpdFilesHook ];
|
|
# The source image also brings pre-built ppd files,
|
|
# but we prefer to generate from source where possible, so
|
|
# the following line generates ppd files from the drv file.
|
|
postBuild = ''
|
|
ppdc -v -d . -I "${cups}/share/cups/ppdc" rastertosag-gdi.drv
|
|
'';
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -vDm 0644 -t "${placeholder "out"}/share/cups/model/rastertosag-gdi/" *.ppd
|
|
install -vDm 0755 -t "${placeholder "out"}/bin/" rastertosag-gdi
|
|
install -vd "${placeholder "out"}/lib/cups/filter/"
|
|
ln -vst "${placeholder "out"}/lib/cups/filter/" "${placeholder "out"}/bin/rastertosag-gdi"
|
|
runHook postInstall
|
|
'';
|
|
ppdFileCommands = [ "rastertosag-gdi" ];
|
|
postFixup = ''
|
|
gzip -9nv "${placeholder "out"}/share/cups/model/rastertosag-gdi"/*.ppd
|
|
'';
|
|
meta = {
|
|
description = "CUPS driver for Ricoh Aficio SP 1000S and SP 1100S printers";
|
|
downloadPage = "https://www.openprinting.org/download/printing/rastertosag-gdi/";
|
|
homepage = "https://www.openprinting.org/driver/rastertosag-gdi/";
|
|
license = lib.licenses.free; # just "GPL", according to README
|
|
maintainers = [ lib.maintainers.yarny ];
|
|
longDescription = ''
|
|
This package brings CUPS raster filter
|
|
for Ricoh Aficio SP 1000S and SP 1100S.
|
|
In contrast to other Ricoh laser printers,
|
|
they use the proprietary SAG-GDI raster format by
|
|
Sagem Communication and do not understand PCL or PostScript.
|
|
Therefore they do not work with Ricoh's PPD files.
|
|
'';
|
|
};
|
|
}
|