cython-3 update is blocked by several packages here (numpy, scikit-learn). At least with cython-0.29.36, dev-python/zeroconf-0.86.0 conpiles fine while 0.87.0 fails: gpep517 build-wheel --backend poetry.core.masonry.api --output-fd 3 --wheel-dir /var/tmp/portage/dev-python/zeroconf-0.87.0/work/zeroconf-0.87.0-python3_11/wheel 2023-08-29 10:34:02,541 gpep517 INFO Building wheel via backend poetry.core.masonry.api 2023-08-29 10:34:02,653 poetry.core.masonry.builders.wheel INFO Building wheel fatal: not a git repository (or any of the parent directories): .git 2023-08-29 10:34:02,674 poetry.core.masonry.builders.sdist WARNING A setup.py file already exists. Using it. Error compiling Cython file: ------------------------------------------------------------ ... for listener in self.listeners: listener.async_update_records_complete() if notify: self.zc.async_notify_all() def async_updates_from_response(self, msg: DNSIncoming) -> None: ^ ------------------------------------------------------------ src/zeroconf/_handlers/record_manager.py:72:42: Compiler crash in AnalyseDeclarationsTransform File 'ModuleNode.py', line 124, in analyse_declarations: ModuleNode(record_manager.py:1:0, doc = ' Multicast DNS Service Discovery for Python, v0.14-wmcbrine\n Copyright 2003 Paul Scott-Murphy, 2014 William McBrine\n\n This module provides a framework for the use of DNS Service Discovery\n using IP multicast.\n\n This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n\n This library is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301\n USA\n', full_module_name = 'zeroconf._handlers.record_manager') File 'Nodes.py', line 431, in analyse_declarations: StatListNode(record_manager.py:23:0) File 'Nodes.py', line 4817, in analyse_declarations: CClassDefNode(record_manager.py:37:0, class_name = 'RecordManager', doc = 'Process records into the cache and notify listeners.', visibility = 'private') File 'Nodes.py', line 431, in analyse_declarations: StatListNode(record_manager.py:38:4) File 'Nodes.py', line 2359, in analyse_declarations: CFuncDefNode(record_manager.py:72:4, doc = 'Deal with incoming response packets. All answers\n are held in the cache, and listeners are notified.\n\n This function must be run in the event loop as it is not\n threadsafe.\n ', is_c_class_method = 1, modifiers = [...]/0, overridable = 1, visibility = 'private') File 'Nodes.py', line 681, in analyse: CFuncDeclaratorNode(record_manager.py:72:4, calling_convention = '') File 'Nodes.py', line 909, in analyse: CArgDeclNode(record_manager.py:72:42, is_generic = 1, outer_attrs = [...]/2) Compiler crash traceback from this point on: File "/usr/lib/python3.11/site-packages/Cython/Compiler/Nodes.py", line 909, in analyse if self.annotation and env and env.directives['annotation_typing'] and self.base_type.name is None: ^^^^^^^^^^^^^^^^^^^ AttributeError: 'CAnalysedBaseTypeNode' object has no attribute 'name' Compiling src/zeroconf/_dns.py because it changed. Compiling src/zeroconf/_cache.py because it changed. Compiling src/zeroconf/_history.py because it changed. Compiling src/zeroconf/_listener.py because it changed. Compiling src/zeroconf/_protocol/incoming.py because it changed. Compiling src/zeroconf/_protocol/outgoing.py because it changed. Compiling src/zeroconf/_handlers/record_manager.py because it changed. Compiling src/zeroconf/_services/registry.py because it changed. [1/8] Cythonizing src/zeroconf/_cache.py [2/8] Cythonizing src/zeroconf/_dns.py [3/8] Cythonizing src/zeroconf/_handlers/record_manager.py Traceback (most recent call last): File "/var/tmp/portage/dev-python/zeroconf-0.87.0/work/zeroconf-0.87.0/setup.py", line 41, in <module> build(setup_kwargs) File "/var/tmp/portage/dev-python/zeroconf-0.87.0/work/zeroconf-0.87.0/build_ext.py", line 24, in build ext_modules=cythonize( ^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1120, in cythonize cythonize_one(*args) File "/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1243, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: src/zeroconf/_handlers/record_manager.py Traceback (most recent call last): File "/usr/lib/python-exec/python3.11/gpep517", line 4, in <module> sys.exit(main()) ^^^^^^ File "/usr/lib/python3.11/site-packages/gpep517/__main__.py", line 425, in main return func(args) ^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gpep517/__main__.py", line 215, in build_wheel print(build_wheel_impl(args, args.wheel_dir), file=out) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gpep517/__main__.py", line 207, in build_wheel_impl wheel_name = backend.build_wheel(str(wheel_dir), args.config_json) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/poetry/core/masonry/api.py", line 57, in build_wheel return WheelBuilder.make_in( ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 87, in make_in wb.build(target_dir=directory) File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 120, in build self._build(zip_file) File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 181, in _build self._run_build_command(setup) File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 219, in _run_build_command subprocess.check_call( File "/usr/lib/python3.11/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/python3.11', '/var/tmp/portage/dev-python/zeroconf-0.87.0/work/zeroconf-0.87.0/setup.py', 'build', '-b', '/var/tmp/portage/dev-python/zeroconf-0.87.0/work/zeroconf-0.87.0/build']' returned non-zero exit status 1. [31;01m*[0m ERROR: dev-python/zeroconf-0.87.0::gentoo failed (compile phase): [31;01m*[0m Wheel build failed Reproducible: Always
Unfortunately, that seems to be a regular problem here as upstream tests only with Cython-3. The previous time it happened, the next release was fixed, so there's some hope, though. For the time being, I'm afraid you'd have to either stay with the older version or switch Cython versions as you go.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75531730c12dca32d9ad16ca080d852bb453403f commit 75531730c12dca32d9ad16ca080d852bb453403f Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-08-29 10:48:57 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-08-29 11:20:10 +0000 dev-python/zeroconf: Require >=dev-python/cython-3 in 0.87.0 Closes: https://bugs.gentoo.org/913204 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/zeroconf/zeroconf-0.87.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)