Merge pull request #41892 from catern/exlib

add pykerberos, requests-kerberos, exchangelib
This commit is contained in:
Frederik Rietdijk 2018-07-28 09:37:17 +02:00 committed by GitHub
commit 17a09eb501
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 114 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub, buildPythonPackage,
lxml, tzlocal, python-dateutil, pygments, future, requests-kerberos,
defusedxml, cached-property, isodate, requests_ntlm, dnspython,
psutil, requests-mock, pyyaml
}:
buildPythonPackage rec {
pname = "exchangelib";
version = "1.11.4";
# tests are not present in the PyPI version
src = fetchFromGitHub {
owner = "ecederstrand";
repo = pname;
rev = "v${version}";
sha256 = "1fpbnjnmqm62vll3m2ys1naikch70kqm26hz86f1cl0r2l2afbab";
};
# one test is failing due to it trying to send a request to example.com
patches = [ ./skip_failing_test.patch ];
checkInputs = [ psutil requests-mock pyyaml ];
propagatedBuildInputs = [
lxml tzlocal python-dateutil pygments requests-kerberos
future defusedxml cached-property isodate requests_ntlm dnspython ];
meta = with stdenv.lib; {
description = "Client for Microsoft Exchange Web Services (EWS)";
homepage = "https://github.com/ecederstrand/exchangelib";
license = licenses.bsd2;
maintainers = with maintainers; [ catern ];
};
}

View file

@ -0,0 +1,18 @@
--- ./tests/__init__.py 1980-01-02 00:00:00.000000000 +0000
+++ ./tests/__init__.py 1980-01-02 00:00:00.000000000 +0000
@@ -301,6 +301,7 @@
self.assertEqual(id(base_p.thread_pool), id(p.thread_pool))
self.assertEqual(id(base_p._session_pool), id(p._session_pool))
+ @unittest.skip("no network connection inside the Nix sandbox")
def test_close(self):
proc = psutil.Process()
ip_addresses = {info[4][0] for info in socket.getaddrinfo(
@@ -1257,6 +1258,7 @@
)
+@unittest.skip("no network connection inside the Nix sandbox")
class EWSTest(unittest.TestCase):
@classmethod
def setUpClass(cls):

View file

@ -0,0 +1,22 @@
{ stdenv, fetchPypi, buildPythonPackage, krb5 }:
buildPythonPackage rec {
pname = "pykerberos";
version = "1.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "0v47p840myqgc7hr4lir72xshcfpa0w8j9n077h3njpqyn6wlbag";
};
buildInputs = [ krb5 ];
# there are no tests
doCheck = false;
meta = with stdenv.lib; {
description = "High-level interface to Kerberos";
license = licenses.asl20;
maintainers = with maintainers; [ catern ];
};
}

View file

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, buildPythonPackage, requests, pykerberos, mock }:
buildPythonPackage rec {
pname = "requests-kerberos";
version = "0.12.0";
# tests are not present in the PyPI version
src = fetchFromGitHub {
owner = "requests";
repo = pname;
rev = "v${version}";
sha256 = "1qw96aw84nljh9cip372mfv50p1yyirfgigavvavgpc3c5g278s6";
};
checkInputs = [ mock ];
propagatedBuildInputs = [ requests pykerberos ];
# they have a setup.py which mentions a test suite that doesn't exist...
patches = [ ./fix_setup.patch ];
meta = with stdenv.lib; {
description = "An authentication handler for using Kerberos with Python Requests.";
homepage = "https://github.com/requests/requests-kerberos";
license = licenses.isc;
maintainers = with maintainers; [ catern ];
};
}

View file

@ -0,0 +1,9 @@
--- ./setup.py 1980-01-02 00:00:00.000000000 +0000
+++ ./setup.py 1980-01-02 00:00:00.000000000 +0000
@@ -56,6 +56,5 @@
':sys_platform=="win32"': ['winkerberos>=0.5.0'],
':sys_platform!="win32"': ['pykerberos>=1.1.8,<2.0.0'],
},
- test_suite='test_requests_kerberos',
tests_require=['mock'],
)

View file

@ -256,6 +256,8 @@ in {
ewmh = callPackage ../development/python-modules/ewmh { };
exchangelib = callPackage ../development/python-modules/exchangelib { };
dbus-python = callPackage ../development/python-modules/dbus {
dbus = pkgs.dbus;
};
@ -411,6 +413,8 @@ in {
inherit (pkgs.llvmPackages) openmp;
};
pykerberos = callPackage ../development/python-modules/pykerberos { };
pynisher = callPackage ../development/python-modules/pynisher { };
pyparser = callPackage ../development/python-modules/pyparser { };
@ -2100,6 +2104,8 @@ in {
requests-cache = callPackage ../development/python-modules/requests-cache { };
requests-kerberos = callPackage ../development/python-modules/requests-kerberos { };
requests-unixsocket = callPackage ../development/python-modules/requests-unixsocket {};
howdoi = callPackage ../development/python-modules/howdoi {};