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
video-transcoding: init at 0.25.2 #69102
Conversation
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/83 |
Thank you for your contributions.
|
I’m not the author of this commit, but I’d like to see it merged. I’ll see what I can do about mentioning a relevant maintainer. |
The upstream package is now version 0.25.3. I’ll try to update this PR in the next day or two. |
Great! Is there anything I can do to help? |
It looks like handbrake isn’t building on Darwin because it depends on numactl, which is not supported on Darwin. If you have a macOS system you could look into whether this is easy to get around. If not I can take a look. |
Crumbs. I remember handbrake having weird build issues a while ago, but I never really looked into it, but I just avoided the whole situation. I’ll give it a shot, but I’m certainly not sure I’ll figure anything out quickly. |
Is it possible to just remove the numactl requirement when building on macOS? As best I can tell, it's not needed on macOS. I've run through the build requirements and working on building Handbrake right now, and it's not listed in the build requirements, nor does it seem to (so far) actually be needed. The build requirements are
And searching through the GitHub repo uncovers such things as:
Assuming it builds for me without numactl, I guess the next step would be to update the Handbrake build to avoid it on macOS? |
Yeah, that should definitely be possible. Unfortunately, when I tried disabling the numactl dependency on macOS with --- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -10,7 +10,7 @@
{ stdenv, lib, fetchFromGitHub,
# Main build tools
pkgconfig, autoconf, automake, libtool, m4, lzma, python3,
- numactl,
+ numactl ? null,
# Processing, video codecs, containers
ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora, dav1d,
# Codecs, audio
@@ -48,6 +48,7 @@ assert stdenv.isDarwin -> AudioToolbox != null
&& Foundation != null
&& libobjc != null
&& VideoToolbox != null;
+assert !stdenv.isDarwin -> numactl != null;
stdenv.mkDerivation rec {
pname = "handbrake";
@@ -94,8 +95,9 @@ _EOF
ffmpeg-full libogg libtheora x264 x265 libvpx dav1d
libopus lame libvorbis a52dec speex libsamplerate
libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz
- libdvdread libdvdnav libdvdcss libbluray lzma numactl
- ] ++ lib.optionals useGtk [
+ libdvdread libdvdnav libdvdcss libbluray lzma
+ ] ++ lib.optional (!stdenv.isDarwin) numactl
+ ++ lib.optionals useGtk [
glib gtk3 libappindicator-gtk3 libnotify
gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
libgudev hicolor-icon-theme the build only reached the configure step:
I don’t think Handbrake has always required Xcode to build. If it really does now—even if we only want to build the CLI version—then we may be able to use the same hack as the MacVim derivation, which basically just symlinks some parts of the Xcode toolchain so that they’re available during the Nix build. This is impure but I don’t know of any other way to invoke Xcode from Nix 😕 |
Nice! I've been attempting to build handbrake without Xcode in Nix, but I'm far out of my depth here, so I've been very slow. |
I marked this as stale due to inactivity. → More info |
Motivation for this change
Adds video_transcoding, a set of Ruby scripts that provide a simplified interface to (and reasonable defaults for) handbrake-cli, ffmpeg, and other tools.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)