summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/sss/default.nix
blob: 17da8e3e87b4059ebae27eef967e939bca4a9e41 (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
{
  lib,
  buildPythonPackage,
  python,
  sssd,

  # tests
  pytestCheckHook,
}:

let
  sssdForPython = sssd.override {
    python3 = python;
  };
in
buildPythonPackage {
  pname = "sss";
  inherit (sssdForPython) version;

  pyproject = false;
  dontUnpack = true;
  dontBuild = true;

  dependencies = [
    sssdForPython
  ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/${python.sitePackages}

    cp -r ${sssdForPython}/${python.sitePackages}/SSSDConfig $out/${python.sitePackages}/
    install -m 755 ${sssdForPython}/${python.sitePackages}/*.so $out/${python.sitePackages}/

    runHook postInstall
  '';

  pythonImportsCheck = [
    "sssd"
    "pysss"
    "pysss_murmur"
    "pysss_nss_idmap"
    "pyhbac"
    "SSSDConfig"
  ];

  nativeCheckInputs = [
    pytestCheckHook
  ];

  # No tests
  doCheck = false;

  meta = {
    description = "Python bindings for SSSD (System Security Services Daemon)";
    longDescription = ''
      This package provides Python bindings for SSSD including:
      - sssd: SSSD Python utilities module
      - pysss: Core Python module for SSSD operations
      - pysss_murmur: MurmurHash implementation
      - pysss_nss_idmap: NSS ID mapping functionality
      - pyhbac: HBAC (Host-Based Access Control) module
      - SSSDConfig: Configuration management module
    '';
    inherit (sssd.meta)
      homepage
      changelog
      platforms
      maintainers
      ;
  };
}