guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/14: gnu: Add python-ffmpeg-python.


From: guix-commits
Subject: 11/14: gnu: Add python-ffmpeg-python.
Date: Sun, 20 Aug 2023 17:22:27 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit a3131e7706af72b56b6632fc7ecc48af0690f3df
Author: Parnikkapore <poomklao@yahoo.com>
AuthorDate: Fri Aug 4 22:56:09 2023 +0800

    gnu: Add python-ffmpeg-python.
    
    * gnu/packages/python-xyz.scm (python-ffmpeg-python): New variable.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/python-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]