1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 cython,
6 fetchPypi,
7 k5test,
8 krb5-c, # C krb5 library
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "krb5";
16 version = "0.7.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-7V8T1QMUibENhlXAraKKgcI5Gz7LigjG1znh5YNbxFA=";
24 };
25
26 build-system = [
27 cython
28 setuptools
29 ];
30
31 nativeBuildInputs = [ krb5-c ];
32
33 nativeCheckInputs = [
34 k5test
35 pytestCheckHook
36 ];
37
38 pythonImportsCheck = [ "krb5" ];
39
40 meta = with lib; {
41 changelog = "https://github.com/jborean93/pykrb5/blob/v${version}/CHANGELOG.md";
42 description = "Kerberos API bindings for Python";
43 homepage = "https://github.com/jborean93/pykrb5";
44 license = licenses.mit;
45 teams = [ teams.deshaw ];
46 broken = stdenv.hostPlatform.isDarwin; # TODO: figure out how to build on Darwin
47 };
48}