diff options
32 files changed, 1496 insertions, 1345 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 661198f36a..eef2e6294e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1195,7 +1195,6 @@ dist_patch_DATA = \ %D%/packages/patches/durden-shadow-arcan.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dwarves-threading-reproducibility.patch \ - %D%/packages/patches/dynaconf-unvendor-deps.patch \ %D%/packages/patches/efivar-fix-fprint-format.patch \ %D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 11638b539b..9b249d6a74 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -3350,7 +3350,7 @@ modules and plugins that extend Ansible.") (patches (search-patches "debops-setup-py-avoid-git.patch")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-setuptools)) (inputs (list ansible encfs @@ -3372,6 +3372,7 @@ modules and plugins that extend Ansible.") python-toml)) (arguments (list + #:tests? #f ;no tests #:modules '((guix build pyproject-build-system) (guix build utils) (srfi srfi-26)) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 88878d1916..4dc1ce8d5a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2900,13 +2900,13 @@ celestial-to-terrestrial coordinate transformations.") (define-public python-astroquery (package (name "python-astroquery") - (version "0.4.10") + (version "0.4.11") (source (origin (method url-fetch) (uri (pypi-uri "astroquery" version)) (sha256 - (base32 "01m4sp35vgyc816gyvvajah3pa6sa0w15hzv80bn93ipvblr3kga")))) + (base32 "0crb0h39bs389y8x3vbl6kczbqwklnn9pkfmfgkhgyn7vndm4dsm")))) (build-system pyproject-build-system) (arguments (list @@ -2944,8 +2944,7 @@ celestial-to-terrestrial coordinate transformations.") python-pytest-astropy python-pytest-dependency python-pytest-doctestplus - python-setuptools - python-wheel)) + python-setuptools)) (propagated-inputs (list python-astropy python-astropy-healpix @@ -3762,6 +3761,11 @@ Cesium.") (list #:test-flags #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) + ;; When python-pytest-benchmark is added: Benchmarks are + ;; automatically disabled because xdist plugin is + ;; active.Benchmarks cannot be performed reliably in a + ;; parallelized environment. + "--ignore=dkist/tests/test_benchmarks.py" ;; Network access is required. "--deselect=dkist/net/tests/test_client.py::test_fetch_with_headers") #:phases @@ -3774,7 +3778,6 @@ Cesium.") (native-inputs (list python-pydot python-pytest - python-pytest-benchmark python-pytest-cov python-pytest-doctestplus python-pytest-filter-subpackage @@ -4749,7 +4752,7 @@ parameters described on the ensemble level.") #:test-flags #~(list "--numprocesses" (number->string (parallel-job-count))))) (native-inputs - (list python-cython + (list python-cython-0 python-pytest python-pytest-xdist python-setuptools @@ -4911,6 +4914,9 @@ milliarcsecond).") (base32 "0b2rgb7pvwnl72pqjryf9c812mmdxr69fwiym7mnz05l2xrcr6hd")))) (arguments (list + ;; FIXME: OSError: [Errno 30] Read-only file system: + ;; '/gnu/store/4az2pl6mslrdh9wcxd5r3dmr4spr5y94-python-3.11.11/lib/python3.11/@test_43_tmpæ.pyc' + #:tests? #f #:phases #~(modify-phases %standard-phases (replace 'check diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 1d3b66f150..acee71c2e1 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -681,7 +681,7 @@ rsnapshot uses hard links to deduplicate identical files.") lz4 openssl ;; This is the latest version of msgpack accepted by 'setup.py'. - python-msgpack + python-msgpack-for-borg ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now: ;; <https://issues.guix.gnu.org/53407> python-llfuse diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1757332cb9..18352f3529 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -20775,13 +20775,16 @@ matrices.") (define-public python-scanorama (package (name "python-scanorama") - (version "1.7.2") + (version "1.7.4") (source (origin - (method url-fetch) - (uri (pypi-uri "scanorama" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brianhie/scanorama") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0il7bf4c7vli2dm2jx7dskh3ymgv8nmk0y90jzgfrnqjzh250x5w")))) + (base32 "1jpn4kq3qqa40xr0dwa9bw5cgga6h9ww9gfbyj6w3mfs8rv4w9rz")))) (build-system pyproject-build-system) (propagated-inputs (list python-annoy python-fbpca @@ -20791,7 +20794,7 @@ matrices.") python-numpy python-scikit-learn python-scipy)) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-anndata python-pytest python-setuptools)) (home-page "https://github.com/brianhie/scanorama") (synopsis "Panoramic stitching of heterogeneous single cell transcriptomic data") @@ -24502,19 +24505,16 @@ sequences") (modules '((guix build utils))) (snippet '(for-each delete-file (find-files "." "\\.o$"))))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "setup.py" - (("wheel>=0.34") "wheel>=0.30")))) - ;; TODO: it's possible that the import error points to a real - ;; problem with the C sources. - (delete 'sanity-check)))) + (list #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + ;; TODO: it's possible that the import error points to a real + ;; problem with the C sources. + (delete 'sanity-check)))) (propagated-inputs - (list python-cffi python-setuptools python-wheel)) + (list python-cffi python-setuptools)) (inputs (list zlib)) (home-page "https://github.com/ACEnglish/bwapy") diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index fd42cb9258..fa7412412a 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2994,7 +2994,7 @@ statements in the module it tests.") (define-public python-pylint (package (name "python-pylint") - (version "3.3.1") + (version "3.3.8") (source (origin (method git-fetch) @@ -3003,7 +3003,7 @@ statements in the module it tests.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "023cd6gqhhykr1gf8w7nxs5n7qgqwwsd4mgn94r14is8gcf1hwvj")))) + (base32 "0h6ynaxsgb5bidjkbrfwb05nc7dw9paxc0bjgkqaxrkpqfm39baj")))) (build-system pyproject-build-system) (arguments (list @@ -3029,16 +3029,14 @@ statements in the module it tests.") (list python-pytest python-pytest-timeout python-pytest-xdist - python-setuptools - python-wheel)) + python-setuptools)) (propagated-inputs (list python-astroid python-dill python-isort python-mccabe python-platformdirs - python-tomlkit - python-typing-extensions)) + python-tomlkit)) (home-page "https://github.com/PyCQA/pylint") (synopsis "Advanced Python code static checker") (description "Pylint is a Python source code analyzer which looks diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 031f9d5c0e..547016c85a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3654,22 +3654,20 @@ on another machine, accessed via TCP/IP.") (define-public python-peewee (package (name "python-peewee") - (version "3.17.9") + (version "3.18.2") (source (origin (method url-fetch) (uri (pypi-uri "peewee" version)) (sha256 - (base32 "1a67kdmyd0y3xzhqj5r90wlpqfg703cqx36awg429qsq2w0cs5gy")))) + (base32 "184n97vc9xy0whl8w54431fc4h5ij7mjwggnfbmg5bv1xdil59bp")))) (build-system pyproject-build-system) (arguments `(#:tests? #f)) ; fails to import test data (inputs (list sqlite)) (native-inputs - (list python-cython - python-setuptools - python-wheel)) + (list python-setuptools)) (home-page "https://github.com/coleifer/peewee/") (synopsis "Small object-relational mapping utility") (description @@ -4858,39 +4856,43 @@ parsing code in hiredis. It primarily speeds up parsing of multi bulk replies." (define-public python-fakeredis (package (name "python-fakeredis") - (version "2.26.1") - (source (origin - (method git-fetch) ;for tests - (uri (git-reference - (url "https://github.com/cunla/fakeredis-py") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10f9qwpc9vlcd2411c398n9kwjsk399vk1pjd9dbczlhvsn9s5bq")))) + (version "2.31.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cunla/fakeredis-py") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ccywkm42drm2l1l2a1r6v5y5sycsbfbdlgvrrlr5a9ns9s1sb7s")))) (build-system pyproject-build-system) (arguments (list - #:test-flags '(list "-m" "not slow") + #:test-flags + #~(list "-m" "not slow" + ;; XXX: Requires additional valkey package, + ;; but not the one in this module. + "--ignore-glob=test/test_valkey/*" + ;; XXX: Unclear why these tests fail. Wrong Redis version? + "-k" (string-join + (list "not test_acl_cat" + "test_acl_log_auth_exist" + "test_acl_log_invalid_key" + "test_acl_log_invalid_channel" + "test_client_list" + "test_client_info" + "test_client_id") + " and not ")) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'poetry-compatibility - (lambda _ - ;; Our version of poetry does not understand "to". - (substitute* "pyproject.toml" - ((", to = \"fakeredis\" ") "")))) - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - (("sortedcontainers = \"\\^2\\.4\"") - "sortedcontainers = \"^2.1\"")))) ;; Tests require a running Redis server. (add-before 'check 'start-redis (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "redis-server" "--daemonize" "yes" "--port" "6390"))))))) - (native-inputs (list python-poetry-core python-pytest + (native-inputs (list python-hatchling python-pytest python-pytest-asyncio python-pytest-mock redis)) (propagated-inputs diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 674dd543d3..ab6f6209ac 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -235,15 +235,18 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (package (name "python-django-cache-url") (version "3.4.5") - (source (origin - (method url-fetch) - (uri (pypi-uri "django-cache-url" version)) - (sha256 - (base32 - "05yr19gi5ln6za0y9nf184klaixnf1dr1nfajn63893mf6ab37zb")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/epicserve/django-cache-url") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a")))) (build-system pyproject-build-system) (native-inputs - (list python-django python-setuptools python-wheel)) + (list python-django python-pytest python-pytest-cov python-setuptools)) (home-page "https://github.com/epicserve/django-cache-url") (synopsis "Configure Django cache settings from URLs") (description @@ -265,6 +268,10 @@ with a @var{CACHE_URL} environment variable.") (arguments (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'skip-bad-test + (lambda _ + (substitute* "tests/test_values.py" + (("test_database_url_value") "_test_database_url_value")))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -413,18 +420,27 @@ with arguments to the field constructor.") (name "python-django-classy-tags") (version "4.1.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "django-classy-tags" version)) - (sha256 - (base32 - "0ngffhbicyx1j0j0nxdvbg9bhs9ss88xvx3dhr6irrx65ymd3nf8")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/divio/django-classy-tags") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10xl1knpvnfjlc5mm0lyy62di463nwcgikdr18bqb1gxipfk6br4")))) (build-system pyproject-build-system) - (native-inputs - (list python-setuptools - python-wheel)) - (propagated-inputs - (list python-django)) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "DJANGO_SETTINGS_MODULE" "tests.settings") + (invoke "django-admin" "test" "tests" + "--pythonpath=."))))))) + (native-inputs (list python-setuptools)) + (propagated-inputs (list python-django)) (home-page "https://github.com/divio/django-classy-tags") (synopsis "Class based template tags for Django") (description @@ -600,24 +616,27 @@ them do this.") (version "65.3.1") (source (origin - (method url-fetch) - (uri (pypi-uri "django_allauth" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pennersr/django-allauth") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "11q56p07g987hsz7v27nrvr2piy72jhyzwjrcis3lxd2f4drabp0")))) + (base32 "1vm8q5jp854lrykqirmklmlppzz6dih2bzjgv4c7mdwhsfp9s1i2")))) (build-system pyproject-build-system) (arguments (list #:test-flags ;; XXX: KeyError: location - '(list "--ignore=allauth/socialaccount/providers/openid/tests.py") + #~(list "--ignore=allauth/socialaccount/providers/openid/tests.py") #:phases #~(modify-phases %standard-phases ;; FIXME: This should be fixed in python-xmlsec (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) - (setenv "LD_LIBRARY_PATH" - (dirname (search-input-file inputs "lib/libxmlsec1-openssl.so.1.2.37")))))))) + (let ((lib (search-input-file inputs "lib/libxmlsec1-openssl.so"))) + (setenv "LD_LIBRARY_PATH" + (dirname lib)))))))) (propagated-inputs (list python-asgiref python-django @@ -628,12 +647,12 @@ them do this.") python-requests python-requests-oauthlib python-python3-saml)) + (inputs (list xmlsec-openssl)) (native-inputs (list tzdata-for-tests python-pytest python-pytest-django - python-setuptools - python-wheel)) + python-setuptools)) (home-page "https://github.com/pennersr/django-allauth") (synopsis "Set of Django applications addressing authentication") (description @@ -733,38 +752,6 @@ queries done via the Django ORM, SQLAlchemy generated queries are displayed.") templatetags and a full test suite.") (license license:expat))) -(define-public python-django-assets - (package - (name "python-django-assets") - (version "2.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "django-assets" version)) - (sha256 - (base32 - "0fc6i77faxxv1gjlp06lv3kw64b5bhdiypaygfxh5djddgk83fwa")))) - (build-system pyproject-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'disable-bad-tests - (lambda _ - (substitute* "tests/test_django.py" - (("bundles = self.loader.load_bundles\\(\\)") - "return"))))))) - (native-inputs - (list python-nose python-setuptools python-wheel)) - (propagated-inputs - (list python-django python-webassets)) - (home-page "https://github.com/miracle2k/django-assets") - (synopsis "Asset management for Django") - (description - "Asset management for Django, to compress and merge CSS and Javascript -files. Integrates the webassets library with Django, adding support for -merging, minifying and compiling CSS and Javascript files.") - (license license:bsd-2))) - (define-public python-django-jinja (package (name "python-django-jinja") @@ -837,7 +824,9 @@ conn_max_age argument to easily enable Django’s connection pool.") (base32 "16k91rvd9889xxrrf84a3zb0jpinizhfqdmafn54zxa8kqrf7zsm")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:tests? #f)) ;XXX: no tests in PyPI, check in git + (native-inputs (list python-setuptools)) (home-page "https://github.com/migonzalvar/dj-email-url") (synopsis "Configure email settings from URLs") (description @@ -848,6 +837,7 @@ settings from URLs.") license:cc0)))) ;configuration and data (define-public python-dj-search-url + ;; XXX: No updates since 2012, consider to remove in the next refresh cycle. (package (name "python-dj-search-url") (version "0.1") @@ -858,7 +848,9 @@ settings from URLs.") (base32 "0h7vshhglym6af2pplkyivk6y0g0ncq0xpdzi88kq2sha9c1lka2")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:tests? #f)) + (native-inputs (list python-setuptools)) (home-page "https://github.com/dstufft/dj-search-url") (synopsis "Configure Haystack search from URLs") (description @@ -1064,12 +1056,9 @@ to asyncio and Pydantic.") (list python-jsmin python-css-html-js-minify)) (native-inputs - (list python-coveralls - python-django + (list python-django python-setuptools - python-setuptools-scm - python-tox - python-wheel)) + python-setuptools-scm)) (home-page "https://github.com/jazzband/django-pipeline") (synopsis "Asset packaging library for Django") @@ -1282,6 +1271,7 @@ Django Q, dependencies updates, docs updates and several bug fixes.") (build-system pyproject-build-system) (arguments (list + #:tests? #f ; no tests. #:phases #~(modify-phases %standard-phases (add-after 'unpack 'use-poetry-core @@ -1290,7 +1280,7 @@ Django Q, dependencies updates, docs updates and several bug fixes.") (substitute* "pyproject.toml" (("poetry.masonry.api") "poetry.core.masonry.api"))))))) (propagated-inputs (list python-sentry-sdk)) - (native-inputs (list python-poetry-core python-setuptools python-wheel)) + (native-inputs (list python-poetry-core python-setuptools)) (home-page "https://django-q.readthedocs.org") (synopsis "Sentry support plugin for Django Q") (description "This package provides a Sentry support plugin for Django Q.") @@ -1309,6 +1299,8 @@ Django Q, dependencies updates, docs updates and several bug fixes.") (build-system pyproject-build-system) (arguments (list + ;; XXX: No tests in Pypi archive, unclear how to get it from git. + #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'use-poetry-core @@ -1744,44 +1736,32 @@ backends in a single library.") (define-public python-django-auth-ldap (package (name "python-django-auth-ldap") - (version "4.1.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "django-auth-ldap" version)) - (sha256 - (base32 - "0jd9jms9qpa92fk5n7gqcxjk3zs6ay79r73ann7cw1vqn79lkxvp")))) - (build-system python-build-system) + (version "4.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/django-auth-ldap/django-auth-ldap") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11mgxj05ra1yh2z9knzvcayd3zwqgl39gna0gm0xp290cyw5mnnb")))) + (build-system pyproject-build-system) (arguments - (list #:phases - #~(modify-phases %standard-phases - (replace 'build - (lambda _ - ;; Set file modification times to the early 80's because - ;; the Zip format does not support earlier timestamps. - (setenv "SOURCE_DATE_EPOCH" - (number->string (* 10 366 24 60 60))) - (invoke "python" "-m" "build" "--wheel" - "--no-isolation" "."))) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (setenv "SLAPD" (search-input-file inputs "/libexec/slapd")) - (setenv "SCHEMA" - (search-input-directory inputs "etc/openldap/schema")) - (invoke "python" "-m" "django" "test" - "--settings" "tests.settings"))) - (replace 'install - (lambda _ - (let ((whl (car (find-files "dist" "\\.whl$")))) - (invoke "pip" "--no-cache-dir" "--no-input" - "install" "--no-deps" "--prefix" #$output whl))))))) - (native-inputs - (list openldap python-wheel python-setuptools-scm python-toml - - ;; These can be removed after <https://bugs.gnu.org/46848>. - python-pypa-build python-pip)) - (propagated-inputs - (list python-django python-ldap)) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys) + (setenv "SLAPD" + (search-input-file inputs "/libexec/slapd")) + (setenv "SCHEMA" + (search-input-directory inputs "etc/openldap/schema")) + (invoke "python" + "-m" "django" "test" + "--settings" "tests.settings")))))) + (native-inputs (list openldap python-setuptools)) + (propagated-inputs (list python-django python-ldap)) (home-page "https://github.com/django-auth-ldap/django-auth-ldap") (synopsis "Django LDAP authentication backend") (description diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index d6b3c8aa00..5c51d9329d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -122,6 +122,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages nss) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) @@ -1085,7 +1086,8 @@ the Monero GUI client.") (sha256 (base32 "0wq6q0yrw3x42d81v445xy4nh2qlrn7swsydgpv81dkay11kajrz")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments (list #:test-backend #~'unittest)) + (native-inputs (list python-setuptools)) (home-page "https://github.com/fiatjaf/bech32") (synopsis "Reference implementation for Bech32 and Segwit addresses") (description "This package provides a python reference implementation for @@ -1322,7 +1324,22 @@ Nano dongle.") (for-each delete-file (append (find-files "." "^CHANGELOG.unreleased$") (find-files "." "^.towncrier.template.md$"))))))) - (build-system python-build-system) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" (string-join + ;; Failed to resolve 'data.trezor.io' + (list "not test_core_basic" + "test_core_code_hashes" + "test_disallow_unsigned" + "test_embedded_v2" + "test_integrity_core" + "test_integrity_legacy" + "test_legacy_basic" + "test_unsigned" + "test_vendor_header") + " and not ")))) (propagated-inputs (list python-attrs python-click @@ -1334,15 +1351,14 @@ Nano dongle.") python-requests python-typing-extensions)) (native-inputs ; Only needed for running the tests - (list protobuf - python-black - python-isort + (list nss-certs-for-test + protobuf + python-pytest python-pillow python-protobuf python-pyqt python-pytest - python-simple-rlp - python-wheel)) + python-simple-rlp)) (home-page "https://github.com/trezor/python-trezor") (synopsis "Python library for communicating with TREZOR Hardware Wallet") (description "@code{trezor} is a Python library for communicating with diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index df6dc142d3..997fb3c3de 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -242,6 +242,14 @@ them as it goes.") antlr-version "\""))) (invoke "python" "BuildGrammar.py"))))) + (add-before 'build 'relax-gcc-warnings + (lambda _ + ;; Relax a warning turned error with GCC 14. + (setenv "CFLAGS" (string-join + (list "-g" "-O2" + "-Wno-error=incompatible-pointer-types" + "-Wno-error=int-conversion") + " ")))) ;; The test suite expects the commands to be Python rather than ;; shell scripts, so move the wrap phase after the tests. (delete 'wrap) @@ -251,10 +259,16 @@ them as it goes.") (setenv "HOME" "/tmp") (invoke "pytest" "-vv" "--dist" "loadfile" "-n" (number->string (parallel-job-count)) - ;; This test fails because of a different date in the - ;; copyright header of an expected file since an - ;; update to ffmpeg. - "-k" "not test_alt_missing_glyph")))) + "-k" (string-join + ;; This test fails because of a different date + ;; in the copyright header of an expected file + ;; since an update to ffmpeg. + (list "not test_alt_missing_glyph" + ;; AssertionError: assert False + "test_build_font_and_check_messages" + "test_duplicate_warning_messages_bug751" + "test_cli_numerics") + " and not "))))) (add-after 'check 'wrap (assoc-ref %standard-phases 'wrap)) (add-before 'wrap 'wrap-PATH @@ -289,7 +303,7 @@ them as it goes.") python-defcon python-fontmath python-fonttools - python-lxml + python-lxml-4.9 python-tqdm python-ufonormalizer python-ufoprocessor)) @@ -385,10 +399,27 @@ but also provides many useful font conversion and analysis facilities. "CFLAGS = -Wno-error=incompatible-pointer-types")))) (add-before 'build 'set-CC (lambda _ - (setenv "CC" "gcc")))))) + (setenv "CC" "gcc"))) + (replace 'check + ;; tests: 646 passed, 4 skipped, 40 warnings + ;; TODO: Try to fix more tests if this package is still required. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (invoke "pytest" "-vv" + "-n" (number->string (min 8 (parallel-job-count))) + "--ignore=tests/buildcff2vf_test.py" + "--ignore=tests/comparefamily_test.py" + "--ignore=tests/makeinstancesufo_test.py" + "--ignore=tests/makeotf_test.py" + "--ignore=tests/makeotfexe_test.py" + "--ignore=tests/otc2otf_test.py" + "--ignore=tests/otf2ttf_test.py" + "--ignore=tests/ttxn_test.py"))))))) (native-inputs (list pkg-config python-pytest + python-pytest-xdist python-setuptools-scm python-wheel)) (inputs @@ -494,30 +525,36 @@ Kit for OpenType (AFDKO) @command{tx} tool.") (define-public python-compreffor (package (name "python-compreffor") - (version "0.5.4") + (version "0.5.6") (source (origin - (method url-fetch) - (uri (pypi-uri "compreffor" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/googlefonts/compreffor") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "05gpszc8xh6wn3mdra05d6yz6ns624y67m9xs4vv8gh68m0aasrh")))) - (build-system python-build-system) + (base32 "04pgh1ajglvzm229c4janazfillh9156i4zrkhkyn2mb3dm1zq6y")))) + (build-system pyproject-build-system) (arguments (list + #:test-flags #~(list "--pyargs" "compreffor") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'patch-setup.py + (add-after 'unpack 'set-version (lambda _ - (substitute* "setup.py" - ;; Not actually needed. - ((", \"setuptools_git_ls_files\"") ""))))))) - (native-inputs (list python-pytest python-pytest-runner - python-setuptools-scm)) + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) + (native-inputs + (list python-cython + python-pytest + python-setuptools + python-setuptools-scm)) (propagated-inputs (list python-fonttools-minimal)) (home-page "https://github.com/googlefonts/compreffor") (synopsis "@acronym{CFF, Compact Font Format} subroutinizer for fontTools") - (description "This package provides a @acronym{CFF, Compact Font Format} -subroutinizer for fontTools.") + (description + "This package provides a @acronym{CFF, Compact Font Format} subroutinizer +for fontTools.") (license license:asl2.0))) (define-public python-cu2qu @@ -589,20 +626,29 @@ to generate OpenType font binaries from Unified Font Objects (UFOs).") (define-public python-fontmath (package (name "python-fontmath") - (version "0.9.3") + (version "0.9.4") (source (origin - (method url-fetch) - (uri (pypi-uri "fontMath" version ".zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/robotools/fontMath") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "070v1jz5f18g15if459ppwswq4w5hzffwp1gvdc5j47bgz5qflva")))) - (build-system python-build-system) + (base32 "0g8vpwn4flg0rj7ar8wl9xlpjhcgiz01p56fzkjdlf2jqb36akyy")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (propagated-inputs (list python-fonttools-minimal)) (native-inputs - (list python-setuptools-scm - python-pytest - python-pytest-runner - python-wheel + (list python-pytest + python-setuptools + python-setuptools-scm unzip)) (home-page "https://github.com/robotools/fontMath") (synopsis "Fast font mathematical operations library") @@ -669,13 +715,19 @@ implementing the pen protocol for manipulating glyphs.") (uri (pypi-uri "fontParts" version ".zip")) (sha256 (base32 "0j4h8hszky639gmfy1avmw670y80ya49kca8yc635h5ihl0c3v8x")))) - (build-system python-build-system) + (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "Lib/fontParts/fontshell/test.py"))) (propagated-inputs (list python-booleanoperations python-defcon-bootstrap python-fontmath python-fonttools-minimal)) - (native-inputs (list python-setuptools-scm unzip)) + (native-inputs + (list python-setuptools + python-setuptools-scm + unzip)) (home-page "https://github.com/robotools/fontParts") (synopsis "Library for interacting with font parts") (description "FontParts is an @acronym{API, Application Programming @@ -978,7 +1030,7 @@ converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to (snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff (sha256 (base32 "1vlwl1w6sn8c78fsh1w549n3lk9v3v9hcp866vrsdr4byb7g2ani")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list #:phases @@ -991,14 +1043,10 @@ converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to ;; Our version of Skia requires c++17. (substitute* "setup.py" (("-std=c\\+\\+14") - "-std=c++17")))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv"))))))) + "-std=c++17"))))))) (native-inputs (list pkg-config - python-cython + python-cython-0 python-pytest python-setuptools-scm unzip)) @@ -1056,21 +1104,33 @@ tools can generate partial instances. (define-public python-ufonormalizer (package (name "python-ufonormalizer") - (version "0.6.1") + (version "0.6.2") (source (origin - (method url-fetch) - (uri (pypi-uri "ufonormalizer" version ".zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/unified-font-object/ufoNormalizer") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0v5awian2alap7nvxfz38aahyqbqnma16nrqcpr8602hbbki04g6")))) - (build-system python-build-system) - (native-inputs (list python-setuptools-scm unzip)) + (base32 "1dc2ibk4bgdwhrv9pwmvvgsny4gyf80ncrhakvixd14pz08inafx")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-backend #~'unittest + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) + (native-inputs (list python-setuptools python-setuptools-scm unzip)) (home-page "https://github.com/unified-font-object/ufoNormalizer") (synopsis "Script to normalize @acronym{UFO, Unified Font Object} data") - (description "The purpose of the @command{ufonormalizer} command is to -provide a standard formatting so that updates to @acronym{UFO, Unified Font -Object} data can be usefully versioned. Examples of formatting applied by -ufoNormalizer include: + (description + "The purpose of the @command{ufonormalizer} command is to provide a +standard formatting so that updates to @acronym{UFO, Unified Font Object} data +can be usefully versioned. Examples of formatting applied by ufoNormalizer +include: @itemize @item Changing floating-point numbers to integers where it doesn't alter the value (e.g. @samp{x=\"95.0\"} becomes @samp{x=\"95\"}) @@ -1896,23 +1956,34 @@ API-compatible with defcon.") (define-public python-defcon-bootstrap (package (name "python-defcon-bootstrap") - (version "0.10.3") + (version "0.11.0") (source (origin - (method url-fetch) - (uri (pypi-uri "defcon" version ".zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/robotools/defcon") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "036clkwjfv5mmvy6s67s0pbni73n9hdw32z20gm4w5jzqzbjdpjn")))) - (build-system python-build-system) + (base32 "06w5kd5ac63m6m8x8j4xwdl7ncbpjl7pdpfpy9i6c8nhbd8sbjfm")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (propagated-inputs (list python-fontpens-bootstrap python-fonttools)) (native-inputs (list python-pytest - python-pytest-runner + python-setuptools python-setuptools-scm unzip)) (home-page "https://github.com/robotools/defcon") - (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data") - (description "Defcon is a set of @acronym{UFO, unified font object} based + (synopsis "Flexible objects for representing UFO data") + (description + "Defcon is a set of @acronym{UFO, unified font object} based objects optimized for use in font editing applications. The objects are built to be lightweight, fast and flexible. The objects are very bare-bones and they are not meant to be end-all, be-all objects. Rather, they are meant to diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 959c7e2dd6..8ed7487a52 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1118,15 +1118,47 @@ steps of converting to and from Python data types within Python.") (name "python-pyproj") (version "3.6.1") (source - (origin - (method url-fetch) - (uri (pypi-uri "pyproj" version)) - (sha256 - (base32 - "1gq1spm5zdq9k8kl9cb31b9m08ybyrdggfw3sjrqyz9b9iq7raj4")))) - (build-system python-build-system) + (origin + (method url-fetch) + (uri (pypi-uri "pyproj" version)) + (sha256 + (base32 + "1gq1spm5zdq9k8kl9cb31b9m08ybyrdggfw3sjrqyz9b9iq7raj4")))) + (build-system pyproject-build-system) (arguments (list + #:test-flags + #~(list "-k" (string-join + ;; Network is required. + (list "not test_sync_download" + "test_sync_download__directory" + "test_sync_download__system_directory" + "test_sync__download_grids" + "test_get_transform_grid_list" + "test_get_transform_grid_list__bbox__antimeridian" + "test_get_transform_grid_list__bbox__out_of_bounds" + "test_get_transform_grid_list__source_id" + "test_get_transform_grid_list__contains" + "test_get_transform_grid_list__file" + "test_get_transform_grid_list__area_of_use" + "test__load_grid_geojson_old_file" + "test_transformer_group__download_grids" + ;; XXX: Some incompatibility issues. + "test_append_data_dir__internal" + "test_get_data_dir__from_env_var__multiple" + "test_get_data_dir__from_env_var__proj_data" + "test_get_data_dir__from_env_var__proj_lib" + "test_get_data_dir__from_path" + "test_get_data_dir__from_prefix" + "test_get_data_dir__from_prefix__conda_windows" + "test_get_data_dir__internal" + "test_get_data_dir__missing" + "test_sync__area_of_use__list" + "test_sync__bbox__list" + "test_sync__bbox__list__exclude_world_coverage" + "test_sync__file__list" + "test_sync__source_id__list") + " and not ")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'set-proj-path @@ -1136,22 +1168,27 @@ steps of converting to and from Python data types within Python.") (substitute* "pyproj/datadir.py" (("(internal_datadir = ).*$" all var) (string-append var "Path(\"" proj - "/share/proj\")\n"))))))))) + "/share/proj\")\n")))))) + (add-before 'check 'remove-local-pyproj + (lambda _ + ;; This would otherwise interfere with finding the installed + ;; pyproj when running tests. + (delete-file-recursively "pyproj")))))) (inputs - (list proj)) + (list proj)) (propagated-inputs - (list python-certifi)) + (list python-certifi)) (native-inputs - (list python-cython - python-numpy - python-pandas - python-pytest - python-xarray)) + (list python-cython-0 + python-numpy + python-pandas + python-pytest + python-setuptools + python-xarray)) (home-page "https://github.com/pyproj4/pyproj") - (synopsis - "Python interface to PROJ") + (synopsis "Python interface to PROJ") (description - "This package provides a Python interface to PROJ, a cartographic + "This package provides a Python interface to PROJ, a cartographic projections and coordinate transformations library.") (license license:expat))) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index e9091e7399..94d2214b5a 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -320,10 +320,9 @@ lines.") (sha256 (base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp")))) (build-system pyproject-build-system) - (native-inputs - (list python-setuptools python-wheel)) - (propagated-inputs - (list python-networkx python-numpy)) + (arguments (list #:test-backend #~'unittest)) + (native-inputs (list python-setuptools)) + (propagated-inputs (list python-networkx python-numpy)) (home-page "https://github.com/taynaud/python-louvain") (synopsis "Louvain algorithm for community detection") (description diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 53c3dcfff9..06c9eeac42 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -142,6 +142,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix gexp) @@ -1221,22 +1222,33 @@ basic geometries.") (version "0.9.0") (source (origin - (method url-fetch) - (uri (pypi-uri "booleanOperations" version ".zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/typemytype/booleanOperations") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1f41lb19m8azchl1aqz6j5ycbspb8jsf1cnn42hlydxd68f85ylc")))) - (build-system python-build-system) + (base32 "0ahfgamyq1ndwbr9n8sdx8qhqc2195xnbahylgjpk877hbr2gxav")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (propagated-inputs (list python-fonttools-minimal python-pyclipper)) (native-inputs (list python-defcon-bootstrap python-fontpens-bootstrap - python-setuptools-scm python-pytest - python-wheel + python-setuptools + python-setuptools-scm unzip)) (home-page "https://github.com/typemytype/booleanOperations") (synopsis "Boolean operations on paths") - (description "Boolean operations on paths which uses a super fast + (description + "Boolean operations on paths which uses a super fast @url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by Angus Johnson}.") (license license:expat))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 757e194889..002bbe17fe 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -2116,28 +2116,19 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.26.0") + (version "1.28.0") (source (origin - (method url-fetch) - ;; TODO: Try to build from git checkout instead GitHub release tarball. - (uri (string-append "https://github.com/pygobject/pycairo/releases/download/v" - version "/pycairo-" version ".tar.gz")) - (sha256 - (base32 - "1sybz43sj4ynjahlkidrcdpdrq8yi1avkndc2hgb5pgvfjld1p9d")))) - (build-system pyproject-build-system) - (arguments - (list - ;; XXX: Project provides Meson build as well which may simplify the - ;; packaging. - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'build-extensions - (lambda _ - (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pygobject/pycairo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k0mm3kx0rsz07v7a4ijrgjnxigr9in1zcsij8nlg8aszxi7a09q")))) + (build-system meson-build-system) (native-inputs - (list pkg-config python-pytest python-setuptools)) + (list pkg-config python python-pytest python-setuptools)) (propagated-inputs ;pycairo.pc references cairo (list cairo)) (home-page "https://cairographics.org/pycairo/") @@ -2148,8 +2139,6 @@ printing and other features typical of a source code editor.") '((upstream-name . "pycairo"))) (license license:lgpl3+))) -;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick - (define-public perl-cairo (package (name "perl-cairo") diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index a53b16ea21..8fb32e6b73 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -843,7 +843,7 @@ interface for those who are accustomed to the ircII way of doing things.") ;; this package. (lambda _ (delete-file "tests/test_parse.py")))))) (propagated-inputs (list python-docopt)) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/DanielOaks/girc") (synopsis "IRC library for Python") (description @@ -861,7 +861,10 @@ interface for those who are accustomed to the ircII way of doing things.") (sha256 (base32 "1bn92bnk958c097jhwkas24i4a07h905hifix7bg111npc48536l")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "example.py"))) + (native-inputs (list python-setuptools)) (home-page "https://pypi.org/project/ircmatch/") (synopsis "Library for matching IRC masks based on atheme") (description "This is a python extension which provides string comparison @@ -883,10 +886,14 @@ performance when matching IRC hostmasks.") (sha256 (base32 "0x0psq31f43d88b8jhaqwd9f1ykiqm4j13i8nxgcgkgp992cw002")))) (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "test.py"))) (propagated-inputs (list python-pyyaml)) (native-inputs - (list python-girc python-ircmatch - python-setuptools python-wheel)) + (list python-girc + python-ircmatch + python-setuptools)) (home-page "https://github.com/ircdocs/parser-tests") (synopsis "Tests for various IRC protocol parsers") (description diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 698df505fe..d8bb55dfc0 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -461,7 +461,7 @@ broken iOS devices.") (inputs (list python)) (native-inputs - (list autoconf automake libtool pkg-config python-cython)) ; to build Python bindings + (list autoconf automake libtool pkg-config python-cython-0)) ; to build Python bindings (home-page "https://libimobiledevice.org/") (synopsis "C library to handle Apple Property List files") (description "This package provides a small portable C library to handle @@ -514,7 +514,7 @@ connections from and to iOS devices by connecting to a socket provided by a (inputs (list python)) (native-inputs - (list pkg-config python-cython)) + (list pkg-config python-cython-0)) (home-page "https://libimobiledevice.org/") (synopsis "Protocol library and tools to communicate with Apple devices") (description "libimobiledevice is a software library that talks the diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index bd8b232615..ff0ace2efd 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1075,6 +1075,7 @@ depend on language-specific pre- or post-processing.") (sha256 (base32 "018ilrp41fcclmb5lsml3aijwbmhbq3m7wy65hr1fryj0avic8fr")))) (build-system pyproject-build-system) + (arguments (list #:test-backend #~'unittest)) (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/sofiatolaosebikan/hopcroftkarp") (synopsis "Implementation of the Hopcroft-Karp algorithm") diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 492ea128b6..7eb668e8cd 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -69,6 +69,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages prometheus) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-science) @@ -444,27 +445,45 @@ historical data.") (version "1.1.10") (source (origin - (method url-fetch) - (uri (pypi-uri "carbon" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/graphite-project/carbon") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1")))) + (base32 "0rnvn0hh4wmr7wn1p7aw1zajgi2r9bxfc1abqazk2k9r6nk5aqmw")))) (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - ;; Don't install to /opt - (add-after 'unpack 'do-not-install-to-/opt - (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) - (native-inputs (list python-setuptools python-wheel)) + (list + #:test-flags + #~(list + ;; XXX: cannot import name 'WhisperDatabase' from 'carbon.database' + "--ignore=lib/carbon/tests/test_database.py" + "--ignore=lib/carbon/tests/test_storage.py" + "-k" (string-join + (list "not testBasic" ; requires murmurhash3. + ;; XXX: python-mock incompatibility. + "test_decode_pickle" + "test_invalid_pickle" + "test_invalid_types") + " and not ")) + #:phases + #~(modify-phases %standard-phases + ;; Don't install to /opt + (add-after 'unpack 'do-not-install-to-/opt + (lambda _ + (setenv "GRAPHITE_NO_PREFIX" "1")))))) + (native-inputs + (list python-mock python-protobuf python-pytest python-setuptools)) (propagated-inputs (list python-cachetools python-twisted python-txamqp python-urllib3)) (home-page "https://graphiteapp.org/") (synopsis "Backend data caching and persistence daemon for Graphite") - (description "Carbon is a backend data caching and persistence daemon for -Graphite. Carbon is responsible for receiving metrics over the network, -caching them in memory for \"hot queries\" from the Graphite-Web application, -and persisting them to disk using the Whisper time-series library.") + (description + "Carbon is a backend data caching and persistence daemon for Graphite. +Carbon is responsible for receiving metrics over the network, caching them in +memory for \"hot queries\" from the Graphite-Web application, and persisting +them to disk using the Whisper time-series library.") (license license:asl2.0))) (define-public python-prometheus-client diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 7853f849e4..2018424c7d 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -696,8 +696,7 @@ is to provide an accurate identifier for record tracks.") (list gstreamer gst-plugins-base python-flit-core - python-pytest - python-tox)) + python-pytest)) (home-page "https://github.com/sampsyo/audioread") (synopsis "Decode audio files using whichever backend is available") (description diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 72818c3921..1363c947e8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4147,7 +4147,7 @@ of tags.") (sha256 (base32 "05rv5wmasamwxkbs8v9lbp2js6y5hhqz6c58c2afz2b202yp932m")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://python-musicbrainzngs.readthedocs.org/") (synopsis "Python bindings for MusicBrainz NGS webservice") (description @@ -5056,28 +5056,27 @@ provide a very simple interface for editing and playing MIDI loops.") (package (name "python-discogs-client") (version "2.8") - (source (origin - (method url-fetch) - (uri (pypi-uri "python3_discogs_client" version)) - (sha256 - (base32 - "0fxk8q8z5v5l961d9z2ywq49i2fz50h074p81zv6w6j9zzs7fb0g")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joalla/discogs_client") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ga48ds2q4as8srmvhq3ri1w7p7pmrr4yswcp9nf5c1rwdy02qys")))) (build-system pyproject-build-system) - (native-inputs - (list python-setuptools - python-wheel)) - (propagated-inputs - (list python-dateutil - python-oauthlib - python-requests)) + (arguments (list #:test-backend #~'unittest)) + (native-inputs (list python-setuptools)) + (propagated-inputs (list python-dateutil python-oauthlib python-requests)) (home-page "https://github.com/joalla/discogs_client") (synopsis "Python client for the Discogs API") - (description "This is the continuation of the official Discogs API -client for Python. It enables you to query the Discogs database for -information on artists, releases, labels, users, Marketplace listings, -and more. It also supports OAuth 1.0a authorization, which allows you to -change user data such as profile information, collections and wantlists, -inventory, and orders.") + (description + "This is the continuation of the official Discogs API client for Python. +It enables you to query the Discogs database for information on artists, +releases, labels, users, Marketplace listings,and more. It also supports +OAuth 1.0a authorization, which allows you to change user data such as profile +information, collections and wantlists,inventory, and orders.") (license license:bsd-2))) (define-public libsmf diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 9a1c26feb1..ac0ab05ca1 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -866,40 +866,6 @@ in transmittable and storable formats, such as JSON and MessagePack.") and building documentation from them.") (license license:asl2.0))) -(define-public python-oslosphinx - (package - (name "python-oslosphinx") - (version "4.18.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "oslosphinx" version)) - (sha256 - (base32 "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k")))) - (build-system pyproject-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "test-requirements.txt" - (("(hacking|reno).*") - ""))))))) - (propagated-inputs - (list python-requests)) - (native-inputs - (list python-openstackdocstheme - python-pbr - python-setuptools - python-sphinx - python-wheel)) - (home-page "https://www.openstack.org/") - (synopsis "OpenStack sphinx extensions and theme") - (description "This package provides themes and extensions for Sphinx -documentation from the OpenStack project.") - (license license:asl2.0))) - (define-public python-oslotest (package (name "python-oslotest") diff --git a/gnu/packages/patches/dynaconf-unvendor-deps.patch b/gnu/packages/patches/dynaconf-unvendor-deps.patch deleted file mode 100644 index f816264f4a..0000000000 --- a/gnu/packages/patches/dynaconf-unvendor-deps.patch +++ /dev/null @@ -1,169 +0,0 @@ -From d3252748b0f9036cb31f4697ebb5c6a494aceaca Mon Sep 17 00:00:00 2001 -From: Giacomo Leidi <goodoldpaul@autistici.org> -Date: Sun, 14 Jan 2024 12:05:49 +0100 -Subject: [PATCH] Use system site dependencies. - -* Box was not unvendored because it appears to be heavily patched. -* Tomllib seems to be a backport from Python 3.11, as such it wasn't unvendored. ---- - dynaconf/cli.py | 4 ++-- - dynaconf/default_settings.py | 2 +- - dynaconf/loaders/env_loader.py | 2 +- - dynaconf/loaders/toml_loader.py | 2 +- - dynaconf/loaders/yaml_loader.py | 2 +- - dynaconf/utils/inspect.py | 2 +- - dynaconf/utils/parse_conf.py | 2 +- - dynaconf/vendor/box/converters.py | 2 +- - dynaconf/vendor/box/from_file.py | 2 +- - tests/test_cli.py | 2 +- - tests/test_inspect.py | 2 +- - 11 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/dynaconf/cli.py b/dynaconf/cli.py -index c0fd489..5739e79 100644 ---- a/dynaconf/cli.py -+++ b/dynaconf/cli.py -@@ -24,8 +24,8 @@ from dynaconf.utils.parse_conf import parse_conf_data - from dynaconf.utils.parse_conf import unparse_conf_data - from dynaconf.validator import ValidationError - from dynaconf.validator import Validator --from dynaconf.vendor import click --from dynaconf.vendor import toml -+import click -+import toml - from dynaconf.vendor import tomllib - - -diff --git a/dynaconf/default_settings.py b/dynaconf/default_settings.py -index 7e8c222..526b01e 100644 ---- a/dynaconf/default_settings.py -+++ b/dynaconf/default_settings.py -@@ -11,7 +11,7 @@ from dynaconf.utils import warn_deprecations - from dynaconf.utils.files import find_file - from dynaconf.utils.parse_conf import boolean_fix - from dynaconf.utils.parse_conf import parse_conf_data --from dynaconf.vendor.dotenv import load_dotenv -+from dotenv import load_dotenv - - - def try_renamed(key, value, older_key, current_key): -diff --git a/dynaconf/loaders/env_loader.py b/dynaconf/loaders/env_loader.py -index a563b4e..91ac3ae 100644 ---- a/dynaconf/loaders/env_loader.py -+++ b/dynaconf/loaders/env_loader.py -@@ -11,7 +11,7 @@ from dynaconf.utils.parse_conf import parse_conf_data - - DOTENV_IMPORTED = False - with suppress(ImportError, FileNotFoundError): -- from dynaconf.vendor.dotenv import cli as dotenv_cli -+ from dotenv import cli as dotenv_cli - - DOTENV_IMPORTED = True - -diff --git a/dynaconf/loaders/toml_loader.py b/dynaconf/loaders/toml_loader.py -index 42db7b3..ba0188b 100644 ---- a/dynaconf/loaders/toml_loader.py -+++ b/dynaconf/loaders/toml_loader.py -@@ -7,7 +7,7 @@ from dynaconf import default_settings - from dynaconf.constants import TOML_EXTENSIONS - from dynaconf.loaders.base import BaseLoader - from dynaconf.utils import object_merge --from dynaconf.vendor import toml # Backwards compatibility with uiri/toml -+import toml # Backwards compatibility with uiri/toml - from dynaconf.vendor import tomllib # New tomllib stdlib on py3.11 - - -diff --git a/dynaconf/loaders/yaml_loader.py b/dynaconf/loaders/yaml_loader.py -index 5721681..ab628c2 100644 ---- a/dynaconf/loaders/yaml_loader.py -+++ b/dynaconf/loaders/yaml_loader.py -@@ -10,7 +10,7 @@ from dynaconf.constants import YAML_EXTENSIONS - from dynaconf.loaders.base import BaseLoader - from dynaconf.utils import object_merge - from dynaconf.utils.parse_conf import try_to_encode --from dynaconf.vendor.ruamel import yaml -+from ruamel import yaml - - # Add support for Dynaconf Lazy values to YAML dumper - yaml.SafeDumper.yaml_representers[ -diff --git a/dynaconf/utils/inspect.py b/dynaconf/utils/inspect.py -index 21d724e..2933b8f 100644 ---- a/dynaconf/utils/inspect.py -+++ b/dynaconf/utils/inspect.py -@@ -18,7 +18,7 @@ from dynaconf.loaders.base import SourceMetadata - from dynaconf.utils.boxing import DynaBox - from dynaconf.utils.functional import empty - from dynaconf.vendor.box.box_list import BoxList --from dynaconf.vendor.ruamel.yaml import YAML -+from ruamel.yaml import YAML - - if TYPE_CHECKING: # pragma: no cover - from dynaconf.base import LazySettings, Settings -diff --git a/dynaconf/utils/parse_conf.py b/dynaconf/utils/parse_conf.py -index 882110e..a262864 100644 ---- a/dynaconf/utils/parse_conf.py -+++ b/dynaconf/utils/parse_conf.py -@@ -12,7 +12,7 @@ from dynaconf.utils import multi_replace - from dynaconf.utils import recursively_evaluate_lazy_format - from dynaconf.utils.boxing import DynaBox - from dynaconf.utils.functional import empty --from dynaconf.vendor import toml -+import toml - from dynaconf.vendor import tomllib - - try: -diff --git a/dynaconf/vendor/box/converters.py b/dynaconf/vendor/box/converters.py -index 08694fe..4e84930 100644 ---- a/dynaconf/vendor/box/converters.py -+++ b/dynaconf/vendor/box/converters.py -@@ -9,7 +9,7 @@ import sys - import warnings - from pathlib import Path - --import dynaconf.vendor.ruamel.yaml as yaml -+import ruamel.yaml as yaml - from dynaconf.vendor.box.exceptions import BoxError, BoxWarning - from dynaconf.vendor import tomllib as toml - -diff --git a/dynaconf/vendor/box/from_file.py b/dynaconf/vendor/box/from_file.py -index a82ac96..cd01f13 100644 ---- a/dynaconf/vendor/box/from_file.py -+++ b/dynaconf/vendor/box/from_file.py -@@ -4,7 +4,7 @@ from json import JSONDecodeError - from pathlib import Path - from typing import Union - from dynaconf.vendor.tomllib import TOMLDecodeError --from dynaconf.vendor.ruamel.yaml import YAMLError -+from ruamel.yaml import YAMLError - - - from .exceptions import BoxError -diff --git a/tests/test_cli.py b/tests/test_cli.py -index c679ae5..9df5f7f 100644 ---- a/tests/test_cli.py -+++ b/tests/test_cli.py -@@ -15,7 +15,7 @@ from dynaconf.cli import main - from dynaconf.cli import read_file_in_root_directory - from dynaconf.cli import WRITERS - from dynaconf.utils.files import read_file --from dynaconf.vendor.click.testing import CliRunner -+from click.testing import CliRunner - - settings = LazySettings(OPTION_FOR_TESTS=True, environments=True) - -diff --git a/tests/test_inspect.py b/tests/test_inspect.py -index 0819715..96638c1 100644 ---- a/tests/test_inspect.py -+++ b/tests/test_inspect.py -@@ -18,7 +18,7 @@ from dynaconf.utils.inspect import inspect_settings - from dynaconf.utils.inspect import KeyNotFoundError - from dynaconf.utils.inspect import OutputFormatError - from dynaconf.validator import Validator --from dynaconf.vendor.ruamel import yaml -+from ruamel import yaml - - - def create_file(filename: str, data: str) -> str: --- -2.41.0 - diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm index 9c631af73b..e7fc1db2f7 100644 --- a/gnu/packages/potassco.scm +++ b/gnu/packages/potassco.scm @@ -626,26 +626,28 @@ are already predefined, but more can be added as logic programs.") (package (name "python-clorm") (version "1.6.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clorm") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03a7kcyilpvvd6i6njh67vy3zhb3yzi55fhgnffg15j3zflww6fy")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/clorm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03a7kcyilpvvd6i6njh67vy3zhb3yzi55fhgnffg15j3zflww6fy")))) (build-system pyproject-build-system) (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-before 'check 'fix-breaking-tests - (lambda _ - ;; noclingo tests rely on this being set - (setenv "CLORM_NOCLINGO" "1") - (delete-file "tests/test_mypy_query.py")))))) + (list + #:test-backend #~'unittest + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-breaking-tests + (lambda _ + ;; noclingo tests rely on this being set + (setenv "CLORM_NOCLINGO" "1") + (delete-file "tests/test_mypy_query.py")))))) (propagated-inputs (list python-clingo)) - (native-inputs (list python-typing-extensions python-setuptools python-wheel)) + (native-inputs (list python-setuptools)) (home-page "https://potassco.org") (synopsis "Object relational mapping to clingo") (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM, @@ -774,8 +776,8 @@ as logic programs.") "clingexplaid>=1.3.3")))))) (build-system pyproject-build-system) (native-inputs - (list python-setuptools - python-wheel)) + (list python-pytest + python-setuptools)) (propagated-inputs (list python-clingo python-clingo-dl diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 1fe0697e63..e9f1660619 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2075,20 +2075,9 @@ it adds to the Pytest command line interface (CLI).") (build-system pyproject-build-system) (arguments (list - #:test-flags - #~(list "tests" - ;; FIXME: Failed: nomatch: '*sqr*PASSED* - "-k" (string-append - "not test_wrap_cpp_ext_module[importlib]" - " and not test_wrap_c_ext_module[importlib]" - " and not test_cython_ext_module[importlib]")) - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'build-extensions - (lambda _ - (with-directory-excursion "tests/example-project" - (invoke "python" "setup.py" "build_ext" "--inplace"))))))) - (native-inputs (list python-cython-3 python-setuptools python-wheel)) + ;; E ModuleNotFoundError: No module named 'setuptools.sandbox' + #:tests? #f)) ;XXX: tests are broken + (native-inputs (list python-cython python-setuptools python-wheel)) (propagated-inputs (list python-pytest)) (home-page "https://github.com/lgpage/pytest-cython") (synopsis "Cython extension modules testing plugin") @@ -3942,6 +3931,8 @@ when writing automated tests in Python.") (license license:expat))) (define-public python-tox + ;; NOTE: Try to avoid including it in inputs, it's for the local development + ;; only. (package (name "python-tox") (version "4.23.2") @@ -3956,20 +3947,20 @@ when writing automated tests in Python.") (arguments (list #:test-flags - '(list "-k" - (string-join - (map (lambda (test) - (string-append "not test_" test)) - '( ;; These freeze the test suite - "parallel" - "parallel_live" - ;; Needs internet access - "build_wheel_external" - "run_installpkg_targz" - "python_generate_hash_seed" - ;; XXX Tries to call python-wrapper-3.10.7/bin/tox - "call_as_exe")) - " and ")))) + #~(list "-k" (string-join + ;; These freeze the test suite + (list "not test_parallel" + "test_parallel_live" + ;; Needs internet access + "test_build_wheel_external" + "test_run_installpkg_targz" + "test_python_generate_hash_seed" + ;; XXX Tries to call python-wrapper-3.10.7/bin/tox + "test_call_as_exe" + ;; assert 'covdefaults>=1.2; python_version == "2.7" + ;; or python_version == "3.11"' == 'sphinx>=3' + "test_load_dependency_many_extra") + " and not ")))) (propagated-inputs (list python-cachetools python-chardet diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 6b0270a2c6..f4d8a7819c 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -646,15 +646,16 @@ OpenSSL library.") (base32 "18v3rfyv7xi26fb97nw1xc0l6x8wi0i4xj8dlq4gblpbjxiac187")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) (arguments (list + #:test-backend #~'unittest #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-gcc-14-strictness (lambda _ (setenv "CFLAGS" (string-append "-g -O2 -Wno-error=int-conversion"))))))) + (native-inputs (list python-setuptools)) (home-page "https://github.com/tgalal/python-axolotl-curve25519") (synopsis "Python wrapper for curve25519 library") (description "This is a python wrapper for the curve25519 library @@ -711,11 +712,11 @@ environments.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1gx0znbfvs8jg9s754hha81l8wpghswkfsqx2jzpgv6gigf3sm8z")))) - (build-system python-build-system) + (base32 "1gx0znbfvs8jg9s754hha81l8wpghswkfsqx2jzpgv6gigf3sm8z")))) + (build-system pyproject-build-system) + (arguments (list #:test-backend #~'unittest)) (propagated-inputs - (list python-axolotl-curve25519 python-cryptography python-protobuf-5)) + (list python-cryptography python-protobuf-5 python-setuptools)) (home-page "https://dev.gajim.org/gajim/omemo-dr") (synopsis "OMEMO cryptography library") (description "OMEMO cryptography library that was forked from python-axolotl.") diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index e7c32481e9..61f75dd6b6 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1350,6 +1350,7 @@ that is 20-25x faster than @code{numpy.histogram2d}.") (sha256 (base32 "19labbgnq85p4r4jbli2p045lgh57larhi2g2anagfxnlzpqdf5a")))) (build-system pyproject-build-system) + (arguments (list #:test-backend #~'unittest)) (propagated-inputs (list python-numpy)) (native-inputs (list python-scipy python-setuptools python-wheel)) (home-page "https://danifold.net/fastcluster.html") @@ -1906,7 +1907,11 @@ between dataframe libraries. (sha256 (base32 "1lpgsagmgxzsas7g8yiv6wmyss8q57w92h70fn11rnpadsvx16xz")))) (build-system pyproject-build-system) - (arguments (list #:test-flags #~(list "-c" "/dev/null"))) ;avoid coverage + (arguments + (list + #:test-flags + #~(list "-c" "/dev/null" ;avoid coverage + "-k" "not test_iter_indices_matmul"))) ; flaky (native-inputs (list python-cython python-numpy @@ -2445,19 +2450,19 @@ or as a TikZ file for use in LaTeX documents; (define-public python-qdldl (package (name "python-qdldl") - (version "0.1.7.post2") + (version "0.1.7.post5") (source (origin (method url-fetch) (uri (pypi-uri "qdldl" version)) (sha256 - (base32 "1lspam0k8gnw1yglqxvdv350fq00nkgdfmkizmx7bk0hxjjkj5ab")))) + (base32 "0vi8dgrw32qj03z2dd3zqd0d625pibq3xmlgmidfsnwvqkhrj4qb")))) (build-system pyproject-build-system) (native-inputs (list cmake-minimal pybind11 - python-setuptools - python-wheel)) + python-pytest + python-setuptools)) (propagated-inputs (list python-numpy python-scipy)) (home-page "https://github.com/oxfordcontrol/qdldl-python/") (synopsis "QDLDL LDL factorization routine") @@ -5469,34 +5474,37 @@ data.") (license license:expat))) (define-public python-supersmoother - (package - (name "python-supersmoother") - (version "0.4") - (source - (origin - (method git-fetch) ; no package in PyPI - (uri (git-reference - (url "https://github.com/jakevdp/supersmoother") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1lkj8l2mpki6x2pxcwlrplx63lhi8h9v2rzxgjfb0cppsfr8m1wp")))) - (build-system pyproject-build-system) - (native-inputs - (list python-pytest - python-scipy - python-setuptools - python-wheel)) - (propagated-inputs - (list python-numpy)) - (home-page "http://github.com/jakevdp/supersmoother") - (synopsis "Python implementation of Friedman's Supersmoother") - (description - "This package provides an efficient implementation of + ;; 0.4 was release in 2017, there a lot of changes on master branch + ;; providing tests fixtures. + (let ((commit "0a81544ac6bb33bdb08deeba69e97a4ceebcebcf") + (revision "0")) + (package + (name "python-supersmoother") + (version (git-version "0.4" revision commit)) + (source + (origin + (method git-fetch) ; no package in PyPI + (uri (git-reference + (url "https://github.com/jakevdp/supersmoother") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1r79nssw4a44zizvqg8y685nv3asdfj440s227phfww6kz33s3la")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-scipy + python-setuptools)) + (propagated-inputs + (list python-numpy)) + (home-page "http://github.com/jakevdp/supersmoother") + (synopsis "Python implementation of Friedman's Supersmoother") + (description + "This package provides an efficient implementation of @url{https://www.slac.stanford.edu/pubs/slacpubs/3250/slac-pub-3477.pdf, Friedman's SuperSmoother} based in Python. It makes use of numpy for fast numerical computation.") - (license license:bsd-2))) + (license license:bsd-2)))) (define-public python-pylems (package diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9ba97b3b21..7f4f175c8e 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -337,21 +337,30 @@ server process.") (define-public python-devpi-server (package (name "python-devpi-server") - (version "6.14.0") + (version "6.17.0") (source (origin (method url-fetch) - (uri (pypi-uri "devpi-server" version)) + (uri (pypi-uri "devpi_server" version)) (sha256 - (base32 "08smfjhnvqj68fp45gzqm9axjcgnksc0z31v48llivnzlxwf8cmr")))) + (base32 "13lybrw8j6zjxwvx6sk7bw6854hd2m18s1xcvl0q100j4n06p6ml")))) (build-system pyproject-build-system) (arguments (list #:test-flags ;; These all fail with: "module 'py' has no attribute 'io'" - '(list "--ignore=test_devpi_server/test_importexport.py" - "--ignore=test_devpi_server/test_main.py" - "--ignore=test_devpi_server/test_genconfig.py"))) + #~(list "--ignore=test_devpi_server/test_importexport.py" + "--ignore=test_devpi_server/test_main.py" + "--ignore=test_devpi_server/test_genconfig.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + ;; It straggles to check argon2 in passlib on any versions + ;; starting from 6.14.0: UnknownExtra("passlib 1.7.4 has no + ;; such extra feature 'argon2'",). + (("passlib\\[argon2\\]") "passlib"))))))) (propagated-inputs (list python-argon2-cffi python-attrs python-defusedxml @@ -366,16 +375,16 @@ server process.") python-py python-pyramid python-repoze-lru - python-ruamel.yaml + python-ruamel.yaml-0.16 ;FIXME: rename python-strictyaml python-waitress)) (native-inputs (list python-execnet python-pytest + python-pytest-asyncio python-pytest-timeout python-setuptools - python-webtest - python-wheel)) + python-webtest)) (home-page "https://devpi.net") (synopsis "Pypi.org caching server") (description "This package implements a reliable private and pypi.org @@ -991,18 +1000,26 @@ datasets and other repos on the @url{huggingface.co} hub.") (for-each delete-file '("test_oauth.py" "test_docs.py"))) (substitute* "setup.py" (("\"(oauth|lazr\\.(authentication|restful>=0\\.11\\.0))\",") - ""))))))) - (native-inputs (list python-setuptools - python-testtools - python-wheel - python-wsgi-intercept - python-zope-testrunner)) - (propagated-inputs (list python-distro - python-httplib2 - python-oauthlib - python-pyparsing - python-setuptools - python-wadllib)) + "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs + (list python-setuptools + python-testtools + python-wheel + python-wsgi-intercept + python-zope-testrunner)) + (propagated-inputs + (list python-distro + python-httplib2 + python-oauthlib + python-pyparsing + python-setuptools + python-six + python-wadllib)) (home-page "https://launchpad.net/lazr.restfulclient") (synopsis "Web client Python library extending wadlib") (description "This package provides a programmable client library that @@ -1039,15 +1056,24 @@ scripting Launchpad via its the web service API.") (define-public python-lazr-uri (package (name "python-lazr-uri") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) - (uri (pypi-uri "lazr.uri" version)) + (uri (pypi-uri "lazr_uri" version)) (sha256 - (base32 "0r44rw0bj5mayhqwfwj1dnrjgzj1lrh7ishiddd1vygnrczqa9jh")))) - (build-system python-build-system) - (native-inputs (list python-zope-testrunner)) + (base32 "1vm34pw8fksc6m8fnqwh215sqdlw546cxcdga93i2l746grzc37d")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-setuptools python-zope-testrunner)) (home-page "https://launchpad.net/lazr.uri") (synopsis "Python URI manipulation library") (description "This Python package provides a self-contained, easily @@ -1908,7 +1934,7 @@ routes using HTTP Digest Authentication.") (lambda _ (substitute* "setup.cfg" (("^tests_require.*") ""))))))) - (native-inputs (list python-setuptools python-wheel unzip)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/juancarlospaco/css-html-js-minify") (synopsis "CSS/HTML/JS minifier") (description @@ -2088,8 +2114,10 @@ Features: ;; FIXME: This should be fixed in python-xmlsec (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) - (setenv "LD_LIBRARY_PATH" - (dirname (search-input-file inputs "lib/libxmlsec1-openssl.so.1.2.37")))))))) + (let ((lib (search-input-file inputs + "lib/libxmlsec1-openssl.so"))) + (setenv "LD_LIBRARY_PATH" (dirname lib)))))))) + (inputs (list xmlsec-openssl)) (propagated-inputs (list python-isodate python-lxml python-xmlsec)) (native-inputs (list python-coverage python-flake8 @@ -4463,23 +4491,51 @@ supporting C extension) from both Python 3.2 and Python 3.3. The fork adds support for the @code{noload} operations used by @code{zodb}.") (license (list license:psfl license:zpl2.1)))) +(define-public python-zope-dottedname + (package + (name "python-zope-dottedname") + (version "7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.dottedname") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0h7a637zsl1a3f0rpb2nw41mzxv0pqyj8ahn6h60n2c1px912rbd")))) + (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "src/zope/dottedname/tests.py"))) + (native-inputs (list python-setuptools)) + (home-page "https://zopedottedname.readthedocs.io") + (synopsis "Resolver for Python dotted names") + (description + "This package provides a @code{resolve()} function that resolves strings +containing dotted names into the appropriate Python object.") + (license license:zpl2.1))) + (define-public python-zope-event (package (name "python-zope-event") (version "6.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope_event" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.event") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "14nzj3wd203z68glpskmvinxxhfq6chjf70li5x8npvwzaacifhf")))) + (base32 "0la3q47c59aq50s036q468bhnmzgs71f1cygv89w6qkk1hkn35ym")))) (build-system pyproject-build-system) (arguments - (list #:test-flags #~(list "src/zope/event/tests.py"))) - (native-inputs - (list python-pytest - python-setuptools)) - (home-page "https://pypi.org/project/zope.event/") + (list + #:test-flags + #~(list "src/zope/event/tests.py"))) + (native-inputs (list python-pytest python-setuptools)) + (home-page "https://zopeevent.readthedocs.io/en/latest/") (synopsis "Event publishing system for Python") (description "Zope.event provides an event publishing API, intended for use by @@ -4494,51 +4550,56 @@ systems can be built.") (version "7.2") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.interface" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.interface") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1zi84y3s90jylv8xfvdlr05f9xf7ca1p6bidngsxlk7fs6iz2jcb")))) + (base32 "01snm1lbqhx3ird4m76nciaqasxvf8dd6817zm35v684g5hbzd2s")))) (build-system pyproject-build-system) - (arguments '(#:tests? #f)) ; test suite can't find python-zope-testing - (native-inputs - (list python-setuptools)) - (home-page "https://github.com/zopefoundation/zope.interface") - (synopsis "Python implementation of the \"design by contract\" -methodology") - (description "Zope.interface provides an implementation of \"object -interfaces\" for Python. Interfaces are a mechanism for labeling objects as -conforming to a given API or contract.") + (arguments + ;; XXX: test suite can't find python-zope-testing + (list #:tests? #f)) + (native-inputs (list python-setuptools)) + (home-page "https://zopeinterface.readthedocs.io") + (synopsis "\"Design by contract\" methodology in Python") + (description + "Zope.interface provides an implementation of \"object interfaces\" for +Python. Interfaces are a mechanism for labeling objects as conforming to a +given API or contract.") (license license:zpl2.1))) (define-public python-zope-exceptions (package (name "python-zope-exceptions") - (version "4.6") + (version "6.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.exceptions" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.exceptions") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1kc3hql2i35ys5alkj9csiaz2s9bx0rff585vnrrgvavqsj297b1")))) - (build-system python-build-system) + (base32 "0fmsw2j8islaiv6zf2mxh2s43y7virqny6s8gk8v2zkcxpy95cic")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (invoke "zope-testrunner" "--test-path=src") - (format #t "test suite not run~%"))))))) - (native-inputs - `(("python-zope-testrunner" ,python-zope-testrunner-bootstrap))) - (propagated-inputs - (list python-zope-interface)) - (home-page "https://pypi.org/project/zope.exceptions/") + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-setuptools python-zope-testrunner-bootstrap)) + (propagated-inputs (list python-zope-interface)) + (home-page "https://github.com/zopefoundation/zope.exceptions") (synopsis "Zope exceptions") - (description "Zope.exceptions provides general-purpose exception types -that have uses outside of the Zope framework.") + (description + "Zope.exceptions provides general-purpose exception types that have uses +outside of the Zope framework.") (license license:zpl2.1))) (define (python-zope-bootstrap-package orig) @@ -4547,16 +4608,17 @@ that have uses outside of the Zope framework.") (name (string-append (package-name orig) "-bootstrap")) (arguments (if (null? (package-arguments orig)) - `(#:tests? #f - #:phases (modify-phases %standard-phases - (delete 'sanity-check))) + (list + #:tests? #f + #:phases #~(modify-phases %standard-phases + (delete 'sanity-check))) (substitute-keyword-arguments (package-arguments orig) ((#:tests? _ #f) #f) ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (delete 'sanity-check)))))) + #~(modify-phases #$phases + (delete 'sanity-check)))))) (propagated-inputs `()) - (native-inputs `()) + (native-inputs (list python-setuptools)) (properties `((hidden? . #t))))) (define-public python-zope-exceptions-bootstrap @@ -4565,18 +4627,29 @@ that have uses outside of the Zope framework.") (define-public python-zope-testing (package (name "python-zope-testing") - (version "5.1") + (version "6.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope_testing" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.testing") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0iyc3ahiyibqqzk8s4i07c7all9ng89dp6hs95p7jf1xxjmfndbi")))) + (base32 "0zqipsgv7qj7f8hrd3x6xpqwszdiac8vpjdm8ak5kljl5napw7d7")))) (build-system pyproject-build-system) - (arguments (list #:test-backend #~'custom - #:test-flags #~(list "src/zope/testing/tests.py"))) - (native-inputs - (list python-setuptools)) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-setuptools + python-zope-interface + python-zope-testrunner-bootstrap)) (home-page "https://zopetesting.readthedocs.io/") (synopsis "Zope testing helpers") (description @@ -4587,60 +4660,71 @@ servers, regular expressions, and more.") (define-public python-zope-testrunner (package (name "python-zope-testrunner") - (version "5.2") + (version "7.4") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.testrunner" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.testrunner") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0jyyf1dcz156q95x2y7yw2v420q2xn3cff0c5aci7hmdmcbn0gc7")))) - (build-system python-build-system) + (base32 "0gd5rnzw6vzbx766jxqr4zc6qx7gk75r2c0nqqvhkb12hzk5ca2g")))) + (build-system pyproject-build-system) (arguments - '(#:tests? #f ;FIXME: Tests can't find zope.interface. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-problematic-test - (lambda _ - ;; This test contains invalid syntax, which breaks bytecode - ;; compilation. For simplicity just remove it. - (delete-file - "src/zope/testrunner/tests/testrunner-ex/sample2/badsyntax.py")))))) - (native-inputs - (list python-zope-testing)) - (propagated-inputs - (list python-six python-zope-exceptions python-zope-interface)) - (home-page "https://pypi.org/project/zope.testrunner/") + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-problematic-test + (lambda _ + ;; This test contains invalid syntax, which breaks bytecode + ;; compilation. For simplicity just remove it. + (delete-file + "src/zope/testrunner/tests/testrunner-ex/sample2/badsyntax.py"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-setuptools python-zope-testing)) + (propagated-inputs (list python-zope-exceptions python-zope-interface)) + (home-page "https://zopetestrunner.readthedocs.io") (synopsis "Zope testrunner script") - (description "Zope.testrunner provides a script for running Python -tests.") + (description "This package provides a script for running Python tests.") (license license:zpl2.1))) (define-public python-zope-testrunner-bootstrap (package (inherit (python-zope-bootstrap-package python-zope-testrunner)) (propagated-inputs - `(("python-six" ,python-six) - ("python-zope-exceptions" ,python-zope-exceptions-bootstrap))) + (list python-six python-zope-exceptions-bootstrap)) (properties `((hidden? . #t))))) (define-public python-zope-i18nmessageid (package (name "python-zope-i18nmessageid") - (version "5.1.1") + (version "7.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.i18nmessageid" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.i18nmessageid") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "14mx62khys82p2gmmf3m40x4jmvcz3rndvl6qik2n2qfp13n7ds7")))) + (base32 "192ixj8r9n467avbxrmhakmqiaflc1vw37k08z096ajcjgbfrm5d")))) (build-system pyproject-build-system) - (native-inputs - (list python-coverage python-setuptools - python-wheel python-zope-testrunner)) - (propagated-inputs - (list python-six)) - (home-page "https://pypi.org/project/zope.i18nmessageid/") + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-setuptools python-zope-testrunner)) + (home-page "https://zopei18nmessageid.readthedocs.io") (synopsis "Message identifiers for internationalization") (description "Zope.i18nmessageid provides facilities for declaring internationalized messages within program source text.") @@ -4652,27 +4736,28 @@ internationalized messages within program source text.") (version "7.0.1") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.schema" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.schema") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1fgvx7nim9plxnyiq6vmah1dji7ba5290fws1i0lwk9m0g5xpm7a")))) - (build-system python-build-system) + (base32 "1hj6j0gqgvv9a5pyaz54wbn8n7wf9lyg4njb2cfs980z0d5faj39")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (if tests? - (invoke "zope-testrunner" "--test-path=src") - #t)))))) - (propagated-inputs - (list python-zope-event python-zope-interface)) - (native-inputs - (list python-zope-i18nmessageid python-zope-testing - python-zope-testrunner)) - (home-page "https://pypi.org/project/zope.schema/") + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run.~%"))))))) + (propagated-inputs (list python-zope-event python-zope-interface)) + (native-inputs (list python-zope-i18nmessageid python-zope-testing + python-zope-testrunner python-setuptools)) + (home-page "https://zopeschema.readthedocs.io") (synopsis "Zope data schemas") (description "Zope.scheme provides extensions to zope.interface for defining data schemas.") @@ -4682,43 +4767,66 @@ defining data schemas.") (package (name "python-zope-sqlalchemy") (version "1.6") - (source (origin - (method url-fetch) - (uri (pypi-uri "zope.sqlalchemy" version)) - (sha256 - (base32 - "1azm2awl2ra10xl6wps3yvy14jk2rpzvsyfsb9cncm97aydbwlww")))) - (build-system python-build-system) - (propagated-inputs - (list python-sqlalchemy - python-transaction - python-zope-interface)) - (native-inputs (list python-zope-testing)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.sqlalchemy") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z4gw4i95dyqxsvrahk4fav008045n8kyxpn3fa887snmpvcjhng")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (propagated-inputs (list python-sqlalchemy python-transaction + python-zope-interface)) + (native-inputs (list python-zope-testing python-zope-testrunner + python-setuptools)) (home-page "https://github.com/zopefoundation/zope.sqlalchemy") (synopsis "Minimal SQLAlchemy transaction integration for Zope") - (description "The aim of this package is to unify the plethora of existing -packages integrating SQLAlchemy with Zope's transaction management. As such, -it only provides a data manager and makes no attempt to define a @i{zopeish} -way to configure engines.") + (description + "The aim of this package is to unify the plethora of existing packages +integrating SQLAlchemy with Zope's transaction management. As such,it only +provides a data manager and makes no attempt to define a @i{zopeish} way to +configure engines.") (license license:zpl2.1))) (define-public python-zope-configuration (package (name "python-zope-configuration") - (version "4.4.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "zope.configuration" version)) - (sha256 - (base32 - "0g6vrl7y27z9cj5xyrww9xlzk4npj55mgmlrcd9d2nj08jn2pw79")))) - (build-system python-build-system) - (native-inputs - (list python-manuel python-zope-testing python-zope-testrunner)) - (propagated-inputs - (list python-zope-i18nmessageid python-zope-interface - python-zope-schema)) - (home-page "https://pypi.org/project/zope.configuration/") + (version "7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.configuration") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11lr6z3jpz9835a1if89g3x7k31sviq2d0xvvic5xi4c980dbkhv")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-manuel python-setuptools python-zope-testing + python-zope-testrunner)) + (propagated-inputs (list python-zope-i18nmessageid python-zope-interface + python-zope-schema)) + (home-page "https://zopeconfiguration.readthedocs.io") (synopsis "Zope Configuration Markup Language") (description "Zope.configuration implements ZCML, the Zope Configuration Markup Language.") @@ -4730,29 +4838,37 @@ Markup Language.") (define-public python-zope-copy (package (name "python-zope-copy") - (version "4.2") + (version "6.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "zope.copy" version)) - (sha256 - (base32 - "06m75434krl57n6p73c2qj55k5i3fixg887j8ss01ih6zw4rvfs7")))) - (build-system python-build-system) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.copy") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ym82p9scpfi3rflxnlv55v0a7hra3rq4rrlw759maq05i8qp1w5")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "zope-testrunner" "--test-path=src" "\\[]")))))) - (propagated-inputs - (list python-zope-interface)) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (propagated-inputs (list python-zope-interface)) (native-inputs - `(("python-zope-component" ,python-zope-component-bootstrap) - ("python-zope-location" ,python-zope-location-bootstrap) - ("python-zope-testing" ,python-zope-testing) - ("python-zope-testrunner" ,python-zope-testrunner))) - (home-page "https://github.com/zopefoundation/zope.copy") + (list python-zodbpickle + python-zope-component-bootstrap + python-zope-location-bootstrap + python-zope-proxy + python-zope-schema + python-zope-testing + python-zope-testrunner + python-setuptools)) + (home-page "https://zopecopy.readthedocs.io") (synopsis "Pluggable object copying mechanism") (description "This package provides a pluggable mechanism for copying persistent objects.") @@ -4761,26 +4877,40 @@ Markup Language.") (define-public python-zope-proxy (package (name "python-zope-proxy") - (version "4.3.5") + (version "7.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.proxy" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.proxy") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "14h7nyfbl5vpfk0rbviy4ygdfx0yx5kncvg6jpbdb0dhwna0ssm6")))) - (build-system python-build-system) + (base32 "00r9f4n0cl3fyc5gyf5l43zh95cmzx1gz6wr04k17d7wm2gmivyn")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) (native-inputs - (list python-zope-security-bootstrap python-zope-testrunner)) - (propagated-inputs - (list python-zope-interface)) - (home-page "https://pypi.org/project/zope.proxy/") + (list python-zope-location-bootstrap + python-zope-security-bootstrap + python-zope-testrunner + python-setuptools)) + (propagated-inputs (list python-zope-interface)) + (home-page "https://zopeproxy.readthedocs.io") (synopsis "Generic, transparent proxies") - (description "Zope.proxy provides generic, transparent proxies for Python. -Proxies are special objects which serve as mostly-transparent wrappers around -another object, intervening in the apparent behavior of the wrapped object -only when necessary to apply the policy (e.g., access checking, location -brokering, etc.) for which the proxy is responsible.") + (description + "Zope.proxy provides generic, transparent proxies for Python. Proxies are +special objects which serve as mostly-transparent wrappers around another +object, intervening in the apparent behavior of the wrapped object only when +necessary to apply the policy (e.g., access checking, location brokering, +etc.) for which the proxy is responsible.") (license license:zpl2.1))) (define-public python-zope-proxy-bootstrap @@ -4789,49 +4919,70 @@ brokering, etc.) for which the proxy is responsible.") (define-public python-zope-hookable (package (name "python-zope-hookable") - (version "5.0.1") + (version "7.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "zope.hookable" version)) - (sha256 - (base32 - "0hc82lfr7bk53nvbxvjkibkarngyrzgfk2i6bg8wshl0ly0pdl19")))) - (build-system python-build-system) - (native-inputs - (list python-coverage python-zope-testing)) - (home-page "https://github.com/zopefoundation/zope.hookable") + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.hookable") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l94xzzpyslpgv2ghvl5qzpfcsq02kp04fmvl95d6jcmivmmr4m8")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-zope-testing python-zope-testrunner + python-setuptools)) + (home-page "https://zopehookable.readthedocs.io") (synopsis "Zope hookable") - (description "This package supports the efficient creation of hookable -objects, which are callable objects that are meant to be optionally replaced. -The idea is that you create a function that does some default thing and make i -hookable. Later, someone can modify what it does by calling its sethook method -and changing its implementation. All users of the function, including those -that imported it, will see the change.") + (description + "This package supports the efficient creation of hookable objects, which +are callable objects that are meant to be optionally replaced. The idea is +that you create a function that does some default thing and make i hookable. +Later, someone can modify what it does by calling its sethook method and +changing its implementation. All users of the function, including those that +imported it, will see the change.") (license license:zpl2.1))) (define-public python-zope-location (package (name "python-zope-location") - (version "4.2") + (version "6.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.location" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.location") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1b40pzl8v00d583d3gsxv1qjdw2dhghlgkbgxl3m07d5r3izj857")))) - (build-system python-build-system) + (base32 "1jfsmbxj6hz7kmk5b0351b63ssm7qfkgqmz9v7xb7wwlmxsxkcdk")))) + (build-system pyproject-build-system) (arguments - '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. - (native-inputs - (list python-zope-testrunner)) - (propagated-inputs - (list python-zope-interface python-zope-proxy python-zope-schema)) - (home-page "https://pypi.org/project/zope.location/") + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (native-inputs (list python-zope-testrunner python-setuptools)) + (propagated-inputs (list python-zope-interface python-zope-proxy + python-zope-schema)) + (home-page "https://zopelocation.readthedocs.io") (synopsis "Zope location library") - (description "Zope.location implements the concept of \"locations\" in -Zope3, which are are special objects that have a structural location.") + (description + "Zope.location implements the concept of \"locations\" in Zope3, which +are are special objects that have a structural location.") (license license:zpl2.1))) (define-public python-zope-location-bootstrap @@ -4840,15 +4991,26 @@ Zope3, which are are special objects that have a structural location.") (define-public python-zope-security (package (name "python-zope-security") - (version "5.1.1") + (version "7.3") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.security" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.security") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "11lfw67cigscfax9c5j63xcvz2qcj724zx5fcdqyc94am2glim0h")))) - (build-system python-build-system) + (base32 "06x6qcls2mdl05xnsyy5h70mbgij8xb6ksxbawzrc23cq04nkvx7")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) (propagated-inputs (list python-zope-component python-zope-i18nmessageid @@ -4862,8 +5024,9 @@ Zope3, which are are special objects that have a structural location.") python-zope-configuration-bootstrap python-zope-location-bootstrap python-zope-testing - python-zope-testrunner)) - (home-page "https://pypi.org/project/zope.security/") + python-zope-testrunner + python-setuptools)) + (home-page "https://zopesecurity.readthedocs.io") (synopsis "Zope security framework") (description "Zope.security provides a generic mechanism to implement security policies on Python objects.") @@ -4873,48 +5036,53 @@ security policies on Python objects.") (package (inherit (python-zope-bootstrap-package python-zope-security)) (propagated-inputs - `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) - ("python-zope-interface" ,python-zope-interface) - ("python-zope-proxy" ,python-zope-proxy-bootstrap) - ("python-zope-schema" ,python-zope-schema))))) + (list python-zope-i18nmessageid + python-zope-interface + python-zope-proxy-bootstrap + python-zope-schema)))) (define-public python-zope-component (package (name "python-zope-component") - (version "4.6.2") + (version "7.0") (source (origin - (method url-fetch) - (uri (pypi-uri "zope.component" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.component") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "14iwp95hh6q5dj4k9h1iw75cbp89bs27nany4dinyglb44c8jqli")))) - (build-system python-build-system) + (base32 "1jygzhcg9rppsrd8cwvm0944naq1ldjf0vcpgsz0glwcdnr7cyfw")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (invoke "python" "setup.py" "test") - (format #t "test suite not run~%"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) (native-inputs - `(("python-persistent" ,python-persistent) - ("python-zope-configuration" ,python-zope-configuration-bootstrap) - ("python-zope-i18nmessageid" ,python-zope-i18nmessageid) - ("python-zope-location" ,python-zope-location-bootstrap) - ("python-zope-proxy" ,python-zope-proxy-bootstrap) - ("python-zope-security" ,python-zope-security-bootstrap) - ("python-zope-testing" ,python-zope-testing) - ("python-zope-testrunner" ,python-zope-testrunner))) + (list python-persistent + python-zope-configuration-bootstrap + python-zope-i18nmessageid + python-zope-location-bootstrap + python-zope-proxy-bootstrap + python-zope-security-bootstrap + python-zope-testing + python-zope-testrunner + python-setuptools)) (propagated-inputs (list python-zope-deferredimport python-zope-deprecation python-zope-event python-zope-hookable python-zope-interface)) - (home-page "https://github.com/zopefoundation/zope.component") + (home-page "https://zopecomponent.readthedocs.io") (synopsis "Zope Component Architecture") - (description "Zope.component represents the core of the Zope Component -Architecture. Together with the zope.interface package, it provides -facilities for defining, registering and looking up components.") + (description + "Zope.component represents the core of the Zope Component Architecture. +Together with the zope.interface package, it provides facilities for defining, +registering and looking up components.") (license license:zpl2.1))) (define-public python-zope-component-bootstrap @@ -4923,20 +5091,29 @@ facilities for defining, registering and looking up components.") (define-public python-zope-deferredimport (package (name "python-zope-deferredimport") - (version "4.3.1") + (version "6.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "zope.deferredimport" version)) - (sha256 - (base32 - "1q89v54dwniiqypjbwywwdfjdr4kdkqlyqsgrpplgvsygdg39cjp")))) - (build-system python-build-system) - (propagated-inputs - (list python-zope-proxy)) - (native-inputs - (list python-zope-testrunner)) - (home-page "https://github.com/zopefoundation/zope.deferredimport") + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/zope.deferredimport") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08j728nn1la570nny1xz1xvxcm9hf2mcc3im1bzcxxrrxh4kw3zd")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (propagated-inputs (list python-zope-proxy)) + (native-inputs (list python-zope-testrunner python-setuptools)) + (home-page "https://zopedeferredimport.readthedocs.io") (synopsis "Defer imports until used by code") (description "Often, especially for package modules, you want to import names for @@ -6170,26 +6347,36 @@ library.") (license license:asl2.0))) (define-public python-grequests - (package - (name "python-grequests") - (version "0.3.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "grequests" version)) - (sha256 - (base32 - "1j9icncllbkv7x5719b20mx670c6q1jrdx1sakskkarvx3pc8h8g")))) - (build-system python-build-system) - (propagated-inputs - (list python-gevent python-requests)) - (native-inputs - (list python-nose python-zope-interface python-zope-event)) - (home-page "https://github.com/kennethreitz/grequests") - (synopsis "Python library for asynchronous HTTP requests") - (description "GRequests is a Python library that allows you to use -@code{Requests} with @code{Gevent} to make asynchronous HTTP Requests easily") - (license license:bsd-2))) + (let ((commit "60f70e99e942a2df378b4e4f6202dcf862754c2d") + (revision "0")) + (package + (name "python-grequests") + (version (git-version "0.7.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kennethreitz/grequests") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0132yv1rr4pmrmwasrnasqbnd80pi6rgy52608731p7lidkmxz9a")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Most failing tests seem to be caused by network access, + ;; but there is no easy/flag way to disable tests selectively. + #:tests? #f + #:test-backend #~'unittest + #:test-flags #~(list "tests.py"))) + (propagated-inputs (list python-gevent python-requests)) + (native-inputs (list python-setuptools)) + (home-page "https://github.com/kennethreitz/grequests") + (synopsis "Python library for asynchronous HTTP requests") + (description + "GRequests is a Python library that allows you to use @code{Requests} +with @code{Gevent} to make asynchronous HTTP Requests easily.") + (license license:bsd-2)))) (define-public python-gwebsockets (package @@ -6560,31 +6747,6 @@ S3.") "This package contains a Flask module for creating REST APIs.") (license license:bsd-3))) -(define-public python-flask-htpasswd - (package - (name "python-flask-htpasswd") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "flask-htpasswd" version)) - (sha256 - (base32 - "19arq4rn5nll0bbnsff1j10blm0ydp8nvs09c56s29kmlgj3r42x")))) - (build-system pyproject-build-system) - (arguments (list #:tests? #false)) ;none included - (propagated-inputs - (list python-flask python-passlib python-pyjwt python-tox)) - (native-inputs (list python-pytest - python-setuptools - python-wheel)) - (home-page "https://github.com/carsongee/flask-htpasswd") - (synopsis "Basic authentication via htpasswd files in Flask applications") - (description "This package provides Basic authentication via -@file{htpasswd} files and access_token authentication in Flask -applications.") - (license license:bsd-3))) - (define-public python-flask-sqlalchemy (package (name "python-flask-sqlalchemy") @@ -6812,43 +6974,25 @@ for Flask.") (define-public python-webassets (package (name "python-webassets") - (version "2.0") + (version "3.0.0") (source (origin - (method url-fetch) - (uri (pypi-uri "webassets" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/miracle2k/webassets") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1kc1042jydgk54xpgcp0r1ib4gys91nhy285jzfcxj3pfqrk4w8n")))) - (build-system python-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'check 'adjust-tests - (lambda _ - ;; Fix for Python 3.9 compatibility. - (substitute* "tests/test_script.py" - (("self\\.t\\.isAlive") - "self.t.is_alive")) - ;; This test requires 'postcss' and 'babel' which are - ;; not yet available in Guix. - (delete-file "tests/test_filters.py") - ;; These expect pytest, but when pytest is added to the - ;; environment more tests fail. - (delete-file "tests/test_cache.py") - (delete-file "tests/test_bundle_build.py") - (delete-file "tests/test_bundle_urls.py"))) - (replace 'check - (lambda _ - (invoke "nosetests" "-vv")))))) - (propagated-inputs - (list python-pyyaml)) - (native-inputs - (list python-jinja2 python-mock python-nose)) + (base32 "11hxvdqw86q6r665iryjzwx21ys8jh2c63mw016ldr6j49l0zyyh")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-pyyaml python-zope-dottedname)) + (native-inputs (list python-hatchling python-pytest)) (home-page "https://github.com/miracle2k/webassets") (synopsis "Media asset management") - (description "Merges, minifies and compresses Javascript and CSS files, -supporting a variety of different filters, including YUI, jsmin, jspacker or -CSS tidy. Also supports URL rewriting in CSS files.") + (description + "This package provides utilities to merge, minify and compress Javascript +and CSS files,supporting a variety of different filters, including YUI, jsmin, +jspacker or CSS tidy. It also supports URL rewriting in CSS files.") (license license:bsd-2))) (define-public python-cssmin @@ -8419,7 +8563,8 @@ association.") (sha256 (base32 "19wkdd1grw6mcd4qi8iaw4jdr207h3m24951vgy69j7g904lynjq")))) (build-system pyproject-build-system) - (native-inputs (list python-django python-setuptools python-wheel)) + (arguments (list #:test-backend #~'unittest)) + (native-inputs (list python-django python-setuptools)) (propagated-inputs (list python-tornado)) (home-page "https://github.com/lepture/python-livereload") (synopsis "Python LiveReload") @@ -9212,42 +9357,69 @@ framework, designed to be lean and fast, with few dependencies.") (define-public python-persistent (package (name "python-persistent") - (version "4.6.4") + (version "6.1.1") (source - (origin - (method url-fetch) - (uri (pypi-uri "persistent" version)) - (sha256 - (base32 - "0imm9ji03lhkpcfmhid7x5209ix8g2rlgki9ik1qxks4b8sm8gzq")))) - (build-system python-build-system) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/persistent/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19qwqg49zql2c8l4vjxjb9haw0bzd6lk8p4v3hip2irch6a4578a")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src" + ;; XXX: Ignore doc tests. + "!persistent.tests.test_docs") + (format #t "test suite not run~%"))))))) (propagated-inputs - (list python-cffi python-zope-interface)) + (list python-cffi + python-zope-deferredimport + python-zope-interface + python-zope-testrunner)) (native-inputs - (list python-manuel python-zope-testrunner)) + (list python-manuel python-zope-testrunner python-setuptools)) (home-page "https://github.com/zopefoundation/persistent/") (synopsis "Translucent persistent objects") - (description "This package contains a generic persistence implementation for -Python. It forms the core protocol for making objects interact -\"transparently\" with a database such as the ZODB.") + (description + "This package contains a generic persistence implementation for Python. +It forms the core protocol for making objects interact \"transparently\" with +a database such as the ZODB.") (license license:zpl2.1))) (define-public python-btrees (package (name "python-btrees") - (version "4.7.2") + (version "6.1") (source - (origin - (method url-fetch) - (uri (pypi-uri "BTrees" version)) - (sha256 - (base32 - "0iiq0g9k1g6qgqq84q9h6639vlvzznk1rgdm0rfcnnqkbkmsbr3w")))) - (build-system python-build-system) - (propagated-inputs - (list python-persistent python-zope-interface)) - (native-inputs - (list python-persistent python-transaction python-zope-testrunner)) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zopefoundation/BTrees") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vcibmd725ddgsl5yzmi8d403day3796h82xlq84w91xbdrbd5d5")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) + (propagated-inputs (list python-persistent python-zope-interface)) + (native-inputs (list python-persistent python-transaction + python-zope-testrunner python-setuptools)) (home-page "https://github.com/zopefoundation/BTrees") (synopsis "Scalable persistent object containers") (description @@ -9357,6 +9529,11 @@ using a pure Python implementation.") (license license:bsd-3))) (define-public python-pyjsparser + ;; XXX: This project is potentially abandonware, consider to remove in next + ;; refresh cycle, see: + ;; <https://github.com/PiotrDabkowski/pyjsparser/issues/28>, + ;; <https://github.com/PiotrDabkowski/pyjsparser/issues/39>, and + ;; <https://github.com/PiotrDabkowski/pyjsparser/issues/40>. (package (name "python-pyjsparser") (version "2.7.1") @@ -9367,7 +9544,9 @@ using a pure Python implementation.") (sha256 (base32 "0ycmf9fsvwliqmm1n6sfz7x71y7i2kbfgn39d8lsbiccfxmxlq5y")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + '(#:tests? #f)) ;no tests in PyPI + (native-inputs (list python-setuptools)) (home-page "https://github.com/PiotrDabkowski/pyjsparser") (synopsis "Fast JavaScript parser") (description @@ -9906,12 +10085,8 @@ SOCKS protocols. It can be paired with any I/O library.") ;; Requires Internet access to resolve example.com (list #:test-flags '(list "--ignore=tests/test_client.py"))) (propagated-inputs (list python-wsproto)) - (native-inputs (list python-flake8 - python-pytest - python-pytest-cov - python-setuptools - python-tox - python-wheel)) + (native-inputs (list python-pytest + python-setuptools)) (home-page "https://github.com/miguelgrinberg/simple-websocket") (synopsis "Simple WebSocket server and client for Python") (description "This package provides a simple @code{WebSocket} server and @@ -10967,16 +11142,27 @@ metadata from HTML markup. Currently, extruct supports: (define-public python-wadllib (package (name "python-wadllib") - (version "1.3.6") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "wadllib" version)) (sha256 - (base32 "1z65crvdsjxh9nahz1g6q021ijmv85ixmq88l96d61qh5imavndc")))) + (base32 "09vlfg4mzdmkqk6br7j8ms3116qk5am0nf4v1jkzwd7swhisznqy")))) (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Doctests are currently failing. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "zope-testrunner" "--test-path=src") + (format #t "test suite not run~%"))))))) (native-inputs - (list python-setuptools python-wheel)) + (list python-multipart python-setuptools python-zope-testrunner)) (propagated-inputs (list python-lazr-uri)) (home-page "https://launchpad.net/wadllib") (synopsis "Web Application Description Language (WADL) navigation library") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3e415de515..ad6a5cf455 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1682,7 +1682,7 @@ The @file{.whl} file extension is matched case-insensitively. (sha256 (base32 "18k8kiml9wpl4wf9lmi0j6ys21lbdv8fa8r9qrzdsrh3h0ghp4f0")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (propagated-inputs (list python-lxml)) (home-page "https://github.com/Shoobx/xmldiff") (synopsis "Creates diffs of XML files") @@ -2351,14 +2351,19 @@ dictionary, can be convert to a dictionary, and is ordered by insertion.") (package (name "python-dotty-dict") (version "1.3.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "dotty_dict" version)) - (sha256 - (base32 - "058sah2nyg44xq5wxywlzc3abzcv9fifnlvsflwma9mfp01nw0ab")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pawelzny/dotty_dict") + (commit (string-append "v" version)))) + (sha256 + (base32 "0rs83pglkgb4sfnk09rskg8c53hvl7mkjw4vfgl5xc8z13vyi3li")))) (build-system pyproject-build-system) - (native-inputs (list python-poetry-core python-setuptools)) + (native-inputs + (list python-poetry-core + python-pytest + python-setuptools)) (home-page "https://github.com/pawelzny/dotty_dict") (synopsis "Python library for accessing dictionaries using a dot syntax") (description "This package provides a library that wraps the traditional @@ -3187,15 +3192,16 @@ ports.") (define-public python-mdx-gh-links (package (name "python-mdx-gh-links") - (version "0.2") + (version "0.4") (source (origin (method url-fetch) (uri (pypi-uri "mdx_gh_links" version)) (sha256 - (base32 "167k1jbp3jifxbnlpi6wy0z1skam7gqv2sixb5bhggb2vypqvysr")))) - (build-system python-build-system) + (base32 "11inr9azx6c174yfikysbw0mx7mpjm03qdqr1am2a510mg1amma1")))) + (build-system pyproject-build-system) (arguments (list #:tests? #f)) ;tests connect github + (native-inputs (list python-setuptools)) (propagated-inputs (list python-markdown)) (home-page "https://github.com/Python-Markdown/github-links/") (synopsis "Python-Markdown extension adding support for shorthand links") @@ -4047,45 +4053,65 @@ utilities such as ping(1).") (license license:lgpl3))) (define-public python-iron-core - (package - (name "python-iron-core") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "iron-core" version)) - (sha256 - (base32 "158vdymq6nbym0v1f9l5gz42j1gsq09b9yw9hgd70m5ymy30n6dp")))) - (build-system pyproject-build-system) - (propagated-inputs (list python-dateutil python-requests)) - (native-inputs (list python-setuptools python-wheel)) - (home-page "https://www.github.com/iron-io/iron_core_python") - (synopsis "Universal classes and methods for Iron.io API wrappers") - (description - "This package provides universal classes and methods for the Iron.io API -wrappers to build on.") - (license license:bsd-2))) + (let ((commit "5a5f3011da09769a812c6a1c44781ef852abc19b") + (revision "0")) + (package + (name "python-iron-core") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://www.github.com/iron-io/iron_core_python") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "030ibimgqvc6hywh7g3k7qn147ckagi0wbdiqcpdf1c85xqrj5zq")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests are run, but they seem too old/not updated. + #:tests? #f + #:test-backend #~'unittest)) + (propagated-inputs (list python-dateutil python-requests)) + (native-inputs (list python-setuptools)) + (home-page "https://www.github.com/iron-io/iron_core_python") + (synopsis "Universal classes and methods for Iron.io API wrappers") + (description + "This package provides universal classes and methods for the Iron.io +API wrappers to build on.") + (license license:bsd-2)))) (define-public python-iron-mq - (package - (name "python-iron-mq") - (version "0.9") - (source - (origin - (method url-fetch) - (uri (pypi-uri "iron-mq" version)) - (sha256 - (base32 "1ypc71xppidy5lx3mbfj1zc685na3jns441q6il8kh6rfbc42169")))) - (build-system pyproject-build-system) - (propagated-inputs (list python-iron-core)) - (native-inputs (list python-setuptools python-wheel)) - (home-page "https://github.com/iron-io/iron_mq_python") - (synopsis "Client library for IronMQ, a message queue in the cloud") - (description - "This package provides Python language bindings for IronMQ. IronMQ is an + (let ((commit "e6ff76ac0068c3184d9003e3163b94ffc839dbe8") + (revision "0")) + (package + (name "python-iron-mq") + (version (git-version "0.9" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iron-io/iron_mq_python") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bb8gpzb3jr2r6i367jspwcxrz5ygdf40a67nl9aj5n79hg1aq8x")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests are broken and require network access. + #:tests? #f + #:test-backend #~'unittest)) + (propagated-inputs (list python-iron-core)) + (native-inputs (list python-setuptools)) + (home-page "https://github.com/iron-io/iron_mq_python") + (synopsis "Client library for IronMQ, a message queue in the cloud") + (description + "This package provides Python language bindings for IronMQ. IronMQ is an elastic message queue for managing data and event flow within cloud applications and between systems.") - (license license:bsd-2))) + (license license:bsd-2)))) (define-public python-rasterio (package @@ -5125,13 +5151,18 @@ version identifier.") (version "1.41") (source (origin - (method url-fetch) - (uri (pypi-uri "serpent" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/irmen/Serpent") + (commit (string-append "serpent-" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "15bhxpihxvbphsvp4wyh2kwfz7xasmki9zwcsj3l6r66wdgh61q4")))) + (base32 "081bm13pdxp3rxis24j2mjka06fzi4kap51wmnf21q69fsikbza8")))) (build-system pyproject-build-system) + (arguments (list #:test-backend #~'unittest + #:test-flags #~(list "discover" "-s" "tests"))) (native-inputs - (list python-attrs python-pytz python-setuptools python-wheel)) + (list python-attrs python-pytz python-setuptools)) (home-page "https://github.com/irmen/Serpent") (synopsis "Serializer for literal Python expressions") (description @@ -6012,18 +6043,6 @@ Six supports every Python version since 2.5. It is contained in only one Python file, so it can be easily copied into your project.") (license license:x11))) -(define-public python2-six - ;; XXX: The only one user of this package is qtwebengine-5, consider to - ;; remove when no longer required. - (let ((base (package-with-python2 python-six))) - (package - (inherit base) - ;; Reduce Python 2 closure by disabling tests. - (arguments (list #:tests? #f)) - (native-inputs - (list python-setuptools - python-wheel))))) - (define-public python-schedule (package (name "python-schedule") @@ -7149,36 +7168,6 @@ port forwards using @acronym{UPnP, Universal Plug and Play}.") code introspection, and logging.") (license license:expat))) -;; Recent versions of python-fixtures and python-testrepository need -;; python-pbr for packaging, which itself needs these two packages for -;; testing. -;; To fix this circular dependency, we use a build of python-pbr, based on the -;; same source, just without any test dependencies and with tests disabled. -;; python-pbr-minmal is then used to package python-fixtures and -;; python-testrepository. -;; Strictly speaking we currently could remove the test-requirements from the -;; normal python-pbr package (and save this package) since test are disabled -;; there anyway. But this may change in future. -(define-public python-pbr-minimal - (package - (name "python-pbr-minimal") - (version "5.5.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pbr" version)) - (sha256 - (base32 - "1j8k5d4rdhy5bw5ai1vkjzln2albah94in3vvyvxa0n42fv81baz")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (home-page "https://docs.openstack.org/pbr/latest/") - (synopsis "Minimal build of python-pbr used for bootstrapping") - (description - "Used only for bootstrapping python2-pbr, you should not need this.") - (license license:asl2.0))) - (define-public python-pbr (package (name "python-pbr") @@ -7488,33 +7477,6 @@ version numbers.") (home-page "https://github.com/habnabit/vcversioner") (license license:isc))) -(define-public python-jdcal - (package - (name "python-jdcal") - (version "1.4.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jdcal" version)) - (sha256 - (base32 - "1j6g19jf21qprjsr8h0r7nsbss366gy8j9izq8cz53gbjvh74a27")))) - (build-system python-build-system) - (arguments - (list #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv"))))))) - (native-inputs - (list python-pytest)) - (home-page "https://github.com/phn/jdcal") - (synopsis "Functions to convert between Julian dates Gregorian dates") - (description "This Python library provides functions for converting -between Julian dates and Gregorian dates.") - (license license:bsd-2))) - (define-public python-jsondiff (package (name "python-jsondiff") @@ -7562,13 +7524,9 @@ diff, and patch JSON and JSON-like structures in Python.") (base32 "1nh8m6rxslwk05daxshxmgk41qfp18yynydba49b13l4m8dnh634")))) (build-system pyproject-build-system) (native-inputs - (list python-codecov - python-coveralls - python-pytest + (list python-pytest python-pytest-cov - python-setuptools - python-tox - python-wheel)) + python-setuptools)) (propagated-inputs (list python-pyparsing)) (home-page "https://github.com/shinichi-takii/ddlparse") (synopsis "Parses and converts DDL to BigQuery JSON schema") @@ -8364,7 +8322,7 @@ templates. A format string can be provided to control the output.") python-poetry-core python-pytest python-tornado-6)) - (propagated-inputs (list python-charset-normalizer)) + (propagated-inputs (list python-charset-normalizer python-six)) (home-page "https://github.com/kakulukia/pypugjs") (synopsis "Convert Pug source files into different template languages") (description @@ -8454,39 +8412,39 @@ logging and tracing of the execution.") (define-public python-daemon (package (name "python-daemon") - (version "3.0.1") + (version "3.1.2") (source (origin - (method url-fetch) - (uri (pypi-uri "python-daemon" version)) + (method git-fetch) + (uri (git-reference + (url "https://pagure.io/python-daemon") + (commit (string-append "release/" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1rfsnij687hk97ppzs2q6mwmxgr632nh672ajd0gzsppf8ilamvc")))) - (build-system python-build-system) + (base32 "0rfchh68pxg68s02idc0qcm2s9yn587hv0b83r4isy5ccb3g60y4")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'adjust-tests - (lambda _ - ;; FIXME: Determine why test fails - (substitute* "test/test_daemon.py" - (("test_detaches_process_context") - "skip_test_detaches_process_context")) - (substitute* "test/scaffold.py" - (("test_exception_instance") - "skip_test_exception_instance") - (("test_exception_types") - "skip_test_exception_types"))))))) - (propagated-inputs - (list python-lockfile python-packaging python-setuptools)) - (native-inputs - (list python-docutils - python-testscenarios - python-testtools)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'discard-dynamic-metadata + (lambda _ + (substitute* "pyproject.toml" + (("^dynamic = " all) + (format #f "version = ~s~%~a" #$version all)) + (("\"(description|readme|version|maintainers)\",") + "")) + (for-each delete-file + '("setup.py" + "test/test_util_metadata.py" + "test/test_setup.py"))))))) + (propagated-inputs (list python-lockfile)) + (native-inputs (list python-testscenarios python-setuptools)) (home-page "https://pagure.io/python-daemon/") (synopsis "Python library for making a Unix daemon process") - (description "Python-daemon is a library that assists a Python program to -turn itself into a well-behaved Unix daemon process, as specified in PEP 3143. + (description + "Python-daemon is a library that assists a Python program to turn itself +into a well-behaved Unix daemon process, as specified in PEP 3143. This library provides a @code{DaemonContext} class that manages the following important tasks for becoming a daemon process: @@ -9097,25 +9055,6 @@ with Python.") working with Valve's VDF text format.") (license license:expat))) -(define-public python-pygments-github-lexers - (package - (name "python-pygments-github-lexers") - (version "0.0.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pygments-github-lexers" version)) - (sha256 - (base32 - "0cz14clcc9z4pn79ll8hp3xzgsrfjscak5zfsvlgrz6ngkkmgjma")))) - (build-system python-build-system) - (propagated-inputs - (list python-pygments)) - (home-page "https://github.com/liluo/pygments-github-lexers") - (synopsis "Pygments Github custom lexers") - (description "This package installs Github custom lexers to Pygments.") - (license license:bsd-3))) - (define-public python-pygtrie (package (name "python-pygtrie") @@ -12231,7 +12170,8 @@ where key might be occurred more than once in the container.") (propagated-inputs (list python-six)) (native-inputs - (list python-flake8 python-pycodestyle python-setuptools python-wheel)) + (list python-pytest + python-setuptools)) (home-page "https://github.com/gruns/orderedmultidict") (synopsis "Python Ordered Multivalue Dictionary - omdict") (description "This package contains a library for ordered multivalue @@ -17760,16 +17700,27 @@ reading and writing MessagePack data.") (home-page "https://pypi.org/project/msgpack/") (license license:asl2.0))) +(define-public python-msgpack-for-borg + (hidden-package + (package + (inherit python-msgpack) + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "msgpack" version)) + (sha256 + (base32 "0pqzy1zclyhd42gfibhkcqymbspy5a6v421g87mh40h3iz0nkn7m"))))))) + (define-public python-openstep-plist (package (name "python-openstep-plist") (version "0.3.0") - (home-page "https://github.com/fonttools/openstep-plist") (source (origin (method git-fetch) (uri (git-reference - (url home-page) + (url "https://github.com/fonttools/openstep-plist") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -17783,8 +17734,9 @@ reading and writing MessagePack data.") (lambda _ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$(package-version this-package))))))) - (native-inputs (list python-cython python-pytest python-setuptools-scm - python-setuptools python-wheel)) + (native-inputs (list python-cython-0 python-pytest python-setuptools-scm + python-setuptools)) + (home-page "https://github.com/fonttools/openstep-plist") (synopsis "OpenStep plist parser and writer") (description "This package provides a parser for the \"old style\" OpenStep property @@ -18168,15 +18120,15 @@ asyncio.") (define-public python-geojson (package (name "python-geojson") - (version "3.1.0") + (version "3.2.0") (source (origin (method url-fetch) (uri (pypi-uri "geojson" version)) (sha256 - (base32 "1b5df7skx3906046j12yjv8gdbcy17q9y3lbqbpmi83yf90gm9sq")))) + (base32 "00s9h22vs4ppncwg3a0gh90czb2dd6d99qznypw72vwc3sxblq5q")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/jazzband/geojson") (synopsis "Python bindings and utilities for GeoJSON") (description @@ -18405,7 +18357,11 @@ primary use case is APIs defined before keyword-only parameters existed.") (sha256 (base32 "1805svvb7xjm4sf1j7b6nc3409x37pd1xmabfwwjf1ldkzwgxhfb")))) (build-system pyproject-build-system) - (native-inputs (list python-pytest python-setuptools python-wheel)) + (native-inputs + (list python-pytest + python-setuptools)) + (propagated-inputs + (list python-six)) (home-page "https://github.com/Mimino666/langdetect") (synopsis "Language detection library") (description @@ -20005,54 +19961,65 @@ config files.") (license license:bsd-3))) (define-public python-omegaconf - (package - (name "python-omegaconf") - (version "2.3.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/omry/omegaconf") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet #~(begin - (delete-file-recursively "build_helpers/bin") - (substitute* "build_helpers/build_helpers.py" - (("java") "antlr4") - (("\"-jar\",") "") - (("str\\(build_dir / \"bin\" / \"antlr.*\"\\),") "")))) - (sha256 - (base32 - "0cpkkzda919f24y9s04mi15v9zksvln95ics8cr31rcpi2wbh5j3")))) - (build-system pyproject-build-system) - (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'loosen-requirements - (lambda _ - (substitute* "requirements/base.txt" - (("antlr4-python3-runtime==.*") - "antlr4-python3-runtime >=4.9\n")) - ;; Ignore deprecation warnings. - (substitute* "pyproject.toml" - (("-Werror") ""))))))) - (native-inputs - (list icedtea - antlr4 - python-pytest - python-pytest-mock - python-setuptools - python-wheel)) - (propagated-inputs - (list java-antlr4-runtime-python - python-pydevd - python-pyyaml)) - (home-page "https://github.com/omry/omegaconf") - (synopsis "Flexible configuration system") - (description "OmegaConf is a hierarchical configuration system and -supports merging configurations from multiple sources. It provides a -consistent API regardless of how the configuration was created.") - (license license:bsd-3))) + (let ((commit "117f7de07285e4d1324b9229eaf873de15279457") + (revision "0")) + (package + (name "python-omegaconf") + (version (git-version "2.3.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/omry/omegaconf") + (commit commit))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + #~(begin + (delete-file-recursively "build_helpers/bin") + (substitute* "build_helpers/build_helpers.py" + (("java") "antlr4") + (("\"-jar\",") "") + (("str\\(build_dir / \"bin\" / \"antlr.*\"\\),") "")))) + (sha256 + (base32 "0f922dar5dwyyfk1bwsbs9gws0vyj1w2h9n3148hcfa8c4hg2ysv")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; XXX: Those tests currently fail collection. + #~(list "--ignore=tests/structured_conf/test_structured_config.py" + "--ignore=tests/test_basic_ops_list.py" + "--ignore=tests/test_merge.py" + "--ignore=tests/test_select.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'loosen-requirements + (lambda _ + (substitute* "requirements/base.txt" + (("antlr4-python3-runtime==.*") + "antlr4-python3-runtime >=4.9\n")) + ;; Ignore deprecation warnings. + (substitute* "pyproject.toml" + (("-Werror") ""))))))) + (native-inputs + (list icedtea + antlr4 + python-pytest + python-pytest-mock + python-setuptools + python-wheel)) + (propagated-inputs + (list java-antlr4-runtime-python + python-pydevd + python-pyyaml)) + (home-page "https://github.com/omry/omegaconf") + (synopsis "Flexible configuration system") + (description + "OmegaConf is a hierarchical configuration system and supports merging +configurations from multiple sources. It provides a consistent API regardless +of how the configuration was created.") + (license license:bsd-3)))) (define-public python-configargparse (package @@ -22548,22 +22515,20 @@ respectively.") (base32 "1078mkzivz45my8x2y5gxisr0vba630xj7yxx7anr068xhnpshsi")))) (build-system pyproject-build-system) - (propagated-inputs - (list python-pytoolconfig)) + (arguments + (list + #:test-flags + #~(list "-k" "test_version_hash_varies_on_get_file_content"))) + (propagated-inputs (list python-pytoolconfig)) (native-inputs - (list python-pip - python-pre-commit - python-pytest - python-pytest-cov - python-pytest-timeout - python-setuptools - python-wheel)) + (list python-pytest python-pytest-timeout python-setuptools)) (home-page "https://github.com/python-rope/rope") (synopsis "Refactoring library for Python") - (description "Rope is a refactoring library for Python. It facilitates -the renaming, moving and extracting of attributes, functions, modules, fields -and parameters in Python source code. These refactorings can also be applied -to occurrences in strings and comments.") + (description + "Rope is a refactoring library for Python. It facilitates the renaming, +moving and extracting of attributes, functions, modules, fields and parameters +in Python source code. These refactorings can also be applied to occurrences +in strings and comments.") (license license:lgpl3+))) (define-public python-py3status @@ -27985,6 +27950,8 @@ services.") (license license:asl2.0))) (define-public python-setuptools-git + ;; XXX: The project is abandoned since 2018, consider to remove in the next + ;; refresh cycle. (package (name "python-setuptools-git") (version "1.2") @@ -27997,6 +27964,7 @@ services.") (build-system pyproject-build-system) (arguments (list + #:tests? #f ;no tests in PyPI #:phases #~(modify-phases %standard-phases ;; This is needed for tests. @@ -28098,29 +28066,33 @@ definitions to simplify the use of C bindings.") (define-public python-pyclipper (package (name "python-pyclipper") - (version "1.3.0.post3") + (version "1.3.0.post6") (source (origin - (method url-fetch) - (uri (pypi-uri "pyclipper" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/greginvm/pyclipper") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0vqzbmq2di1jaj6230m5i1ld0mg6wdb1c6r6i5zli54varavr7v3")) - (modules '((guix build utils))) - (snippet - '(begin - ;; This file is generated by Cython. - (delete-file "src/pyclipper/_pyclipper.cpp") #t)))) - (build-system python-build-system) + (base32 "1ijr7sx3203b3ppvsn1zyy8nfz93nbi60l8dxj2hdd6sj25g8q5k")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'cythonize-sources - (lambda _ - (with-directory-excursion "src/pyclipper" - (invoke "cython" "--cplus" "_pyclipper.pyx"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) + (add-before 'build 'cythonize-sources + (lambda _ + (with-directory-excursion "src/pyclipper" + (invoke "cython" "--cplus" "_pyclipper.pyx"))))))) (native-inputs - (list python-cython python-setuptools-scm - python-pytest python-pytest-runner)) + (list python-cython + python-pytest + python-setuptools + python-setuptools-scm)) (home-page "https://github.com/greginvm/pyclipper") (synopsis "Wrapper for Angus Johnson's Clipper library") (description @@ -32081,7 +32053,9 @@ standard error channel (stderr) in your program.") (sha256 (base32 "1ygjgkzn0i61zk2yr27aqnma08c8xpblhdixli9f20if1nlgkm2y")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:tests? #f)) ;no tests + (native-inputs (list python-setuptools)) (home-page "http://github.com/vpelletier/python-ioctl-opt") (synopsis "Functions to compute fnctl.ioctl's opt argument") (description @@ -34349,13 +34323,17 @@ By default it uses the open Python vulnerability database Safety DB.") (version "1.15") (source (origin - (method url-fetch) - (uri (pypi-uri "pypandoc" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/JessicaTegner/pypandoc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "04yfja8p8flvpjakyw7n43jb1jm3863w043l7zb43bhjwzmvw9ga")))) + (base32 "0jqr380xpg1n93dagxv7zfakhdravw0nc81rc4pnmjzkj360l5nr")))) (build-system pyproject-build-system) (arguments (list + #:test-backend #~'unittest #:phases #~(modify-phases %standard-phases (add-before 'check 'disable-tests @@ -34384,8 +34362,8 @@ By default it uses the open Python vulnerability database Safety DB.") (propagated-inputs (list python-wheel)) (home-page "https://github.com/JessicaTegner/pypandoc") (synopsis "Python wrapper for pandoc") - (description "pypandoc is a thin Python wrapper around pandoc -and pandoc-citeproc.") + (description + "pypandoc is a thin Python wrapper around pandoc and pandoc-citeproc.") (license license:expat))) (define-public python-rnc2rng @@ -36782,18 +36760,6 @@ systems in Python.") key-value pairs from a @code{.env} file and set them as environment variables.") (license license:bsd-3))) -(define-public python-dotenv-0.13.0 - (package (inherit python-dotenv) - (name "python-dotenv") - (version "0.13.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "python-dotenv" version)) - (sha256 - (base32 - "0x5dagmfn31phrbxlwacw3s4w5vibv8fxqc62nqcdvdhjsy0k69v")))))) - (define-public date2name (let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798") (revision "1")) @@ -37406,49 +37372,57 @@ Python @code{set} interface.") (define-public dynaconf (package (name "dynaconf") - (version "3.2.4") + (version "3.2.11") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/dynaconf/dynaconf") - (commit version))) + (url "https://github.com/dynaconf/dynaconf") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0fj2ffvzfvjf4d7f672h5x5fzq26f8hax9j3dfsix158fwm0212w")) - (patches (search-patches "dynaconf-unvendor-deps.patch")) + (base32 "05122x1bwskfqnzi9hqi86h7407byfjvhgczj74x6lp2m6rnwkzl")) + ;; (patches (search-patches "dynaconf-unvendor-deps.patch")) (modules '((guix build utils))) ;; Remove vendored dependencies - (snippet '(let ((unvendor '("click" "dotenv" "ruamel" "toml"))) - (with-directory-excursion "dynaconf/vendor" - (for-each delete-file-recursively unvendor)))))) + (snippet + #~(let ((unvendor '("click" "ruamel" "toml"))) + (with-directory-excursion "dynaconf/vendor" + (for-each delete-file-recursively unvendor)) + (substitute* (find-files "." "\\.py$") + (("from dynaconf\\.vendor import (click|ruamel|toml)([^l]+.*)$" + _ target rest) + (string-append "import " target rest)) + (("dynaconf\\.vendor\\.(click|ruamel|toml)" _ target) + target)))))) (build-system pyproject-build-system) (arguments - `(#:test-flags - '("--ignore=tests/test_vault.py" ; depend on hvac and a live Vault - "-k" ,(let ((click-tests '("test_negative_get" - "test_inspect_invalid_format"))) - ;; Disable integration tests - (string-append "not integration and not " - ;; These tests fail because we use Click 8.* - ;; instead of Click 7 - (string-join click-tests " and not "))) - "tests") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-for-click-8 - (lambda _ - (substitute* "dynaconf/cli.py" - (("click.get_os_args\\()") ;deprecated from Click 8.1+ - "sys.argv[1:]"))))))) + (list + #:test-flags + #~(list "--ignore=tests/test_vault.py" ; depend on hvac and a live Vault + "-k" #$(let ((click-tests '("test_negative_get" + "test_not_found_key_exit_error[get]" + "test_inspect_invalid_format"))) + ;; Disable integration tests + (string-append "not integration and not " + ;; These tests fail because we use + ;; Click 8.* instead of Click 7 + (string-join click-tests " and not "))) + "tests") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-for-click-8 + (lambda _ + (substitute* "dynaconf/cli.py" + (("click.get_os_args\\()") ;deprecated from Click 8.1+ + "sys.argv[1:]"))))))) (propagated-inputs - (list python-click python-configobj python-dotenv-0.13.0 - python-ruamel.yaml-0.16 python-toml python-tomli)) + (list python-click python-configobj python-ruamel.yaml-0.16 + python-toml python-tomli)) (native-inputs (list python-django python-flask python-pytest python-pytest-cov - python-pytest-mock python-setuptools python-wheel)) + python-pytest-mock python-setuptools)) (home-page "https://www.dynaconf.com/") (synopsis "The dynamic configurator for your Python project") (description diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 019ebf72f9..3ad2181530 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3575,10 +3575,9 @@ linux/libcurl_wrapper.h") node-lts perl pkg-config - python2-six - python-2 - ;; TODO Move to ruby@3 on the next rebuild cycle. - ruby-2.7)) + python-six + python-wrapper + ruby)) (inputs (list alsa-lib at-spi2-core @@ -4125,26 +4124,73 @@ linux/libcurl_wrapper.h" (delete-file-recursively (string-append #$output "/tests"))))))) (native-inputs - (modify-inputs (package-native-inputs qtwebengine-5) - (delete "python2" "python2-six") - (replace "node" node-lts) - (append clang-20 - lld-as-ld-wrapper-18 - python-wrapper - python-beautifulsoup4 - python-html5lib))) + (list bison + clang-20 + flex + gperf + lld-as-ld-wrapper-18 + ninja + node-lts + perl + pkg-config + python-beautifulsoup4 + python-html5lib + python-wrapper + ruby)) (inputs - (modify-inputs (package-inputs qtwebengine-5) - (replace "ffmpeg" ffmpeg) - (replace "icu4c" icu4c) - (replace "re2" re2-next) - (replace "qtmultimedia" qtmultimedia) - (append fxdiv libxkbfile xkeyboard-config))) + (list alsa-lib + at-spi2-core + cups-minimal + curl + dbus + eudev + ffmpeg + fontconfig + fxdiv + harfbuzz + icu4c + jsoncpp + lcms + libcap + libevent + libgcrypt + libjpeg-turbo + libvpx + libwebp + libx11 + libxcb + libxcomposite + libxcursor + libxi + libxkbcommon + libxkbfile + ;; FIXME: libxml2 needs to built with icu support though it links to + ;; libxml2 configure summary still states "Checking for compatible + ;; system libxml2... no" + libxml2 + libxrandr + libxrender + libxslt + libxtst + mesa + minizip + nss + openh264 + opus + pciutils + protobuf + pulseaudio + qtmultimedia + re2-next + snappy + valgrind/pinned + vulkan-headers + xcb-util + xkeyboard-config)) (propagated-inputs - (modify-inputs (package-propagated-inputs qtwebengine-5) - (replace "qtbase" qtbase) - (replace "qtdeclarative" qtdeclarative) - (replace "qtwebchannel" qtwebchannel))) + (list qtbase + qtdeclarative + qtwebchannel)) (home-page "https://wiki.qt.io/QtWebEngine") (synopsis "Qt WebEngine module") (description "The Qt WebEngine module provides support for web diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 26853d1b3d..b762347012 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -896,9 +896,12 @@ validates a restricted subset of the YAML specification.") (base32 "1dmv163cnslyqccrybkxn0c9s1jk1mmafmgxv75iamnz5lk5l8hk")))) (build-system pyproject-build-system) + (arguments + (list + ;; Tests are broken upstrea, see <https://github.com/brianolson/cbor_py/issues/6>. + #:tests? #f)) (native-inputs - (list python-setuptools - python-wheel)) + (list python-setuptools)) (home-page "https://github.com/brianolson/cbor_py") (synopsis "Implementation of the Concise Binary Object Representation") (description diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index ec69982393..5d04470960 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -1233,7 +1233,7 @@ enabled web server.") (define-public python-sphinx-autodoc-typehints (package (name "python-sphinx-autodoc-typehints") - (version "1.23.0") + (version "1.25.3") (source (origin (method git-fetch) ;no tests in pypi archive @@ -1243,13 +1243,17 @@ enabled web server.") (file-name (git-file-name name version)) (sha256 (base32 - "0z5na9cxqq4xc9ikig1s2fwbwl5pjwm04z9zwidbp2lm6k53xs8b")))) + "1pw9dzxrq67m0x92c0v4zqmf8llkaiw2j2plqj6n7kcravg26n6v")))) (build-system pyproject-build-system) (arguments (list - ;; This test requires to download an objects.inv file - ;; from the Sphinx website. - #:test-flags '(list "-k" "not test_format_annotation") + #:test-flags + #~(list "-k" + ;; This test requires to download an objects.inv file + ;; from the Sphinx website. + (string-append "not test_format_annotation" + ;; XXX: Trailing -- missing. + " and not test_always_document_param_types")) #:phases #~(modify-phases %standard-phases (add-before 'build 'pretend-version @@ -1265,8 +1269,7 @@ enabled web server.") python-nptyping python-pytest python-setuptools-scm - python-sphobjinv - python-typing-extensions)) + python-sphobjinv)) (propagated-inputs (list python-sphinx)) (home-page "https://pypi.org/project/sphinx-autodoc-typehints/") diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm index 608ccfb85e..762bd6ef42 100644 --- a/gnu/packages/tree-sitter.scm +++ b/gnu/packages/tree-sitter.scm @@ -46,18 +46,19 @@ (package (name "python-tree-sitter") (version "0.21.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tree-sitter/py-tree-sitter") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cdxl0zyldml3x5wi2nmlmhwfahwxalcr5lxyb6j6762irmm4b2c")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tree-sitter/py-tree-sitter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cdxl0zyldml3x5wi2nmlmhwfahwxalcr5lxyb6j6762irmm4b2c")))) (build-system pyproject-build-system) (arguments (list + #:test-backend #~'unittest #:phases #~(modify-phases %standard-phases (add-after 'unpack 'set-tree-sitter-lib-path @@ -94,7 +95,11 @@ (or native-inputs inputs) (string-append "lib/tree-sitter/libtree-sitter-" name ".so")) - name))))))))) + name)))))) + ;; XXX: See https://codeberg.org/guix/guix/issues/2108 + (add-before 'check 'remove-uninstalled-package + (lambda _ + (delete-file-recursively "tree_sitter")))))) (inputs (list tree-sitter)) (native-inputs (list tree-sitter-embedded-template |