Commit graph

8554 commits

Author SHA1 Message Date
Weijia Wang bf4c84ec06
Merge pull request #215185 from ereslibre/bump-fastly-6.0.0
fastly: 5.1.1 -> 6.0.0
2023-02-08 05:01:11 +01:00
Rafael Fernández López 1ef9f06820
fastly: 5.1.1 -> 6.0.0 2023-02-07 22:23:23 +01:00
Weijia Wang 237608ca10 fxlinuxprint: fix src 2023-02-07 18:27:02 +01:00
github-actions[bot] b30088fc3f
Merge master into staging-next 2023-02-07 00:02:12 +00:00
Sandro b5eb105c27
Merge pull request #214013 from camillemndn/frescobaldi-3.2 2023-02-07 01:00:15 +01:00
Thomas Gerbet 66444200f4 metricbeat7: fix passthru.tests 2023-02-06 22:01:39 +02:00
genesis 8e374f7c68 frescobaldi: 3.1.3 -> 3.2 2023-02-06 13:45:38 +01:00
github-actions[bot] ae91e9a960
Merge master into staging-next 2023-02-04 06:01:09 +00:00
R. Ryantm 3602957190 fastly: 5.1.0 -> 5.1.1 2023-02-04 00:29:12 +00:00
github-actions[bot] fffb187b8e
Merge master into staging-next 2023-02-02 12:01:33 +00:00
Weijia Wang b97aa5cfb7
Merge pull request #214120 from r-ryantm/auto-update/fastly
fastly: 5.0.0 -> 5.1.0
2023-02-02 08:23:17 +01:00
R. Ryantm a4dcf491ee fastly: 5.0.0 -> 5.1.0 2023-02-02 06:28:50 +00:00
github-actions[bot] ffbbb55ee2
Merge master into staging-next 2023-02-02 06:01:28 +00:00
Nick Cao 2924b7f53c
Merge pull request #212486 from pocek/mfcl8690cdwlpr-add-x86_64
mfcl8690cdwlpr: Make it installable on x86_64-linux
2023-02-02 09:43:07 +08:00
R. Ryantm 498744997a jitsi-meet-prosody: 1.0.6644 -> 1.0.6943 2023-02-01 14:47:48 +01:00
github-actions[bot] 9f7ab547e6
Merge staging-next into staging 2023-01-31 18:02:01 +00:00
Weijia Wang 9ce91b566a
Merge pull request #213753 from r-ryantm/auto-update/t-rec
t-rec: 0.7.5 -> 0.7.6
2023-01-31 14:51:22 +01:00
github-actions[bot] 6527aa6d68
Merge staging-next into staging 2023-01-31 12:01:45 +00:00
R. Ryantm 870c44295a t-rec: 0.7.5 -> 0.7.6 2023-01-31 11:19:04 +00:00
Nick Cao 7095515e48
Merge pull request #213026 from reckenrode/dxvk-update
dxvk: 2.0 -> 2.1
2023-01-31 16:49:04 +08:00
github-actions[bot] 56b467d467
Merge staging-next into staging 2023-01-30 18:02:05 +00:00
github-actions[bot] 872d17dee8
Merge master into staging-next 2023-01-30 18:01:30 +00:00
Samuel Tam 742ba56e7b
lilypond, lilypond-unstable: bump version, add passthru.updateScript (#207727)
* lilypond: add passthru.updateScript

* lilypond: 2.22.2 -> 2.24.0

* lilypond-unstable: 2.23.12 -> 2.25.1
2023-01-30 12:00:34 -05:00
Randy Eckenrode 5c31d2d23b
dxvk: improve description of dxvk derivation 2023-01-29 12:00:22 -05:00
Sergei Trofimovich 25206ed9a8 ubootTools: revert "fix build by fixing -idirafter ordering"
This reverts commit 8b3a31f923.

commit 8c80bd08b7
("build-support/cc-wrapper: pass in non-existent --sysroot= to untangle
from libc") was reverted. We can drop the workaround.
2023-01-29 07:49:37 +00:00
Randy Eckenrode 81a86d07e6
dxvk: 2.0 -> 2.1
https://github.com/doitsujin/dxvk/releases/tag/v2.1
2023-01-28 14:42:55 -05:00
Randy Eckenrode 67a2ceab6a
dxvk: add native Linux build 2023-01-28 14:42:55 -05:00
Randy Eckenrode 403fe21323
dxvk: expose Windows derivations
This is in preparation for native builds of DXVK, but it also allows
users to choose to use an older version if that is more compatible with
their hardware.
2023-01-28 14:42:55 -05:00
Randy Eckenrode 16e9b55025
dxvk: vendor setup_dxvk.sh
Upstream will remove the `setup_dxvk.sh` in DXVK 2.1. To avoid breaking
users of the current derivation, vendor `setup_dxvk.sh`. This script is
based on the upstream script with some modifications:

- Update command-line parsing; and
- Reorganized action processing logic.
2023-01-28 14:42:54 -05:00
Vladimír Čunát 277d34fbdf
Merge #212919: ubootTools: fix build by fixing -idirafter ordering
...into staging-next
2023-01-28 08:45:47 +01:00
Mario Rodas 92aa3caf58 dxvk: fix pname 2023-01-28 04:20:00 +00:00
github-actions[bot] 5e46cfeba0
Merge staging-next into staging 2023-02-27 12:01:41 +00:00
Sergei Trofimovich e7e072d05a Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/top-level/python-aliases.nix

Trivial conflict of multiple added aliases.
2023-02-26 21:53:22 +00:00
github-actions[bot] 199efde227
Merge staging-next into staging 2023-02-24 18:02:00 +00:00
github-actions[bot] 13fb68e8cf
Merge staging-next into staging 2023-02-24 12:01:52 +00:00
github-actions[bot] 3cdd771820
Merge staging-next into staging 2023-02-23 18:01:49 +00:00
github-actions[bot] 9acd1eb7fd
Merge staging-next into staging 2023-02-21 18:01:45 +00:00
github-actions[bot] ba877c4755
Merge staging-next into staging 2023-02-19 06:02:10 +00:00
github-actions[bot] 8c0220980d
Merge staging-next into staging 2023-02-19 00:03:03 +00:00
Artturi cdcca1cdcd
Merge pull request #215715 from Artturin/removegirworkarounds2 2023-02-18 20:12:57 +02:00
Artturin cadffcfe50 treewide: remove issue #56943 workarounds
checked with diffoscope+difflog and launching the programs

i have fixed that issue in my other gir PRs
2023-02-17 20:26:13 +02:00
Silvan Mosberger 0346f6a9e3
Merge pull request #212336 from nixpkgs-architecture/some-nix-file-deps
{documentation-highlighter,zsh-clipboard}: Remove dependency on Nix files
2023-01-27 20:35:27 +01:00
Sergei Trofimovich 8b3a31f923 ubootTools: fix build by fixing -idirafter ordering
`ubootTools` build broke after https://github.com/NixOS/nixpkgs/pull/210004
where we started dropping default libc include path and switched to
`-idirafter` way of specifying libc headers.

Unfortunately the way it's implemented it injects -idirafter after
user's flags, not before. That allows users to inject their paths before
libc include paths, not after (as it would notmally happen).

The change works it around for u-boot by pulling -idirafter libc flags
before user's flags.
2023-01-27 08:32:06 +00:00
Krzysztof Kotlenga bf4959f1a5 mfcl8690cdwlpr: Make it installable on x86_64-linux
This seems like a strange omission, because it works without a hitch.
Tested using cups and mfcl8690cdwcupswrapper, which uses this package.
2023-01-24 21:57:04 +01:00
Nick Cao 3e78ccbbfe
Merge pull request #212355 from reckenrode/dxvk-fix
dxvk: fix Darwin build
2023-01-24 15:57:26 +08:00
Weijia Wang daaa3b683a
Merge pull request #212299 from r-ryantm/auto-update/fastly
fastly: 4.6.2 -> 5.0.0
2023-01-24 05:01:13 +01:00
Randy Eckenrode 56c2631e5b
dxvk: fix Darwin build 2023-01-23 21:38:47 -05:00
Silvan Mosberger f6e5ea8a2c documentation-highlighter: Only depend on needed files
Makes the build independency of the default.nix and update.sh file by
explicitly specifying the files that are needed in the result

This allows changing those files without causing a rebuild
2023-01-24 00:59:11 +01:00
Sandro Jäckel 09e07a3ad3
cups: remove with lib over entire file 2023-01-23 22:45:25 +01:00
R. Ryantm a18149dff5 fastly: 4.6.2 -> 5.0.0 2023-01-23 19:55:06 +00:00
Fabian Affolter 94ca24d932
Merge pull request #212031 from dotlambda/flashfocus-fix
flashfocus: use pythonRelaxDepsHook
2023-01-22 12:34:41 +01:00
Adam Joseph 42815b4a0c treewide: systemdSupport: use lib.meta.availableOn
Many packages have some kind of flag indicating whether or not to build with
systemd support.  Most of these default to `stdenv.isLinux`, but systemd does
not build on (and is marked `broken` for) `isStatic`.  Only a few packages have
the needed `&& !isStatic` in the default value for their parameter.

This commit moves the logic for the default value of these flags into
`systemd.meta.{platforms,badPlatforms}` and evaluates those conditions using
`lib.meta.availableOn`.

This provides three benefits:

1. The default values are set correctly (i.e. including `&& isStatic`)

2. The default values are set consistently

3. The way is paved for any future non-Linux systemd platforms (FreeBSD is
   reported to have experimental systemd support)
2023-01-22 00:27:19 -08:00
Weijia Wang 218c4c526e
Merge pull request #212002 from mothsART/feature/replace_http_by_https
treewide: replace http by https when https is a permanent redirection
2023-01-22 03:26:02 +01:00
Robert Schütz e96fe2271d flashfocus: use pythonRelaxDepsHook 2023-01-21 17:57:51 -08:00
Ferry Jérémie 65d7e87fdb treewide: replace http by https when https is a permanent redirection 2023-01-22 02:46:49 +01:00
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Nick Cao 3836bf0297
Merge pull request #209120 from NickCao/opensbi
opensbi: 1.1 -> 1.2
2023-01-19 18:19:44 +08:00
R. Ryantm 3bf0de1ee9 fastly: 4.6.1 -> 4.6.2 2023-01-18 02:13:34 +00:00
Joel Koen 2c56763b58
maintainers: jyooru -> joelkoen 2023-01-15 14:14:19 +10:00
Martin Weinelt c1e6c6af69 Merge remote-tracking branch 'origin/master' into staging-next 2023-01-11 03:51:33 +01:00
R. Ryantm f91681eafe fastly: 4.5.0 -> 4.6.1 2023-01-10 22:51:36 +08:00
Artturi 27c1ec2ecf
Merge pull request #209816 from Artturin/deprecate-top-level-platform-aliases 2023-01-09 22:15:50 +02:00
Artturin 2eeb34c273 treewide: {build,host,target}Platform -> stdenv.{build,host,target}Platform 2023-01-09 21:13:22 +02:00
github-actions[bot] 33aa224777
Merge master into staging-next 2023-01-09 18:01:24 +00:00
R. Ryantm 164e802e02 ananicy-cpp: 1.0.1 -> 1.0.2 2023-01-09 05:20:57 +00:00
github-actions[bot] fce67420c4
Merge master into staging-next 2023-01-09 00:02:14 +00:00
Patrick Nuckolls b5e025bb2a
gnu-shepherd: 0.8.1 -> 0.9.3 (#206317) 2023-01-08 23:54:49 +01:00
github-actions[bot] b60b0a223e
Merge master into staging-next 2023-01-08 06:01:06 +00:00
pacien 13e9dd84d8 tmuxPlugins.cpu: unstable-2021-12-15 -> unstable-2023-01-06 2023-01-06 20:30:10 +01:00
Martin Weinelt ca3f9b7326 rich-cli: Relax textual constraint 2023-01-05 13:20:49 +01:00
Nick Cao 168c2b6245
opensbi: 1.1 -> 1.2 2023-01-05 09:09:00 +08:00
Jan Tojnar 5810109b42 Merge branch 'staging-next' into staging
- readline6 attribute removed from all-packages.nix in d879125d61
- readline attribute was bumped to readline82 in 50adabdd60
2023-01-02 03:04:32 +01:00
Fabian Affolter e622170336
wiki-tui: add changelog to meta 2023-01-01 18:34:59 +01:00
lom 3a68bc8b9e wiki-tui: 0.6.0 -> 0.6.1 2023-01-01 11:36:38 -05:00
Florian 61e561d80f
cups-brother-hll2375dw: init at 4.0.0-1 (#204306)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-12-30 22:01:06 +01:00
R. Ryantm b2025a306f superd: 0.7 -> 0.7.1 2022-12-28 16:33:18 +00:00
Sergei Trofimovich 092d57c076 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
    pkgs/development/tools/language-servers/ansible-language-server/default.nix
2022-12-28 09:35:37 +00:00
Ryan Lahfa 861c7b189c
Merge pull request #182360 from Yarny0/cups-pdf
cups-pdf(-to-pdf): init
2022-12-28 09:08:49 +01:00
Mauricio Collares a2c1f55586
Merge pull request #193810 from r-ryantm/auto-update/sagetex
sagetex: 3.6 -> 3.6.1
2022-12-27 19:52:54 -03:00
figsoda c78ad3c4fa
Merge pull request #207744 from figsoda/nix-update-script
treewide: remove attrPath from nix-update-script calls
2022-12-26 19:00:46 -05:00
figsoda a211d94291 treewide: remove attrPath from nix-update-script calls
after https://github.com/Mic92/nix-update/pull/120 and https://github.com/NixOS/nixpkgs/pull/207703, `attrPath` can now be omitted when using `nix-update-script`
2022-12-26 12:39:21 -05:00
Harsh Shandilya 548e82d650
scrcpy: replace hard-coded bash path 2022-12-26 16:40:50 +05:30
Harsh Shandilya 3027d3ab86
scrcpy: 1.24 -> 1.25 2022-12-26 09:50:07 +05:30
Guillaume Girol 997d10c961
Merge pull request #206748 from panicgh/epkowa-iscan-gt-x750
epkowa: add plugin for GT-X750, Perfection 4490 scanner
2022-12-25 20:55:46 +00:00
github-actions[bot] b48679133a
Merge staging-next into staging 2022-12-25 12:01:40 +00:00
R. Ryantm 04a2aa7b80 pacemaker: 2.1.4 -> 2.1.5 2022-12-25 12:01:07 +01:00
Jan Tojnar 72c37eddec Merge branch 'staging-next' into staging 2022-12-25 01:30:47 +01:00
Rafael Fernández López 7fca6564e6
fastly: update cli-config to latest version 2022-12-24 16:32:27 +01:00
Sandro cc8def18f0
Merge pull request #203790 from aacebedo/aacebedo/tmux-indicator 2022-12-24 01:14:06 +01:00
Michele Guerini Rocco 5dff7733aa
Merge pull request #203454 from rnhmjoj/pr-cups-socket
nixos/hardware/printers: stop cupsd when unneeded
2022-12-21 23:06:00 +01:00
github-actions[bot] dc1fa2c776
Merge staging-next into staging 2022-12-19 00:02:57 +00:00
Samuel Dionne-Riel 09c1a1a818
Merge pull request #200863 from josqu4red/uboot-librecomputer
uboot: add Librecomputer CC custom build
2022-12-18 17:58:14 -05:00
Nicolas Benes 0ccdbb399a epkowa: add plugin for GT-X750, Perfection 4490 2022-12-18 20:46:05 +01:00
github-actions[bot] dc7ebb0163
Merge staging-next into staging 2022-12-18 18:01:41 +00:00
Valentin Gagarin f782da699e
Merge pull request #206646 from figsoda/typos 2022-12-18 18:27:57 +01:00
Thiago Kenji Okada ba7016d6e6
Merge pull request #200618 from reckenrode/dxvk2
dxvk: 1.10.3 -> 2.0
2022-12-18 14:10:27 +00:00
Jonathan Amiez 0986a60f9a uboot: add Librecomputer CC custom build
Add a new U-boot flavor for LibreComputer's AML-S905X-CC (Le Potato).

Board's SoC is based on Trusted Firmware-A architecture and needs extra
closed-source early bootloaders to be combined with U-boot in order to
boot properly, similar to Odroid-C2 board.

Proprietary blobs and related tooling are fetched from
github.com/LibreELEC/amlogic-boot-fip and used in postBuild along with
build output.

Hardware: https://libre.computer/products/aml-s905x-cc/
U-boot doc: https://u-boot.readthedocs.io/en/latest/board/amlogic/libretech-cc.html
2022-12-18 14:05:35 +01:00
figsoda ec8cb34358 treewide: fix typos 2022-12-17 19:39:44 -05:00
github-actions[bot] 4804305f6e
Merge staging-next into staging 2022-12-17 06:02:03 +00:00
github-actions[bot] 05ca3d8285
Merge master into staging-next 2022-12-17 06:01:30 +00:00
Rafael Fernández López 2bba17f3f0
fastly: 4.4.1 -> 4.5.0 2022-12-16 21:17:24 +01:00
github-actions[bot] 9e23ec4f1c
Merge staging-next into staging 2022-12-15 00:03:02 +00:00
github-actions[bot] 58a71457f7
Merge master into staging-next 2022-12-15 00:02:26 +00:00
Sandro 16d93e6918
Merge pull request #204779 from deejayem/add-tmux-fuzzback 2022-12-14 23:40:22 +01:00
David Morgan 3bd200b2aa
tmuxPlugins.fuzzback: init at unstable-2022-11-21 2022-12-14 21:33:25 +00:00
github-actions[bot] 74a066ab3f
Merge staging-next into staging 2022-12-13 18:02:08 +00:00
github-actions[bot] d07c2d73fd
Merge master into staging-next 2022-12-13 18:01:30 +00:00
Sandro 73a0e94eff
Merge pull request #200153 from chuangzhu/superd 2022-12-13 17:14:34 +01:00
github-actions[bot] ea4d29903e
Merge staging-next into staging 2022-12-13 06:01:48 +00:00
github-actions[bot] a93fa5bd9d
Merge master into staging-next 2022-12-13 06:01:11 +00:00
AndersonTorres d9411df65b soundOfSorting: incorporate darwin into its expression 2022-12-12 09:46:16 -03:00
Robert Hensing 16f5747575
Merge pull request #175649 from Artturin/opt-in-structured-attrs
stdenv: support opt-in __structuredAttrs
2022-12-10 21:12:43 +01:00
Yarny0 85aeeac28d cups-pdf: add vm test 2022-12-09 22:20:09 +01:00
Yarny0 56bc902b23 cups-pdf-to-pdf: init at unstable-2021-12-22
Note that cups-pdf refuses to run without root privileges.
To use the binary, one has to either convince cups to
call it with root privileges, or install it suid root.

Also note that currently, this cups-pdf-fork produces
small pdfs with selectable text, as promised.
However, copying the text produces "garbled" text
(characters are randomly reassigned).
This is a known issue and I don't know how to fix it:

https://github.com/alexivkin/CUPS-PDF-to-PDF/issues/7
2022-12-09 22:20:08 +01:00
Artturin c01f509e44 treewide: source .attrs in builders
if theres a source $stdenv then this is needed

for structuredAttrs
2022-12-08 21:09:02 +02:00
Martin Weinelt 60f52f6c83 Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-06 01:27:11 +01:00
Sandro fc9f1e2b48
Merge pull request #201248 from panicgh/cups-kyodialog 2022-12-05 21:05:11 +01:00
Martin Weinelt 2c56dc4832 Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-04 22:07:03 +01:00
Sandro ecebb7d25f
Merge pull request #204312 from deejayem/add-tmux-copy-toolkit 2022-12-04 19:50:16 +01:00
Fabian Affolter 925a64a3c9
fastly: add changelog to meta 2022-12-04 13:50:06 +01:00
R. Ryantm de9055931b fastly: 4.4.0 -> 4.4.1 2022-12-04 02:38:28 +00:00
David Morgan c4eae1d75e
tmuxPlugins.copy-toolkit: init at 1.1 2022-12-03 16:13:38 +00:00
Martin Weinelt ca98db29b3 Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-03 13:56:22 +01:00
jariji 61a8a98e6d solfege: Add gdk-pixbuf dependency.
An error occurs at startup without this change.
It is in nativeBuildInputs instead of buildInputs because
the fix does not work in buildInputs.
2022-12-03 11:47:15 +01:00
Martin Weinelt e3da5a807b Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-03 01:28:01 +01:00
R. Ryantm 4ac78ea992 fastly: 4.3.0 -> 4.4.0 2022-12-02 23:31:42 +08:00
Weijia Wang fcd6daeffe
cups: unpin 2.2.6 on darwin (#200206) 2022-12-02 02:37:13 +01:00
Nicolas Benes 909cfd2b8d cups-kyodialog: 8.1601 -> 9.2-20220928
* Rename `cups-kyodialog3` -> `cups-kyodialog`
  * Update from 8.1601 (2016) to 9.2 (2022) with support for more and
    recent printer models (170 vs. 373 PPD files)
  * Make Qt GUI optional to reduce closure size, Qt4 -> Qt5
  * Avoid full paths to kyodialog filters in PPD files. A PPD file is
    copied to /etc/cups/ppd/ for each configured printer and is not
    updated when the cups-kyodialog package is updated, thus,
    potentially creating dangling references to /nix/store or invoking
    the old version of the cups filters.
2022-12-01 23:53:34 +01:00
Alexandre Acebedo 1ddd3a6480 tmuxPlugins.mode-indicator: init at 2021-10-01 2022-11-30 20:08:33 +01:00
rnhmjoj a5eb3b03ff
cups: fix cups.socket unit
The cups.socket unit shouldn't be part of cups.service: stopping the
service would stop the socket and break subsequent socket activations.

See https://github.com/apple/cups/issues/6005
2022-11-28 14:49:40 +01:00
Sandro 2ca694f473
Merge pull request #198552 from wegank/wxgtk-games 2022-11-24 14:21:25 +01:00
Vladislav Nepogodin ab27a2c699
ananicy-cpp: unstable-2021-10-13 -> 1.0.1
upstream release (https://gitlab.com/ananicy-cpp/ananicy-cpp/-/releases/v1.0.1)
2022-11-23 02:20:33 +04:00
Sandro db25230dc8
Merge pull request #201261 from panicgh/cups-kyocera
Closes https://github.com/NixOS/nixpkgs/issues/182699
2022-11-20 07:16:13 +01:00
R. Ryantm b4250d2c23 wiki-tui: 0.5.1 -> 0.6.0 2022-11-19 10:37:49 +08:00
Nicolas Benes 79059c9505 cups-kyocera: fix source URL 2022-11-15 00:50:02 +01:00
Nikolay Korotkiy 218a36d6b9
slock: 1.4 → 1.5 2022-11-12 20:03:37 +03:00
Randy Eckenrode 33b682ebaf
dxvk: 1.10.3 -> 2.0 2022-11-10 19:52:32 -05:00
Chuang Zhu bab1ba485c superd: init at 0.7 2022-11-09 13:36:02 +08:00
Doron Behar c568890eb8
Merge pull request #133537 from Yarny0/foomatic-db
foomatic-db ppd files
2022-11-06 22:25:55 +00:00
Yarny0 0d36fdc66b samsung-unified-linux-driver (cups driver): call {pre,post}Install
Add `preInstall` and `postInstall` to the `installPhase` to
permit package overrides to add commands to the install phase.

Suggested by r-rmcgibbo bot in
https://github.com/NixOS/nixpkgs/pull/133537#issuecomment-897437621
2022-11-06 19:28:16 +01:00
Yarny0 2c28e0dc18 cups-kyocera (cups driver): call {pre,post}Install
Add `preInstall` and `postInstall` to the `installPhase` to
permit package overrides to add commands to the install phase.

Suggested by r-rmcgibbo bot in
https://github.com/NixOS/nixpkgs/pull/133537#issuecomment-897437621
2022-11-06 19:28:15 +01:00
Yarny0 075d112131 foomatic-db-ppds (cups ppd files): init
`foomatic-db-ppds` uses the Foomatic database from the packages
`foomatic-db` and -- optionally -- `foomatic-db-nonfree`
and the perl modules from `foomatic-db-engine`
to generate about 8,800 ppd files.

The general structure of the build recipe is as follows:

* Merge `foomatic-db` and `foomatic-db-nonfree` into
  one package that represents the Foomatic database.
  The package `foomatic-db-nonfree` is optional
  as it taints the result license-wise;
  it will only be used if `withNonfreeDb`
  is to to `true` in the `callPackage` call.
  We create a tiny setup hook script that provides the combined
  database and sets an environment variable pointing to the
  database direcotry, which is expected by the foomatic engine.

* The final package's license and version are computed
  from the licenses and versions of the database packages.
  The license is set to `free` if each database-providing
  package has a free license, and to `unfree` otherwise.
  The version is simply the highest version
  of the database-providing packages.

* The final package uses `foomatic-compiledb`
  from the `foomatic-db-engine` package to extract
  all ppd files from the database packages.
  `patchPpdFilesHook` is used to patch most
  executable invocations in the ppd files
  so that they point to nix store paths.
  Finally, ppd files are gzipped to reduce storage
  (from about 550 MiB to 90 MiB installed).

The "nonfree" version of the package, i.e. the version that is
based on `foomatic-db-nonfree` in addition to `foomatic-db`,
contains about 120 additional ppd files
compared to the "free" version.
Since the "free" version already produces about 8,700
ppd files and hydra won't build the "nonfree" version,
the commit adds two package variables to `all-packages.nix`:

* `foomatic-db-ppds` is based on `foomatic-db` only
* `foomatic-db-ppds-withNonfreeDb`
  is also based on `foomaitc-db-nonfree`

The package introduced by this commit
is the result of combining other packages;
it is not the build product of a simple source tarball.
While it would also be possible to perform the ppd file
generation directly in the build process of the database
packages, this would yield further complexity as the
`foomatic-db-nonfree` package needs to be combined with the
`foomatic-db` package before ppd file extraction is possible.

There is no upstream product with a name that
could/should be used for the `name` attribute,
the variable name, or for the filename in nixpkgs.
Similar packages have different names across distributions:

* https://repology.org/projects/?search=openprinting
* https://repology.org/projects/?search=foomatic

The name `foomatic-db-ppds` seems to be most common
(albeit not really *that* common):

* https://repology.org/project/foomatic-db-ppds/versions

At least openSUSE splits their corresponding
package into multiple "binary" packages
(similar to our multi-output packages):

* https://build.opensuse.org/package/binaries/Printing/OpenPrintingPPDs/openSUSE_Tumbleweed

I considered something similar.
However, after doing some statistics,
I concluded that it's not worth the effort:
The biggest dependencies (`perl` and `cups-filters`) are
already present on most NixOS systems, and they cannot
be "split away" easily since it cannot be
done along a canonical line (e.g. printer driver).
Splitting directly by dependency risks that ppd files
unexpectedly "move from output to output" on package updates;
disappearing ppd files can be quite annoying for package users.
2022-11-06 19:28:15 +01:00
Yarny0 156cc612ff foomatic-db-nonfree (cups ppd files): init at unstable/2015-06-05
`foomatic-db-nonfree` contains -- similar to its sister
package `foomatic-db` -- knowledge about printers,
drivers, and driver options from OpenPrinting in xml files.
It needs to be combined with the `foomatic-db`
package to yield a working database.
It also provides about 100 (gzipped) ppd files.
In contrast to `foomatic-db`, this package contains
data that is provided under non-free licenses.

Quoting
https://github.com/OpenPrinting/foomatic-db-nonfree/blob/master/README

> This is a repository of PPD and Foomatic XML files that may
> have restrictions that keep them from being used on a variety
> of machines for licensing and other non-technical reasons.

ppd files can be found in
`$out/share/cups/model/foomatic-db-nonfree`.
The subdirectory `foomatic-db-nofree` is used to avoid conflicts
with other packages that might be combined with the package
`foomatic-db-nonfree` in `config.services.printing.drivers`.

ppd files in this package are *not* patched
to call executables from the nix store:
The only executable "rastertophaser6100" that is
called from ppd files isn't available in nixpkgs.

There is a daily snapshot of a source archive available at
https://www.openprinting.org/download/foomatic/ .
However, these files rotate daily and
cannot be used as a stable download source.
So we rely on OpenPrinting's Github repository
instead and pinpoint a fresh commit.
Note that the current version is from 2015,
so updates are unlikely.
2022-11-06 19:28:15 +01:00
Yarny0 90a8a78e7c foomatic-db (cups ppd files): init at unstable/2022-10-03
`foomatic-db` contains the collected knowledge about printers,
drivers, and driver options from OpenPrinting in xml files.
It also provides thousands of ppd files.
The build process patches those files to reference executables
in the nix store and gzips them to reduce storage
(from about 670 MiB to 90 MiB installed).

In contrast to the sister package `foomatic-db-nonfree`
(packaged in a follow-up commit),
this package only includes files published under a free license.
Most files are published under the GPL,
some under the MIT license.
For details see
https://github.com/OpenPrinting/foomatic-db/blob/master/COPYING .
To encompass the different licenses, the package's
license is set to "free" as the common denominator.

ppd files can be found in `$out/share/cups/model/foomatic-db`.
The subdirectory `foomatic-db` is used to avoid conflicts
with other packages that might be combined with the package
`foomatic-db` in `config.services.printing.drivers`.

There is a daily snapshot of a source archive available at
https://www.openprinting.org/download/foomatic/ .
However, these files rotate daily and
cannot be used as a stable download source.
So we rely on OpenPrinting's Github repository
instead and pinpoint a fresh commit.
2022-11-06 19:28:15 +01:00
Yarny0 cd4c8d63f5 foomatic-db-engine: init at unstable-2022-05-03
`foomatic-db-engine` contains several perl scripts to parse
and process XML files from the Foomatic database packages.
It can be used to extract ppd files,
which will be accomplished in a follow-up commit.

The package also contains scripts
to handle print queues and jobs.
It can -- optionally -- talk to the local cups server,
to network printers and to SMB print servers.
The build recipe contains switches to enable these features;
however, they are not needed when generating ppd files.

There is a daily snapshot of a source archive available at
https://www.openprinting.org/download/foomatic/ .
However, these files rotate daily and
cannot be used as a stable download source.
So we rely on OpenPrinting's Github repository
instead and pinpoint a fresh commit.
2022-11-06 19:28:15 +01:00
Yarny0 bafefd7ae2 samsung-unified-linux-driver (cups driver): patch all filters
ppd files in the `samsung-unified-linux-driver`
package invoke these filter commands:

* pstosecps
* pstospl
* rastertospl
* pstosplc

The paths to all of those commands excluding the last one got
patched with their absolute paths during the build process.
This commit adds the last one to
the list of commands to be patched.
2022-11-06 16:19:23 +01:00
Yarny0 bfe3271fc0 samsung-unified-linux-driver (cups driver): use patchPpdFilesHook
The `sed` script in the `installPhase` is removed.
Instead, the setup hook `patchPpdFilesHook` is
used to patch the path to the filter executables.

The result should essentially be the same.
Comparing the generated ppd files showed no difference,
short of the package's hash in the absolute paths and
added newline characters at the end of some ppd files.
Missing newline characters at the end of the last line are
apparently added by `awk`; this shouldn't affect functionality.
The new package also contains a `propagated-build-inputs`
file which propagates the package itself.
This ensures the package is available whenever
a ppd file is singled out by another package.
2022-11-06 16:19:23 +01:00
Yarny0 bf30b53817 cups-kyocera (cups driver): use patchPpdFilesHook
The `sed` script in the `installPhase` is removed.
Instead, the setup hook `patchPpdFilesHook`
is used to patch the path to `rastertokpsl`.

The result should essentially be the same.
Comparing the generated ppd files showed no difference
(short of the package's hash in the absolute paths).
The new package also contains a `propagated-build-inputs`
file which propagates the package itself.
This ensures the package is available whenever
a ppd file is singled out by another package.
2022-11-06 16:19:22 +01:00
Yarny0 ef8566f38b cups-drv-rastertosag-gdi (cups driver): patch ppd bin paths
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.
2022-11-06 16:19:22 +01:00
Yarny0 6f622e91c5 cups-drv-rastertosag-gdi (cups driver): gzip ppd files
ppd files are gzipped to save some space.
The `gzip` "-n" option prevents gzip from storing
a timestamp, thus facilitating reproducibility.
2022-11-06 16:19:22 +01:00