Commit graph

168734 commits

Author SHA1 Message Date
Sharlatan Hellseher
fc33f438a7
gnu: python-pyparsing: Update to 3.2.3.
* gnu/packages/python-build.scm (python-pyparsing): Update to 3.2.3.

Change-Id: I478c1ded15e0470658a98490a767a7de723b9a80
2025-09-25 09:35:39 +01:00
wrobell
62c4b82b7a
gnu: python-markupsafe: Update to 3.0.2.
* gnu/packages/python-xyz.scm (python-markupsafe): Update to 3.0.2.
[source]: Update project name (it is lowercase now).
[build-system]: Use pyproject-build-system.
[arguments]: Run pytest with default verbosity provided by the build
system.
[native-inputs]: Add python-setuptools and python-wheel.

Change-Id: I76b03fd0c28bbfdd2e5f2260fd34cba0f39d08d9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:39 +01:00
wrobell
c34f002892
gnu: python-pyyaml: Update to 6.0.2.
* gnu/packages/python-xyz.scm (python-pyyaml): Update to 6.0.2.
  [build-system]: Use  pyproject.
  [native-inputs]: Add python-cython3, python-seuptools, python-pytest,
  and python-wheel.

Change-Id: Ic3d5cdc75650644831ad7192bc17427f9881f2e4
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
941edd29f4
gnu: python-six: Do not inherit.
python-six-bootstrap is no longer required, this change removes it and
refactor python-six as a stand alone package.

* gnu/packages/python-build.scm (python-six-bootstrap): Remove variable.
* gnu/packages/python-xyz.scm (python-six): Do not inherit, re-use
package definition from python-six-bootstrap.
(python2-six) [native-inputs]: Add python-setuptools, and python-wheel.

Change-Id: Ia4abf667e0a2df65c171b3c8f5808d8e6d597b17
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
8a71151402
gnu: python-six-bootstrap: Update to 1.17.0.
* gnu/packages/python-build.scm (python-six-bootstrap): Update to 1.17.0.
  [build-system]: Use pyproject.
  [native-inputs]: Add python-setuptools.

Change-Id: I3d673d13efe60d90221061759e4ea90fd4164882
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
aac71e0112
gnu: Pin some packages to python-cython-0.
* gnu/packages/audio.scm (python-pyliblo):
  [native-inputs]: Remove python-cython; add python-cython-0.
* gnu/packages/bioinformatics.scm (python-pysam): Likewise.
* gnu/packages/parallel.scm (openpmix): Likewise.
* gnu/packages/python-science.scm (python-scipy): Likewise.

Change-Id: I7a02d39b7d7cbb8a40ab4434bfe90d4e944433d3
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
ee5eb416dd
gnu: python-cython-0: Update to 0.29.37.
* gnu/packages/python-xyz.scm (python-cython-0): Update to 0.29.37.
  Use G-expressions.
  [build-system]: Inherit pyproject form python-cython.
  [arguments] <test-backend>: Use 'custom; <test-flags>: Utilize it
  instead of overwriting 'check phase.
  <phases>: Add 'pre-check; use default 'check.
  [inputs]: Inherit from python-cython.
  [native-inputs]: Likewise.
  [home-page]: Likewise.
  [synopsis]: Likewise.
  [description]: Likewise.

Change-Id: I97e8662f0a53aa9bc702b835a347900c7ebd5ea1
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
349cda4632
gnu: python-cython: Fix tests on i686-linux.
* gnu/packages/python-xyz.scm (python-cython):
  [arguments] <test-backend>: Use 'custom.
  <test-flags>: Skip one test on i686-linux.
  <phases>: Use default 'check; add 'pre-check.

Change-Id: Ia2aa75cf341f9db043c2c2bc99ed56ef6816ca21
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
b50899769c
gnu: python-cython: Build with gcc@14.
* gnu/packages/python-xyz.scm (python-cython):
  [native-inputs]: Remove (cond ((target-x86-32?) gcc-11) (else gcc-13)).

Change-Id: I04ff6694a147d73beda119231d5a79579cf01c82
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
941b6ff1c1
gnu: python-cython: Set default to v3.
* gnu/packages/python-xyz.scm (python-cython): Overwrite with
python-cython-3 and making it a default.
(python-cython-0): New variable, copy of python-cython@0.23.32.
(python-cython-3): Set to python-cython.

Change-Id: I6af9caeb77cd0be352b814baae7e37c2eafb00e7
2025-09-25 09:35:38 +01:00
wrobell
a1c92ead6c
gnu: python-cython-3: Update to 3.1.2.
* gnu/packages/python-xyz.scm (python-cython-3): Update to 3.1.2.

Change-Id: I0cfe7d6bfdc2df37fd9309ae39c09674f616dee2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:38 +01:00
Sharlatan Hellseher
7b5d938a75
gnu: python-pytest: Update to 8.4.1.
* gnu/packages/check.scm (python-pytest): Update to 8.4.1.
  [arguments] <test-flags>: Skip only 2 tests.
  [propagated-inputs]: Remove python-attrs-bootstrap,
  python-exceptiongroup, python-py, and python-tomli; add
  python-pygments-bootstrap.
  [native-inputs]: Remove python-nose and python-pytest-bootstrap; add
  python-attrs-bootstrap.

Change-Id: Ib13c2578cc5fdd8508a83ed97ea2471ab756f541
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
523d68a25c
gnu: python-elementpath: Enable tests.
* gnu/packages/xml.scm (python-elementpath): Enable tests.
[arguments] <test-backend>: Use 'unittest.
<phases>: Add 'set-locales.
[native-inputs]: Add glibc-locales, python-lxml, and
python-xmlschema-bootstrap.

Change-Id: I9a48dc1e508a6701472890a17a3ed0cf95d051a8
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
8d02f097e6
gnu: Add python-xmlschema-bootstrap.
* gnu/packages/xml.scm (python-xmlschema-bootstrap): New variable.

Change-Id: I2b5ae32a3157c57a8e89a2d14b314404043a0a5c
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
a49c2fb668
gnu: python-xmlschema: Update to 4.1.0.
* gnu/packages/xml.scm (python-xmlschema): Update to 4.1.0.
[build-system]: Use pyproject.
[arguments] <test-backend>: Use 'unittest.
<phases>: Use default 'check.
[native-inputs]: Add python-setuptools.

Change-Id: Ia7fd7d8af9981e19566be05d85cf8288a772a7e9
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
0d0211a113
gnu: python-elementpath: Update to 5.0.4.
* gnu/packages/xml.scm (python-elementpath): Update to 5.0.4.
[build-system]: Use pyproject.
[native-inputs]: Add python-setuptools.

Change-Id: I03f0a0c46644946370694fceb3a68c3c03dccb59
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
d3e3103fc3
gnu: python-hypothesis: Update to 6.135.26.
* gnu/packages/check.scm (python-hypothesis): Update to 6.135.26.
  [build-system]: Use pyproject
  [arguments] <phases>: Keep 'sanity-check.
  [native-inputs]: Add python-setuptools, and python-wheel.

Change-Id: I306fd548268da91b2e86d2ca214771126331e0d1
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
f135184613
gnu: python-exceptiongroup: Update to 1.3.0.
* gnu/packages/python-build.scm (python-exceptiongroup): Update to 1.3.0.
  [build-system]: Use pyproject.
  [arguments] <build-backend>: Use 'setuptools.bulid_meta' propagated by
  flit_scm.
  <phases>: Use default 'build, 'install and 'check; add 'set-version.
  [propagated-inputs]: Add python-typing-extensions.
  [native-inputs]: Remove python-pypa-build.

Change-Id: I400165688236086ad85d961698e14d8ed8dd486f
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
b66ea1e9ff
gnu: python-sortedcontainers: Switch to pyproject, enable tests.
* gnu/packages/python-xyz.scm (python-sortedcontainers):
  [source]: Switch to git-fetch containing tests.
  [build-system]: Use pyproject.
  [arguments] <tests?>: Now enable them.
  [native-inputs]: Add python-pytest-bootstrap and python-setuptools.

Change-Id: Ibce0dd93d964853e734424e029f9197e67f1f828
2025-09-25 09:35:37 +01:00
Sharlatan Hellseher
e4c2f803fa
gnu: python-flit-scm: Improve package.
Reduce closure size by removing redundant python-setuptools and
python-wheel as it was a workaround import issue which was resolved by
using flit_core.buildapi directly.

* gnu/packages/python-build.scm (python-flit-scm): Fix indentation.
  [arguments] <build-backend>: Let it auto detect.
  <phases>: Add 'fix-backend.
  [native-inputs]: Remove python-setuptools and python-wheel.

Change-Id: Ib3f591365411ba5f8b710a8256a324dfb7d5b565
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
92b76e8c12
gnu: python-hatch-fancy-pypi-readme: Update to 25.1.0.
* gnu/packages/python-build.scm (python-hatch-fancy-pypi-readme): Update to 25.1.0.
[propagated-inputs]: Remove python-typing-extensions.

Change-Id: Iaa5d2e74d2da831af31f7205b4cf98ad2b816e22
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
62a443d7cc
gnu: python-typing-extensions: Update to 4.15.0.
* gnu/packages/python-build.scm (python-typing-extensions): Update to 4.15.0.

Change-Id: I1a218c75a41539902a34c53d465535d5856674e0
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
34a1f53224
gnu: python-pytest-bootstrap: Reduce closure size.
* gnu/packages/check.scm (python-pytest-bootstrap): Use PACKAGE/INHERIT.
  [arguments] <phases>: Delete 'sanity-check.
  [native-inputs]: Remove python-iniconfig, python-tomli, and
  python-wheel.

Change-Id: I6e0820a7ea7b6b7008de7f5307002af9e5fc62af
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
949f90a524
gnu: python-iniconfig: Update to 2.1.0.
* gnu/packages/python-xyz.scm (python-iniconfig): Update to 2.1.0.
  [build-system]: Use pyproject.
  [arguments] <test?>: Visually disable them as PyPI does not provide
  tests and tests introduce cycle with Pytest.
  [native-inputs]: Add python-hatch-vcs, python-hatchling.

Change-Id: I20f3bc55fbd94aa2c79ce77e35f1a62aacd4af14
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
9b81fa2101
gnu: Add python-pygments-bootstrap.
* gnu/packages/python-xyz.scm (python-pygments-bootstrap): New variable.

Change-Id: Icf982bbaa641b77afebafdd14a4c063012b2fdc0
2025-09-25 09:35:36 +01:00
Felix Gruber
95504f4821
gnu: python-pygments: Update to 2.19.1.
* gnu/packages/python-xyz.scm (python-pygments): Update to 2.19.1.
  [source]: Fix PyPI package name; with capital P, the download doesn't
  work.
  [arguments] <test-flags>: Ignore just some problematic tests; drop
  "--ignore-glob" option.
  [native-inputs]: Add python-hatchling; replace python-pytest by
  python-pytest-bootstrap; remove python-setuptools and python-wheel.

Change-Id: I85bf3cb2a8c4a996586e820bd582dea777ef930d
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
2a1185d837
gnu: python-hatch-vcs: Update to 0.5.0.
* gnu/packages/python-build.scm (python-hatch-vcs): Update to 0.5.0.

Change-Id: Ib9a72b525c56ada23a8689fcd0808537983a3825
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
ff0f8d1d64
gnu: python-hatchling: Update to 1.27.0.
* gnu/packages/python-build.scm (python-hatchling): Update to 1.27.0.
[propagated-inputs]: Remove python-editables.

Change-Id: Ief8429d7044f4f8fd6a2b35faf70d77e50e6d92e
2025-09-25 09:35:36 +01:00
Sharlatan Hellseher
3e28321286
gnu: python-pluggy: Update to 1.6.0.
* gnu/packages/python-build.scm (python-pluggy): Update to 1.6.0.
  [build-system]: Use pyproject.

Change-Id: I0084e9fae704fc7ec3eb0f41823e948784aedf3f
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
d8a9b0a329
gnu: python-trove-classifiers: Update to 2025.5.9.12.
* gnu/packages/python-build.scm (python-trove-classifiers): Update to 2025.5.9.12.

Change-Id: Iac57d876d1df1300c1ad59e2c3e8a05116be9e1e
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
e5b60ea372
gnu: python-pathspec: Update to 0.12.1.
* gnu/packages/python-build.scm (python-pathspec): Update to 0.12.1.
  [build-system]: Use pyproject.
  [arguments] <test-backend>: Use 'unittest.
  [native-inputs]: Add python-flit-core and python-setuptools.

Change-Id: I2ac5abfd1acc54849ad523cde8afd5da320849e0
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
de993c8994
gnu: python-setuptools-scm: Update to 8.3.1.
* gnu/packages/python-build.scm (python-setuptools-scm): Update to 8.3.1.
  [build-system]: Use pyproject.
  [arguments] <build-backend>: Use "setuptools.build_meta".
  [propagated-inputs]: Remove python-tomli, and
  python-typing-extenstions; add python-setuptools.

Change-Id: I810fc2a642a23380e8d5773c507361aeedd2f67d
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
c76125e0dc
gnu: python-packaging-bootstrap: Update to 25.0.
* gnu/packages/python-build.scm (python-packaging-bootstrap): Update to 25.0.
[propagated-inputs]: Remove python-pyparsing and python-six-bootstrap.

Change-Id: I57729f30f4b2d216bde3f2224c330fda24043299
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
242ddb07bf
gnu: python-wheel: Update to 0.46.1.
* gnu/packages/python-build.scm (python-wheel): Update to 0.46.1.
  [build-system]: Use pyproject.
  [native-inputs]: Add python-flit-core.

Change-Id: I5b2e801b6c440bfd5b902e81004e9e28c59e8b19
2025-09-25 09:35:35 +01:00
Nguyễn Gia Phong
b664eca850
gnu: python-flit-core: Fix input label name.
* gnu/packages/python-build.scm (python-flit-core): Fix input label name.
  [propagated-inputs]: Label python-tomli as such.

Change-Id: Id271db1bc8a5ce2ac8bce76556d0ddc31b71bf1f
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
c277431331
gnu: python-tomli: Update to 2.2.1.
* gnu/packages/python-build.scm (python-tomli): Update to 2.2.1.
[native-inputs]: Remove python-six-bootstrap.

Change-Id: I6d16fdd95e4fad6a100f3070d22a26f2706fea2a
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
70a675141c
gnu: python-flit-core-bootstrap: Switch to pyproject.
* gnu/packages/python-build.scm (python-flit-core-bootstrap):
  [build-system]: Use pyproject.
  [arguments] <phases>: Add 'fix-license; use default 'install.

Change-Id: I79baaf6885c0c07ad508f110307fc31487439fd4
2025-09-25 09:35:35 +01:00
Nguyễn Gia Phong
1e1b55cb90
gnu: python-flit-core-bootstrap: Update to 3.12.0.
* gnu/packages/python-build.scm (python-flit-core-bootstrap): Update to 3.12.0.

Change-Id: I9975f7603b2921325c513f7500b1f0dd7759c2d1
2025-09-25 09:35:35 +01:00
Sharlatan Hellseher
b25a7cb3bb
gnu: python-toml: Switch to pyproject.
* gnu/packages/python-build.scm (python-toml):
  [build-system]: Use pyproject.
  [native-inputs]: Add python-setuptools.

Change-Id: If5836a9c2229c7c6f681e211c8346cdc5c37f505
2025-09-25 09:35:34 +01:00
Sharlatan Hellseher
7b05b4a2c1
gnu: mallard-ducktype: Switch to pyproject.
* gnu/packages/python-xyz.scm (mallard-ducktype)[build-system]: Switch
to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I86592f5332819b160f0f804a3495ef1b0491ff78
2025-09-25 09:35:34 +01:00
Sharlatan Hellseher
0fdca05c08
gnu: python-libxml2: Switch to pyproject.
* gnu/packages/xml.scm (python-libxml2)[build-system]: Switch to
pypojrect-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I4a8ac976b9bdb508f4c1efa4b29407a96615aeb2
2025-09-25 09:35:34 +01:00
Sharlatan Hellseher
c05d25aa79
gnu: python-lxml: Switch to pyproject.
* gnu/packages/xml.scm (python-lxml) [build-system]: Switch to
pyproject-build-system.
[native-inputs]: Add python-setuptools.
(python-lxml-4.9)[arguments] <phases>: Add custom 'check.

Change-Id: Ib64a5e181dbc70fdb03607e05d79549ef2e51738
2025-09-25 09:35:34 +01:00
Sharlatan Hellseher
b212d0481e
gnu: python-setuptools: Update to 80.9.0.
* gnu/packages/python-build.scm (python-setuptools): Update to 80.9.0.

Change-Id: I76ecbbfd4aeb3334fc3544912ded256ff058f3db
2025-09-25 09:35:34 +01:00
Nicolas Graves
2d45de1bc4
build-system/pyproject: Handle wheel not found exception.
The current error is very uninformative, use a proper exception to
give more information when this happens:
`In procedure map: Wrong type argument: #f`

After this patch:
`In procedure raise-exception:
ERROR:
  1. &no-wheels-found`

* guix/build/pyproject-build-system.scm (&no-wheels-found): Add exception.
(install): Handle exception.

Change-Id: Ie72d3b50dfededb2d598162672cdb4321c42b632
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:34 +01:00
Nicolas Graves
977caf32ef
build-system/pyproject: Avoid PEP427 substitution on binary files.
In some rare cases, the dest-path can be an elf-file, which are
unreadable by substitute*, leading to an error instead of just
continuing which makes more sense in this case.

* guix/build-system/pyproject.scm (check): Guard substitution attempt
with basic readability guarantees.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:34 +01:00
Nicolas Graves
9a40c5145d
build-system/pyproject: Add stestr, unittest and custom options.
* guix/build-system/pyproject.scm (check): Add stestr, unittest and
custom test-backends.

Change-Id: I2d44b3b8dd928ab844b4479fb073afff845e13ee
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:34 +01:00
Nicolas Graves
74a1e9d543
build-system/pyproject: Use copy-recursively instead of merge-dirs.
Using rename-file, the destination had to be empty otherwise it would error
out.  This has been fixed by the use of copy-recursively, really merging them.
Changing this makes merge-directories mostly a duplicate of
copy-recursively, thus fully switch to copy-recursively.

* guix/build/pyproject-build-system.scm (install)
<python-hashbang>: Remove it, used only once.
<merge-directories>: Remove it, replace its calls by copy-recursively
and delete-file-recursively.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:34 +01:00
Nicolas Graves
e927a071cd
build-system/pyproject: Add python test-backend.
* guix/build/pyproject-build-system(check): Add python test-backend.

This will help in cases where a simple `python -m module args` call has
to be made instead of fully replacing the 'check phase, e.g. unittest
or django. This is never enabled unless #:test-backend 'python is set,
so it doesn't break anything.

As an example, the following snippet...

(arguments
  (list #:phases #~(modify-phases %standard-phases
                     (replace 'check
                       (lambda* (#:key tests? #:allow-other-keys)
                         (when tests?
                           (invoke "python" "-m" "unittest"
                                   "diff_match_patch.tests")))))))

...can be transformed like this:

(arguments
  '(#:test-backend 'python
    #:test-flags (list "-m" "unittest" "diff_match_patch.tests")))

Change-Id: I4919a3e01d64864e3c328609fbcce7df5b3dfe51
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:33 +01:00
Maxim Cournoyer
7b65bc85cd
build/pyproject: Fix indentation.
* guix/build/pyproject-build-system.scm: Re-indent file with Emacs.

Change-Id: Ie8a119ce9cf4beccffde93674adb98dc07462ea7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:33 +01:00
Maxim Cournoyer
f3f42af8ae
build/pyproject: Resolve import warning.
* guix/build/pyproject-build-system.scm: Hide the 'delete' symbol from
the imported (guix build utils) module to avoid a naming clash warning.

Change-Id: I48f97bf29b5282de1440c68d533c8300d4d11362
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 09:35:33 +01:00