Files
poky/meta/recipes-devtools/python/python3-cython_3.0.11.bb
Trevor Gamblin 17057fee50 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 <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-13 09:29:15 +01:00

73 lines
2.4 KiB
BlitzBasic

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"