python3Packages.imageio-ffmpeg: 0.4.2 -> 0.4.3
Also hardcode path to ffmpeg executable. Can be overridden using $IMAGEIO_FFMPEG_EXE.
This commit is contained in:
parent
d15fad3dbe
commit
b639c57aaa
|
@ -1,29 +1,42 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
|
||||||
, fetchpatch
|
|
||||||
, isPy3k
|
, isPy3k
|
||||||
|
, fetchPypi
|
||||||
|
, substituteAll
|
||||||
|
, ffmpeg
|
||||||
|
, python
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "imageio-ffmpeg";
|
pname = "imageio-ffmpeg";
|
||||||
version = "0.4.2";
|
version = "0.4.3";
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "13b05b17a941a9f4a90b16910b1ffac159448cff051a153da8ba4b4343ffa195";
|
|
||||||
};
|
|
||||||
patches = [ (fetchpatch {
|
|
||||||
# Fixes compatibility with python3.9
|
|
||||||
# Should be included in the next release after 0.4.2
|
|
||||||
url = "https://github.com/imageio/imageio-ffmpeg/pull/43/commits/b90c39fe3d29418d67d953588ed9fdf4d848f811.patch";
|
|
||||||
sha256 = "0d9kf4w6ldwag3s2dr9zjin6wrj66fnl4fn8379ci4q4qfsqgx3f";
|
|
||||||
})];
|
|
||||||
|
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
# No test infrastructure in repository.
|
src = fetchPypi {
|
||||||
doCheck = false;
|
inherit pname version;
|
||||||
|
sha256 = "f826260a3207b872f1a4ba87ec0c8e02c00afba4fd03348a59049bdd8215841e";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./ffmpeg-path.patch;
|
||||||
|
ffmpeg = "${ffmpeg}/bin/ffmpeg";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
|
||||||
|
${python.interpreter} << EOF
|
||||||
|
from imageio_ffmpeg import get_ffmpeg_version
|
||||||
|
assert get_ffmpeg_version() == '${ffmpeg.version}'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "imageio_ffmpeg" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "FFMPEG wrapper for Python";
|
description = "FFMPEG wrapper for Python";
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
diff --git a/imageio_ffmpeg/_utils.py b/imageio_ffmpeg/_utils.py
|
||||||
|
index 1399cfd..c0eb9be 100644
|
||||||
|
--- a/imageio_ffmpeg/_utils.py
|
||||||
|
+++ b/imageio_ffmpeg/_utils.py
|
||||||
|
@@ -23,33 +23,7 @@ def get_ffmpeg_exe():
|
||||||
|
if exe:
|
||||||
|
return exe
|
||||||
|
|
||||||
|
- plat = get_platform()
|
||||||
|
-
|
||||||
|
- # 2. Try from here
|
||||||
|
- bin_dir = resource_filename("imageio_ffmpeg", "binaries")
|
||||||
|
- exe = os.path.join(bin_dir, FNAME_PER_PLATFORM.get(plat, ""))
|
||||||
|
- if exe and os.path.isfile(exe) and _is_valid_exe(exe):
|
||||||
|
- return exe
|
||||||
|
-
|
||||||
|
- # 3. Try binary from conda package
|
||||||
|
- # (installed e.g. via `conda install ffmpeg -c conda-forge`)
|
||||||
|
- if plat.startswith("win"):
|
||||||
|
- exe = os.path.join(sys.prefix, "Library", "bin", "ffmpeg.exe")
|
||||||
|
- else:
|
||||||
|
- exe = os.path.join(sys.prefix, "bin", "ffmpeg")
|
||||||
|
- if exe and os.path.isfile(exe) and _is_valid_exe(exe):
|
||||||
|
- return exe
|
||||||
|
-
|
||||||
|
- # 4. Try system ffmpeg command
|
||||||
|
- exe = "ffmpeg"
|
||||||
|
- if _is_valid_exe(exe):
|
||||||
|
- return exe
|
||||||
|
-
|
||||||
|
- # Nothing was found
|
||||||
|
- raise RuntimeError(
|
||||||
|
- "No ffmpeg exe could be found. Install ffmpeg on your system, "
|
||||||
|
- "or set the IMAGEIO_FFMPEG_EXE environment variable."
|
||||||
|
- )
|
||||||
|
+ return '@ffmpeg@'
|
||||||
|
|
||||||
|
|
||||||
|
def _popen_kwargs(prevent_sigint=False):
|
Loading…
Reference in a new issue