From 080dbdf8705b0bbb6d96d63ff1f38af3fdc5d705 Mon Sep 17 00:00:00 2001 From: Aloz1 Date: Sun, 19 Dec 2021 01:40:01 +1100 Subject: [PATCH] New package: ghdl-pyghdl-1.0.0 plus support libraries --- srcpkgs/ghdl-pyghdl | 1 + .../replace-pydecor-with-pyTooling.patch | 453 ++++++++++++++++++ srcpkgs/ghdl/template | 21 +- srcpkgs/python3-pyTooling.TerminalUI/template | 23 + srcpkgs/python3-pyTooling/template | 23 + srcpkgs/python3-pyVHDLModel/template | 23 + 6 files changed, 541 insertions(+), 3 deletions(-) create mode 120000 srcpkgs/ghdl-pyghdl create mode 100644 srcpkgs/ghdl/patches/replace-pydecor-with-pyTooling.patch create mode 100644 srcpkgs/python3-pyTooling.TerminalUI/template create mode 100644 srcpkgs/python3-pyTooling/template create mode 100644 srcpkgs/python3-pyVHDLModel/template diff --git a/srcpkgs/ghdl-pyghdl b/srcpkgs/ghdl-pyghdl new file mode 120000 index 000000000000..397362bd8e2a --- /dev/null +++ b/srcpkgs/ghdl-pyghdl @@ -0,0 +1 @@ +ghdl \ No newline at end of file diff --git a/srcpkgs/ghdl/patches/replace-pydecor-with-pyTooling.patch b/srcpkgs/ghdl/patches/replace-pydecor-with-pyTooling.patch new file mode 100644 index 000000000000..00dc235d0f48 --- /dev/null +++ b/srcpkgs/ghdl/patches/replace-pydecor-with-pyTooling.patch @@ -0,0 +1,453 @@ +From be9a134364bc79cf1e8e9968d50cd296a7975ecf Mon Sep 17 00:00:00 2001 +From: Patrick Lehmann +Date: Sun, 12 Dec 2021 14:35:51 +0100 +Subject: [PATCH] Changed export decorator from pydecor to pyTooling.Decorators + +--- + pyGHDL/cli/lsp.py | 16 ++++++---------- + pyGHDL/dom/DesignUnit.py | 2 +- + pyGHDL/dom/InterfaceItem.py | 2 +- + pyGHDL/dom/Misc.py | 2 +- + pyGHDL/dom/__init__.py | 2 +- + pyGHDL/libghdl/__init__.py | 4 +++- + pyGHDL/libghdl/_decorator.py | 2 +- + pyGHDL/libghdl/errorout.py | 2 +- + pyGHDL/libghdl/errorout_console.py | 2 +- + pyGHDL/libghdl/errorout_memory.py | 2 +- + pyGHDL/libghdl/files_map.py | 2 +- + pyGHDL/libghdl/files_map_editor.py | 2 +- + pyGHDL/libghdl/libraries.py | 2 +- + pyGHDL/libghdl/name_table.py | 2 +- + pyGHDL/libghdl/std_names.py | 2 +- + pyGHDL/libghdl/utils.py | 2 +- + pyGHDL/libghdl/vhdl/elocations.py | 2 +- + pyGHDL/libghdl/vhdl/flists.py | 2 +- + pyGHDL/libghdl/vhdl/formatters.py | 2 +- + pyGHDL/libghdl/vhdl/lists.py | 2 +- + pyGHDL/libghdl/vhdl/nodes.py | 2 +- + pyGHDL/libghdl/vhdl/nodes_meta.py | 2 +- + pyGHDL/libghdl/vhdl/nodes_utils.py | 2 +- + pyGHDL/libghdl/vhdl/parse.py | 2 +- + pyGHDL/libghdl/vhdl/scanner.py | 2 +- + pyGHDL/libghdl/vhdl/sem.py | 2 +- + pyGHDL/libghdl/vhdl/sem_lib.py | 2 +- + pyGHDL/libghdl/vhdl/tokens.py | 2 +- + scripts/pnodespy.py | 13 ++++++++----- + 29 files changed, 43 insertions(+), 42 deletions(-) + +diff --git a/pyGHDL/cli/lsp.py b/pyGHDL/cli/lsp.py +index 44d55635..58da6c90 100644 +--- a/pyGHDL/cli/lsp.py ++++ b/pyGHDL/cli/lsp.py +@@ -39,7 +39,7 @@ from logging import getLogger, DEBUG, INFO, ERROR, basicConfig + import sys + import os + +-from pydecor import export ++from pyTooling.Decorators import export + + import pyGHDL.libghdl as libghdl + from pyGHDL.libghdl import version, errorout_console +@@ -62,16 +62,12 @@ def __rotate_log_files(basename: str, num: int): + + def _generateCLIParser() -> ArgumentParser: + """Creates an CLI argument parser based on ``argparse``.""" +- parser = ArgumentParser(description="VHDL Language Protocol Server. Find info about clients in `ghdl/ghdl-language-server `__.") +- parser.add_argument( +- "--version", "-V", action="version", version="%(prog)s " + version.__version__ +- ) +- parser.add_argument( +- "--verbose", "-v", action="count", default=0, help="Show debug output" +- ) +- parser.add_argument( +- "--log-file", help="Redirect logs to the given file instead of stderr" ++ parser = ArgumentParser( ++ description="VHDL Language Protocol Server. Find info about clients in `ghdl/ghdl-language-server `__." + ) ++ parser.add_argument("--version", "-V", action="version", version="%(prog)s " + version.__version__) ++ parser.add_argument("--verbose", "-v", action="count", default=0, help="Show debug output") ++ parser.add_argument("--log-file", help="Redirect logs to the given file instead of stderr") + parser.add_argument("--trace-file", help="Save RPC data to FILE.in and FILE.out (overrides :envvar:`GHDL_LS_TRACE`)") + parser.add_argument("--input", "-i", help="Read request from file") + parser.add_argument( +diff --git a/pyGHDL/dom/DesignUnit.py b/pyGHDL/dom/DesignUnit.py +index 35ee8132..e9a8e7ab 100644 +--- a/pyGHDL/dom/DesignUnit.py ++++ b/pyGHDL/dom/DesignUnit.py +@@ -39,7 +39,7 @@ This module contains all DOM classes for VHDL's design units (:class:`entity &1 >/dev/null + } +} diff --git a/srcpkgs/python3-pyTooling.TerminalUI/template b/srcpkgs/python3-pyTooling.TerminalUI/template new file mode 100644 index 000000000000..b36adc972d47 --- /dev/null +++ b/srcpkgs/python3-pyTooling.TerminalUI/template @@ -0,0 +1,23 @@ +# Template file for 'python3-pyTooling.TerminalUI' +pkgname=python3-pyTooling.TerminalUI +version=1.5.5 +revision=1 +wrksrc="pyTooling.TerminalUI-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools python3-pyTooling" +depends="python3 python3-colorama python3-pyTooling" +short_desc="Pythono helper module for implementing terminal TUIs" +maintainer="Aloz1 " +license="Apache-2.0" +homepage="https://github.com/pyTooling/pyTooling.TemplateUI" +distfiles="${PYPI_SITE}/p/pyTooling.TerminalUI/pyTooling.TerminalUI-${version}.tar.gz" +checksum=813817192ae62a027828898c53c265c60fd408a9a6988413367df6b140918cb1 + +post_extract() { + # Upstream tarballs are broken, they're missing the requirements.txt + touch requirements.txt +} + +post_install() { + find ${DESTDIR} -path '*/__pycache__*' -delete 2>&1 >/dev/null +} diff --git a/srcpkgs/python3-pyTooling/template b/srcpkgs/python3-pyTooling/template new file mode 100644 index 000000000000..838f4e0ae3b3 --- /dev/null +++ b/srcpkgs/python3-pyTooling/template @@ -0,0 +1,23 @@ +# Template file for 'python3-pyTooling' +pkgname=python3-pyTooling +version=1.7.0 +revision=1 +wrksrc="pyTooling-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3" +short_desc="Collection of arbitrary classes/decorators/metaclasses" +maintainer="Aloz1 " +license="Apache-2.0" +homepage="https://github.com/pyTooling/pyTooling" +distfiles="${PYPI_SITE}/p/pyTooling/pyTooling-${version}.tar.gz" +checksum=5bca8b1a88ab4e5241adee977da05033417635dbe7cc4693714fc59fab8310ac + +post_extract() { + # Upstream tarballs are broken, they're missing the requirements.txt + touch requirements.txt +} + +post_install() { + find ${DESTDIR} -path '*/__pycache__*' -delete 2>&1 >/dev/null +} diff --git a/srcpkgs/python3-pyVHDLModel/template b/srcpkgs/python3-pyVHDLModel/template new file mode 100644 index 000000000000..e467fb09fdc7 --- /dev/null +++ b/srcpkgs/python3-pyVHDLModel/template @@ -0,0 +1,23 @@ +# Template file for 'python3-pyVHDLModel' +pkgname=python3-pyVHDLModel +version=0.14.1 +revision=1 +wrksrc="pyVHDLModel-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools python3-pyTooling" +depends="python3 python3-pyTooling" +short_desc="Abstract VHDL language model written in Python" +maintainer="Aloz1 " +license="Apache-2.0" +homepage="https://github.com/VHDL/pyVHDLModel" +distfiles="${PYPI_SITE}/p/pyVHDLModel/pyVHDLModel-${version}.tar.gz" +checksum=5a093c309c1434adec2ce946e51c358f05791392c7a7964b9e6a5f874a8a322f + +post_extract() { + # Upstream tarballs are broken, they're missing the requirements.txt + touch requirements.txt +} + +post_install() { + find ${DESTDIR} -path '*/__pycache__*' -delete 2>&1 >/dev/null +}