diff --git a/dev-python/pysimdjson/Manifest b/dev-python/pysimdjson/Manifest index 225533075c797..a2b2e8c46e173 100644 --- a/dev-python/pysimdjson/Manifest +++ b/dev-python/pysimdjson/Manifest @@ -1 +1,2 @@ DIST pysimdjson-6.0.2.gh.tar.gz 4493696 BLAKE2B 18f107fa5db762813e90dbf788d54ee24f823e177d2529f5311ef2b35320a45fd698ef6f8863c45ffad96c116ad5240eaf5a6724a3030578f89111cc40f24897 SHA512 ef8856dd137780a4345539b1604af34757b58a4b4d11854e420ad2e855f3e3f251b2ba6296c04d1bf2b71f095ca95fe95e9076e8740e98c7c4404a57df3617ba +DIST pysimdjson-7.0.0.gh.tar.gz 4670589 BLAKE2B d7bab62a075228d462413e139f4760bfacbe2add4f2cdc26f84b072a7c792e62f3d494053bbb0529d80e3ddc9c67df25ece3f6ccf120d05644bda5b006afc839 SHA512 9d2491885694091b3a37f52c6dba44060c3dff05231056dd5af1720e3593a2047e6e4837f4129d347ff80c9bd65fc0d4cacc93fdd6e3e1088faa97eb90196fec diff --git a/dev-python/pysimdjson/files/pysimdjson-7.0.0-system-lib.patch b/dev-python/pysimdjson/files/pysimdjson-7.0.0-system-lib.patch new file mode 100644 index 0000000000000..553ba25fc612e --- /dev/null +++ b/dev-python/pysimdjson/files/pysimdjson-7.0.0-system-lib.patch @@ -0,0 +1,11 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 0e199d8..a885369 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -18,5 +18,5 @@ pysimdjson = { workspace = true } + [tool.setuptools] + ext-modules = [ +- { name = "csimdjson", sources = ["simdjson/simdjson.cpp", "simdjson/util.cpp", "simdjson/csimdjson.pyx"], py-limited-api = true }, ++ { name = "csimdjson", sources = ["simdjson/util.cpp", "simdjson/csimdjson.pyx"], py-limited-api = true, libraries = ["simdjson"] }, + ] + diff --git a/dev-python/pysimdjson/pysimdjson-7.0.0.ebuild b/dev-python/pysimdjson/pysimdjson-7.0.0.ebuild new file mode 100644 index 0000000000000..86b040db290c9 --- /dev/null +++ b/dev-python/pysimdjson/pysimdjson-7.0.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 2020-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..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for simdjson" +HOMEPAGE=" + https://github.com/TkTech/pysimdjson/ + https://pypi.org/project/pysimdjson/ +" +SRC_URI=" + https://github.com/TkTech/pysimdjson/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + >=dev-libs/simdjson-2.0.1:= + test? ( dev-libs/simdjson[all-impls(-)] ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +src_prepare() { + # unbundle + local PATCHES=( + "${FILESDIR}/pysimdjson-7.0.0-system-lib.patch" + ) + + rm simdjson/simdjson.cpp || die + echo "#include_next " > simdjson/simdjson.h || die + + # regressions (new simdjson version?) + #rm jsonexamples/test_parsing/i_number_very_big_negative_int.json || die + #rm jsonexamples/test_parsing/i_number_too_big_pos_int.json || die + #rm jsonexamples/test_parsing/i_number_too_big_neg_int.json || die + + distutils-r1_src_prepare +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o required_plugins= +}