~ruther/guix-local

edffdbe626b560ae949f52a64db741e80afdc9ab — Hugo Buddelmeijer 7 months ago e94b3fb
gnu: python-woob: Update to 3.7.

* gnu/packages/python-web.scm: Add iso-codes module.

* gnu/packages/python-web.scm (python-woob): Update to 3.7.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments] <#:tests?>: Enable.
<#:test-flags>: Disable tests that require internet.
<#phases>: Add 'relax-requirements phase.
[propagated-inputs]: Remove python-pyqt and python-six; add
python-packaging, python-pycountry, python-responses, python-rich, and
python-termcolor.
[native-inputs]: Remove python-coverage, python-flake8, python-nose,
python-selenium, and python-xunitparser; add nss-certs-for-test,
python-pytest, and python-setuptools.

Change-Id: I74fda9b960e5640600d59d5ae3163943f53a7804
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
1 files changed, 41 insertions(+), 14 deletions(-)

M gnu/packages/python-web.scm
M gnu/packages/python-web.scm => gnu/packages/python-web.scm +41 -14
@@ 122,6 122,7 @@
  #:use-module (gnu packages gnupg)
  #:use-module (gnu packages graphviz)
  #:use-module (gnu packages groff)
  #:use-module (gnu packages iso-codes)
  #:use-module (gnu packages libevent)
  #:use-module (gnu packages libffi)
  #:use-module (gnu packages libidn)


@@ 10829,19 10830,44 @@ can be handled by the @code{colorsys} module in the Python standard library.")
    (license license:bsd-3)))

(define-public python-woob
  ;; TODO: woob requires backends which are currently installed on the fly in
  ;; ~/.local/share/woob/modules/3.7/woob_modules/ , perhaps we should install
  ;; them in the store instead. Many modules are included in the modules
  ;; directory in the source tree, but it is unclear how to install them.
  ;; Many modules require extra dependencies though, so maybe they should be
  ;; packaged independently of woob itself.
  (package
    (name "python-woob")
    (version "3.0")
    (version "3.7")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "woob" version))
       (method git-fetch)
       (uri (git-reference
              (url "https://gitlab.com/woob/woob.git")
              (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "09hpxy5zhn2b8li0xjf3zd7s46lawb0315p5mdcsci3bj3s4v1j7"))))
    (build-system python-build-system)
    ;; A small number of tests for optional applications fails due to missing
    ;; inputs.
    (arguments `(#:tests? #f))
        (base32 "1sy0aykff56xs4dnc7ak6m8is2zgz9fprf3i1pk8n861xz1z748i"))))
    (build-system pyproject-build-system)
    (arguments
     (list
      #:test-flags
      ;; Deselect tests that require DNS lookup.
      #~(list
         "--deselect=tests/browser/adapters.py::TestAdapter::test_ciphers"
         "--deselect=tests/browser/browsers.py::TestBrowser::test_verify")
      #:phases
      #~(modify-phases %standard-phases
          (add-before 'build 'relax-requirements
            (lambda _
              ;; "packaging ~= 23.0",
              (substitute* "pyproject.toml"
                (("\"packaging .*\",")
                 "")))))))
    (native-inputs
     (list nss-certs-for-test
           python-pytest
           python-setuptools))
    (propagated-inputs
     (list python-babel
           python-colorama


@@ 10850,19 10876,20 @@ can be handled by the @code{colorsys} module in the Python standard library.")
           python-feedparser
           python-html2text
           python-lxml
           python-packaging
           python-pillow
           python-prettytable
           python-pyqt
           python-pycountry
           python-pyyaml
           python-requests
           python-six
           python-responses
           python-rich
           python-termcolor
           python-unidecode))
    (native-inputs
     (list python-coverage python-flake8 python-nose python-selenium
           python-xunitparser))
    (home-page "https://woob.tech/")
    (synopsis "Woob, Web Outside Of Browsers")
    (description "Woob is a collection of applications able to interact with
    (description
     "Woob is a collection of applications able to interact with
websites, without requiring the user to open them in a browser.  It also
provides well-defined APIs to talk to websites lacking one.")
    (license license:lgpl3+)))