summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/cl/clickable/package.nix
blob: 329d0742d1a94177873ab885a3a868dc0c03e9d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
  lib,
  fetchFromGitLab,
  gitUpdater,
  python3Packages,
  stdenv,
  docker,
  git,
  which,
}:

python3Packages.buildPythonApplication (finalAttrs: {
  pname = "clickable";
  version = "8.9.0";
  pyproject = true;

  src = fetchFromGitLab {
    owner = "clickable";
    repo = "clickable";
    rev = "v${finalAttrs.version}";
    hash = "sha256-hrtAx/RKBlVf8cguPAGd55/m0D6YLu678f+aqeIzRos=";
  };

  __structuredAttrs = true;

  build-system = [ python3Packages.setuptools ];

  dependencies = with python3Packages; [
    cookiecutter
    requests
    pyyaml
    jsonschema
    argcomplete
    watchdog
  ];

  nativeCheckInputs = [
    docker
    git
    python3Packages.pytestCheckHook
    which
  ];

  disabledTests = [
    # Requires running docker daemon
    "TestTemplates"

    # Expects /tmp to exist and not be a symlink
    # https://gitlab.com/clickable/clickable/-/issues/479
    "TestReviewCommand and test_run and not test_run_with_path_arg"
  ]
  ++ lib.optionals (!stdenv.hostPlatform.isx86_64) [
    # pytest's lack of exact nodeid matching or deselecting makes it impossible to nicely disable just
    # test_architectures.py::TestArchitectures::test_arch (infix matching makes test_arch match test_architectures.py).
    # Have to `or` for every other TestArchitectures test and then `not` that.
    # What we want to disable: test_arch & test_restricted_arch
    # Reason: they hardcode amd64
    "TestArchitectures and not (${
      lib.strings.concatStringsSep " or " [
        "test_arch_agnostic"
        "test_default_arch"
        "test_fail_arch_agnostic"
        "test_fail_in_restricted_arch"
        "test_restricted_arch_env"
      ]
    })"

    # no -ide images on non-x86_64
    # https://gitlab.com/clickable/clickable/-/issues/478
    "TestIdeQtCreatorCommand and test_command_overrided"
    "TestIdeQtCreatorCommand and test_init_cmake_project"
    "TestIdeQtCreatorCommand and test_initialize_qtcreator_conf"
    "TestIdeQtCreatorCommand and test_project_pre_configured"
    "TestIdeQtCreatorCommand and test_recurse_replace"
  ];

  passthru.updateScript = gitUpdater { rev-prefix = "v"; };

  meta = {
    description = "Build system for Ubuntu Touch apps";
    mainProgram = "clickable";
    homepage = "https://clickable-ut.dev";
    changelog = "https://clickable-ut.dev/en/latest/changelog.html#changes-in-v${
      lib.strings.replaceStrings [ "." ] [ "-" ] finalAttrs.version
    }";
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [ ilyakooo0 ];
    teams = [ lib.teams.lomiri ];
  };
})