Description of problem: Package python-eth-keys fails to build from source in Fedora Rawhide. Version-Release number of selected component (if applicable): 0.7.0-6.fc44 Steps to Reproduce: koji build --scratch f45 python-eth-keys-0.7.0-6.fc44.src.rpm Additional info: This package is tracked by Koschei. See: https://koschei.fedoraproject.org/package/python-eth-keys Reproducible: Always Actual Results: ____________ ERROR at setup of test_public_key_generation_is_equal _____________ self = <eth_keys.backends.coincurve.CoinCurveECCBackend object at 0x7fffae5ab9d0> def __init__(self) -> None: try: > import coincurve __class__ = <class 'eth_keys.backends.coincurve.CoinCurveECCBackend'> self = <eth_keys.backends.coincurve.CoinCurveECCBackend object at 0x7fffae5ab9d0> ../BUILDROOT/usr/lib/python3.14/site-packages/eth_keys/backends/coincurve.py:42: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/coincurve/__init__.py:1: in <module> from coincurve.context import GLOBAL_CONTEXT, Context __builtins__ = <builtins> __cached__ = '/usr/lib/python3.14/site-packages/coincurve/__pycache__/__init__.cpython-314.pyc' __doc__ = None __file__ = '/usr/lib/python3.14/site-packages/coincurve/__init__.py' __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fffae2b8c50> __name__ = 'coincurve' __package__ = 'coincurve' __path__ = ['/usr/lib/python3.14/site-packages/coincurve'] __spec__ = ModuleSpec(name='coincurve', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fffae2b8c50>, origin='/u...n3.14/site-packages/coincurve/__init__.py', submodule_search_locations=['/usr/lib/python3.14/site-packages/coincurve']) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from __future__ import annotations from os import urandom from threading import Lock > from coincurve._libsecp256k1 import ffi, lib E ModuleNotFoundError: No module named '_cffi_backend' Lock = <class '_thread.lock'> __builtins__ = <builtins> __cached__ = '/usr/lib/python3.14/site-packages/coincurve/__pycache__/context.cpython-314.pyc' __doc__ = None __file__ = '/usr/lib/python3.14/site-packages/coincurve/context.py' __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fffae2b8cb0> __name__ = 'coincurve.context' __package__ = 'coincurve' __spec__ = ModuleSpec(name='coincurve.context', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fffae2b8cb0>, origin='/usr/lib/python3.14/site-packages/coincurve/context.py') annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) urandom = <built-in function urandom> /usr/lib/python3.14/site-packages/coincurve/context.py:6: ModuleNotFoundError During handling of the above exception, another exception occurred: @pytest.fixture(scope="module") def coincurve_key_api(): > return KeyAPI(backend=CoinCurveECCBackend()) ^^^^^^^^^^^^^^^^^^^^^ tests/backends/test_native_backend_against_coincurve.py:49: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <eth_keys.backends.coincurve.CoinCurveECCBackend object at 0x7fffae5ab9d0> def __init__(self) -> None: try: import coincurve except ImportError: > raise ImportError( "The CoinCurveECCBackend requires the coincurve " "library which is not available for import." ) E ImportError: The CoinCurveECCBackend requires the coincurve library which is not available for import. __class__ = <class 'eth_keys.backends.coincurve.CoinCurveECCBackend'> self = <eth_keys.backends.coincurve.CoinCurveECCBackend object at 0x7fffae5ab9d0> ../BUILDROOT/usr/lib/python3.14/site-packages/eth_keys/backends/coincurve.py:44: ImportError
Fixed by adding python3-cffi to BuildRequires. The missing _cffi_backend module (provided by python3-cffi) was causing coincurve to fail to import during tests. python-eth-keys-0.7.0-7.fc45 fully addresses this FTBFS issue.