diff mbox series

[bug#64732,1/2] gnu: Add python-ffmpeg-python.

Message ID a95bef988a2b414c3f0a6fc10911761bfe5d2dbe.1689780467.git.poomklao@yahoo.com
State New
Headers show
Series Add r128gain | expand

Commit Message

Parnikkapore July 19, 2023, 3:34 p.m. UTC
* gnu/packages/python-xyz.scm (python-ffmpeg-python): New variable.
---
The failed tests are asserts getting values that are close to, but not exactly,
equal. There's also one more test failure that has not yet made it into a
release.

 gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

jgart July 19, 2023, 11:40 p.m. UTC | #1
> The failed tests are asserts getting values that are close to, but not exactly,
> equal.

Hi Parnikkapore,

Sounds like it might be a matter of adjusting the rel_tol and abs_tol upstream if related to isclose or similar being called in a test:

https://docs.python.org/3/library/math.html?highlight=math%20close#math.isclose

Might be worth doing that...

I'll try to take a closer look at this soon and the tests. Thanks for the patch!

all best,

jgart

https://whereis.みんな/
Parnikkapore July 20, 2023, 2:34 a.m. UTC | #2
Hi jgart,

There's some evidence¹ that the failing tests are a consequence of them being written for FFmpeg 4, not having been updated for changed behavior in FFmpeg 5+.

¹: https://github.com/kkroening/ffmpeg-python/issues/636

While we have the option of using ffmpeg-4 as the input, that doesn't seem like a good option. There's a PR that fixes this, but the AUR simply ignores test failures. I'll probably disable the 2 failing tests and cherry-pick the collections.Iterable commit as a patch.
jgart July 20, 2023, 4:08 a.m. UTC | #3
I'll probably disable the 2
> failing tests and cherry-pick the collections.Iterable commit as a patch.

Hi Parnikkapore,

It is favorable to disable just those two tests than to disable the whole test suite, yes. Can you send a new patch with that change? 

It would be much appreciated. Just Cc me when you have v2.

thanks,

jgart
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 755b0af4b6..2dee31aa5d 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.
 ;;;
@@ -8918,6 +8919,35 @@  (define-public python-lfdfiles
 experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
     (license license:bsd-3)))
 
+(define-public python-ffmpeg-python
+  (package
+    (name "python-ffmpeg-python")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/kkroening/ffmpeg-python.git")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+                (base32
+                "0mmydmfz3yiclbgi4lqrv9fh2nalafg4bkm92y2qi50mwqgffk8f"))))
+    (build-system python-build-system)
+    (arguments
+      ;; Some tests fail.
+      `(#:tests? #f))
+    (inputs (list python-future))
+    (propagated-inputs (list ffmpeg))
+    (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")