nixpkgs/pkgs/misc/cups/drivers/splix/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
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
2021-01-11 10:38:22 +01:00

56 lines
1.6 KiB
Nix

{ lib, stdenv, fetchsvn, fetchurl, cups, cups-filters, jbigkit, zlib }:
let
color-profiles = stdenv.mkDerivation {
name = "splix-color-profiles-20070625";
src = fetchurl {
url = "http://splix.ap2c.org/samsung_cms.tar.bz2";
sha256 = "1156flics5m9m7a4hdmcc2nphbdyary6dfmbcrmsp9xb7ivsypdl";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out/share/cups/profiles/samsung
cp * $out/share/cups/profiles/samsung/
'';
};
in stdenv.mkDerivation rec {
name = "splix-svn-${rev}";
rev = "315";
src = fetchsvn {
# We build this from svn, because splix hasn't been in released in several years
# although the community has been adding some new printer models.
url = "svn://svn.code.sf.net/p/splix/code/splix";
inherit rev;
sha256 = "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl";
};
postPatch = ''
mv -v *.ppd ppd/
substituteInPlace src/pstoqpdl.cpp \
--replace "RASTERDIR \"/\" RASTERTOQPDL" "\"$out/lib/cups/filter/rastertoqpdl\"" \
--replace "RASTERDIR" "\"${cups-filters}/lib/cups/filter\"" \
'';
makeFlags = [
"CUPSFILTER=$(out)/lib/cups/filter"
"CUPSPPD=$(out)/share/cups/model"
"CUPSPROFILE=${color-profiles}/share/cups/profiles"
];
buildInputs = [ cups zlib jbigkit ];
meta = with lib; {
description = "CUPS drivers for SPL (Samsung Printer Language) printers";
homepage = "http://splix.ap2c.org";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ jfrankenau peti ];
};
}