aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2023-09-02 06:44:16 +0000
committerKai Knoblich <kai@FreeBSD.org>2023-09-02 06:59:20 +0000
commit451a4c9f7df8b4297b87919479744d8abeddd3a6 (patch)
tree1beaf2c31aa2f8ba7a21850c571aa131ce5aaf14
parent9276ea755361d328a97c99e8aeaf5957d2dcbc17 (diff)
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.
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/py-wavedrom/Makefile30
-rw-r--r--textproc/py-wavedrom/distinfo3
-rw-r--r--textproc/py-wavedrom/pkg-descr14
4 files changed, 48 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 99e073a5aa17..3bd507ddd7f5 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -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
diff --git a/textproc/py-wavedrom/Makefile b/textproc/py-wavedrom/Makefile
new file mode 100644
index 000000000000..2cc4a8b9cef3
--- /dev/null
+++ b/textproc/py-wavedrom/Makefile
@@ -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>
diff --git a/textproc/py-wavedrom/distinfo b/textproc/py-wavedrom/distinfo
new file mode 100644
index 000000000000..0a2704b3dacc
--- /dev/null
+++ b/textproc/py-wavedrom/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1693574032
+SHA256 (wavedrom-2.0.3.post3.tar.gz) = 327b4d5dca593c81257c202fea516f7a908747fb11527c359f034f5b7af7f47b
+SIZE (wavedrom-2.0.3.post3.tar.gz) = 137737
diff --git a/textproc/py-wavedrom/pkg-descr b/textproc/py-wavedrom/pkg-descr
new file mode 100644
index 000000000000..3a9d187ad5db
--- /dev/null
+++ b/textproc/py-wavedrom/pkg-descr
@@ -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.