I agree with you that the best approach would be to fix ports to work with the newer version.
________________________________________ 发件人: Stuart Henderson <s...@spacehopper.org> 发送时间: 2024年4月16日 20:22 收件人: wen heping 抄送: ports@openbsd.org 主题: Re: shall we create new port lang/cython3 ? On 2024/04/16 11:10, wen heping wrote: > Hi, ports@: > > Here is a patch to create new lang/cython3. > cython3 is not campatible with cython, many ports depends on cython > in OpenBSD portstree could not build with cython3, but the update of some > other port, such as astro/py-astropy, require cython3. > Shall we create lang/cython3 ? > > > Regards, > wen @conflict ${MODPY_PY_PREFIX}cython-<0.29.21p1 @conflict py-cython-* @pkgpath lang/cython Copying these directly from the existing port is incorrect bin/cygdb bin/cython bin/cythonize lib/python${MODPY_VERSION}/site-packages/Cython/ lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/ lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/COPYING.txt lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/LICENSE.txt lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/METADATA lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/RECORD lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/WHEEL lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/entry_points.txt lib/python${MODPY_VERSION}/site-packages/Cython-${MODPY_EGG_VERSION}.dist-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/Cython/Build/ lib/python${MODPY_VERSION}/site-packages/Cython/Build/BuildExecutable.py lib/python${MODPY_VERSION}/site-packages/Cython/Build/Cythonize.py lib/python${MODPY_VERSION}/site-packages/Cython/Build/Dependencies.py ... The files cannot conflict with lang/cython, it will break bulk builds of packages. To allow both versions in parallel, binaries would need to be renamed or moved to alternative directory, and the Python module would need to be renamed, and ports using it would need patches to use the new name. This is not sustainable. (If we really did need to do that, it would be better to rename old-cython so that we don't need to patch new things, and it eventually disappears). The best approach would be to fix ports to work with the newer version (or, if there are ports which are no longer useful, remove them). This is likely to be simpler than other approaches. There are ~40 ports using cython in the first place, and some are already held back at old versions due to updates requiring cython >=3. Presumably some will build with either version. So we need to know which ports are actually broken.