pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-cython-legacy: Resurrect pre-3.0.0 cython for py-macs2



Module Name:	pkgsrc-wip
Committed By:	Jason W. Bacon <bacon%NetBSD.org@localhost>
Pushed By:	outpaddling
Date:		Fri Nov 17 07:35:56 2023 -0600
Changeset:	fd52ddaed9f9be35513b2d0115423786582a3894

Added Files:
	py-cython-legacy/ALTERNATIVES
	py-cython-legacy/DESCR
	py-cython-legacy/Makefile
	py-cython-legacy/PLIST
	py-cython-legacy/TODO
	py-cython-legacy/buildlink3.mk
	py-cython-legacy/distinfo
	py-cython-legacy/patches/patch-Cython_Distutils_old__build__ext.py
	py-cython-legacy/patches/patch-Demos_embed_Makefile
	py-cython-legacy/patches/patch-runtests.py
	py-cython-legacy/tool.mk

Log Message:
py-cython-legacy: Resurrect pre-3.0.0 cython for py-macs2

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=fd52ddaed9f9be35513b2d0115423786582a3894

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 py-cython-legacy/ALTERNATIVES                      |   3 +
 py-cython-legacy/DESCR                             |  14 +
 py-cython-legacy/Makefile                          |  35 ++
 py-cython-legacy/PLIST                             | 546 +++++++++++++++++++++
 py-cython-legacy/TODO                              |   1 +
 py-cython-legacy/buildlink3.mk                     |  12 +
 py-cython-legacy/distinfo                          |   8 +
 .../patch-Cython_Distutils_old__build__ext.py      |  16 +
 .../patches/patch-Demos_embed_Makefile             |  15 +
 py-cython-legacy/patches/patch-runtests.py         |  30 ++
 py-cython-legacy/tool.mk                           |  28 ++
 11 files changed, 708 insertions(+)

diffs:
diff --git a/py-cython-legacy/ALTERNATIVES b/py-cython-legacy/ALTERNATIVES
new file mode 100644
index 0000000000..dfa9d97938
--- /dev/null
+++ b/py-cython-legacy/ALTERNATIVES
@@ -0,0 +1,3 @@
+bin/cygdb @PREFIX@/bin/cygdb-@PYVERSSUFFIX@
+bin/cython @PREFIX@/bin/cython-@PYVERSSUFFIX@
+bin/cythonize @PREFIX@/bin/cythonize-@PYVERSSUFFIX@
diff --git a/py-cython-legacy/DESCR b/py-cython-legacy/DESCR
new file mode 100644
index 0000000000..3c57b208ba
--- /dev/null
+++ b/py-cython-legacy/DESCR
@@ -0,0 +1,14 @@
+The Cython language makes writing C extensions for the Python language
+as easy as Python itself. Cython is a source code translator based on
+the well-known Pyrex, but supports more cutting edge functionality and
+optimizations.
+
+The Cython language is very close to the Python language (and most
+Python code is also valid Cython code), but Cython additionally supports
+calling C functions and declaring C types on variables and class
+attributes. This allows the compiler to generate very efficient C code
+from Cython code.
+
+This makes Cython the ideal language for writing glue code for external
+C libraries, and for fast C modules that speed up the execution of
+Python code.
diff --git a/py-cython-legacy/Makefile b/py-cython-legacy/Makefile
new file mode 100644
index 0000000000..b80b2e8c49
--- /dev/null
+++ b/py-cython-legacy/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD: Makefile,v 1.84 2023/07/05 12:29:28 adam Exp $
+
+DISTNAME=	Cython-0.29.36
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME:tl}
+CATEGORIES=	devel python
+MASTER_SITES=	${MASTER_SITE_PYPI:=C/Cython/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://cython.org/
+COMMENT=	C-Extensions for Python
+LICENSE=	apache-1.1
+
+REPLACE_PYTHON+=	Cython/Build/Cythonize.py
+REPLACE_PYTHON+=	Cython/Debugger/Cygdb.py
+REPLACE_PYTHON+=	Cython/Debugger/libpython.py
+REPLACE_PYTHON+=	cython.py
+
+USE_PKG_RESOURCES=	yes
+
+# for test only
+#USE_LANGUAGES=	c c++
+do-test:
+	cd ${WRKSRC} && ${PYTHONBIN} runtests.py
+
+post-install:
+	cd ${DESTDIR}${PREFIX}/bin && \
+	${MV} cython cython0-${PYVERSSUFFIX} && \
+	${MV} cythonize cythonize0-${PYVERSSUFFIX} && \
+	${MV} cygdb cygdb0-${PYVERSSUFFIX} || ${TRUE}
+
+.include "../../lang/python/application.mk"
+.include "../../lang/python/egg.mk"
+# for test only
+#.include "../../math/py-numpy/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-cython-legacy/PLIST b/py-cython-legacy/PLIST
new file mode 100644
index 0000000000..a88db0513d
--- /dev/null
+++ b/py-cython-legacy/PLIST
@@ -0,0 +1,546 @@
+@comment $NetBSD: PLIST,v 1.28 2021/02/21 12:50:44 adam Exp $
+bin/cygdb-${PYVERSSUFFIX}
+bin/cython-${PYVERSSUFFIX}
+bin/cythonize-${PYVERSSUFFIX}
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/Cython/Build/BuildExecutable.py
+${PYSITELIB}/Cython/Build/BuildExecutable.pyc
+${PYSITELIB}/Cython/Build/BuildExecutable.pyo
+${PYSITELIB}/Cython/Build/Cythonize.py
+${PYSITELIB}/Cython/Build/Cythonize.pyc
+${PYSITELIB}/Cython/Build/Cythonize.pyo
+${PYSITELIB}/Cython/Build/Dependencies.py
+${PYSITELIB}/Cython/Build/Dependencies.pyc
+${PYSITELIB}/Cython/Build/Dependencies.pyo
+${PYSITELIB}/Cython/Build/Distutils.py
+${PYSITELIB}/Cython/Build/Distutils.pyc
+${PYSITELIB}/Cython/Build/Distutils.pyo
+${PYSITELIB}/Cython/Build/Inline.py
+${PYSITELIB}/Cython/Build/Inline.pyc
+${PYSITELIB}/Cython/Build/Inline.pyo
+${PYSITELIB}/Cython/Build/IpythonMagic.py
+${PYSITELIB}/Cython/Build/IpythonMagic.pyc
+${PYSITELIB}/Cython/Build/IpythonMagic.pyo
+${PYSITELIB}/Cython/Build/Tests/TestCyCache.py
+${PYSITELIB}/Cython/Build/Tests/TestCyCache.pyc
+${PYSITELIB}/Cython/Build/Tests/TestCyCache.pyo
+${PYSITELIB}/Cython/Build/Tests/TestInline.py
+${PYSITELIB}/Cython/Build/Tests/TestInline.pyc
+${PYSITELIB}/Cython/Build/Tests/TestInline.pyo
+${PYSITELIB}/Cython/Build/Tests/TestIpythonMagic.py
+${PYSITELIB}/Cython/Build/Tests/TestIpythonMagic.pyc
+${PYSITELIB}/Cython/Build/Tests/TestIpythonMagic.pyo
+${PYSITELIB}/Cython/Build/Tests/TestStripLiterals.py
+${PYSITELIB}/Cython/Build/Tests/TestStripLiterals.pyc
+${PYSITELIB}/Cython/Build/Tests/TestStripLiterals.pyo
+${PYSITELIB}/Cython/Build/Tests/__init__.py
+${PYSITELIB}/Cython/Build/Tests/__init__.pyc
+${PYSITELIB}/Cython/Build/Tests/__init__.pyo
+${PYSITELIB}/Cython/Build/__init__.py
+${PYSITELIB}/Cython/Build/__init__.pyc
+${PYSITELIB}/Cython/Build/__init__.pyo
+${PYSITELIB}/Cython/CodeWriter.py
+${PYSITELIB}/Cython/CodeWriter.pyc
+${PYSITELIB}/Cython/CodeWriter.pyo
+${PYSITELIB}/Cython/Compiler/AnalysedTreeTransforms.py
+${PYSITELIB}/Cython/Compiler/AnalysedTreeTransforms.pyc
+${PYSITELIB}/Cython/Compiler/AnalysedTreeTransforms.pyo
+${PYSITELIB}/Cython/Compiler/Annotate.py
+${PYSITELIB}/Cython/Compiler/Annotate.pyc
+${PYSITELIB}/Cython/Compiler/Annotate.pyo
+${PYSITELIB}/Cython/Compiler/AutoDocTransforms.py
+${PYSITELIB}/Cython/Compiler/AutoDocTransforms.pyc
+${PYSITELIB}/Cython/Compiler/AutoDocTransforms.pyo
+${PYSITELIB}/Cython/Compiler/Buffer.py
+${PYSITELIB}/Cython/Compiler/Buffer.pyc
+${PYSITELIB}/Cython/Compiler/Buffer.pyo
+${PYSITELIB}/Cython/Compiler/Builtin.py
+${PYSITELIB}/Cython/Compiler/Builtin.pyc
+${PYSITELIB}/Cython/Compiler/Builtin.pyo
+${PYSITELIB}/Cython/Compiler/CmdLine.py
+${PYSITELIB}/Cython/Compiler/CmdLine.pyc
+${PYSITELIB}/Cython/Compiler/CmdLine.pyo
+${PYSITELIB}/Cython/Compiler/Code.pxd
+${PYSITELIB}/Cython/Compiler/Code.py
+${PYSITELIB}/Cython/Compiler/Code.pyc
+${PYSITELIB}/Cython/Compiler/Code.pyo
+${PYSITELIB}/Cython/Compiler/CodeGeneration.py
+${PYSITELIB}/Cython/Compiler/CodeGeneration.pyc
+${PYSITELIB}/Cython/Compiler/CodeGeneration.pyo
+${PYSITELIB}/Cython/Compiler/CythonScope.py
+${PYSITELIB}/Cython/Compiler/CythonScope.pyc
+${PYSITELIB}/Cython/Compiler/CythonScope.pyo
+${PYSITELIB}/Cython/Compiler/DebugFlags.py
+${PYSITELIB}/Cython/Compiler/DebugFlags.pyc
+${PYSITELIB}/Cython/Compiler/DebugFlags.pyo
+${PYSITELIB}/Cython/Compiler/Errors.py
+${PYSITELIB}/Cython/Compiler/Errors.pyc
+${PYSITELIB}/Cython/Compiler/Errors.pyo
+${PYSITELIB}/Cython/Compiler/ExprNodes.py
+${PYSITELIB}/Cython/Compiler/ExprNodes.pyc
+${PYSITELIB}/Cython/Compiler/ExprNodes.pyo
+${PYSITELIB}/Cython/Compiler/FlowControl.pxd
+${PYSITELIB}/Cython/Compiler/FlowControl.py
+${PYSITELIB}/Cython/Compiler/FlowControl.pyc
+${PYSITELIB}/Cython/Compiler/FlowControl.pyo
+${PYSITELIB}/Cython/Compiler/FlowControl.so
+${PYSITELIB}/Cython/Compiler/FusedNode.py
+${PYSITELIB}/Cython/Compiler/FusedNode.pyc
+${PYSITELIB}/Cython/Compiler/FusedNode.pyo
+${PYSITELIB}/Cython/Compiler/FusedNode.so
+${PYSITELIB}/Cython/Compiler/Future.py
+${PYSITELIB}/Cython/Compiler/Future.pyc
+${PYSITELIB}/Cython/Compiler/Future.pyo
+${PYSITELIB}/Cython/Compiler/Interpreter.py
+${PYSITELIB}/Cython/Compiler/Interpreter.pyc
+${PYSITELIB}/Cython/Compiler/Interpreter.pyo
+${PYSITELIB}/Cython/Compiler/Lexicon.py
+${PYSITELIB}/Cython/Compiler/Lexicon.pyc
+${PYSITELIB}/Cython/Compiler/Lexicon.pyo
+${PYSITELIB}/Cython/Compiler/Main.py
+${PYSITELIB}/Cython/Compiler/Main.pyc
+${PYSITELIB}/Cython/Compiler/Main.pyo
+${PYSITELIB}/Cython/Compiler/MemoryView.py
+${PYSITELIB}/Cython/Compiler/MemoryView.pyc
+${PYSITELIB}/Cython/Compiler/MemoryView.pyo
+${PYSITELIB}/Cython/Compiler/ModuleNode.py
+${PYSITELIB}/Cython/Compiler/ModuleNode.pyc
+${PYSITELIB}/Cython/Compiler/ModuleNode.pyo
+${PYSITELIB}/Cython/Compiler/Naming.py
+${PYSITELIB}/Cython/Compiler/Naming.pyc
+${PYSITELIB}/Cython/Compiler/Naming.pyo
+${PYSITELIB}/Cython/Compiler/Nodes.py
+${PYSITELIB}/Cython/Compiler/Nodes.pyc
+${PYSITELIB}/Cython/Compiler/Nodes.pyo
+${PYSITELIB}/Cython/Compiler/Optimize.py
+${PYSITELIB}/Cython/Compiler/Optimize.pyc
+${PYSITELIB}/Cython/Compiler/Optimize.pyo
+${PYSITELIB}/Cython/Compiler/Options.py
+${PYSITELIB}/Cython/Compiler/Options.pyc
+${PYSITELIB}/Cython/Compiler/Options.pyo
+${PYSITELIB}/Cython/Compiler/ParseTreeTransforms.pxd
+${PYSITELIB}/Cython/Compiler/ParseTreeTransforms.py
+${PYSITELIB}/Cython/Compiler/ParseTreeTransforms.pyc
+${PYSITELIB}/Cython/Compiler/ParseTreeTransforms.pyo
+${PYSITELIB}/Cython/Compiler/Parsing.pxd
+${PYSITELIB}/Cython/Compiler/Parsing.py
+${PYSITELIB}/Cython/Compiler/Parsing.pyc
+${PYSITELIB}/Cython/Compiler/Parsing.pyo
+${PYSITELIB}/Cython/Compiler/Pipeline.py
+${PYSITELIB}/Cython/Compiler/Pipeline.pyc
+${PYSITELIB}/Cython/Compiler/Pipeline.pyo
+${PYSITELIB}/Cython/Compiler/PyrexTypes.py
+${PYSITELIB}/Cython/Compiler/PyrexTypes.pyc
+${PYSITELIB}/Cython/Compiler/PyrexTypes.pyo
+${PYSITELIB}/Cython/Compiler/Pythran.py
+${PYSITELIB}/Cython/Compiler/Pythran.pyc
+${PYSITELIB}/Cython/Compiler/Pythran.pyo
+${PYSITELIB}/Cython/Compiler/Scanning.pxd
+${PYSITELIB}/Cython/Compiler/Scanning.py
+${PYSITELIB}/Cython/Compiler/Scanning.pyc
+${PYSITELIB}/Cython/Compiler/Scanning.pyo
+${PYSITELIB}/Cython/Compiler/Scanning.so
+${PYSITELIB}/Cython/Compiler/StringEncoding.py
+${PYSITELIB}/Cython/Compiler/StringEncoding.pyc
+${PYSITELIB}/Cython/Compiler/StringEncoding.pyo
+${PYSITELIB}/Cython/Compiler/Symtab.py
+${PYSITELIB}/Cython/Compiler/Symtab.pyc
+${PYSITELIB}/Cython/Compiler/Symtab.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestBuffer.py
+${PYSITELIB}/Cython/Compiler/Tests/TestBuffer.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestBuffer.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestCmdLine.py
+${PYSITELIB}/Cython/Compiler/Tests/TestCmdLine.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestCmdLine.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestFlowControl.py
+${PYSITELIB}/Cython/Compiler/Tests/TestFlowControl.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestFlowControl.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestGrammar.py
+${PYSITELIB}/Cython/Compiler/Tests/TestGrammar.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestGrammar.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestMemView.py
+${PYSITELIB}/Cython/Compiler/Tests/TestMemView.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestMemView.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestParseTreeTransforms.py
+${PYSITELIB}/Cython/Compiler/Tests/TestParseTreeTransforms.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestParseTreeTransforms.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestSignatureMatching.py
+${PYSITELIB}/Cython/Compiler/Tests/TestSignatureMatching.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestSignatureMatching.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestStringEncoding.py
+${PYSITELIB}/Cython/Compiler/Tests/TestStringEncoding.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestStringEncoding.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestTreeFragment.py
+${PYSITELIB}/Cython/Compiler/Tests/TestTreeFragment.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestTreeFragment.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestTreePath.py
+${PYSITELIB}/Cython/Compiler/Tests/TestTreePath.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestTreePath.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestTypes.py
+${PYSITELIB}/Cython/Compiler/Tests/TestTypes.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestTypes.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.py
+${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.pyo
+${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.py
+${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.pyc
+${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.pyo
+${PYSITELIB}/Cython/Compiler/Tests/__init__.py
+${PYSITELIB}/Cython/Compiler/Tests/__init__.pyc
+${PYSITELIB}/Cython/Compiler/Tests/__init__.pyo
+${PYSITELIB}/Cython/Compiler/TreeFragment.py
+${PYSITELIB}/Cython/Compiler/TreeFragment.pyc
+${PYSITELIB}/Cython/Compiler/TreeFragment.pyo
+${PYSITELIB}/Cython/Compiler/TreePath.py
+${PYSITELIB}/Cython/Compiler/TreePath.pyc
+${PYSITELIB}/Cython/Compiler/TreePath.pyo
+${PYSITELIB}/Cython/Compiler/TypeInference.py
+${PYSITELIB}/Cython/Compiler/TypeInference.pyc
+${PYSITELIB}/Cython/Compiler/TypeInference.pyo
+${PYSITELIB}/Cython/Compiler/TypeSlots.py
+${PYSITELIB}/Cython/Compiler/TypeSlots.pyc
+${PYSITELIB}/Cython/Compiler/TypeSlots.pyo
+${PYSITELIB}/Cython/Compiler/UtilNodes.py
+${PYSITELIB}/Cython/Compiler/UtilNodes.pyc
+${PYSITELIB}/Cython/Compiler/UtilNodes.pyo
+${PYSITELIB}/Cython/Compiler/UtilityCode.py
+${PYSITELIB}/Cython/Compiler/UtilityCode.pyc
+${PYSITELIB}/Cython/Compiler/UtilityCode.pyo
+${PYSITELIB}/Cython/Compiler/Version.py
+${PYSITELIB}/Cython/Compiler/Version.pyc
+${PYSITELIB}/Cython/Compiler/Version.pyo
+${PYSITELIB}/Cython/Compiler/Visitor.pxd
+${PYSITELIB}/Cython/Compiler/Visitor.py
+${PYSITELIB}/Cython/Compiler/Visitor.pyc
+${PYSITELIB}/Cython/Compiler/Visitor.pyo
+${PYSITELIB}/Cython/Compiler/Visitor.so
+${PYSITELIB}/Cython/Compiler/__init__.py
+${PYSITELIB}/Cython/Compiler/__init__.pyc
+${PYSITELIB}/Cython/Compiler/__init__.pyo
+${PYSITELIB}/Cython/Coverage.py
+${PYSITELIB}/Cython/Coverage.pyc
+${PYSITELIB}/Cython/Coverage.pyo
+${PYSITELIB}/Cython/Debugger/Cygdb.py
+${PYSITELIB}/Cython/Debugger/Cygdb.pyc
+${PYSITELIB}/Cython/Debugger/Cygdb.pyo
+${PYSITELIB}/Cython/Debugger/DebugWriter.py
+${PYSITELIB}/Cython/Debugger/DebugWriter.pyc
+${PYSITELIB}/Cython/Debugger/DebugWriter.pyo
+${PYSITELIB}/Cython/Debugger/Tests/TestLibCython.py
+${PYSITELIB}/Cython/Debugger/Tests/TestLibCython.pyc
+${PYSITELIB}/Cython/Debugger/Tests/TestLibCython.pyo
+${PYSITELIB}/Cython/Debugger/Tests/__init__.py
+${PYSITELIB}/Cython/Debugger/Tests/__init__.pyc
+${PYSITELIB}/Cython/Debugger/Tests/__init__.pyo
+${PYSITELIB}/Cython/Debugger/Tests/cfuncs.c
+${PYSITELIB}/Cython/Debugger/Tests/codefile
+${PYSITELIB}/Cython/Debugger/Tests/test_libcython_in_gdb.py
+${PYSITELIB}/Cython/Debugger/Tests/test_libcython_in_gdb.pyc
+${PYSITELIB}/Cython/Debugger/Tests/test_libcython_in_gdb.pyo
+${PYSITELIB}/Cython/Debugger/Tests/test_libpython_in_gdb.py
+${PYSITELIB}/Cython/Debugger/Tests/test_libpython_in_gdb.pyc
+${PYSITELIB}/Cython/Debugger/Tests/test_libpython_in_gdb.pyo
+${PYSITELIB}/Cython/Debugger/__init__.py
+${PYSITELIB}/Cython/Debugger/__init__.pyc
+${PYSITELIB}/Cython/Debugger/__init__.pyo
+${PYSITELIB}/Cython/Debugger/libcython.py
+${PYSITELIB}/Cython/Debugger/libcython.pyc
+${PYSITELIB}/Cython/Debugger/libcython.pyo
+${PYSITELIB}/Cython/Debugger/libpython.py
+${PYSITELIB}/Cython/Debugger/libpython.pyc
+${PYSITELIB}/Cython/Debugger/libpython.pyo
+${PYSITELIB}/Cython/Debugging.py
+${PYSITELIB}/Cython/Debugging.pyc
+${PYSITELIB}/Cython/Debugging.pyo
+${PYSITELIB}/Cython/Distutils/__init__.py
+${PYSITELIB}/Cython/Distutils/__init__.pyc
+${PYSITELIB}/Cython/Distutils/__init__.pyo
+${PYSITELIB}/Cython/Distutils/build_ext.py
+${PYSITELIB}/Cython/Distutils/build_ext.pyc
+${PYSITELIB}/Cython/Distutils/build_ext.pyo
+${PYSITELIB}/Cython/Distutils/extension.py
+${PYSITELIB}/Cython/Distutils/extension.pyc
+${PYSITELIB}/Cython/Distutils/extension.pyo
+${PYSITELIB}/Cython/Distutils/old_build_ext.py
+${PYSITELIB}/Cython/Distutils/old_build_ext.pyc
+${PYSITELIB}/Cython/Distutils/old_build_ext.pyo
+${PYSITELIB}/Cython/Includes/Deprecated/python.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_bool.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_buffer.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_bytes.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_cobject.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_complex.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_dict.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_exc.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_float.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_function.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_getargs.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_instance.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_int.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_iterator.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_list.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_long.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_mapping.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_mem.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_method.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_module.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_number.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_object.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_oldbuffer.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_pycapsule.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_ref.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_sequence.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_set.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_string.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_tuple.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_type.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_unicode.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_version.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/python_weakref.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/stdio.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/stdlib.pxd
+${PYSITELIB}/Cython/Includes/Deprecated/stl.pxd
+${PYSITELIB}/Cython/Includes/cpython/__init__.pxd
+${PYSITELIB}/Cython/Includes/cpython/array.pxd
+${PYSITELIB}/Cython/Includes/cpython/bool.pxd
+${PYSITELIB}/Cython/Includes/cpython/buffer.pxd
+${PYSITELIB}/Cython/Includes/cpython/bytearray.pxd
+${PYSITELIB}/Cython/Includes/cpython/bytes.pxd
+${PYSITELIB}/Cython/Includes/cpython/cellobject.pxd
+${PYSITELIB}/Cython/Includes/cpython/ceval.pxd
+${PYSITELIB}/Cython/Includes/cpython/cobject.pxd
+${PYSITELIB}/Cython/Includes/cpython/codecs.pxd
+${PYSITELIB}/Cython/Includes/cpython/complex.pxd
+${PYSITELIB}/Cython/Includes/cpython/conversion.pxd
+${PYSITELIB}/Cython/Includes/cpython/datetime.pxd
+${PYSITELIB}/Cython/Includes/cpython/dict.pxd
+${PYSITELIB}/Cython/Includes/cpython/exc.pxd
+${PYSITELIB}/Cython/Includes/cpython/float.pxd
+${PYSITELIB}/Cython/Includes/cpython/function.pxd
+${PYSITELIB}/Cython/Includes/cpython/genobject.pxd
+${PYSITELIB}/Cython/Includes/cpython/getargs.pxd
+${PYSITELIB}/Cython/Includes/cpython/instance.pxd
+${PYSITELIB}/Cython/Includes/cpython/int.pxd
+${PYSITELIB}/Cython/Includes/cpython/iterator.pxd
+${PYSITELIB}/Cython/Includes/cpython/iterobject.pxd
+${PYSITELIB}/Cython/Includes/cpython/list.pxd
+${PYSITELIB}/Cython/Includes/cpython/long.pxd
+${PYSITELIB}/Cython/Includes/cpython/longintrepr.pxd
+${PYSITELIB}/Cython/Includes/cpython/mapping.pxd
+${PYSITELIB}/Cython/Includes/cpython/mem.pxd
+${PYSITELIB}/Cython/Includes/cpython/memoryview.pxd
+${PYSITELIB}/Cython/Includes/cpython/method.pxd
+${PYSITELIB}/Cython/Includes/cpython/module.pxd
+${PYSITELIB}/Cython/Includes/cpython/number.pxd
+${PYSITELIB}/Cython/Includes/cpython/object.pxd
+${PYSITELIB}/Cython/Includes/cpython/oldbuffer.pxd
+${PYSITELIB}/Cython/Includes/cpython/pycapsule.pxd
+${PYSITELIB}/Cython/Includes/cpython/pylifecycle.pxd
+${PYSITELIB}/Cython/Includes/cpython/pystate.pxd
+${PYSITELIB}/Cython/Includes/cpython/pythread.pxd
+${PYSITELIB}/Cython/Includes/cpython/ref.pxd
+${PYSITELIB}/Cython/Includes/cpython/sequence.pxd
+${PYSITELIB}/Cython/Includes/cpython/set.pxd
+${PYSITELIB}/Cython/Includes/cpython/slice.pxd
+${PYSITELIB}/Cython/Includes/cpython/string.pxd
+${PYSITELIB}/Cython/Includes/cpython/tuple.pxd
+${PYSITELIB}/Cython/Includes/cpython/type.pxd
+${PYSITELIB}/Cython/Includes/cpython/unicode.pxd
+${PYSITELIB}/Cython/Includes/cpython/version.pxd
+${PYSITELIB}/Cython/Includes/cpython/weakref.pxd
+${PYSITELIB}/Cython/Includes/libc/__init__.pxd
+${PYSITELIB}/Cython/Includes/libc/errno.pxd
+${PYSITELIB}/Cython/Includes/libc/float.pxd
+${PYSITELIB}/Cython/Includes/libc/limits.pxd
+${PYSITELIB}/Cython/Includes/libc/locale.pxd
+${PYSITELIB}/Cython/Includes/libc/math.pxd
+${PYSITELIB}/Cython/Includes/libc/setjmp.pxd
+${PYSITELIB}/Cython/Includes/libc/signal.pxd
+${PYSITELIB}/Cython/Includes/libc/stddef.pxd
+${PYSITELIB}/Cython/Includes/libc/stdint.pxd
+${PYSITELIB}/Cython/Includes/libc/stdio.pxd
+${PYSITELIB}/Cython/Includes/libc/stdlib.pxd
+${PYSITELIB}/Cython/Includes/libc/string.pxd
+${PYSITELIB}/Cython/Includes/libc/time.pxd
+${PYSITELIB}/Cython/Includes/libcpp/__init__.pxd
+${PYSITELIB}/Cython/Includes/libcpp/algorithm.pxd
+${PYSITELIB}/Cython/Includes/libcpp/cast.pxd
+${PYSITELIB}/Cython/Includes/libcpp/complex.pxd
+${PYSITELIB}/Cython/Includes/libcpp/deque.pxd
+${PYSITELIB}/Cython/Includes/libcpp/forward_list.pxd
+${PYSITELIB}/Cython/Includes/libcpp/functional.pxd
+${PYSITELIB}/Cython/Includes/libcpp/iterator.pxd
+${PYSITELIB}/Cython/Includes/libcpp/limits.pxd
+${PYSITELIB}/Cython/Includes/libcpp/list.pxd
+${PYSITELIB}/Cython/Includes/libcpp/map.pxd
+${PYSITELIB}/Cython/Includes/libcpp/memory.pxd
+${PYSITELIB}/Cython/Includes/libcpp/pair.pxd
+${PYSITELIB}/Cython/Includes/libcpp/queue.pxd
+${PYSITELIB}/Cython/Includes/libcpp/set.pxd
+${PYSITELIB}/Cython/Includes/libcpp/stack.pxd
+${PYSITELIB}/Cython/Includes/libcpp/string.pxd
+${PYSITELIB}/Cython/Includes/libcpp/typeindex.pxd
+${PYSITELIB}/Cython/Includes/libcpp/typeinfo.pxd
+${PYSITELIB}/Cython/Includes/libcpp/unordered_map.pxd
+${PYSITELIB}/Cython/Includes/libcpp/unordered_set.pxd
+${PYSITELIB}/Cython/Includes/libcpp/utility.pxd
+${PYSITELIB}/Cython/Includes/libcpp/vector.pxd
+${PYSITELIB}/Cython/Includes/numpy/__init__.pxd
+${PYSITELIB}/Cython/Includes/numpy/math.pxd
+${PYSITELIB}/Cython/Includes/openmp.pxd
+${PYSITELIB}/Cython/Includes/posix/__init__.pxd
+${PYSITELIB}/Cython/Includes/posix/dlfcn.pxd
+${PYSITELIB}/Cython/Includes/posix/fcntl.pxd
+${PYSITELIB}/Cython/Includes/posix/ioctl.pxd
+${PYSITELIB}/Cython/Includes/posix/mman.pxd
+${PYSITELIB}/Cython/Includes/posix/resource.pxd
+${PYSITELIB}/Cython/Includes/posix/select.pxd
+${PYSITELIB}/Cython/Includes/posix/signal.pxd
+${PYSITELIB}/Cython/Includes/posix/stat.pxd
+${PYSITELIB}/Cython/Includes/posix/stdio.pxd
+${PYSITELIB}/Cython/Includes/posix/stdlib.pxd
+${PYSITELIB}/Cython/Includes/posix/strings.pxd
+${PYSITELIB}/Cython/Includes/posix/time.pxd
+${PYSITELIB}/Cython/Includes/posix/types.pxd
+${PYSITELIB}/Cython/Includes/posix/unistd.pxd
+${PYSITELIB}/Cython/Includes/posix/wait.pxd
+${PYSITELIB}/Cython/Plex/Actions.pxd
+${PYSITELIB}/Cython/Plex/Actions.py
+${PYSITELIB}/Cython/Plex/Actions.pyc
+${PYSITELIB}/Cython/Plex/Actions.pyo
+${PYSITELIB}/Cython/Plex/Actions.so
+${PYSITELIB}/Cython/Plex/DFA.py
+${PYSITELIB}/Cython/Plex/DFA.pyc
+${PYSITELIB}/Cython/Plex/DFA.pyo
+${PYSITELIB}/Cython/Plex/Errors.py
+${PYSITELIB}/Cython/Plex/Errors.pyc
+${PYSITELIB}/Cython/Plex/Errors.pyo
+${PYSITELIB}/Cython/Plex/Lexicons.py
+${PYSITELIB}/Cython/Plex/Lexicons.pyc
+${PYSITELIB}/Cython/Plex/Lexicons.pyo
+${PYSITELIB}/Cython/Plex/Machines.py
+${PYSITELIB}/Cython/Plex/Machines.pyc
+${PYSITELIB}/Cython/Plex/Machines.pyo
+${PYSITELIB}/Cython/Plex/Regexps.py
+${PYSITELIB}/Cython/Plex/Regexps.pyc
+${PYSITELIB}/Cython/Plex/Regexps.pyo
+${PYSITELIB}/Cython/Plex/Scanners.pxd
+${PYSITELIB}/Cython/Plex/Scanners.py
+${PYSITELIB}/Cython/Plex/Scanners.pyc
+${PYSITELIB}/Cython/Plex/Scanners.pyo
+${PYSITELIB}/Cython/Plex/Scanners.so
+${PYSITELIB}/Cython/Plex/Timing.py
+${PYSITELIB}/Cython/Plex/Timing.pyc
+${PYSITELIB}/Cython/Plex/Timing.pyo
+${PYSITELIB}/Cython/Plex/Traditional.py
+${PYSITELIB}/Cython/Plex/Traditional.pyc
+${PYSITELIB}/Cython/Plex/Traditional.pyo
+${PYSITELIB}/Cython/Plex/Transitions.py
+${PYSITELIB}/Cython/Plex/Transitions.pyc
+${PYSITELIB}/Cython/Plex/Transitions.pyo
+${PYSITELIB}/Cython/Plex/__init__.py
+${PYSITELIB}/Cython/Plex/__init__.pyc
+${PYSITELIB}/Cython/Plex/__init__.pyo
+${PYSITELIB}/Cython/Runtime/__init__.py
+${PYSITELIB}/Cython/Runtime/__init__.pyc
+${PYSITELIB}/Cython/Runtime/__init__.pyo
+${PYSITELIB}/Cython/Runtime/refnanny.pyx
+${PYSITELIB}/Cython/Runtime/refnanny.so
+${PYSITELIB}/Cython/Shadow.py
+${PYSITELIB}/Cython/Shadow.pyc
+${PYSITELIB}/Cython/Shadow.pyo
+${PYSITELIB}/Cython/StringIOTree.py
+${PYSITELIB}/Cython/StringIOTree.pyc
+${PYSITELIB}/Cython/StringIOTree.pyo
+${PYSITELIB}/Cython/Tempita/__init__.py
+${PYSITELIB}/Cython/Tempita/__init__.pyc
+${PYSITELIB}/Cython/Tempita/__init__.pyo
+${PYSITELIB}/Cython/Tempita/_looper.py
+${PYSITELIB}/Cython/Tempita/_looper.pyc
+${PYSITELIB}/Cython/Tempita/_looper.pyo
+${PYSITELIB}/Cython/Tempita/_tempita.py
+${PYSITELIB}/Cython/Tempita/_tempita.pyc
+${PYSITELIB}/Cython/Tempita/_tempita.pyo
+${PYSITELIB}/Cython/Tempita/_tempita.so
+${PYSITELIB}/Cython/Tempita/compat3.py
+${PYSITELIB}/Cython/Tempita/compat3.pyc
+${PYSITELIB}/Cython/Tempita/compat3.pyo
+${PYSITELIB}/Cython/TestUtils.py
+${PYSITELIB}/Cython/TestUtils.pyc
+${PYSITELIB}/Cython/TestUtils.pyo
+${PYSITELIB}/Cython/Tests/TestCodeWriter.py
+${PYSITELIB}/Cython/Tests/TestCodeWriter.pyc
+${PYSITELIB}/Cython/Tests/TestCodeWriter.pyo
+${PYSITELIB}/Cython/Tests/TestCythonUtils.py
+${PYSITELIB}/Cython/Tests/TestCythonUtils.pyc
+${PYSITELIB}/Cython/Tests/TestCythonUtils.pyo
+${PYSITELIB}/Cython/Tests/TestJediTyper.py
+${PYSITELIB}/Cython/Tests/TestJediTyper.pyc
+${PYSITELIB}/Cython/Tests/TestJediTyper.pyo
+${PYSITELIB}/Cython/Tests/TestStringIOTree.py
+${PYSITELIB}/Cython/Tests/TestStringIOTree.pyc
+${PYSITELIB}/Cython/Tests/TestStringIOTree.pyo
+${PYSITELIB}/Cython/Tests/__init__.py
+${PYSITELIB}/Cython/Tests/__init__.pyc
+${PYSITELIB}/Cython/Tests/__init__.pyo
+${PYSITELIB}/Cython/Tests/xmlrunner.py
+${PYSITELIB}/Cython/Tests/xmlrunner.pyc
+${PYSITELIB}/Cython/Tests/xmlrunner.pyo
+${PYSITELIB}/Cython/Utility/AsyncGen.c
+${PYSITELIB}/Cython/Utility/Buffer.c
+${PYSITELIB}/Cython/Utility/Builtins.c
+${PYSITELIB}/Cython/Utility/CConvert.pyx
+${PYSITELIB}/Cython/Utility/CMath.c
+${PYSITELIB}/Cython/Utility/Capsule.c
+${PYSITELIB}/Cython/Utility/CommonStructures.c
+${PYSITELIB}/Cython/Utility/Complex.c
+${PYSITELIB}/Cython/Utility/Coroutine.c
+${PYSITELIB}/Cython/Utility/CpdefEnums.pyx
+${PYSITELIB}/Cython/Utility/CppConvert.pyx
+${PYSITELIB}/Cython/Utility/CppSupport.cpp
+${PYSITELIB}/Cython/Utility/CythonFunction.c
+${PYSITELIB}/Cython/Utility/Embed.c
+${PYSITELIB}/Cython/Utility/Exceptions.c
+${PYSITELIB}/Cython/Utility/ExtensionTypes.c
+${PYSITELIB}/Cython/Utility/FunctionArguments.c
+${PYSITELIB}/Cython/Utility/ImportExport.c
+${PYSITELIB}/Cython/Utility/MemoryView.pyx
+${PYSITELIB}/Cython/Utility/MemoryView_C.c
+${PYSITELIB}/Cython/Utility/ModuleSetupCode.c
+${PYSITELIB}/Cython/Utility/ObjectHandling.c
+${PYSITELIB}/Cython/Utility/Optimize.c
+${PYSITELIB}/Cython/Utility/Overflow.c
+${PYSITELIB}/Cython/Utility/Printing.c
+${PYSITELIB}/Cython/Utility/Profile.c
+${PYSITELIB}/Cython/Utility/StringTools.c
+${PYSITELIB}/Cython/Utility/TestCyUtilityLoader.pyx
+${PYSITELIB}/Cython/Utility/TestCythonScope.pyx
+${PYSITELIB}/Cython/Utility/TestUtilityLoader.c
+${PYSITELIB}/Cython/Utility/TypeConversion.c
+${PYSITELIB}/Cython/Utility/__init__.py
+${PYSITELIB}/Cython/Utility/__init__.pyc
+${PYSITELIB}/Cython/Utility/__init__.pyo
+${PYSITELIB}/Cython/Utility/arrayarray.h
+${PYSITELIB}/Cython/Utils.py
+${PYSITELIB}/Cython/Utils.pyc
+${PYSITELIB}/Cython/Utils.pyo
+${PYSITELIB}/Cython/__init__.py
+${PYSITELIB}/Cython/__init__.pyc
+${PYSITELIB}/Cython/__init__.pyo
+${PYSITELIB}/cython.py
+${PYSITELIB}/cython.pyc
+${PYSITELIB}/cython.pyo
+${PYSITELIB}/pyximport/__init__.py
+${PYSITELIB}/pyximport/__init__.pyc
+${PYSITELIB}/pyximport/__init__.pyo
+${PYSITELIB}/pyximport/pyxbuild.py
+${PYSITELIB}/pyximport/pyxbuild.pyc
+${PYSITELIB}/pyximport/pyxbuild.pyo
+${PYSITELIB}/pyximport/pyximport.py
+${PYSITELIB}/pyximport/pyximport.pyc
+${PYSITELIB}/pyximport/pyximport.pyo
diff --git a/py-cython-legacy/TODO b/py-cython-legacy/TODO
new file mode 100644
index 0000000000..39757a7c18
--- /dev/null
+++ b/py-cython-legacy/TODO
@@ -0,0 +1 @@
+Resolve conflicts with cython3, so they can coexist
diff --git a/py-cython-legacy/buildlink3.mk b/py-cython-legacy/buildlink3.mk
new file mode 100644
index 0000000000..65b5cb485a
--- /dev/null
+++ b/py-cython-legacy/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.3 2017/01/25 16:09:06 adam Exp $
+
+BUILDLINK_TREE+=	py-cython
+
+.if !defined(PY_CYTHON_BUILDLINK3_MK)
+PY_CYTHON_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.py-cython+=	${PYPKGPREFIX}-cython>=0.12.1
+BUILDLINK_PKGSRCDIR.py-cython?=		../../devel/py-cython
+.endif	# PY_CYTHON_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-py-cython
diff --git a/py-cython-legacy/distinfo b/py-cython-legacy/distinfo
new file mode 100644
index 0000000000..8e99f8bfa4
--- /dev/null
+++ b/py-cython-legacy/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.76 2023/07/05 12:29:28 adam Exp $
+
+BLAKE2s (Cython-0.29.36.tar.gz) = f728d6ab52823f3473ee9a3a2ca83bddcee413578de972775b33766b8c98d5e9
+SHA512 (Cython-0.29.36.tar.gz) = 70a820fca32cbf14b48a2ab0705b1911c0eddf7da9b3aa1c7959f55ad412cc5b7bcbfd38c17d9a02bf0d5be0433abdea92ad7edca5babb84efde978c22edbda6
+Size (Cython-0.29.36.tar.gz) = 2097760 bytes
+SHA1 (patch-Cython_Distutils_old__build__ext.py) = 2bc705192923cc2f40f7c173625b056caa08f666
+SHA1 (patch-Demos_embed_Makefile) = 67c4f662a8d79d39cbf8808d2e87d91a26ef28b9
+SHA1 (patch-runtests.py) = 18e970afd950efa2ec5631c0d747ffaee68be2a1
diff --git a/py-cython-legacy/patches/patch-Cython_Distutils_old__build__ext.py b/py-cython-legacy/patches/patch-Cython_Distutils_old__build__ext.py
new file mode 100644
index 0000000000..1a1a167a9a
--- /dev/null
+++ b/py-cython-legacy/patches/patch-Cython_Distutils_old__build__ext.py
@@ -0,0 +1,16 @@
+$NetBSD: patch-Cython_Distutils_old__build__ext.py,v 1.1 2019/12/11 20:20:23 adam Exp $
+
+Revert to Cython 0.29.13 version of this file to fix PR/54712.
+
+--- Cython/Distutils/old_build_ext.py.orig	2019-12-11 20:04:08.000000000 +0000
++++ Cython/Distutils/old_build_ext.py
+@@ -191,8 +191,7 @@ class old_build_ext(_build_ext.build_ext
+ 
+         for ext in self.extensions:
+             ext.sources = self.cython_sources(ext.sources, ext)
+-        # Call original build_extensions
+-        _build_ext.build_ext.build_extensions(self)
++            self.build_extension(ext)
+ 
+     def cython_sources(self, sources, extension):
+         """
diff --git a/py-cython-legacy/patches/patch-Demos_embed_Makefile b/py-cython-legacy/patches/patch-Demos_embed_Makefile
new file mode 100644
index 0000000000..07c98d277e
--- /dev/null
+++ b/py-cython-legacy/patches/patch-Demos_embed_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-Demos_embed_Makefile,v 1.1 2021/04/14 19:25:15 adam Exp $
+
+Add missing rpath.
+
+--- Demos/embed/Makefile.orig	2021-04-14 15:24:45.000000000 +0000
++++ Demos/embed/Makefile
+@@ -33,7 +33,7 @@ paths:
+ 	@echo "SYSLIBS=$(SYSLIBS)"
+ 
+ embedded: embedded.o
+-	$(LINKCC) -o $@ $^ -L$(LIBDIR1) -L$(LIBDIR2) -l$(PYLIB) $(LIBS) $(SYSLIBS) $(LINKFORSHARED)
++	$(LINKCC) -o $@ $^ -L$(LIBDIR1) -L$(LIBDIR2) -l$(PYLIB) $(LIBS) $(SYSLIBS) $(LINKFORSHARED) -Wl,-R$(LIBDIR1)
+ 
+ embedded.o: embedded.c
+ 	$(CC) -c $^ -I$(INCDIR) -I$(PLATINCDIR)
diff --git a/py-cython-legacy/patches/patch-runtests.py b/py-cython-legacy/patches/patch-runtests.py
new file mode 100644
index 0000000000..1b732e290c
--- /dev/null
+++ b/py-cython-legacy/patches/patch-runtests.py
@@ -0,0 +1,30 @@
+$NetBSD: patch-runtests.py,v 1.3 2021/04/14 19:25:15 adam Exp $
+
+Use correct make for pkgsrc.
+
+--- runtests.py.orig	2021-04-14 15:24:45.000000000 +0000
++++ runtests.py
+@@ -1773,12 +1773,12 @@ class EmbedTest(unittest.TestCase):
+         self.old_dir = os.getcwd()
+         os.chdir(self.working_dir)
+         os.system(
+-            "make PYTHON='%s' clean > /dev/null" % sys.executable)
++            "gmake PYTHON='%s' clean > /dev/null" % sys.executable)
+ 
+     def tearDown(self):
+         try:
+             os.system(
+-                "make PYTHON='%s' clean > /dev/null" % sys.executable)
++                "gmake PYTHON='%s' clean > /dev/null" % sys.executable)
+         except:
+             pass
+         os.chdir(self.old_dir)
+@@ -1800,7 +1800,7 @@ class EmbedTest(unittest.TestCase):
+ 
+         try:
+             subprocess.check_call([
+-                "make",
++                "gmake",
+                 "PYTHON='%s'" % sys.executable,
+                 "CYTHON='%s'" % cython,
+                 "LIBDIR1='%s'" % libdir,
diff --git a/py-cython-legacy/tool.mk b/py-cython-legacy/tool.mk
new file mode 100644
index 0000000000..d0d695b6c4
--- /dev/null
+++ b/py-cython-legacy/tool.mk
@@ -0,0 +1,28 @@
+# $NetBSD: tool.mk,v 1.4 2023/10/16 23:40:20 gutteridge Exp $
+#
+# This mk fragment can be included in all packages that use `cython'
+# and `cythonize' as tools without a version suffix.
+#
+# Keywords: python
+#
+
+.if !defined(CYTHON_TOOL_MK)
+CYTHON_TOOL_MK=	defined
+
+.if !defined(PYTHON_PYVERSION_MK)
+.include "../../lang/python/pyversion.mk"
+.endif
+
+BUILDLINK_TARGETS+=	buildlink-bin-cython
+
+.PHONY: buildlink-bin-cython
+buildlink-bin-cython:
+.for cythontool in cython cythonize
+	${RUN} \
+	f="${PREFIX}/bin/${cythontool}-${PYVERSSUFFIX}"; \
+	t="${BUILDLINK_DIR}/bin/${cythontool}"; \
+	if ${TEST} -f $$f -a ! -f $$t ; then \
+		${LN} -sf $$f $$t; \
+	fi
+.endfor
+.endif # CYTHON_TOOL_MK


Home | Main Index | Thread Index | Old Index