GNU bug report logs - #73711
Questions about updating the Python build tools for a patch

Previous Next

Package: guix-patches;

Reported by: "King, Spencer" <spencer.king <at> wustl.edu>

Date: Tue, 8 Oct 2024 20:59:01 UTC

Severity: normal

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "King, Spencer" <spencer.king <at> wustl.edu>
To: "King, Spencer via Guix-patches via" <guix-patches <at> gnu.org>
Subject: Questions about updating the Python build tools for a patch
Date: Tue, 8 Oct 2024 20:53:22 +0000
Hello,

I am working on a patch for an update to python-humanize, but I believe this is going to necessitate updating some packages in python-build. I would appreciate it if someone could give me some advice and let me know if this is even the right thing to be doing. 

When trying to build python-humanize <at> 4.11.0 I received the following error:

starting phase `build'
Using 'hatchling.build' to build wheels, auto-detected 'hatchling.build', override '#f'.
Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/gnu/store/iafxd40mzizd2kndvla2inmkmjhnygrr-python-hatchling-1.14.0/lib/python3.10/site-packages/hatchling/build.py", line 56, in build_wheel
    return os.path.basename(next(builder.build(wheel_directory, ['standard'])))
  File "/gnu/store/iafxd40mzizd2kndvla2inmkmjhnygrr-python-hatchling-1.14.0/lib/python3.10/site-packages/hatchling/builders/plugin/interface.py", line 93, in build
    self.metadata.validate_fields()
  File "/gnu/store/iafxd40mzizd2kndvla2inmkmjhnygrr-python-hatchling-1.14.0/lib/python3.10/site-packages/hatchling/metadata/core.py", line 244, in validate_fields
    self.core.validate_fields()
  File "/gnu/store/iafxd40mzizd2kndvla2inmkmjhnygrr-python-hatchling-1.14.0/lib/python3.10/site-packages/hatchling/metadata/core.py", line 1325, in validate_fields
    getattr(self, attribute)
  File "/gnu/store/iafxd40mzizd2kndvla2inmkmjhnygrr-python-hatchling-1.14.0/lib/python3.10/site-packages/hatchling/metadata/core.py", line 978, in classifiers
    raise ValueError(message)
ValueError: Unknown classifier in field `project.classifiers`: Programming Language :: Python :: 3.13

I believe this is due to python-hatchling being a little out of date. I updated python-hatchling, however this requires a more recent version of python-packaging. I see that the current package uses python-packaging-bootstrap, which cannot be updated without creating a circular dependency, shown below:

gnu/packages/python.scm:1171:4: error: python-toolchain <at> 3.10.7: dependency cycle detected:
  python-toolchain <at> 3.10.7 -> python-packaging-bootstrap <at> 24.1 -> python-pypa-build <at> 0.7.0 -> python-toolchain <at> 3.10.7 -> python-humanize <at> 4.11.0

To resolve this, my plan was to change that dependency to python-packaging and update that package's version. However, when I try to add  "#:use-module (gnu packages python-xyz)" like so:

(define-module (gnu packages python-build)
  #:use-module (gnu packages)
  #:use-module (gnu packages python-xyz)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system python)
  #:use-module (guix build-system pyproject)
  #:use-module (guix gexp)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix packages))

I receive the following error:

ice-9/eval.scm:293:34: error: python-setuptools: unbound variable
hint: Did you forget a `use-modules' form?

Does anyone have any insight on what is happening here and if I am even on the right track to begin with?

Best,
Spencer



This bug report was last modified 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.