commit:     7f20d6c73332dee989acdf401502eec9afaddc16
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Mon Aug  7 04:38:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep  1 12:16:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f20d6c7

dev-python/msgpack: use variable to disable native-extensions

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/msgpack/msgpack-1.0.5-r1.ebuild | 51 ++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/dev-python/msgpack/msgpack-1.0.5-r1.ebuild 
b/dev-python/msgpack/msgpack-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..209262b770c6
--- /dev/null
+++ b/dev-python/msgpack/msgpack-1.0.5-r1.ebuild
@@ -0,0 +1,51 @@
+# 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 pypi
+
+DESCRIPTION="MessagePack (de)serializer for Python"
+HOMEPAGE="
+       https://msgpack.org/
+       https://github.com/msgpack/msgpack-python/
+       https://pypi.org/project/msgpack/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+# extension code is relying on CPython implementation details
+BDEPEND="
+       native-extensions? (
+               $(python_gen_cond_dep '
+                       >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
+               ' 'python*')
+       )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+       # Remove pre-generated cython files
+       rm msgpack/_cmsgpack.cpp || die
+
+       # native-extensions are always disabled on PyPy
+       # https://github.com/msgpack/msgpack-python/blob/main/setup.py#L76
+       if ! use native-extensions ; then
+               export MSGPACK_PUREPYTHON=1
+       fi
+
+       distutils-r1_python_prepare_all
+}
+
+python_test() {
+       rm -rf msgpack || die
+       epytest
+}

Reply via email to