diff --git a/pkgs/development/python-modules/riscv-model/default.nix b/pkgs/development/python-modules/riscv-model/default.nix new file mode 100644 index 000000000000..459d9f670303 --- /dev/null +++ b/pkgs/development/python-modules/riscv-model/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + setuptools-scm, + pytestCheckHook, + pyyaml, +}: + +buildPythonPackage (finalAttrs: { + pname = "riscv-model"; + version = "0.6.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "wallento"; + repo = "riscv-python-model"; + tag = finalAttrs.version; + hash = "sha256-H4N9Z8aK/xV5gCCdsL+oiR+XQfYtCfBRBGLqvuztX+o="; + }; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + pyyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "riscvmodel" + "riscvmodel.insn" + "riscvmodel.variant" + ]; + + meta = { + description = "Formal RISC-V architecture model in Python"; + homepage = "https://github.com/wallento/riscv-python-model"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.gonsolo ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index af7274836ca1..587c95e262f7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16563,6 +16563,8 @@ self: super: with self; { riscv-isac = callPackage ../development/python-modules/riscv-isac { }; + riscv-model = callPackage ../development/python-modules/riscv-model { }; + ritassist = callPackage ../development/python-modules/ritassist { }; rivet = toPythonModule (pkgs.rivet.override { python3 = python; });