Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg: uplift #354958

Draft
wants to merge 11 commits into
base: staging
Choose a base branch
from
Draft

ffmpeg: uplift #354958

wants to merge 11 commits into from

Conversation

Atemu
Copy link
Member

@Atemu Atemu commented Nov 10, 2024

Follow up to #354952 (ignore the commits of that PR in here) but a bit spicier and for the regular variant. See the commit messages.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Atemu added 10 commits November 10, 2024 09:15
/nix/store/m5ghr321rsxpfl001c5fdh56y9f42lpd-ffmpeg-headless-7.1-bin	 233072648
/nix/store/rjimh83l9pdpmd7qvanvfhkwr13cmbz5-ffmpeg-headless-7.1-bin	 234001624
/nix/store/rjimh83l9pdpmd7qvanvfhkwr13cmbz5-ffmpeg-headless-7.1-bin	 234001624
/nix/store/pk5bgvay9yb1hl6pcda2fs9d33s7gws0-ffmpeg-headless-7.1-bin	 234002056
/nix/store/pk5bgvay9yb1hl6pcda2fs9d33s7gws0-ffmpeg-headless-7.1-bin	 234002056
/nix/store/4gmnzizak5ca1skhf9r9m2m0jcbik8ap-ffmpeg-headless-7.1-bin	 236116824
/nix/store/4gmnzizak5ca1skhf9r9m2m0jcbik8ap-ffmpeg-headless-7.1-bin	 236116824
/nix/store/nqardac1g5h774bprz145fsl4qm2p92l-ffmpeg-headless-7.1-bin	 236173272
/nix/store/nqardac1g5h774bprz145fsl4qm2p92l-ffmpeg-headless-7.1-bin	 236173272
/nix/store/a9a7n7w0dhcjay5vi41xy685m6md1hkw-ffmpeg-headless-7.1-bin	 294694384

This may look like quite an increase but if you combine it with a noteworthy package such as pipewire, the increase is only ~5MiB:

/nix/store/cs43xb7x8bqy0igaip0vrsgjij5aafc9-foo	 657507664
/nix/store/xcgc1k9mn8f9fqns9832dnnlhnxm6dka-foo	 661376384

With actual closures, I believe this would be even less.
/nix/store/a9a7n7w0dhcjay5vi41xy685m6md1hkw-ffmpeg-headless-7.1-bin	 294694384
/nix/store/2wxab02vqydrmm19m4wiffz1ic3v7528-ffmpeg-headless-7.1-bin	 295755456
/nix/store/2wxab02vqydrmm19m4wiffz1ic3v7528-ffmpeg-headless-7.1-bin	 295755456
/nix/store/0km9wmmxs4aasna3jvx6ksigbi5qlas8-ffmpeg-headless-7.1-bin	 296508848
/nix/store/0g381zbwph4i1xwr3r0jjgl3ld22ay9y-ffmpeg-7.1-bin	 771250848
/nix/store/p9pnzdynjr2g6rxgrbinljsxanzc5vh5-ffmpeg-7.1-bin	 795740304

With a bigger closure containing gtk4 which would be quite basic for any headed
setup:

    nix-build --expr 'with import ./. { }; buildEnv { name = "foo"; paths = [ ffmpeg gtk4 ]; }'

/nix/store/br81b18qsqa9pyd6xm03x1dh2h7mgs4r-foo	 967359472
/nix/store/f34hzrcm58y1kzrkc1bkwrip79f2yrc6-foo	 991848928

That's still the same kind of increase and it stems from shaderc and libdovi,
both of which aren't used in typical desktop packages.

The only users who would be unaffected by this closure size increase are those
who already use libplacebo through the popular video player `mpv`.
To dependency avoid cycle
/nix/store/p9pnzdynjr2g6rxgrbinljsxanzc5vh5-ffmpeg-7.1-bin	 795740304
/nix/store/h024lrwfsy1kk4snnws98wbkrd8qs559-ffmpeg-7.1-bin	 795915280
/nix/store/h024lrwfsy1kk4snnws98wbkrd8qs559-ffmpeg-7.1-bin	 795915280
/nix/store/b1az767mqkfck49kyk5i8l0nm2n5id4r-ffmpeg-7.1-bin	 812639072

This is quite a large increase but nearly every desktop closure will already
have librsvg in it. There's 50 references in mine.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant