Package: guix-patches;
Reported by: Tanguy Le Carrour <tanguy <at> bioneland.org>
Date: Sun, 17 Jan 2021 10:12:02 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Tanguy Le Carrour <tanguy <at> bioneland.org> Cc: 45931 <at> debbugs.gnu.org Subject: [bug#45931] [PATCH] gnu: Add python-build. Date: Mon, 25 Jan 2021 09:27:32 -0500
Hello Tanguy, Tanguy Le Carrour <tanguy <at> bioneland.org> writes: > * gnu/packages/python-xyz.scm (python-build): New variable. > * gnu/packages/patches/python-build-disable-failing-tests.patch: Add patch. > * gnu/local.mk: Add above patch. > --- > gnu/local.mk | 1 + > .../python-build-disable-failing-tests.patch | 25 +++++++++++ > gnu/packages/python-xyz.scm | 42 +++++++++++++++++++ > 3 files changed, 68 insertions(+) > create mode 100644 gnu/packages/patches/python-build-disable-failing-tests.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 77f1d4a096..f0702160c3 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1526,6 +1526,7 @@ dist_patch_DATA = \ > %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \ > %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \ > %D%/packages/patches/python-axolotl-AES-fix.patch \ > + %D%/packages/patches/python-build-disable-failing-tests.patch \ > %D%/packages/patches/python-cross-compile.patch \ > %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ > %D%/packages/patches/python-configobj-setuptools.patch \ > diff --git a/gnu/packages/patches/python-build-disable-failing-tests.patch b/gnu/packages/patches/python-build-disable-failing-tests.patch > new file mode 100644 > index 0000000000..499dad2179 > --- /dev/null > +++ b/gnu/packages/patches/python-build-disable-failing-tests.patch > @@ -0,0 +1,25 @@ > +Disable failing tests. > + > +diff --git a/tests/test_env.py b/tests/test_env.py > +index 5f9a710..c941a6c 100644 > +--- a/tests/test_env.py > ++++ b/tests/test_env.py > +@@ -13,6 +13,7 @@ import build.env > + > + > + @pytest.mark.isolated > ++@pytest.mark.skipif(True, reason="This fails for unknown reasons on Guix") > + def test_isolation(): > + subprocess.check_call([sys.executable, '-c', 'import build.env']) > + with build.env.IsolatedEnvBuilder() as env: > +@@ -47,6 +48,7 @@ def test_isolated_environment_install(mocker): > + > + > + @pytest.mark.isolated > ++@pytest.mark.skipif(True, reason="This fails for unknown reasons on Guix") > + def test_create_isolated_build_host_with_no_pip(tmp_path, capfd, mocker): > + mocker.patch.object(build.env, 'pip', None) > + expected = {'pip', 'greenlet', 'readline', 'cffi'} if platform.python_implementation() == 'PyPy' else {'pip'} > +-- > +2.30.0 > + > diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm > index d08e23936c..9a58ba50a2 100644 > --- a/gnu/packages/python-xyz.scm > +++ b/gnu/packages/python-xyz.scm > @@ -3677,6 +3677,48 @@ text styles of documentation.") > software version simply.") > (license license:expat))) > > +(define-public python-build > + (package > + (name "python-build") > + (version "0.1.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/pypa/build") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0mpciw66y130b704m3zrq4r473jw41b6p3sd1ya9my4v872r2dsw")) > + (patches (search-patches "python-build-disable-failing-tests.patch")))) > + (build-system python-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'check > + (lambda _ > + (setenv "PYTHONPATH" > + (string-append > + (getcwd) "/src/" > + ":" (getenv "PYTHONPATH"))) > + (invoke "python" "-m" "pytest" "tests/")))))) > + (propagated-inputs > + `(("python-packaging" ,python-packaging) > + ("python-pep517" ,python-pep517) > + ("python-toml" ,python-toml))) > + (native-inputs > + `(("python-filelock" ,python-filelock) > + ("python-pytest" ,python-pytest) > + ("python-pytest-mock" ,python-pytest-mock))) > + (home-page "https://github.com/pypa/build") > + (synopsis "Simple and correct PEP517 package builder") > + (description > + "Build will invoke the PEP 517 hooks to build a distribution package. > +It is a simple build tool and does not perform any dependency management.") > + ;; MIT license > + (license license:expat))) > + > (define-public python-deprecated > (package > (name "python-deprecated") > -- > 2.30.0 This package was added to the core-updates branch on Jan 15 by myself; I needed it to bump python-isort to a newer version after moving to Python 3.9.1. I've named it 'python-pypa-build' and put it under a new module, (gnu packages python-build). This module is special in that it's probably going to get pulled by (guix build python-build-system) at some point, so should be considered a 'build' module and not pull external modules if possible. If you need it on master we could try cherry picking a few commits from core-updates, I think. Thank you! Maxim
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.