Files
2026-06-19 05:18:59 +00:00

91 lines
2.5 KiB
Nix

{
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 ];
};
})