aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorParnikkapore <poomklao@yahoo.com>2023-08-04 22:56:09 +0800
committerLudovic Courtès <ludo@gnu.org>2023-08-20 23:10:14 +0200
commita3131e7706af72b56b6632fc7ecc48af0690f3df (patch)
tree6c110248b83404ee7d0b5bc154e1034619644517 /gnu
parent30487d72cb6d0b602efcd8f0b9af6d042595eb59 (diff)
downloadguix-a3131e7706af72b56b6632fc7ecc48af0690f3df.tar.gz
guix-a3131e7706af72b56b6632fc7ecc48af0690f3df.zip
gnu: Add python-ffmpeg-python.
* gnu/packages/python-xyz.scm (python-ffmpeg-python): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3b06b55817..385426671e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -139,6 +139,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
+;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;;
;;; 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.")
(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
(package
(name "python-imageio-ffmpeg")