package/python-jc: new package

All dependencies are optional, and thus only mentioned in the package
help text.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
[Arnout:
 - add to DEVELOPERS;
 - add BSD-3-Clause license for vendored pbPlist.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Marcus Hoffmann 2024-02-13 10:40:15 +01:00 committed by Arnout Vandecappelle
parent 4308c270a7
commit 2ce680b991
6 changed files with 55 additions and 0 deletions

View File

@ -2092,6 +2092,7 @@ F: utils/config
F: utils/diffconfig
N: Marcus Hoffmann <bubu@bubu1.eu>
F: package/python-jc/
F: support/testing/tests/package/test_python_fastapi.py
F: support/testing/tests/package/sample_python_fastapi.py

View File

@ -1150,6 +1150,7 @@ menu "External python modules"
source "package/python-janus/Config.in"
source "package/python-jaraco-classes/Config.in"
source "package/python-jaraco-functools/Config.in"
source "package/python-jc/Config.in"
source "package/python-jedi/Config.in"
source "package/python-jeepney/Config.in"
source "package/python-jinja2/Config.in"

View File

@ -0,0 +1,12 @@
config BR2_PACKAGE_PYTHON_JC
bool "python-jc"
help
Converts the output of popular command-line tools and file-
types to JSON.
Optionally requires python-pygments for syntax highlighting,
python-ruamel-yaml for yaml parsing and output and
python-xmltodict for xml parsing. PYTHON3_PYEXPAT is required
for xml and plist parsers.
https://github.com/kellyjonbrazil/jc

View File

@ -0,0 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/jc/json
md5 80e4c7d46ec856255577c6b364e7f931 jc-1.25.1.tar.gz
sha256 683352e903ece9a86eae0c3232188e40178139e710c740a466ef91ed87c4cc7e jc-1.25.1.tar.gz
# Locally computed sha256 checksums
sha256 6493f2db400f4166ca0956cf192a41aa092bd1396ff463e7fdaf51f257c10497 LICENSE.md

View File

@ -0,0 +1,14 @@
################################################################################
#
# python-jc
#
################################################################################
PYTHON_JC_VERSION = 1.25.1
PYTHON_JC_SOURCE = jc-$(PYTHON_JC_VERSION).tar.gz
PYTHON_JC_SITE = https://files.pythonhosted.org/packages/53/a6/065f0796a0a21bc040bc88c8a33410c12729a2a6f4c269d0349f685796da
PYTHON_JC_SETUP_TYPE = setuptools
PYTHON_JC_LICENSE = MIT, BSD-3-Clause (bundled pbPlist)
PYTHON_JC_LICENSE_FILES = LICENSE.md
$(eval $(python-package))

View File

@ -0,0 +1,22 @@
from tests.package.test_python import TestPythonPackageBase
class TestPythonPy3Jc(TestPythonPackageBase):
__test__ = True
# We deliberately run the test without the optional dependencies,
# as this configuration is less tested upstream.
config = TestPythonPackageBase.config + \
"""
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_JC=y
"""
timeout = 60
def test_run(self):
self.login()
cmd = "jc -h > /dev/null 2>&1"
self.assertRunOk(cmd, timeout=self.timeout)
cmd = "jc id | grep -q root"
self.assertRunOk(cmd, timeout=self.timeout)
cmd = "jc env | grep -q PATH"
self.assertRunOk(cmd, self.timeout)