textproc/py-wavedrom: New port

This is a Python module and command line fully compatible with WaveDrom,
which is originally implemented in JavaScript. It is useful if you want
to generate wavedrom diagrams from a Python environment or simply don't
want to install the Node.js environment just to use WaveDrom as simple
command line.

WaveDromPy is for example used in sphinxcontrib-wavedrom to render
wavedrom for Sphinx documentation. While the original project renders
the diagrams in JavaScript in the browser, WaveDromPy renders them to
SVG files.

This tool is a direct translation of original Javascript file
WaveDrom.js to Python. No extra feature added. We seek to have it fully
compatible.

The tool WaveDromPy directly converts WaveDrom compatible JSON files
into SVG format.
This commit is contained in:
Kai Knoblich 2023-09-02 08:44:16 +02:00
parent 9276ea7553
commit 451a4c9f7d
4 changed files with 48 additions and 0 deletions

View file

@ -1621,6 +1621,7 @@
SUBDIR += py-ufal.udpipe
SUBDIR += py-unicodeitplus
SUBDIR += py-untangle
SUBDIR += py-wavedrom
SUBDIR += py-wcmatch
SUBDIR += py-whatthepatch
SUBDIR += py-whoosh

View file

@ -0,0 +1,30 @@
PORTNAME= wavedrom
DISTVERSION= 2.0.3.post3
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= kai@FreeBSD.org
COMMENT= WaveDrom compatible Python command line
WWW= https://github.com/wallento/wavedrompy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}svgwrite>0:graphics/py-svgwrite@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairosvg>0:graphics/py-cairosvg@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xmldiff>0:textproc/py-xmldiff@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent distutils pytest
PYTEST_IGNORED_TESTS= test_upstream # Requires git and an internet connection
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1693574032
SHA256 (wavedrom-2.0.3.post3.tar.gz) = 327b4d5dca593c81257c202fea516f7a908747fb11527c359f034f5b7af7f47b
SIZE (wavedrom-2.0.3.post3.tar.gz) = 137737

View file

@ -0,0 +1,14 @@
This is a Python module and command line fully compatible with WaveDrom, which
is originally implemented in JavaScript. It is useful if you want to generate
wavedrom diagrams from a Python environment or simply don't want to install the
Node.js environment just to use WaveDrom as simple command line.
WaveDromPy is for example used in sphinxcontrib-wavedrom to render wavedrom for
Sphinx documentation. While the original project renders the diagrams in
JavaScript in the browser, WaveDromPy renders them to SVG files.
This tool is a direct translation of original Javascript file WaveDrom.js to
Python. No extra feature added. We seek to have it fully compatible.
The tool WaveDromPy directly converts WaveDrom compatible JSON files into SVG
format.