Description of problem: MUSIC is not compatible with Cython 3 Version-Release number of selected component (if applicable): 1.1.16-11.20201002git8c6b77a.fc39 How reproducible: Steps to Reproduce: 1. Ensure the spec file does not upper-bound the Cython version 2. Build the package Actual results: [1/1] Cythonizing pybuffer.pyx make[2]: Leaving directory '/builddir/build/BUILD/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16-mpich/pymusic' /usr/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /builddir/build/BUILD/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16-mpich/pymusic/pybuffer.pxd tree = Parsing.p_module(s, pxd, full_module_name) warning: pyconfig.pxi:1:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: pybuffer.pxd:8:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 Error compiling Cython file: ------------------------------------------------------------ ... raise TypeError("object does not present buffer interface") cdef Py_buffer* pybuf = &self.pybuf PyObject_GetBuffer(data, pybuf, bufflags) self.dtype = TypeDict[getformat(pybuf)] self.items = pybuf.len / pybuf.itemsize ^ ------------------------------------------------------------ pybuffer.pyx:63:31: Cannot assign type 'double' to 'Py_ssize_t' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize cythonize_one(*args) File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: pybuffer.pyx Expected results: Package builds with Cython 3. Additional info: This is probably pretty straightforward to fix. Iām not looking into it right now, though, and I have not attempted to report it upstream. I do not know if this is fixed in the latest release, bug 2224362; I doubt it.
PR to pin the Cython version and use the compat package for now: https://src.fedoraproject.org/rpms/MUSIC/pull-request/2
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle. Changing version to 39.