diff options
Diffstat (limited to 'dev-python/pyyaml')
-rw-r--r-- | dev-python/pyyaml/Manifest | 2 | ||||
-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 |
3 files changed, 92 insertions, 0 deletions
diff --git a/dev-python/pyyaml/Manifest b/dev-python/pyyaml/Manifest index 68aa736692e3..d821439ae207 100644 --- a/dev-python/pyyaml/Manifest +++ b/dev-python/pyyaml/Manifest @@ -1,5 +1,7 @@ +AUX pyyaml-6.0.1-cython3.patch 1423 BLAKE2B ff93a6bc36d0ca7b85a3c3c5cf67c57c600334b817cd52db5336a52427bd41bf667aa42405eb4c539eb8024b2b8533462f50da439def3be53bdedabfe9459ac4 SHA512 9ad485f625c859b67cefb45cd3f5cdd3304117c9d2b7e926f157b0b127805fad6ef83783fbead1e53e536eeafc60570eb1a75b309835de136c386faa8ba6f6c0 DIST pyyaml-6.0.1.gh.tar.gz 120376 BLAKE2B c34f2169f6eb6aa718aeb53dbfaf02590e11e504d16cc85a802e1a1191f296ef9aa2501db683e1a48173ce6adeaeca09f2ab989581dcf1c1ba4004831bb4cf47 SHA512 1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0 DIST pyyaml-6.0.gh.tar.gz 119855 BLAKE2B 286678ac81f2e6c252d285d2f98dab98894787e3aa164a29a697986f56200c7b71b0a768edf6d50e61065efcd054078673270872162a4975409928d7dd67aacc SHA512 cbcacc3560a035e2082867e93a9733f8660ea4c7f60573d07642f33a5453dcdc88d67299c3bcb97c27b843202a45d40de7444eb5e815bd4955129c9fc8ae04ad EBUILD pyyaml-6.0-r1.ebuild 1001 BLAKE2B 5426c1d8eb6e6c3f4a38552cde9b95ba28117754533b2663547ad354c6f34399a6f5181ad2aa19f584d1c964183f905faea2e3530b816a898718f931dd4f25fa SHA512 a287ad775eaadbf63851437e001cc018f4eba7f265e4bc73b4de6d18fa2882a162b9b95d0a46693bb9f7130a00b92beada115eb784ad37a2b25b8cb231b979f2 +EBUILD pyyaml-6.0.1-r1.ebuild 1060 BLAKE2B c9130b65d26c69016a1660886d5a25eba9514dfcbd8ef86de32bb7c3101ea5b80b6760fcb1acf2b16ca7ffbfb028b47879d6adea6471fd5ece306c6136d8756d SHA512 c9679267fda9764197164033ace8e07888433b7e7241c51e8b5909c5a22b48dad9c14eb368138b2b9b79ea39aa87dc70026a4d992e1ec061c1a02a4dd7691998 EBUILD pyyaml-6.0.1.ebuild 1009 BLAKE2B f50ab419ecd6f7a493746deac68d0c304f1d95b12553f31595ab502b38b253d1696cdc03bb664f6798908f4774919c88978c3d4a1b41824827918d261736a671 SHA512 bb448d24da014321751473dc002829c009f2bd87e83db7c7b96b2a04ca058eaf05790a85f892f08e7472d7674c5dd0e699bf5e7657b296a0b784e087b5e54dfb MISC metadata.xml 426 BLAKE2B 6216e38c3e79e811aced6c777b49779953abf4f1b0a1185947f6a6fdc851fdf4cc973092024a6cb2d76bf06863feb49742c7a6892a8761b48a5e74902757a610 SHA512 f549b70fcf1588625fcc2bc33ad0c41faa267ad5bb84d564f5502dee1ad2340a663d1a2b92cf9fdeed827a5f7cebdbe76d59166e89de6d03e7933141029c051d 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 +} |