From 17057fee50052b7c011b35fd1d830dd3230d9093 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Fri, 9 Aug 2024 09:53:08 -0400 Subject: python3-cython: upgrade 3.0.10 -> 3.0.11 The upstream package changed from uppercase to lowercase in "Cython", so adjust PYPI_PACKAGE and the sed call in cython_fix_sources to match. Changelog (https://github.com/cython/cython/releases/tag/3.0.11-1): Features added -------------- * The C++11 ``emplace*`` methods were added to ``libcpp.deque``. Patch by Somin An. (Github issue :issue:`6159`) Bugs fixed ---------- * The exception check value of functions declared in pxd files was not always applied in 3.0.10. (Github issue :issue:`6122`) * A crash on exception deallocations was fixed. (Github issue :issue:`6022`) * A crash was fixed when assigning a zero-length slice to a memoryview. Patch by Michael Man. (Github issue :issue:`6227`) * ``libcpp.optional.value()`` could crash if it raised a C++ exception. Patch by Alexander Condello. (Github issue :issue:`6190`) * The return type of ``str()`` was mishandled, leading to crashes with ``language_level=3``. (Github issue :issue:`6166`) * ``bytes.startswith/endswith()`` failed for non-bytes substrings (e.g. ``bytearray``). (Github issue :issue:`6168`) * Fused ctuples crashed Cython. (Github issue :issue:`6068`) * A compiler crash was fixed when using extension types in fused types. (Github issue :issue:`6204`) * The module cleanup code was incorrect for globally defined memory view slices. (Github issue :issue:`6276`) * Some adaptations were made to enable compilation in Python 3.13. (Github issues :issue:`5997`, :issue:`6182`, :issue:`6251`) (From OE-Core rev: a505dfa0489de57bc07ffec2b7fa8c5486013393) Signed-off-by: Trevor Gamblin Signed-off-by: Richard Purdie --- .../python/python3-cython_3.0.11.bb | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 meta/recipes-devtools/python/python3-cython_3.0.11.bb (limited to 'meta/recipes-devtools/python/python3-cython_3.0.11.bb') diff --git a/meta/recipes-devtools/python/python3-cython_3.0.11.bb b/meta/recipes-devtools/python/python3-cython_3.0.11.bb new file mode 100644 index 0000000000..2923664641 --- /dev/null +++ b/meta/recipes-devtools/python/python3-cython_3.0.11.bb @@ -0,0 +1,72 @@ +SUMMARY = "The Cython language" +HOMEPAGE = "https://pypi.org/project/Cython/" +DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \ +It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ +and the messy, low-level world of C." +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c" + +SRC_URI[sha256sum] = "7146dd2af8682b4ca61331851e6aebce9fe5158e75300343f80c07ca80b1faff" + +inherit pypi setuptools3 + +# running build_ext a second time during install fails, because Python +# would then attempt to import cythonized modules built for the target +# architecture. +SETUPTOOLS_INSTALL_ARGS += "--skip-build" + +do_install:append() { + # Make sure we use /usr/bin/env python3 + for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do + sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT + done + + # remove build paths from generated sources + sed -i -e 's|${WORKDIR}||' ${S}/Cython/*.c ${S}/Cython/Compiler/*.c ${S}/Cython/Plex/*.c + + # rename scripts that would conflict with the Python 2 build of Cython + mv ${D}${bindir}/cython ${D}${bindir}/cython3 + mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 + mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 +} + +PACKAGESPLITFUNCS =+ "cython_fix_sources" + +cython_fix_sources () { + for f in ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/FlowControl.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/FusedNode.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/Scanning.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/Visitor.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Plex/Actions.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Plex/Scanners.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Runtime/refnanny.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Tempita/_tempita.c \ + ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do + if [ -e $f ]; then + sed -i -e 's#${WORKDIR}/cython-${PV}#${TARGET_DBGSRC_DIR}#g' $f + fi + done +} + +RDEPENDS:${PN}:class-target += "\ + python3-misc \ + python3-netserver \ + python3-pkgutil \ + python3-pyparsing \ + python3-setuptools \ + python3-shell \ + python3-xml \ +" + +RDEPENDS:${PN}:class-nativesdk += "\ + nativesdk-python3-misc \ + nativesdk-python3-netserver \ + nativesdk-python3-pkgutil \ + nativesdk-python3-pyparsing \ + nativesdk-python3-setuptools \ + nativesdk-python3-shell \ + nativesdk-python3-xml \ +" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf