guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#70858] [PATCH 00/32] python-team: Remove native inputs


From: Nicolas Graves
Subject: [bug#70858] [PATCH 00/32] python-team: Remove native inputs
Date: Fri, 10 May 2024 09:26:04 +0200

This is a full rewrite of patch series 70735 which I couldn't fully
submit because debbugs doesn't seem to like when more than 100 patches
are sent in 2h. It is therefore much more concise.
Here's an adapted copy of the original cover-letter message:

How did I proceed ?

1) Identify packages we often don't need as native-inputs.
2) Systematically remove these packages when they are in native-inputs.
3) Iterate : try to rebuild needed packages, and fixes along the way (these can 
be updates, packages
rewrites, inputs additions...). Said fixes have been sent in patch series 
70855. Back up from the native-input removal when it's not trivial, except for 
some specific cases (these are present as their own patches).
4) Stop when everything rebuilds properly, except for some specific cases.

   The packages that need rebuilding are identified from :
   guix graph --type=reverse-package -M 1 python-codecov python-coverage 
python-black python-isort
python-pycodestyle python-pep8 python-pyflakes python-flake8 python-pylint 
python-mypy
python-coveralls python-twine python-pytest-isort python-pytest-flake8 
python-pytest-cov
python-pytest-black python-pytest-pep8 python-pytest-mypy pre-commit | grep 
label | cut -d\" -f4 |
cut -d@ -f1 | sort | uniq

   Some are removed from this list where the package was propagated rather than 
native, or when the
package is left unchanged (e.g. open-adventure), or for those specific cases :
   - "chirp"  ; needs to rebuild webkitgtk, no thanks
   - "cpplint"  ; has been updated on master + requires pytest-runner==5.6
   - "python-modin"  ; this is broken by pandas upgrade, will fix this 
independently
   - "python-libcst"  ; broken upstream but unchanged
   - "python-schema-salad"  ; broken upstream but unchanged
   - "python-dolfin-adjoint"  ; timeout, but probably works.
   - "reprotest"  ; needs to rebuild the whole openjdk, no thanks.

This patch series is built upon python-team's branch, with Vinicius' patch 
series 69980 and my patch
series 70855 on top.

Now, what about results in package node graph reduction?

Here's a summary of number of packages under guix refresh -l :

| package              | master | python-team+patch series |
|----------------------+--------+--------------------------|
| python-codecov       |      6 |                        1 |
| python-coverage      |   2359 |                      497 |
| python-black         |    332 |                       37 |
| python-isort         |    275 |                      153 |
| python-pycodestyle   |    392 |                      184 |
| python-pep8          |    219 |                      215 |
| python-pyflakes      |    392 |                      190 |
| python-flake8        |    377 |                      158 |
| python-pylint        |    235 |                        8 |
| python-mypy          |    347 |                      310 |
| python-coveralls     |     23 |                        1 |
| python-twine         |     28 |                      137 |
| python-pytest-isort  |    180 |                      145 |
| python-pytest-flake8 |    303 |                        8 |
| python-pytest-cov    |   2309 |                      286 |
| python-pytest-black  |    278 |                        7 |
| python-pytest-pep8   |     31 |                       31 |
| python-pytest-mypy   |    280 |                      307 |
| pre-commit           |    128 |                        1 |
| python-tox           |    166 |                        5 |

This means e.g. that an update of python-pylint will trigger 8 packages 
rebuilds rather than 235.


Nicolas Graves (32):
  guix: import: pypi: Ignore pypi-ignored-inputs.
  build-system/pyproject: Ignore unwanted pytest flags.
  build-system/pyproject: Remove python-black input.
  build-system/pyproject: Remove python-pylint native-input.
  build-system/pyproject: Remove python-flake8 inputs.
  build-system/pyproject: Remove python-coverage input.
  gnu: python-cram: Remove python-coverage native-input.
  gnu: u-boot-tools: Remove python-coverage native-input.
  gnu: python-aiosqlite: Remove python-coverage native-input.
  gnu: python-openid: Remove python-coverage native-input.
  build-system/pyproject: Remove python-coveralls native-input.
  build-system/pyproject: Remove python-pycodestyle native-input.
  gnu: python-versioneer: Remove python-pycodestyle native-input.
  gnu: python-versioneer: Remove python-pyflakes native-input.
  gnu: python-re-assert: Remove python-covdefaults native-input.
  build-system/pyproject: Remove python-codecov native-input.
  build-system/pyproject: Remove python-tox native-input.
  build-system/pyproject: Remove python-mypy native-input.
  gnu: python-immutables: Remove python-mypy native-input.
  build-system/pyproject: Remove python-isort native-input.
  build-system/pyproject: Remove python-twine native-input.
  build-system/pyproject: Remove python-pytest-cov native-input.
  gnu: python-tinycss2: Remove python-pytest-cov native-input.
  gnu: python-django-contact-form: Remove python-pytest-cov
    native-input.
  gnu: python-dateutil: Remove python-pytest-cov native-input.
  build-system/pyproject: Remove python-pytest-isort native-input.
  build-system/pyproject: Remove python-pytest-black native-input.
  build-system/pyproject: Remove python-pytest-flake8 native-input.
  build-system/pyproject: Remove python-pytest-mypy inputs.
  build-system/pyproject: Stop hiding options.
  gnu: python-linear-operator: Remove python-flake8-print native-input
  gnu: abjad-ext-ipython: Remove uneeded inputs.

 gnu/packages/android.scm              |   6 +-
 gnu/packages/astronomy.scm            |  33 +-
 gnu/packages/audio.scm                |   2 +-
 gnu/packages/backup.scm               |   2 +-
 gnu/packages/bioinformatics.scm       |  31 +-
 gnu/packages/bootloaders.scm          |  17 +-
 gnu/packages/build-tools.scm          |   1 -
 gnu/packages/check.scm                |  21 +-
 gnu/packages/cpp.scm                  |   4 +-
 gnu/packages/databases.scm            |  17 +-
 gnu/packages/dav.scm                  |   4 -
 gnu/packages/diffoscope.scm           |   2 -
 gnu/packages/django.scm               |  12 +-
 gnu/packages/ebook.scm                |   1 -
 gnu/packages/embedded.scm             |   1 -
 gnu/packages/engineering.scm          |   7 +-
 gnu/packages/finance.scm              |   6 +-
 gnu/packages/fontutils.scm            |   1 -
 gnu/packages/geo.scm                  |   9 +-
 gnu/packages/gettext.scm              |   4 -
 gnu/packages/gpodder.scm              |   3 +-
 gnu/packages/graph.scm                |   6 +-
 gnu/packages/graphviz.scm             |   5 -
 gnu/packages/jupyter.scm              |   8 +-
 gnu/packages/logging.scm              |   2 +-
 gnu/packages/machine-learning.scm     |  65 +---
 gnu/packages/mail.scm                 |   3 +-
 gnu/packages/mastodon.scm             |   1 -
 gnu/packages/messaging.scm            |   6 +-
 gnu/packages/music.scm                |  24 +-
 gnu/packages/package-management.scm   |   7 +-
 gnu/packages/patchutils.scm           |   2 +-
 gnu/packages/pdf.scm                  |   6 +-
 gnu/packages/potassco.scm             |   3 +-
 gnu/packages/protobuf.scm             |   4 +-
 gnu/packages/python-check.scm         |  33 +-
 gnu/packages/python-compression.scm   |  21 +-
 gnu/packages/python-crypto.scm        |   4 +-
 gnu/packages/python-science.scm       |  21 +-
 gnu/packages/python-web.scm           | 173 +++--------
 gnu/packages/python-xyz.scm           | 415 +++++++-------------------
 gnu/packages/radio.scm                |   3 +-
 gnu/packages/serialization.scm        |   1 -
 gnu/packages/simulation.scm           |   2 -
 gnu/packages/sphinx.scm               |   7 -
 gnu/packages/statistics.scm           |  14 +-
 gnu/packages/syndication.scm          |   8 +-
 gnu/packages/task-management.scm      |   1 -
 gnu/packages/telegram.scm             |   3 +-
 gnu/packages/terminals.scm            |   9 +-
 gnu/packages/textutils.scm            |   3 -
 gnu/packages/time.scm                 |  22 +-
 gnu/packages/version-control.scm      |   1 -
 gnu/packages/virtualization.scm       |   4 +-
 gnu/packages/vpn.scm                  |   2 -
 gnu/packages/web.scm                  |   6 +-
 gnu/packages/wm.scm                   |   2 -
 gnu/packages/xml.scm                  |   2 +-
 guix/build/pyproject-build-system.scm |  99 +++++-
 guix/import/pypi.scm                  |  21 +-
 guix/lint.scm                         |  12 +-
 tests/pypi.scm                        |   3 +-
 62 files changed, 413 insertions(+), 805 deletions(-)

-- 
2.41.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]