diff --git a/pkgs/development/python-modules/beaker/default.nix b/pkgs/development/python-modules/beaker/default.nix index 7a17fd0f1d0a..3882af3a67df 100644 --- a/pkgs/development/python-modules/beaker/default.nix +++ b/pkgs/development/python-modules/beaker/default.nix @@ -2,42 +2,75 @@ , buildPythonPackage , fetchFromGitHub , nose +, pylibmc +, memcached +, redis +, pymongo , mock , webtest , sqlalchemy , pycrypto +, cryptography , isPy27 +, isPy3k , funcsigs , pycryptopp }: buildPythonPackage rec { pname = "Beaker"; - version = "1.8.0"; + version = "1.10.1"; # The pypy release do not contains the tests src = fetchFromGitHub { owner = "bbangert"; repo = "beaker"; rev = "${version}"; - sha256 = "17yfr7a307n8rdl09was4j60xqk2s0hk0hywdkigrpj4qnw0is7g"; + sha256 = "0xrvg503xmi28w0hllr4s7fkap0p09fgw2wax3p1s2r6b3xjvbz7"; }; - buildInputs = - [ nose - mock - webtest - ]; propagatedBuildInputs = [ sqlalchemy pycrypto + cryptography ] ++ lib.optionals (isPy27) [ funcsigs pycryptopp ]; + checkInputs = [ + nose + mock + webtest + pylibmc + memcached + redis + pymongo + ]; + + + # Can not run memcached tests because it immediately tries to connect + postPatch = lib.optionalString isPy3k '' + substituteInPlace setup.py \ + --replace "python-memcached" "python3-memcached" + '' + '' + + rm tests/test_memcached.py + ''; + + # Disable external tests because they need to connect to a live database. + # Also disable a test in test_cache.py called "test_upgrade" because + # it currently fails on darwin. + # Please see issue https://github.com/bbangert/beaker/issues/166 + checkPhase = '' + nosetests \ + -e ".*test_ext_.*" \ + -e "test_upgrade" \ + -vv tests + ''; + meta = { description = "A Session and Caching library with WSGI Middleware"; maintainers = with lib.maintainers; [ garbas domenkozar ]; }; -} \ No newline at end of file +}