Hello packagers. During the rebuilds for Python 3.8, we have found out that your package most likely has precythonized C sources.
There was an update to Cython and the C sources needs to be regenerated. In line with Fedora packaging policies and guidelines, this should be done anyway.
What needs to be done:
1. BR python3-Cython 2. figure out what C sources come from Cython sources look for: /* Generated by Cython <version> */ on the top of them often, all .c files are generated from Cython sources, but not always 3. in %prep, delete those files
If you build for Python 2 and Python 3, I recommend to only BR python3-Cython and not python2-Cython, run %py3_build before %py2_build (Cython produces the same sources on both Python versions).
Some setup.py files have custom detection whether Cython needs to be run, if the above doesn't work alone, examine setup.py and search for "cython".
When you do this, reply to this thread, so we know we should rebuild your package for 3.8 in https://copr.fedorainfracloud.org/coprs/g/python/python3.8/
Thank you for you help.
Maintainers by package: afflib kwizart rebus mpi4py deji tomspur portmidi bsjones mjg xavierb python-PyMuPDF swt2c python-compreffor athoscr python-cytoolz orion python-http-parser bkabrda ralph python-indexed_gzip ankursinha python-llfuse dfateyev maci python-pandas kushal orion sergiopr wakko666 python-pybloomfiltermmap athmane python-pykdtree qulogic python-sep sergiopr python-shapely jcp volter python-ssh2-python ignatenkobrain python-wsaccel jujens scipy cstratak jspaleta orion tomspur ttomecek
Packages by maintainer: ankursinha python-indexed_gzip athmane python-pybloomfiltermmap athoscr python-compreffor bkabrda python-http-parser bsjones portmidi cstratak scipy deji mpi4py dfateyev python-llfuse ignatenkobrain python-ssh2-python jcp python-shapely jspaleta scipy jujens python-wsaccel kushal python-pandas kwizart afflib maci python-llfuse mjg portmidi orion python-cytoolz python-pandas scipy qulogic python-pykdtree ralph python-http-parser rebus afflib sergiopr python-pandas python-sep swt2c python-PyMuPDF tomspur mpi4py scipy ttomecek scipy volter python-shapely wakko666 python-pandas xavierb portmidi
Hi there
I have rebuilt
https://apps.fedoraproject.org/packages/portmidi
with cythonizing during build rather than using the project-shipped ancient cython output. Is this change supposed to trickle down to F30? (The package itself needs to go away sooner or later anyways.)
MIchael
On 20. 05. 19 14:47, Michael J Gruber wrote:
Hi there
I have rebuilt
https://apps.fedoraproject.org/packages/portmidi
with cythonizing during build rather than using the project-shipped ancient cython output. Is this change supposed to trickle down to F30?
Thanks, all we need is a rawhide push.
On 20. 05. 19 14:47, Michael J Gruber wrote:
Hi there
I have rebuilt
Here's is another thing that needs to be changed in portmidi for Python 3.8:
https://src.fedoraproject.org/rpms/portmidi/pull-request/2
On Mon, 20 May 2019, Miro Hrončok wrote:
Hello packagers. During the rebuilds for Python 3.8, we have found out that your package most likely has precythonized C sources.
There was an update to Cython and the C sources needs to be regenerated. In line with Fedora packaging policies and guidelines, this should be done anyway.
What needs to be done:
- BR python3-Cython
- figure out what C sources come from Cython sources
look for: /* Generated by Cython <version> */ on the top of them often, all .c files are generated from Cython sources, but not always 3. in %prep, delete those files
If you build for Python 2 and Python 3, I recommend to only BR python3-Cython and not python2-Cython, run %py3_build before %py2_build (Cython produces the same sources on both Python versions).
Some setup.py files have custom detection whether Cython needs to be run, if the above doesn't work alone, examine setup.py and search for "cython".
When you do this, reply to this thread, so we know we should rebuild your package for 3.8 in https://copr.fedorainfracloud.org/coprs/g/python/python3.8/
swt2c python-PyMuPDF
Actually, for python-PyMuPDF, it's worse. PyMuPDF is a python binding for mupdf, a C library. Unfortunately, mupdf insists on not maintaining a stable API and will not provide shared libraries. Thus, the current problem is that mupdf has been updated in Rawhide to 1.15, but upstream PyMuPDF hasn't updated to the new API yet. So, PyMuPDF FTBFS because of that. :(
Scott
python-devel@lists.fedoraproject.org