There were 2 issues in the current handbrake derivation:
- Since version 1.6.0 upstream is using ffmpeg 5.1.2 instead of 5.1.1
- One of the ffmpeg patches from upstream are not applying anymore at
least since 5.1.1
This commit fixes those 2 issues and allow handbrake to build again.
- Omit the numactl dependency under Darwin.
- Prevent the configure script from checking for xcodebuild. This check
always failed (because xcodebuild isn't available in the build
context) but xcodebuild isn't actually needed for the build, which
uses --disable-xcode.
- Use the Nix-provided libxml2 under Darwin like we already do under
Linux.
These were included by the handbrake build because they are used by external dependencies. In nixpkgs, we build those dependencies (e.g. codecs) separately, and so excise the check for these tools from the handbrake build.
We build HandBrake with a newer ffmpeg than upstream expects,
triggering a problem where the audio samplerate defaults to zero
because HandBrake was not explicitly setting it.
This has been fixed in HandBrake upstream, but we must cherry pick
this change in order to produce videos with audio until HandBrake
1.3.0 is released.
This involved several pieces:
- Always disable GTK GUI support under Darwin. The gtk3 package depends
transitively on dbus, which depends transitively on systemd, which is
not currently supported on Darwin. (I gather that it may be possible
to work around this in the future.)
- Also disable the native GUI support under Darwin (using the
--disable-xcode flag). Building this GUI would require using the Xcode
build system, which I was not able to figure out how to do; for now,
all builds on Darwin are command-line-only.
- Add the lzma package as a dependency on all platforms.
- Add dependencies on the AudioToolbox, Foundation, libobjc, and
VideoToolbox packages on Darwin.
rm yasm - dropped
rm bzip2, zlib - no needed for build
rm mp4v2, libmkv, mpeg2dec - drop abandonware, HandBrake now uses FFMpeg for that
add nasm, speex, nv-codec-headers - new required deps
* substitute(): --subst-var was silently coercing to "" if the variable does not exist.
* libffi: simplify using `checkInputs`
* pythonPackges.hypothesis, pythonPackages.pytest: simpify dependency cycle fix
* utillinux: 2.32 -> 2.32.1
https://lkml.org/lkml/2018/7/16/532
* busybox: 1.29.0 -> 1.29.1
* bind: 9.12.1-P2 -> 9.12.2
https://ftp.isc.org/isc/bind9/9.12.2/RELEASE-NOTES-bind-9.12.2.html
* curl: 7.60.0 -> 7.61.0
* gvfs: make tests run, but disable
* ilmbase: disable tests on i686. Spooky!
* mdds: fix tests
* git: disable checks as tests are run in installcheck
* ruby: disable tests
* libcommuni: disable checks as tests are run in installcheck
* librdf: make tests run, but disable
* neon, neon_0_29: make tests run, but disable
* pciutils: 3.6.0 -> 3.6.1
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pciutils/versions.
* mesa: more include fixes
mostly from void-linux (thanks!)
* npth: 1.5 -> 1.6
minor bump
* boost167: Add lockfree next_prior patch
* stdenv: cleanup darwin bootstrapping
Also gets rid of the full python and some of it's dependencies in the
stdenv build closure.
* Revert "pciutils: use standardized equivalent for canonicalize_file_name"
This reverts commit f8db20fb3a.
Patching should no longer be needed with 3.6.1.
* binutils-wrapper: Try to avoid adding unnecessary -L flags
(cherry picked from commit f3758258b8895508475caf83e92bfb236a27ceb9)
Signed-off-by: Domen Kožar <domen@dev.si>
* libffi: don't check on darwin
libffi usages in stdenv broken darwin. We need to disable doCheck for that case.
* "rm $out/share/icons/hicolor/icon-theme.cache" -> hicolor-icon-theme setup-hook
* python.pkgs.pytest: setupHook to prevent creation of .pytest-cache folder, fixes#40273
When `py.test` was run with a folder as argument, it would not only
search for tests in that folder, but also create a .pytest-cache folder.
Not only is this state we don't want, but it was also causing
collisions.
* parity-ui: fix after merge
* python.pkgs.pytest-flake8: disable test, fix build
* Revert "meson: 0.46.1 -> 0.47.0"
With meson 0.47.0 (or 0.47.1, or git)
things are very wrong re:rpath handling
resulting in at best missing libs but
even corrupt binaries :(.
When we run patchelf it masks the problem
by removing obviously busted paths.
Which is probably why this wasn't noticed immediately.
Unfortunately the binary already
has a long series of paths scribbled
in a space intended for a much smaller string;
in my testing it was something like
lengths were 67 with 300+ written to it.
I think we've reported the relevant issues upstream,
but unfortunately it appears our patches
are what introduces the overwrite/corruption
(by no longer being correct in what they assume)
This doesn't look so bad to fix but it's
not something I can spend more time on
at the moment.
--
Interestingly the overwritten string data
(because it is scribbled past the bounds)
remains in the binary and is why we're suddenly
seeing unexpected references in various builds
-- notably this is is the reason we're
seeing the "extra-utils" breakage
that entirely crippled NixOS on master
(and probably on staging before?).
Fixes#43650.
This reverts commit 305ac4dade.
(cherry picked from commit 273d68eff8)
Signed-off-by: Domen Kožar <domen@dev.si>