1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pytestCheckHook,
7 pythonOlder,
8}:
9
10buildPythonPackage rec {
11 pname = "spython";
12 version = "0.3.14";
13 pyproject = true;
14
15 disabled = pythonOlder "3.9";
16
17 src = fetchFromGitHub {
18 owner = "singularityhub";
19 repo = "singularity-cli";
20 tag = version;
21 hash = "sha256-PNMzqnKb691wcd8aGSleqHOcsUrahl8e0r5s5ek5GmQ=";
22 };
23
24 postPatch = ''
25 substituteInPlace setup.py \
26 --replace-fail '"pytest-runner"' ""
27 '';
28
29 build-system = [ setuptools ];
30
31 nativeCheckInputs = [ pytestCheckHook ];
32
33 pythonImportsCheck = [ "spython" ];
34
35 disabledTests = [
36 # Assertion errors
37 "test_has_no_instances"
38 "test_check_install"
39 "test_check_get_singularity_version"
40 ];
41
42 disabledTestPaths = [
43 # Tests are looking for something that doesn't exist
44 "spython/tests/test_client.py"
45 ];
46
47 meta = with lib; {
48 description = "Streamlined singularity python client (spython) for singularity";
49 homepage = "https://github.com/singularityhub/singularity-cli";
50 changelog = "https://github.com/singularityhub/singularity-cli/blob/${version}/CHANGELOG.md";
51 license = licenses.mpl20;
52 maintainers = with maintainers; [ fab ];
53 mainProgram = "spython";
54 };
55}