diff options
| author | Atemu <atemu.main@gmail.com> | 2024-03-13 19:15:21 +0100 |
|---|---|---|
| committer | Atemu <atemu.main@gmail.com> | 2024-03-14 14:02:31 +0100 |
| commit | ec34e3d7407c7a0f5054277941f6cb7cb41002a1 (patch) | |
| tree | efeb0d4ac400f5082d7ef24802fc5377d1dcc27b /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch | |
| parent | 883295650adf2b7b718a2461261809182de7d4b0 (diff) | |
ffmpeg: make version a regular parameter and use callPackage pattern
This is (to my knowledge) a novel pattern that is similar to how
callPackages (note the s) is used. Whereas callPackages would try to make the
arguments of default.nix overrideable, this instead exposes the individual
packages' arguments.
This pattern is a lot more robust than the custom import pattern I had
implemented here before.
It also moves the implementation detail out of all-packages which is great.
Making the version part of the interface allows overriders to declare a
different ABI. Doing so via overrideAttrs would not affect the flags in the
arguments; effectively retaining the overridden package's ABI.
See https://github.com/NixOS/nixpkgs/issues/280645 for an instance of that.
By overriding the arguments using
ffmpeg.override { version = "..."; ... }
the ABI will now be overridden as expected.
This means you could theoretically turn ffmpeg_5-full into ffmpeg_4-headless by overriding it with
{
version = "4.4.4";
hash = ...;
ffmpegVariant = "headless";
}
Having these implicit parameters be explicit parameters feels a lot cleaner and
neater to work with.
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions
