gnu: python-mpv: Update to 1.0.7.

This fixes the build after the core-updates merge.

* gnu/packages/python-xyz.scm (python-mpv): Update to 1.0.7.
[source]: Remove snippet obsoleted by PY_MPV_SKIP_TESTS.
[build-system]: Switch to pyproject.
[arguments]: Set newly-available PY_MPV_SKIP_TESTS variable.
[native-inputs]: Add python-pytest and python-pyvirtualdisplay.

Change-Id: Ia0e6c3341292fe6a40f63b484d70c6a68b6f7eb4
This commit is contained in:
Ian Eure 2024-09-01 08:46:47 -07:00 committed by Tobias Geerinckx-Rice
parent 63250f2354
commit a977900d76
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -37071,7 +37071,7 @@ (define-public python-bsdiff4
(define-public python-mpv (define-public python-mpv
(package (package
(name "python-mpv") (name "python-mpv")
(version "1.0.1") (version "1.0.7")
(source (source
(origin (origin
;; python-mpv from pypi does not include the tests directory. ;; python-mpv from pypi does not include the tests directory.
@ -37081,28 +37081,14 @@ (define-public python-mpv
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "102fajzrcgxapsanh0phlqmk9q2v95bvix6mrkg8rypv717idins"))))
"10w6j3n62ap45sf6q487kz8z6g58sha37i14fa2hhng794z7a8jh")) (build-system pyproject-build-system)
(modules '((guix build utils)))
(snippet
#~(begin
;; One of the tests never completes, so neutering it using
;; early return allows other test to run without issue.
(substitute* "tests/test_mpv.py"
;; Note the typo in "prooperty" - this was fixed later in
;; upstream but has no effect on whether the tests hangs or not.
(("test_wait_for_prooperty_event_overflow.*" line)
;; The long whitespace between \n and return is to match the
;; identation level, which is significant in python.
(string-append line "\n return\n")))))))
(build-system python-build-system)
(arguments (arguments
(list #:phases (list #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'build 'patch-reference-to-mpv (add-before 'build 'patch-reference-to-mpv
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Without an absolute path it is not able find and ;; Without an absolute path it is not able find and load libmpv.
;; load the libmpv library.
(substitute* "mpv.py" (substitute* "mpv.py"
(("sofile = .*") (("sofile = .*")
(string-append "sofile = \"" (string-append "sofile = \""
@ -37113,11 +37099,16 @@ (define-public python-mpv
;; Fontconfig throws errors when it has no cache dir to use. ;; Fontconfig throws errors when it has no cache dir to use.
(setenv "XDG_CACHE_HOME" (getcwd)) (setenv "XDG_CACHE_HOME" (getcwd))
;; Some tests fail without a writable and readable HOME. ;; Some tests fail without a writable and readable HOME.
(setenv "HOME" (getcwd))))))) (setenv "HOME" (getcwd))
(setenv "PY_MPV_SKIP_TESTS"
"test_wait_for_property_event_overflow"))))))
(native-inputs (native-inputs
(list python-xvfbwrapper)) ; needed for tests only ;; For tests.
(list python-pytest
python-pyvirtualdisplay
python-xvfbwrapper))
(inputs (list mpv)) (inputs (list mpv))
(propagated-inputs (list python-pillow)) ; for raw screenshots (propagated-inputs (list python-pillow)) ;for raw screenshots
(home-page "https://github.com/jaseg/python-mpv") (home-page "https://github.com/jaseg/python-mpv")
(synopsis "Python interface to the mpv media player") (synopsis "Python interface to the mpv media player")
(description (description