summaryrefslogtreecommitdiff
path: root/dev-python/jsonpickle/jsonpickle-2.0.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/jsonpickle/jsonpickle-2.0.0.ebuild')
-rw-r--r--dev-python/jsonpickle/jsonpickle-2.0.0.ebuild60
1 files changed, 37 insertions, 23 deletions
diff --git a/dev-python/jsonpickle/jsonpickle-2.0.0.ebuild b/dev-python/jsonpickle/jsonpickle-2.0.0.ebuild
index 629cee7b6893..bbb317b91c9c 100644
--- a/dev-python/jsonpickle/jsonpickle-2.0.0.ebuild
+++ b/dev-python/jsonpickle/jsonpickle-2.0.0.ebuild
@@ -3,9 +3,8 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1 optfeature
DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
HOMEPAGE="https://github.com/jsonpickle/jsonpickle/ https://pypi.org/project/jsonpickle/"
@@ -15,35 +14,50 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-# There are optional json backends serializer/deserializers in addition to those selected here
-# jsonlib, yajl.
-RDEPEND="
- dev-python/feedparser[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' python3_7)
-"
# toml via setuptools_scm[toml]
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx "docs/source"
+ dev-python/toml[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ ' python3_{8,9})
+ )"
+
+distutils_enable_sphinx docs \
+ dev-python/jaraco-packaging \
+ dev-python/rst-linker
distutils_enable_tests pytest
python_prepare_all() {
- # too many dependencies
- rm tests/pandas_test.py || die
- # broken with gmpy
- rm tests/ecdsa_test.py || die
-
sed -i -e 's:--flake8 --black --cov::' pytest.ini || die
-
distutils-r1_python_prepare_all
}
python_test() {
- pytest -vv tests || die "Tests failed with ${EPYTHON}"
+ local EPYTEST_IGNORE=(
+ # unpackaged bson dependency
+ tests/bson_test.py
+ # broken when gmpy is installed
+ # https://github.com/jsonpickle/jsonpickle/issues/328
+ # https://github.com/jsonpickle/jsonpickle/issues/316
+ tests/ecdsa_test.py
+ )
+ # There is a problem with packaging feedparser with python 3.10, so skip
+ [[ ${EPYTHON} == python3_10 ]] && EPYTEST_IGNORE+=(
+ tests/feedparser_test.py
+ )
+ epytest
+}
+
+pkg_postinst() {
+ # Unpackaged optional backends: yajl, demjson
+ optfeature "encoding numpy-based data" dev-python/numpy
+ optfeature "encoding pandas objects" dev-python/pandas
+ optfeature "fast JSON backend" dev-python/simplejson
}