all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>
To: 70858@debbugs.gnu.org
Cc: ngraves@ngraves.fr
Subject: [bug#70858] [PATCH 00/32] python-team: Remove native inputs
Date: Fri, 10 May 2024 09:26:04 +0200	[thread overview]
Message-ID: <20240510074844.2703-1-ngraves@ngraves.fr> (raw)

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	other threads:[~2024-05-10  7:50 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-10  7:26 Nicolas Graves via Guix-patches via [this message]
2024-05-10  7:55 ` [bug#70858] [PATCH 01/32] guix: import: pypi: Ignore pypi-ignored-inputs Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 02/32] build-system/pyproject: Ignore unwanted pytest flags Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 03/32] build-system/pyproject: Remove python-black input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 04/32] build-system/pyproject: Remove python-pylint native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 05/32] build-system/pyproject: Remove python-flake8 inputs Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 06/32] build-system/pyproject: Remove python-coverage input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 07/32] gnu: python-cram: Remove python-coverage native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 08/32] gnu: u-boot-tools: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 09/32] gnu: python-aiosqlite: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 10/32] gnu: python-openid: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 11/32] build-system/pyproject: Remove python-coveralls native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 12/32] build-system/pyproject: Remove python-pycodestyle native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 13/32] gnu: python-versioneer: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 14/32] gnu: python-versioneer: Remove python-pyflakes native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 15/32] gnu: python-re-assert: Remove python-covdefaults native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 16/32] build-system/pyproject: Remove python-codecov native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 17/32] build-system/pyproject: Remove python-tox native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 18/32] build-system/pyproject: Remove python-mypy native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 19/32] gnu: python-immutables: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 20/32] build-system/pyproject: Remove python-isort native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 21/32] build-system/pyproject: Remove python-twine native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 22/32] build-system/pyproject: Remove python-pytest-cov native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 23/32] gnu: python-tinycss2: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 24/32] gnu: python-django-contact-form: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 25/32] gnu: python-dateutil: " Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 26/32] build-system/pyproject: Remove python-pytest-isort native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 27/32] build-system/pyproject: Remove python-pytest-black native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 28/32] build-system/pyproject: Remove python-pytest-flake8 native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 29/32] build-system/pyproject: Remove python-pytest-mypy inputs Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 30/32] build-system/pyproject: Stop hiding options Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 31/32] gnu: python-linear-operator: Remove python-flake8-print native-input Nicolas Graves via Guix-patches via
2024-05-10  7:55   ` [bug#70858] [PATCH 32/32] gnu: abjad-ext-ipython: Remove uneeded inputs Nicolas Graves via Guix-patches via
2024-06-01 15:36 ` [bug#70858] [PATCH python-team v2 00/32] Remove unwanted native-inputs Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 01/32] guix: import: pypi: Ignore pypi-ignored-inputs Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 02/32] build-system/pyproject: Ignore unwanted pytest flags Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 03/32] build-system/pyproject: Remove python-black input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 04/32] build-system/pyproject: Remove python-pylint native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 05/32] build-system/pyproject: Remove python-flake8 inputs Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 06/32] build-system/pyproject: Remove python-coverage input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 07/32] gnu: python-cram: Remove python-coverage native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 08/32] gnu: u-boot-tools: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 09/32] gnu: python-aiosqlite: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 10/32] gnu: python-openid: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 11/32] build-system/pyproject: Remove python-coveralls native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 12/32] build-system/pyproject: Remove python-pycodestyle native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 13/32] gnu: python-versioneer: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 14/32] gnu: python-versioneer: Remove python-pyflakes native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 15/32] gnu: python-re-assert: Remove python-covdefaults native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 16/32] build-system/pyproject: Remove python-codecov native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 17/32] build-system/pyproject: Remove python-tox native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 18/32] build-system/pyproject: Remove python-mypy native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 19/32] gnu: python-immutables: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 20/32] build-system/pyproject: Remove python-isort native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 21/32] build-system/pyproject: Remove python-twine native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 22/32] build-system/pyproject: Remove python-pytest-cov native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 23/32] gnu: python-tinycss2: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 24/32] gnu: python-django-contact-form: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 25/32] gnu: python-dateutil: " Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 26/32] build-system/pyproject: Remove python-pytest-isort native-input Nicolas Graves via Guix-patches via
2024-06-01 15:36   ` [bug#70858] [PATCH python-team v2 27/32] build-system/pyproject: Remove python-pytest-black native-input Nicolas Graves via Guix-patches via
2024-06-01 15:37   ` [bug#70858] [PATCH python-team v2 28/32] build-system/pyproject: Remove python-pytest-flake8 native-input Nicolas Graves via Guix-patches via
2024-06-01 15:37   ` [bug#70858] [PATCH python-team v2 29/32] build-system/pyproject: Remove python-pytest-mypy inputs Nicolas Graves via Guix-patches via
2024-06-01 15:37   ` [bug#70858] [PATCH python-team v2 30/32] build-system/pyproject: Stop hiding options Nicolas Graves via Guix-patches via
2024-06-01 15:37   ` [bug#70858] [PATCH python-team v2 31/32] gnu: python-linear-operator: Remove python-flake8-print native-input Nicolas Graves via Guix-patches via
2024-06-01 15:37   ` [bug#70858] [PATCH python-team v2 32/32] gnu: abjad-ext-ipython: Remove uneeded inputs Nicolas Graves via Guix-patches via
2024-06-05 16:53   ` [bug#70858] [PATCH python-team v2 00/32] Remove unwanted native-inputs Nicolas Graves via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240510074844.2703-1-ngraves@ngraves.fr \
    --to=guix-patches@gnu.org \
    --cc=70858@debbugs.gnu.org \
    --cc=ngraves@ngraves.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.