From c17e70a3e92db05a9eb97afe7b12239d0621867a Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 6 May 2025 09:19:33 +0100 Subject: [PATCH] gnu: python-kivymd: Update to 1.1.1. * gnu/packages/python-xyz.scm (python-kivymd): Update to 1.1.1. [source]: Switch to git-fetch containing tests. [build-system]: Switch to pyproject. [arguments] : Enable some tests. : Add 'fix-modules. [native-inputs]: Add python-pytest, python-pytest-asyncio, python-setuptools, and python-wheel. Change-Id: I5b82048776484eb115ba590dd7a34bdb9097aa66 --- gnu/packages/python-xyz.scm | 67 +++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 117af5dc8cd..574a374de0e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -24674,25 +24674,64 @@ multitouch applications.") (define-public python-kivymd (package (name "python-kivymd") - (version "0.104.2") + (version "1.1.1") (source (origin - (method url-fetch) - (uri (pypi-uri "kivymd" version)) + (method git-fetch) ; no tests in PyPI release + (uri (git-reference + (url "https://github.com/kivymd/KivyMD") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "04lwy6j0agrdwa4a6dl6qs97nx9ysmscmm8psvdzjpyj8aa1zg4p")))) - (build-system python-build-system) + (base32 "1nprldcm54qybbwf7zlb32fkmz375j8i3k3g41d6ykc6vasq3w5j")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f ;tests require network - #:phases - (modify-phases %standard-phases - (add-before 'sanity-check 'set-home - (lambda _ - ;; 'kivy/__init__.py' wants to create $HOME/.kivy. - (setenv "HOME" (getcwd))))))) - (native-inputs (list python-docutils)) + (list + #:test-flags + ;; is not packaged yet in + ;; Guix. + #~(list "--ignore=kivymd/tests/pyinstaller" + "-k" (string-join + ;; FIXME: Only some tests passed, the most fail with err: + ;; ValueError: KivyMD: App object must be initialized + ;; before loading root widget. + (list "not test_backdrop_raw_app" + "test_bottom_navigation_m3_style_raw_app" + "test_card_m3_style_raw_app" + "test_chip_raw_app" + "test_imagelist_raw_app" + "test_list_raw_app" + "test_navigationdrawer_raw_app" + "test_tab_raw_app" + "test_textfield_raw_app") + " and not ")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-modules + (lambda _ + (substitute* "setup.py" + ;; If excluded, sanity check fails with error: + ;; ModuleNotFoundError: No module named 'kivymd.tools.release' + (("\"kivymd.tools.release\"") "")) + ;; Check phase fails struggling to find tests module. + (with-output-to-file "kivymd/tests/__init__.py" + (lambda _ (display ""))))) + (add-before 'check 'set-home + (lambda _ + ;; FileNotFoundError: [Errno 2] No such file or directory: + ;; '/homeless-shelter/.kivy' + (setenv "HOME" "/tmp")))))) + (native-inputs + (list python-docutils + python-pytest + python-pytest-asyncio + python-setuptools + python-wheel)) (propagated-inputs - (list python-kivy python-pillow python-pygments python-kivy-garden)) + (list python-kivy + python-pillow + python-pygments + python-kivy-garden)) (home-page "https://github.com/kivymd/KivyMD") (synopsis "Material Design compliant widgets for use with Kivy") (description