Add peakrdl utilities (#460459)

This commit is contained in:
Jared Baur
2025-12-14 02:21:34 +00:00
committed by GitHub
9 changed files with 347 additions and 0 deletions
@@ -0,0 +1,45 @@
{
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
jinja2,
lib,
peakrdl,
setuptools,
setuptools-scm,
systemrdl-compiler,
}:
buildPythonPackage rec {
pname = "peakrdl-cheader";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "PeakRDL-cheader";
tag = "v${version}";
hash = "sha256-1LxKGCea5ClKmrArl+CM6ZRpiTh2ThbYSe9TYYHjRlY=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
jinja2
peakrdl
systemrdl-compiler
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "C Header generator for a SystemRDL definition";
homepage = "https://peakrdl-cheader.readthedocs.io/";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,43 @@
{
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
lib,
peakrdl,
setuptools,
setuptools-scm,
systemrdl-compiler,
}:
buildPythonPackage rec {
pname = "peakrdl-ipxact";
version = "3.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "PeakRDL-ipxact";
tag = "v${version}";
hash = "sha256-GFHgIyK82dt+/t0XbDdk61q0DXUOabxtjlhZhgacUVA=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
peakrdl
systemrdl-compiler
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "Import and export IP-XACT XML register models";
homepage = "http://peakrdl-ipxact.readthedocs.io/";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,39 @@
{
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
lib,
peakrdl,
py-markdown-table,
poetry-core,
}:
buildPythonPackage rec {
pname = "peakrdl-markdown";
version = "1.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "PeakRDL-markdown";
tag = "v${version}";
hash = "sha256-Dt8FxnvvXY9nVhFehIcfSC9mFbbEzEuaVnBMu032dug=";
};
build-system = [ poetry-core ];
dependencies = [
peakrdl
py-markdown-table
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "Export Markdown description from the systemrdl-compiler register model";
homepage = "https://peakrdl-markdown.readthedocs.io/";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,45 @@
{
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
jinja2,
lib,
peakrdl,
setuptools,
setuptools-scm,
systemrdl-compiler,
}:
buildPythonPackage rec {
pname = "peakrdl-regblock";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "PeakRDL-regblock";
tag = "v${version}";
hash = "sha256-hVHqdmXsxOoqpo84KPaK+74VPVsl61QyB5b7lFlmA0o=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
jinja2
peakrdl
systemrdl-compiler
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "Generate SystemVerilog RTL that implements a register block from compiled SystemRDL input";
homepage = "http://peakrdl-regblock.readthedocs.io/";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,40 @@
{
buildPythonPackage,
case-converter,
fetchFromGitHub,
jinja2,
lib,
peakrdl,
systemrdl-compiler,
uv-build,
}:
buildPythonPackage rec {
pname = "peakrdl-rust";
version = "0.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "darsor";
repo = "PeakRDL-rust";
tag = "v${version}";
hash = "sha256-MD0iMdNFvu/V/yWnivJ9cbE0/d77bsoCVScpMMGMG/I=";
};
build-system = [ uv-build ];
dependencies = [
case-converter
jinja2
peakrdl
systemrdl-compiler
];
meta = {
description = "Generate a Rust crate from SystemRDL for accessing control/status registers";
homepage = "https://peakrdl-rust.readthedocs.io/";
license = lib.licenses.lgpl21Only;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,45 @@
{
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
lib,
setuptools,
setuptools-scm,
systemrdl-compiler,
typing-extensions,
}:
buildPythonPackage rec {
pname = "peakrdl";
version = "1.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "PeakRDL";
tag = "v${version}";
hash = "sha256-SqLhOzx0gUVG8k4ikNbx8p1vO/ZqTQ/KAtidRWM2SZI=";
};
sourceRoot = "${src.name}/peakrdl-cli";
build-system = [
setuptools
setuptools-scm
];
dependencies = [
systemrdl-compiler
typing-extensions
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "Control and status register code generator toolchain";
homepage = "https://peakrdl.readthedocs.io/";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.jmbaur ];
mainProgram = "peakrdl";
};
}
@@ -0,0 +1,29 @@
{
buildPythonPackage,
fetchFromGitHub,
lib,
poetry-core,
}:
buildPythonPackage rec {
pname = "py-markdown-table";
version = "1.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hvalev";
repo = "py-markdown-table";
tag = "v${version}";
hash = "sha256-BZDyBDW6Ok9WUb5FEAevVqkYM1S12pvkUCGbZ0XxxV4=";
};
build-system = [ poetry-core ];
meta = {
description = "Tiny python library with zero dependencies which generates formatted multiline tables in markdown";
homepage = "https://github.com/hvalev/py-markdown-table";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jmbaur ];
};
}
@@ -0,0 +1,45 @@
{
antlr4-python3-runtime,
buildPythonPackage,
colorama,
fetchFromGitHub,
gitUpdater,
lib,
markdown,
setuptools,
setuptools-scm,
}:
buildPythonPackage rec {
pname = "systemrdl-compiler";
version = "1.32.1";
pyproject = true;
src = fetchFromGitHub {
owner = "SystemRDL";
repo = "systemrdl-compiler";
tag = "v${version}";
hash = "sha256-BTONBzNE9GfBeallS6P4E1ukPs2EzFa31/SpxEjXmKw=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
antlr4-python3-runtime
colorama
markdown
];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "SystemRDL 2.0 language compiler front-end";
homepage = "https://systemrdl-compiler.readthedocs.io/en/stable/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jmbaur ];
};
}
+16
View File
@@ -11870,6 +11870,18 @@ self: super: with self; {
peacasso = callPackage ../development/python-modules/peacasso { };
peakrdl = callPackage ../development/python-modules/peakrdl { };
peakrdl-cheader = callPackage ../development/python-modules/peakrdl-cheader { };
peakrdl-ipxact = callPackage ../development/python-modules/peakrdl-ipxact { };
peakrdl-markdown = callPackage ../development/python-modules/peakrdl-markdown { };
peakrdl-regblock = callPackage ../development/python-modules/peakrdl-regblock { };
peakrdl-rust = callPackage ../development/python-modules/peakrdl-rust { };
peakutils = callPackage ../development/python-modules/peakutils { };
peaqevcore = callPackage ../development/python-modules/peaqevcore { };
@@ -12722,6 +12734,8 @@ self: super: with self; {
py-madvr2 = callPackage ../development/python-modules/py-madvr2 { };
py-markdown-table = callPackage ../development/python-modules/py-markdown-table { };
py-melissa-climate = callPackage ../development/python-modules/py-melissa-climate { };
py-multiaddr = callPackage ../development/python-modules/py-multiaddr { };
@@ -18341,6 +18355,8 @@ self: super: with self; {
systemdunitparser = callPackage ../development/python-modules/systemdunitparser { };
systemrdl-compiler = callPackage ../development/python-modules/systemrdl-compiler { };
sysv-ipc = callPackage ../development/python-modules/sysv-ipc { };
t61codec = callPackage ../development/python-modules/t61codec { };