Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

64 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";
mainProgram = "rastertosag-gdi";
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.
'';
};
}