summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-04-02 21:15:51 +0200
committerGitHub <noreply@github.com>2021-04-02 21:15:51 +0200
commit4c0bb6a6f306a553e1d953d414fb1ef29823ae86 (patch)
tree734fb5ed5a376a97fff1993f5099bc52894b4788 /pkgs
parent29915ef08e42fa04e3be6eda83687439742d583a (diff)
parenteaa62fa391e70fec75ec75f802c16e78b0adfa81 (diff)
downloadnixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar.gz
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar.bz2
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar.lz
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar.xz
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.tar.zst
nixpkgs-4c0bb6a6f306a553e1d953d414fb1ef29823ae86.zip
Merge pull request #118267 from Yarny0/rastertosag-gdi
rastertosag-gdi (cups driver): init at 0.1
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/misc/cups/drivers/cups-drv-rastertosag-gdi/default.nix53
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/misc/cups/drivers/cups-drv-rastertosag-gdi/default.nix b/pkgs/misc/cups/drivers/cups-drv-rastertosag-gdi/default.nix
new file mode 100644
index 00000000000..d4914365545
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cups-drv-rastertosag-gdi/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchzip
+, fetchpatch
+, cups
+, python3Packages
+}:
+
+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) ];
+  # The source image also brings pre-built ppd files,
+  # be 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
+  '';
+  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.
+    '';
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ebe086b2110..bf6bf91dcc1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -29299,6 +29299,8 @@ in
 
   cups-brother-hll2340dw = pkgsi686Linux.callPackage  ../misc/cups/drivers/hll2340dw { };
 
+  cups-drv-rastertosag-gdi = callPackage ../misc/cups/drivers/cups-drv-rastertosag-gdi { };
+
   # this driver ships with pre-compiled 32-bit binary libraries
   cnijfilter_2_80 = pkgsi686Linux.callPackage ../misc/cups/drivers/cnijfilter_2_80 { };