1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 setuptools,
6 behave,
7 ruamel-yaml,
8 schema,
9 pytestCheckHook,
10 pytest-mock,
11}:
12
13let
14 version = "1.6.10";
15in
16buildPythonPackage rec {
17 pname = "sismic";
18 inherit version;
19 pyproject = true;
20
21 build-system = [ setuptools ];
22
23 src = fetchFromGitHub {
24 owner = "AlexandreDecan";
25 repo = "sismic";
26 tag = version;
27 hash = "sha256-FUjOn2b4nhHf2DfYbY+wsRMaVEG90nPgLlNbNTiq3fQ=";
28 };
29
30 pythonRelaxDeps = [ "behave" ];
31
32 dependencies = [
33 behave
34 ruamel-yaml
35 schema
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 pytest-mock
41 ];
42
43 pythonImportsCheck = [ "sismic" ];
44
45 enabledTestPaths = [ "tests/" ];
46
47 disabledTests = [
48 # Time related tests, might lead to flaky tests on slow/busy machines
49 "test_clock"
50 ];
51
52 meta = {
53 changelog = "https://github.com/AlexandreDecan/sismic/releases/tag/${src.tag}";
54 description = "Sismic Interactive Statechart Model Interpreter and Checker";
55 homepage = "https://github.com/AlexandreDecan/sismic";
56 license = lib.licenses.lgpl3Only;
57 maintainers = with lib.maintainers; [ ];
58 };
59}