Archived
1
0
Fork 0

gnu: Add python-ffmpeg-python.

* gnu/packages/python-xyz.scm (python-ffmpeg-python): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Parnikkapore 2023-08-04 22:56:09 +08:00 committed by Ludovic Courtès
parent 30487d72cb
commit a3131e7706
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -139,6 +139,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net> ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de> ;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -8940,6 +8941,53 @@ converting, and viewing many of the proprietary file formats used to store
experimental data and metadata at the Laboratory for Fluorescence Dynamics.") experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-ffmpeg-python
;; The latest release (0.2.0) is old and its test suite crashs on Python 3.10.
(let ((commit "df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6") (revision "0"))
(package
(name "python-ffmpeg-python")
(version (git-version "0.2.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kkroening/ffmpeg-python.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1zj4ac37n4igfj21zy405mdlvbpv6jyb12wfpszf8zkhhj2qby4c"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-ffmpeg
(lambda* (#:key inputs #:allow-other-keys)
(define ffmpeg (search-input-file inputs "bin/ffmpeg"))
(substitute* "ffmpeg/_run.py"
(("cmd='ffmpeg'")
(string-append "cmd='" ffmpeg "'")))
(substitute* "ffmpeg/tests/test_ffmpeg.py"
(("out_file.compile\\(\\) == \\['ffmpeg'")
(string-append "out_file.compile() == ['" ffmpeg "'")))))
;; Some tests fail with ffmpeg 5+
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv"
"-k" "not test_pipe and not test__probe")))))))
(inputs (list ffmpeg))
(propagated-inputs (list python-future))
(native-inputs (list python-future python-numpy python-pytest
python-pytest-mock python-pytest-runner))
(home-page "https://github.com/kkroening/ffmpeg-python")
(synopsis "Python bindings for FFmpeg with complex filtering support")
(description
"ffmpeg-python allows you to write FFmpeg filtergraphs in familiar
Python terms, taking care of running ffmpeg with the correct command-line
arguments. It handles arbitrarily large (directed-acyclic) signal graphs.")
(license license:asl2.0))))
(define-public python-imageio-ffmpeg (define-public python-imageio-ffmpeg
(package (package
(name "python-imageio-ffmpeg") (name "python-imageio-ffmpeg")