diff options
author | Sam James <sam@gentoo.org> | 2023-07-27 03:38:57 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-07-27 03:47:20 +0100 |
commit | 402d7b32428f7dc7fb4d83a4ee9f4d8ff7f5b560 (patch) | |
tree | 1e57dc9f7adb39fab3999bcd7f99ad99a5400349 /dev-python/pyyaml | |
parent | net-misc/curl: drop 8.2.0-r1 (diff) | |
download | gentoo-402d7b32428f7dc7fb4d83a4ee9f4d8ff7f5b560.tar.gz gentoo-402d7b32428f7dc7fb4d83a4ee9f4d8ff7f5b560.tar.bz2 gentoo-402d7b32428f7dc7fb4d83a4ee9f4d8ff7f5b560.zip |
dev-python/pyyaml: backport cython-3 patch
Closes: https://bugs.gentoo.org/898680
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/pyyaml')
-rw-r--r-- | dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch | 36 | ||||
-rw-r--r-- | dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild | 54 |
2 files changed, 90 insertions, 0 deletions
diff --git a/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch b/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch new file mode 100644 index 000000000000..346339916f17 --- /dev/null +++ b/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch @@ -0,0 +1,36 @@ +https://bugs.gentoo.org/898680 +https://github.com/yaml/pyyaml/pull/731 + +From 17dc5b6cd96dcfe64fd71789c771ca9b96d260e5 Mon Sep 17 00:00:00 2001 +From: "Andrew J. Hesford" <ajh@sideband.org> +Date: Fri, 21 Jul 2023 09:50:00 -0400 +Subject: [PATCH] Fix builds with Cython 3 + +This is a *de minimis* fix for building with Cython 3. Recent Cython<3 +releases provided `Cython.Distutils.build_ext` as an alias to +`Cython.Distutils.old_build_ext.old_build_ext`; Cython 3 drops this +alias and instead uses a wholly new `Cython.Distutils.build_ext` that +does not provide the `cython_sources` function used in `setup.py`. + +Explicitly importing `old_build_ext` preserves the existing behavior for +recent Cython<3 and uses the correct behavior for Cython 3. Should the +import fail (*e.g.*, because the version of Cython available predates +the availability of `old_build_ext`), the import falls back to just +`Cython.Distutils.build_ext`. + +Signed-off-by: Andrew J. Hesford <ajh@sideband.org> +--- a/setup.py ++++ b/setup.py +@@ -82,7 +82,11 @@ + with_cython = True + try: + from Cython.Distutils.extension import Extension as _Extension +- from Cython.Distutils import build_ext as _build_ext ++ try: ++ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext ++ except ImportError: ++ from Cython.Distutils import build_ext as _build_ext ++ + with_cython = True + except ImportError: + if with_cython: diff --git a/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild b/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild new file mode 100644 index 000000000000..f1368e3c763c --- /dev/null +++ b/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="YAML parser and emitter for Python" +HOMEPAGE=" + https://pyyaml.org/wiki/PyYAML + https://pypi.org/project/PyYAML/ + https://github.com/yaml/pyyaml/ +" +SRC_URI=" + https://github.com/yaml/pyyaml/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="examples" + +DEPEND=" + dev-libs/libyaml:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.0.1-cython3.patch +) + +distutils_enable_tests setup.py + +src_configure() { + export PYYAML_FORCE_CYTHON=1 +} + +python_install_all() { + distutils-r1_python_install_all + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF} + fi +} |