Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / gssapi / default.nix
blob8ca5f8ebc6f7c4505f222942d2ee068af13c4320
1 { stdenv
2 , lib
3 , buildPythonPackage
4 , pythonOlder
5 , fetchFromGitHub
6 , six
7 , decorator
8 , nose
9 , krb5
10 , GSS
11 , parameterized
12 , shouldbe
13 , cython
14 , python
15 , k5test
18 buildPythonPackage rec {
19   pname = "gssapi";
20   version = "1.8.3";
21   format = "setuptools";
22   disabled = pythonOlder "3.6";
24   src = fetchFromGitHub {
25     owner = "pythongssapi";
26     repo = "python-${pname}";
27     rev = "refs/tags/v${version}";
28     hash = "sha256-H1JfdvxJvX5dmC9aTqIOkjAqFEL44KoUXEhoYj2uRY8=";
29   };
31   # It's used to locate headers
32   postPatch = ''
33     substituteInPlace setup.py \
34       --replace 'get_output(f"{kc} gssapi --prefix")' '"${lib.getDev krb5}"'
35   '';
37   env = lib.optionalAttrs (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) {
38     GSSAPI_SUPPORT_DETECT = "false";
39   };
41   nativeBuildInputs = [
42     cython
43     krb5
44   ];
46   propagatedBuildInputs =  [
47     decorator
48     six
49   ];
51   buildInputs = lib.optionals stdenv.isDarwin [
52     GSS
53   ];
55   nativeCheckInputs = [
56     k5test
57     nose
58     parameterized
59     shouldbe
60     six
61   ];
63   doCheck = pythonOlder "3.8"  # `shouldbe` not available
64     && !stdenv.isDarwin;  # many failures on darwin
66   # skip tests which fail possibly due to be an upstream issue (see
67   # https://github.com/pythongssapi/python-gssapi/issues/220)
68   checkPhase = ''
69     # some tests don't respond to being disabled through nosetests -x
70     echo $'\ndel CredsTestCase.test_add_with_impersonate' >> gssapi/tests/test_high_level.py
71     echo $'\ndel TestBaseUtilities.test_acquire_creds_impersonate_name' >> gssapi/tests/test_raw.py
72     echo $'\ndel TestBaseUtilities.test_add_cred_impersonate_name' >> gssapi/tests/test_raw.py
74     export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
75     nosetests -e 'ext_test_\d.*'
76   '';
77   pythonImportsCheck = [ "gssapi" ];
79   meta = with lib; {
80     homepage = "https://pypi.python.org/pypi/gssapi";
81     description = "Python GSSAPI Wrapper";
82     license = licenses.mit;
83   };