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.10.bb | 73 ---------------------- .../python/python3-cython_3.0.11.bb | 72 +++++++++++++++++++++ 2 files changed, 72 insertions(+), 73 deletions(-) delete mode 100644 meta/recipes-devtools/python/python3-cython_3.0.10.bb create mode 100644 meta/recipes-devtools/python/python3-cython_3.0.11.bb (limited to 'meta/recipes-devtools/python') diff --git a/meta/recipes-devtools/python/python3-cython_3.0.10.bb b/meta/recipes-devtools/python/python3-cython_3.0.10.bb deleted file mode 100644 index 86ae5f25e9..0000000000 --- a/meta/recipes-devtools/python/python3-cython_3.0.10.bb +++ /dev/null @@ -1,73 +0,0 @@ -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" -PYPI_PACKAGE = "Cython" - -SRC_URI[sha256sum] = "dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99" - -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" 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