diff --git a/pkgs/development/python-modules/peakrdl-rust/default.nix b/pkgs/development/python-modules/peakrdl-rust/default.nix new file mode 100644 index 000000000000..ecacee72a6a2 --- /dev/null +++ b/pkgs/development/python-modules/peakrdl-rust/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3bbad9b156b7..307eb953d369 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11878,6 +11878,8 @@ self: super: with self; { 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 { };