dev-python/msgspec: new package, add 0.19.0

New dependency of dev-util/cvise (live). No py3.14 yet: there's an
upstream PR to fix the annotation issue but there's another refcount
one (and fixing/working around that on our end involves a large sed).

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-08-14 03:05:04 +01:00
parent e51631aba1
commit 66e7fed08f
3 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST msgspec-0.19.0.gh.tar.gz 1313340 BLAKE2B c6e0757e4fbd2c2afbd239e483eed09fd872d8c85d14153b13ada3ef39adcd41b2f2b8f249e9747e6eef7627b4c238973593d87733cc8d5c36c5a14c15142279 SHA512 bd44052e58afc0c2653780b4dee75d20de93210950d4cd408abc810e3935d1bfdd30b926c34cd48f3095d4b3c1f45ac7aa4a957dcbc562ebd8b817c81abd16d8

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">jcrist/msgspec</remote-id>
<remote-id type="pypi">msgspec</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,55 @@
# Copyright 2025 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_{11..13} )
inherit distutils-r1 pypi
DESCRIPTION="Fast serialization and validation library, with builtin support for many formats"
HOMEPAGE="
https://jcristharif.com/msgspec/
https://github.com/jcrist/msgspec
https://pypi.org/project/msgspec/
"
# No tests in sdist
SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
dev-python/versioneer[${PYTHON_USEDEP}]
test? (
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/msgpack[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
)
"
EPYTEST_IGNORE=(
# Lint tests
tests/test_cpylint.py
tests/test_mypy.py
tests/test_pyright.py
)
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
src_prepare() {
# remove outdated bundled versioneer
rm versioneer.py || die
distutils-r1_src_prepare
}
python_test() {
rm -rf msgspec || die
epytest
}