diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
commit | 75eafe97f7df0d653bec67f3962214d7c357831f (patch) | |
tree | 09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/development/python-modules/ffmpeg-python | |
parent | a53b121bf4331497da63df3b1b7f1a7897dad146 (diff) | |
parent | a2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff) | |
download | nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2 nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip |
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/ffmpeg-python')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/ffmpeg-python/default.nix | 43 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/ffmpeg-python/ffmpeg-location.patch | 84 |
2 files changed, 127 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/ffmpeg-python/default.nix b/nixpkgs/pkgs/development/python-modules/ffmpeg-python/default.nix new file mode 100644 index 000000000000..ae7dc43020b5 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/ffmpeg-python/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, substituteAll +, ffmpeg +, future +, pytest +, pytestrunner +, pytest-mock +}: + +buildPythonPackage rec { + pname = "ffmpeg-python"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "kkroening"; + repo = "ffmpeg-python"; + rev = version; + sha256 = "0mmydmfz3yiclbgi4lqrv9fh2nalafg4bkm92y2qi50mwqgffk8f"; + }; + + patches = [ + ( + substituteAll { + src = ./ffmpeg-location.patch; + inherit ffmpeg; + } + ) + ]; + + buildInputs = [ pytestrunner ]; + propagatedBuildInputs = [ future ]; + checkInputs = [ pytest pytest-mock ]; + + meta = with lib; { + description = "Python bindings for FFmpeg - with complex filtering support"; + homepage = "https://github.com/kkroening/ffmpeg-python"; + license = licenses.asl20; + maintainers = [ maintainers.AluisioASG ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/ffmpeg-python/ffmpeg-location.patch b/nixpkgs/pkgs/development/python-modules/ffmpeg-python/ffmpeg-location.patch new file mode 100644 index 000000000000..a192504e1267 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/ffmpeg-python/ffmpeg-location.patch @@ -0,0 +1,84 @@ +diff --git i/ffmpeg/_probe.py w/ffmpeg/_probe.py +index 41e8168..eb83b54 100644 +--- i/ffmpeg/_probe.py ++++ w/ffmpeg/_probe.py +@@ -4,7 +4,7 @@ from ._run import Error + from ._utils import convert_kwargs_to_cmd_line_args + + +-def probe(filename, cmd='ffprobe', **kwargs): ++def probe(filename, cmd='@ffmpeg@/bin/ffprobe', **kwargs): + """Run ffprobe on the specified file and return a JSON representation of the output. + + Raises: +diff --git i/ffmpeg/_run.py w/ffmpeg/_run.py +index afc504d..9445cca 100644 +--- i/ffmpeg/_run.py ++++ w/ffmpeg/_run.py +@@ -172,7 +172,7 @@ def get_args(stream_spec, overwrite_output=False): + + + @output_operator() +-def compile(stream_spec, cmd='ffmpeg', overwrite_output=False): ++def compile(stream_spec, cmd='@ffmpeg@/bin/ffmpeg', overwrite_output=False): + """Build command-line for invoking ffmpeg. + + The :meth:`run` function uses this to build the commnad line +@@ -193,7 +193,7 @@ def compile(stream_spec, cmd='ffmpeg', overwrite_output=False): + @output_operator() + def run_async( + stream_spec, +- cmd='ffmpeg', ++ cmd='@ffmpeg@/bin/ffmpeg', + pipe_stdin=False, + pipe_stdout=False, + pipe_stderr=False, +@@ -289,7 +289,7 @@ def run_async( + @output_operator() + def run( + stream_spec, +- cmd='ffmpeg', ++ cmd='@ffmpeg@/bin/ffmpeg', + capture_stdout=False, + capture_stderr=False, + input=None, +diff --git i/ffmpeg/tests/test_ffmpeg.py w/ffmpeg/tests/test_ffmpeg.py +index 279a323..8d3b35c 100644 +--- i/ffmpeg/tests/test_ffmpeg.py ++++ w/ffmpeg/tests/test_ffmpeg.py +@@ -24,7 +24,7 @@ TEST_OUTPUT_FILE2 = os.path.join(SAMPLE_DATA_DIR, 'out2.mp4') + BOGUS_INPUT_FILE = os.path.join(SAMPLE_DATA_DIR, 'bogus') + + +-subprocess.check_call(['ffmpeg', '-version']) ++subprocess.check_call(['@ffmpeg@/bin/ffmpeg', '-version']) + + + def test_escape_chars(): +@@ -423,7 +423,7 @@ def test_filter_text_arg_str_escape(): + + def test__compile(): + out_file = ffmpeg.input('dummy.mp4').output('dummy2.mp4') +- assert out_file.compile() == ['ffmpeg', '-i', 'dummy.mp4', 'dummy2.mp4'] ++ assert out_file.compile() == ['@ffmpeg@/bin/ffmpeg', '-i', 'dummy.mp4', 'dummy2.mp4'] + assert out_file.compile(cmd='ffmpeg.old') == [ + 'ffmpeg.old', + '-i', +@@ -490,7 +490,7 @@ def test__run__input_output(mocker): + @pytest.mark.parametrize('capture_stdout', [True, False]) + @pytest.mark.parametrize('capture_stderr', [True, False]) + def test__run__error(mocker, capture_stdout, capture_stderr): +- mocker.patch.object(ffmpeg._run, 'compile', return_value=['ffmpeg']) ++ mocker.patch.object(ffmpeg._run, 'compile', return_value=['@ffmpeg@/bin/ffmpeg']) + stream = _get_complex_filter_example() + with pytest.raises(ffmpeg.Error) as excinfo: + out, err = ffmpeg.run( +@@ -684,7 +684,7 @@ def test_pipe(): + 'pipe:1', + ] + +- cmd = ['ffmpeg'] + args ++ cmd = ['@ffmpeg@/bin/ffmpeg'] + args + p = subprocess.Popen( + cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) |