Merge pull request #50226 from danieldk/handbrake-1.1.2

handbrake: 1.1.0 -> 1.1.2
This commit is contained in:
Renaud 2018-11-13 15:38:22 +01:00 committed by GitHub
commit 56f508833a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 3 deletions

View file

@ -88,6 +88,7 @@ in
graphite = handleTest ./graphite.nix {};
hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
haproxy = handleTest ./haproxy.nix {};
#hardened = handleTest ./hardened.nix {}; # broken due useSandbox = true
hibernate = handleTest ./hibernate.nix {};

25
nixos/tests/handbrake.nix Normal file
View file

@ -0,0 +1,25 @@
import ./make-test.nix ({ pkgs, ... }:
let
# Download Big Buck Bunny example, licensed under CC Attribution 3.0.
testMkv = pkgs.fetchurl {
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
};
in {
name = "handbrake";
meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ danieldk ];
};
machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ handbrake ];
};
testScript = ''
# Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
# only takes a few seconds.
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160");
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160");
'';
})

View file

@ -20,21 +20,34 @@
stdenv.mkDerivation rec {
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
version = "1.1.0";
version = "1.1.2";
name = "handbrake-${version}";
src = fetchurl {
url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2'';
sha256 = "1nj0ihflisxcfkmsk7fm3b5cn7cpnpg66dk2lkp2ip6qidppqbm0";
sha256 = "0bny0hwlr55g2c69rsamv0xvwmfh1s4a582b9vq20xv5ly84m6ms";
};
patched_libav_12 = libav_12.overrideAttrs (super: {
# NOTE: 2018-04-26: HandBrake compilation (1.1.0) requires a patch of LibAV (12.3) from HandBrake team. This patch not went LibAV upstream.
patches = (super.patches or []) ++ [(
# NOTE: 2018-04-26: HandBrake compilation (1.1.0) requires
# a patch of LibAV (12.3) from HandBrake team. This patch
# not went LibAV upstream.
fetchurl {
url = ''https://raw.githubusercontent.com/HandBrake/HandBrake/9e1f245708a157231c427c0ef9b91729d59a30e1/contrib/ffmpeg/A21-mp4-sdtp.patch'';
sha256 = "14grzyvb1qbb90k31ibabnwmwnrc48ml6h2z0rjamdv83q45jq4g";
})
# NOTE: 2018-11-11: Transcoding to MP4 can fail with:
#
# Tag avc1/0x31637661 incompatible with output codec id '28'
# muxavformat: avformat_write_header failed!
#
# Fix using Handbrake patch that is not upstream in libav.
(
fetchurl {
url = ''https://raw.githubusercontent.com/HandBrake/HandBrake/df6c26fa261423237ee2bec0bf784c32cbfda3fa/contrib/ffmpeg/A20-avc3-hvc1-override.patch'';
sha256 = "1vijd7bmkzp3sb6zhpcpdni8fz4h13wgglnml6cz9f44j41w2c3v";
})
];
});