diff options
Diffstat (limited to 'pkgs/misc/cups/drivers/foomatic-db-ppds/default.nix')
-rw-r--r-- | pkgs/misc/cups/drivers/foomatic-db-ppds/default.nix | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/pkgs/misc/cups/drivers/foomatic-db-ppds/default.nix b/pkgs/misc/cups/drivers/foomatic-db-ppds/default.nix deleted file mode 100644 index bdc1e0a9b5feb..0000000000000 --- a/pkgs/misc/cups/drivers/foomatic-db-ppds/default.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ lib -, foomatic-db -, foomatic-db-nonfree -, buildEnv -, foomatic-db-engine -, stdenv -, cups-filters -, ghostscript -, netpbm -, perl -, psutils -, patchPpdFilesHook -, withNonfreeDb ? false # include foomatic-db-nonfree ppd files -}: - -let - foomatic-db-packages = [ foomatic-db ] ++ - lib.lists.optional withNonfreeDb foomatic-db-nonfree; - - foomatic-db-combined = buildEnv { - name = "foomatic-db-combined"; - paths = foomatic-db-packages; - pathsToLink = [ "/share/foomatic" ]; - # `foomatic-db-combined` is a nativeBuildInput of `foomatic-db-ppds`. - # The setup hook defined here helps scripts in - # `foomatic-db-engine` to find the database. - postBuild = '' - mkdir -p "${placeholder "out"}"/{etc/cups,nix-support} - cat >> "${placeholder "out"}/nix-support/setup-hook" << eof - export FOOMATICDB="${placeholder "out"}/share/foomatic" - eof - ''; - }; - - # the effective license is `free` if all database - # packages have free licenses, `unfree` otherwise - isFree = lib.trivial.pipe foomatic-db-packages [ - (lib.lists.map (lib.attrsets.attrByPath [ "meta" "license" ] lib.licenses.unfree)) - (lib.lists.all (lib.attrsets.attrByPath [ "free" ] true)) - ]; -in - -stdenv.mkDerivation { - pname = "foomatic-db-ppds"; - # the effective version is simply the - # highest version of all database packages - version = lib.trivial.pipe foomatic-db-packages [ - (lib.lists.map (lib.attrsets.getAttr "version")) - (lib.lists.sort lib.strings.versionOlder) - lib.lists.reverseList - lib.lists.head - ]; - - buildInputs = [ - cups-filters - ghostscript - netpbm - perl - psutils - ]; - - nativeBuildInputs = [ - foomatic-db-combined - foomatic-db-engine - patchPpdFilesHook - ]; - - dontUnpack = true; - - installPhase = '' - runHook preInstall - mkdir -p "${placeholder "out"}/share/cups/model" - foomatic-compiledb -j "$NIX_BUILD_CORES" -d "${placeholder "out"}/share/cups/model/foomatic-db-ppds" - runHook postInstall - ''; - - # Comments indicate the respective - # package the command is contained in. - ppdFileCommands = [ - "cat" "echo" # coreutils - "foomatic-rip" # cups-filters or foomatic-filters - "gs" # ghostscript - "pnmflip" "pnmgamma" "pnmnoraw" # netpbm - "perl" # perl - "psresize" # psutils - # These commands aren't packaged yet. - # ppd files using these likely won't work. - #"c2050" "c2070" "cjet" "lm1100" - #"pbm2l2030" "pbm2lwxl" "rastertophaser6100" - ]; - - # compress ppd files - postFixup = '' - echo 'compressing ppd files' - find -H "${placeholder "out"}/share/cups/model/foomatic-db-ppds" -type f -iname '*.ppd' -print0 \ - | xargs -0r -n 64 -P "$NIX_BUILD_CORES" gzip -9n - ''; - - meta = { - description = "OpenPrinting ppd files"; - homepage = "https://openprinting.github.io/projects/02-foomatic/"; - license = if isFree then lib.licenses.free else lib.licenses.unfree; - maintainers = [ lib.maintainers.yarny ]; - # list printer manufacturers here so people - # searching for ppd files can find this package - longDescription = '' - All PPD files available in - OpenPrinting's Foomatic database. - This package contains about 8,800 PPD files, - for printers from - Alps, Anitech, Apollo, Apple, Avery, Brother, Canon, - Citizen, CItoh, Compaq, DEC, Dell, Dymo-CoStar, Epson, - Fujitsu, FujiXerox, Generic, Genicom, Gestetner, - Heidelberg, Hitachi, HP, IBM, Imagen, Imagistics, - InfoPrint, Infotec, Kodak, KONICAMINOLTA, Kyocera, Lanier, - Lexmark, Minolta, MinoltaQMS, Mitsubishi, NEC, NRG, Oce, - Oki, Olivetti, Panasonic, PCPI, Pentax, QMS, Raven, Ricoh, - Samsung, Savin, Seiko, Sharp, SiPix, Sony, Star, Tally, - Tektronix, TexasInstruments, Toshiba, Xante and Xerox. - ''; - }; -} |