~ruther/guix-local

c17e70a3e92db05a9eb97afe7b12239d0621867a — Sharlatan Hellseher 1 year, 2 months ago d3663ba
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
1 files changed, 53 insertions(+), 14 deletions(-)

M gnu/packages/python-xyz.scm
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +53 -14
@@ 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