From: Stuart Henderson Subject: Re: shall we create new port lang/cython3 ? To: wen heping Cc: "ports@openbsd.org" Date: Tue, 16 Apr 2024 13:22:21 +0100 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.