diff --git a/pkgs/development/python-modules/sismic/default.nix b/pkgs/development/python-modules/sismic/default.nix new file mode 100644 index 000000000000..8128e5490d29 --- /dev/null +++ b/pkgs/development/python-modules/sismic/default.nix @@ -0,0 +1,59 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + setuptools, + behave, + ruamel-yaml, + schema, + pytestCheckHook, + pytest-mock, +}: + +let + version = "1.6.6"; +in +buildPythonPackage { + pname = "sismic"; + inherit version; + pyproject = true; + + build-system = [ setuptools ]; + + src = fetchFromGitHub { + owner = "AlexandreDecan"; + repo = "sismic"; + rev = "refs/tags/${version}"; + hash = "sha256-MvJyyERH0l5547cVmpxnHXRf9q1ylK9/ZfyLYBQfsbY="; + }; + + pythonRelaxDeps = [ "behave" ]; + + dependencies = [ + behave + ruamel-yaml + schema + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-mock + ]; + + pythonImportsCheck = [ "sismic" ]; + + pytestFlagsArray = [ "tests/" ]; + + disabledTests = [ + # Time related tests, might lead to flaky tests on slow/busy machines + "test_clock" + ]; + + meta = { + changelog = "https://github.com/AlexandreDecan/sismic/releases/tag/${version}"; + description = "Sismic Interactive Statechart Model Interpreter and Checker"; + homepage = "https://github.com/AlexandreDecan/sismic"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ drupol ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f5bf811f0a3f..f717a160919e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14512,6 +14512,8 @@ self: super: with self; { sipyco = callPackage ../development/python-modules/sipyco { }; + sismic = callPackage ../development/python-modules/sismic { }; + sisyphus-control = callPackage ../development/python-modules/sisyphus-control { }; siuba = callPackage ../development/python-modules/siuba { };