Message ID | 20211010204824.17388-1-jgart@dismail.de |
---|---|
State | Accepted |
Headers | show |
Series | [bug#51121] gnu: Add python-pyproject2setuppy. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi this is a WIP. I'll send another patch soon once I figure it out. Tests are currently failing: phase `wrap' succeeded after 0.0 seconds starting phase `check' ============================= test session starts ============================== platform linux -- Python 3.8.2, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 rootdir: /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source, inifile: setup.cfg plugins: hypothesis-5.4.1, forked-1.3.0 collected 205 items tests/test_common.py ... [ 1%] tests/test_flit.py ...s...s...s...s...s...s...s...s...s...s...s...s...s [ 26%] tests/test_flit_pep621.py ...s...s...s...s...s...s...s...s...s...s...s.. [ 49%] .s...s...s [ 54%] tests/test_main.py ...... [ 57%] tests/test_poetry.py ...s...s...s...s...s...s...s...s...s...s...s...s... [ 81%] s...s...s...s...s...s...s...s [ 96%] tests/test_setuptools.py ...F...F [100%] =================================== FAILURES =================================== ________________ SetuptoolsNoSetupPyTest.test_real_build_system ________________ self = <tests.test_setuptools.SetuptoolsNoSetupPyTest testMethod=test_real_build_system> def test_real_build_system(self): """ Perform a self-test using the upstream build backend. Builds a wheel, and verifies its contents. Used to verify that test cases are correct. """ metadata = toml.loads(self.toml_base + self.toml_extra) backend_module = metadata['build-system']['build-backend'] try: backend = importlib.import_module(backend_module) except ImportError: self.skipTest('Required {} module missing'.format(backend_module)) with self.make_package() as d: with open('pyproject.toml', 'w') as f: f.write(self.toml_base + self.toml_extra) if self.expect_exception is not None: # upstream build system uses different exception classes with self.assertRaises(Exception): backend.build_wheel(d) return > whl = backend.build_wheel(d) tests/base.py:271: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:208: in build_wheel return self._build_with_temp_dir(['bdist_wheel'], '.whl', /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:194: in _build_with_temp_dir self.run_setup() /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:142: in run_setup exec(compile(code, __file__, 'exec'), locals()) setup.py:1: in <module> ??? /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/__init__.py:145: in setup return distutils.core.setup(**attrs) /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/core.py:148: in setup dist.run_commands() /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/dist.py:966: in run_commands self.run_command(cmd) /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/dist.py:985: in run_command cmd_obj.run() /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/bdist_wheel.py:361: in run wf.write_files(archive_root) /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/wheelfile.py:124: in write_files self.write(path, arcname) /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/wheelfile.py:135: in write zinfo = ZipInfo(arcname or filename, date_time=get_zipinfo_datetime(st.st_mtime)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError('compress_type') raised in repr()] ZipInfo object at 0x7ffff5a86d00> filename = 'test_module.py', date_time = (1970, 1, 1, 0, 0, 1) def __init__(self, filename="NoName", date_time=(1980,1,1,0,0,0)): self.orig_filename = filename # Original file name in archive # Terminate the file name at the first null byte. Null bytes in file # names are used as tricks by viruses in archives. null_byte = filename.find(chr(0)) if null_byte >= 0: filename = filename[0:null_byte] # This is used to ensure paths in generated ZIP files always use # forward slashes as the directory separator, as required by the # ZIP format specification. if os.sep != "/" and os.sep in filename: filename = filename.replace(os.sep, "/") self.filename = filename # Normalized file name self.date_time = date_time # year, month, day, hour, min, sec if date_time[0] < 1980: > raise ValueError('ZIP does not support timestamps before 1980') E ValueError: ZIP does not support timestamps before 1980 /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py:362: ValueError ----------------------------- Captured stdout call ----------------------------- running bdist_wheel running build running build_py creating build creating build/lib copying test_module.py -> build/lib installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel copying build/lib/test_module.py -> build/bdist.linux-x86_64/wheel running install_egg_info running egg_info creating test_module.egg-info writing test_module.egg-info/PKG-INFO writing dependency_links to test_module.egg-info/dependency_links.txt writing top-level names to test_module.egg-info/top_level.txt writing manifest file 'test_module.egg-info/SOURCES.txt' reading manifest file 'test_module.egg-info/SOURCES.txt' writing manifest file 'test_module.egg-info/SOURCES.txt' Copying test_module.egg-info to build/bdist.linux-x86_64/wheel/test_module-0-py3.8.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/test_module-0.dist-info/WHEEL creating '/tmp/guix-build-python-pyproject2setuppy-20.drv-0/tmpbvokwos2/tmpvllwyjo_/test_module-0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it _________________ SetuptoolsSetupPyTest.test_real_build_system _________________ self = <tests.test_setuptools.SetuptoolsSetupPyTest testMethod=test_real_build_system> def test_real_build_system(self): """ Perform a self-test using the upstream build backend. Builds a wheel, and verifies its contents. Used to verify that test cases are correct. """ metadata = toml.loads(self.toml_base + self.toml_extra) backend_module = metadata['build-system']['build-backend'] try: backend = importlib.import_module(backend_module) except ImportError: self.skipTest('Required {} module missing'.format(backend_module)) with self.make_package() as d: with open('pyproject.toml', 'w') as f: f.write(self.toml_base + self.toml_extra) if self.expect_exception is not None: # upstream build system uses different exception classes with self.assertRaises(Exception): backend.build_wheel(d) return > whl = backend.build_wheel(d) tests/base.py:271: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:208: in build_wheel return self._build_with_temp_dir(['bdist_wheel'], '.whl', /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:194: in _build_with_temp_dir self.run_setup() /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/build_meta.py:142: in run_setup exec(compile(code, __file__, 'exec'), locals()) setup.py:2: in <module> ??? /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/__init__.py:145: in setup return distutils.core.setup(**attrs) /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/core.py:148: in setup dist.run_commands() /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/dist.py:966: in run_commands self.run_command(cmd) /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/distutils/dist.py:985: in run_command cmd_obj.run() /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/bdist_wheel.py:361: in run wf.write_files(archive_root) /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/wheelfile.py:124: in write_files self.write(path, arcname) /gnu/store/khi7jd4f8zy3z2mz5i116yyrgc10nwrk-python-wheel-0.36.2/lib/python3.8/site-packages/wheel/wheelfile.py:135: in write zinfo = ZipInfo(arcname or filename, date_time=get_zipinfo_datetime(st.st_mtime)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError('compress_type') raised in repr()] ZipInfo object at 0x7ffff5a89d00> filename = 'test_module.py', date_time = (1970, 1, 1, 0, 0, 1) def __init__(self, filename="NoName", date_time=(1980,1,1,0,0,0)): self.orig_filename = filename # Original file name in archive # Terminate the file name at the first null byte. Null bytes in file # names are used as tricks by viruses in archives. null_byte = filename.find(chr(0)) if null_byte >= 0: filename = filename[0:null_byte] # This is used to ensure paths in generated ZIP files always use # forward slashes as the directory separator, as required by the # ZIP format specification. if os.sep != "/" and os.sep in filename: filename = filename.replace(os.sep, "/") self.filename = filename # Normalized file name self.date_time = date_time # year, month, day, hour, min, sec if date_time[0] < 1980: > raise ValueError('ZIP does not support timestamps before 1980') E ValueError: ZIP does not support timestamps before 1980 /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/zipfile.py:362: ValueError ----------------------------- Captured stdout call ----------------------------- running bdist_wheel running build running build_py creating build creating build/lib copying test_module.py -> build/lib installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel copying build/lib/test_module.py -> build/bdist.linux-x86_64/wheel running install_egg_info running egg_info creating test_module.egg-info writing test_module.egg-info/PKG-INFO writing dependency_links to test_module.egg-info/dependency_links.txt writing top-level names to test_module.egg-info/top_level.txt writing manifest file 'test_module.egg-info/SOURCES.txt' reading manifest file 'test_module.egg-info/SOURCES.txt' writing manifest file 'test_module.egg-info/SOURCES.txt' Copying test_module.egg-info to build/bdist.linux-x86_64/wheel/test_module-0-py3.8.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/test_module-0.dist-info/WHEEL creating '/tmp/guix-build-python-pyproject2setuppy-20.drv-0/tmpr39dy7_m/tmpapoo2pgz/test_module-0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it =============================== warnings summary =============================== /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/depends.py:2 /gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp tests/base.py:71 /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source/tests/base.py:71: PytestCollectionWarning: cannot collect test class 'TestDirectory' because it has a __init__ constructor (from: tests/test_common.py) class TestDirectory(object): tests/base.py:71 /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source/tests/base.py:71: PytestCollectionWarning: cannot collect test class 'TestDirectory' because it has a __init__ constructor (from: tests/test_main.py) class TestDirectory(object): -- Docs: https://docs.pytest.org/en/latest/warnings.html ============ 2 failed, 156 passed, 47 skipped, 3 warnings in 11.94s ============ command "pytest" "tests" failed with status 1 note: keeping build directory `/tmp/guix-build-python-pyproject2setuppy-20.drv-3' builder for `/gnu/store/g15ah2jd1xlmvg22h3nhfhp7x778n7mw-python-pyproject2setuppy-20.drv' failed with exit code 1 build of /gnu/store/g15ah2jd1xlmvg22h3nhfhp7x778n7mw-python-pyproject2setuppy-20.drv failed Could not find build log for '/gnu/store/g15ah2jd1xlmvg22h3nhfhp7x778n7mw-python-pyproject2setuppy-20.drv'. guix build: error: build of `/gnu/store/g15ah2jd1xlmvg22h3nhfhp7x778n7mw-python-pyproject2setuppy-20.drv' failed all best, jgart 3B1D 7F19 E36B B60C 0F5B 2CA9 A52A A2B4 77B6 DD35
Hi, jgart <jgart@dismail.de> writes: > Hi this is a WIP. > > I'll send another patch soon once I figure it out. > > Tests are currently failing: > > phase `wrap' succeeded after 0.0 seconds > starting phase `check' > ============================= test session starts ============================== > platform linux -- Python 3.8.2, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 > rootdir: /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source, inifile: setup.cfg > plugins: hypothesis-5.4.1, forked-1.3.0 > collected 205 items > > tests/test_common.py ... [ 1%] > tests/test_flit.py ...s...s...s...s...s...s...s...s...s...s...s...s...s [ 26%] > tests/test_flit_pep621.py ...s...s...s...s...s...s...s...s...s...s...s.. [ 49%] > .s...s...s [ 54%] > tests/test_main.py ...... [ 57%] > tests/test_poetry.py ...s...s...s...s...s...s...s...s...s...s...s...s... [ 81%] > s...s...s...s...s...s...s...s [ 96%] > tests/test_setuptools.py ...F...F [100%] We haven't gotten an update in some time. Should we close this? Thank you. Maxim
On Thu, 07 Jul 2022 14:03:42 -0400 Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: > Hi, > > jgart <jgart@dismail.de> writes: > > > Hi this is a WIP. > > > > I'll send another patch soon once I figure it out. > > > > Tests are currently failing: > > > > phase `wrap' succeeded after 0.0 seconds > > starting phase `check' > > ============================= test session starts ============================== > > platform linux -- Python 3.8.2, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 > > rootdir: /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source, inifile: setup.cfg > > plugins: hypothesis-5.4.1, forked-1.3.0 > > collected 205 items > > > > tests/test_common.py ... [ 1%] > > tests/test_flit.py ...s...s...s...s...s...s...s...s...s...s...s...s...s [ 26%] > > tests/test_flit_pep621.py ...s...s...s...s...s...s...s...s...s...s...s.. [ 49%] > > .s...s...s [ 54%] > > tests/test_main.py ...... [ 57%] > > tests/test_poetry.py ...s...s...s...s...s...s...s...s...s...s...s...s... [ 81%] > > s...s...s...s...s...s...s...s [ 96%] > > tests/test_setuptools.py ...F...F [100%] > > We haven't gotten an update in some time. > > Should we close this? > > Thank you. > > Maxim Sure, feel free to. I'll get back to it when I need it or maybe someone else will pick it up.
Hello, jgart <jgart@dismail.de> writes: > On Thu, 07 Jul 2022 14:03:42 -0400 Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: >> Hi, >> >> jgart <jgart@dismail.de> writes: >> >> > Hi this is a WIP. >> > >> > I'll send another patch soon once I figure it out. >> > >> > Tests are currently failing: >> > >> > phase `wrap' succeeded after 0.0 seconds >> > starting phase `check' >> > ============================= test session starts ============================== >> > platform linux -- Python 3.8.2, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 >> > rootdir: /tmp/guix-build-python-pyproject2setuppy-20.drv-0/source, inifile: setup.cfg >> > plugins: hypothesis-5.4.1, forked-1.3.0 >> > collected 205 items >> > >> > tests/test_common.py ... [ 1%] >> > tests/test_flit.py ...s...s...s...s...s...s...s...s...s...s...s...s...s [ 26%] >> > tests/test_flit_pep621.py ...s...s...s...s...s...s...s...s...s...s...s.. [ 49%] >> > .s...s...s [ 54%] >> > tests/test_main.py ...... [ 57%] >> > tests/test_poetry.py ...s...s...s...s...s...s...s...s...s...s...s...s... [ 81%] >> > s...s...s...s...s...s...s...s [ 96%] >> > tests/test_setuptools.py ...F...F [100%] >> >> We haven't gotten an update in some time. >> >> Should we close this? >> >> Thank you. >> >> Maxim > > Sure, feel free to. > > I'll get back to it when I need it or maybe someone else will pick it up. Thanks, closing. Maxim
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 634cd5efec..577bea8144 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -27266,6 +27266,33 @@ and powerful way to handle real-world data, featuring: @end itemize") (license license:bsd-3))) +(define-public python-pyproject2setuppy + (package + (name "python-pyproject2setuppy") + (version "20") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyproject2setuppy" version)) + (sha256 + (base32 "1bfms0mpi6ijgxfl2v7nirjld3yph13fbqm29fx007kj0w14m2pw")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-forked" ,python-pytest-forked))) + (propagated-inputs + `(("python-toml" ,python-toml) + ;; ignore linter because setuptools library functions are used directly + ("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/mgorny/pyproject2setuppy") + (synopsis "Build pyproject.toml-based projects using setuptools") + (description +"@command{pyproject2setuppy} is a tool to install pyproject.toml-based +packages using plain setuptools. It maps the project metadata into +@code{setup()} call arguments, making it possible to build them without +installing the dependency hell of the new build systems.") + (license license:bsd-2))) + (define-public python-box (package (name "python-box")