summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-05-06 09:19:33 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-05-06 20:04:55 +0100
commitc17e70a3e92db05a9eb97afe7b12239d0621867a (patch)
tree122f26275b82b98e9589562564ec9b785b80c188
parentd3663ba409bd9e94a47659844043f7334b196a64 (diff)
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] <tests?>: Enable some tests. <phases>: Add 'fix-modules. [native-inputs]: Add python-pytest, python-pytest-asyncio, python-setuptools, and python-wheel. Change-Id: I5b82048776484eb115ba590dd7a34bdb9097aa66
-rw-r--r--gnu/packages/python-xyz.scm67
1 files changed, 53 insertions, 14 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 117af5dc8c..574a374de0 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
+ ;; <https://github.com/pyinstaller/pyinstaller> 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