diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/python-modules/bootstrapped-pip/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/python-modules/generic/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/python-modules/pylint/default.nix | 23 | ||||
-rw-r--r-- | pkgs/development/python-modules/setuptools/default.nix | 8 | ||||
-rw-r--r-- | pkgs/servers/matrix-synapse/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/misc/youtube-dl/default.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 1221 |
8 files changed, 952 insertions, 320 deletions
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix index 677736270290..43f8cca4c827 100644 --- a/pkgs/development/python-modules/bootstrapped-pip/default.nix +++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix @@ -6,8 +6,8 @@ let sha256 = "1sl642ncvipqx0hzypvl5hsiqngy0sib0kq242g4mic7vnid6bn9"; }; setuptools_source = fetchurl { - url = "https://pypi.python.org/packages/3.4/s/setuptools/setuptools-18.2-py2.py3-none-any.whl"; - sha256 = "0jhafl8wmjc8xigl1ib5hqiq9crmipcz0zcga52riymgqbf2bzh4"; + url = "https://pypi.python.org/packages/3.5/s/setuptools/setuptools-19.4-py2.py3-none-any.whl"; + sha256 = "0801e6d862ca4ce24d918420d62f07ee2fe736dc016e3afa99d2103e7a02e9a6"; }; in stdenv.mkDerivation rec { name = "python-${python.version}-bootstrapped-pip-${version}"; diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 902dd50fbbf8..dab20b2f7447 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -112,7 +112,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] // postFixup = attrs.postFixup or '' wrapPythonPrograms - # check if we have two packagegs with the same name in closure and fail + # check if we have two packages with the same name in closure and fail # this shouldn't happen, something went wrong with dependencies specs ${python.interpreter} ${./catch_conflicts.py} ''; @@ -135,7 +135,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] // } // meta // { # add extra maintainer(s) to every package maintainers = (meta.maintainers or []) ++ [ chaoflow iElectric ]; - # a marker for release utilies to discover python packages + # a marker for release utilities to discover python packages isBuildPythonPackage = python.meta.platforms; }; }) diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix deleted file mode 100644 index 09890e8694f7..000000000000 --- a/pkgs/development/python-modules/pylint/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, astroid, buildPythonPackage }: - -buildPythonPackage rec { - name = "pylint-1.4.1"; - namePrefix = ""; - - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/pylint/${name}.tar.gz"; - sha256 = "0c7hw1pcp5sqmc0v86zygw21isfgzbsqdmlb1sywncnlxmh30f1y"; - }; - - propagatedBuildInputs = [ astroid ]; - - postInstall = '' - mkdir -p $out/share/emacs/site-lisp - cp "elisp/"*.el $out/share/emacs/site-lisp/ - ''; - - meta = { - homepage = http://www.logilab.org/project/pylint; - description = "A bug and style checker for Python"; - }; -} diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 082a16056fd0..74624063ba3c 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, python, wrapPython }: +{ stdenv, lib, fetchurl, python, wrapPython }: stdenv.mkDerivation rec { shortName = "setuptools-${version}"; name = "${python.executable}-${shortName}"; - version = "18.2"; # 18.4 breaks python34Packages.characteristic and many others + version = "19.4"; # 18.4 and up breaks python34Packages.characteristic and many others src = fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz"; - sha256 = "07avbdc26yl2a46s76fc7m4vg611g8sh39l26x9dr9byya6sb509"; + sha256 = "214bf29933f47cf25e6faa569f710731728a07a19cae91ea64f826051f68a8cf"; }; buildInputs = [ python wrapPython ]; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Utilities to facilitate the installation of Python packages"; homepage = http://pypi.python.org/pypi/setuptools; - license = [ "PSF" "ZPL" ]; + license = with lib.licenses; [ psfl zpt20 ]; platforms = platforms.all; }; } diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 66d9e7258f4c..714ff9d002c8 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { propagatedBuildInputs = with pythonPackages; [ blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1 pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2 - service-identity signedjson systemd twisted15 ujson unpaddedbase64 pyyaml + service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml matrix-angular-sdk ]; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 09328c8d8aba..8baa5cc91740 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -11,7 +11,8 @@ buildPythonPackage rec { - name = "youtube-dl-2016.01.01"; + name = "youtube-dl-${version}"; + version = "2016.01.01"; src = fetchurl { url = "http://yt-dl.org/downloads/${stdenv.lib.getVersion name}/${name}.tar.gz"; @@ -24,6 +25,9 @@ buildPythonPackage rec { postInstall = stdenv.lib.optionalString (ffmpeg != null) ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg}/bin"''; + # Requires network + doCheck = false; + meta = with stdenv.lib; { homepage = http://rg3.github.io/youtube-dl/; repositories.git = https://github.com/rg3/youtube-dl.git; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ed612af4808..5582341a9b10 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1458,7 +1458,7 @@ let f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { }; - fabric = pythonPackages.fabric; + Fabric = pythonPackages.Fabric; fail2ban = callPackage ../tools/security/fail2ban { }; @@ -15525,7 +15525,7 @@ let nixops = callPackage ../tools/package-management/nixops { }; - nixopsUnstable = callPackage ../tools/package-management/nixops/unstable.nix { }; + nixopsUnstable = nixops;# callPackage ../tools/package-management/nixops/unstable.nix { }; nixui = callPackage ../tools/package-management/nixui { node_webkit = nwjs_0_12; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d6bfce3c762b..2584604282c2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -85,8 +85,6 @@ in modules // { blivet = callPackage ../development/python-modules/blivet { }; - pylint = callPackage ../development/python-modules/pylint { }; - dbus = callPackage ../development/python-modules/dbus { dbus = pkgs.dbus; }; @@ -379,16 +377,21 @@ in modules // { aiodns = buildPythonPackage rec { name = "aiodns-${version}"; - version = "0.3.2"; + version = "1.0.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/aiodns/${name}.tar.gz"; - sha256 = "0i9ypv9l4d59j87kkrsh1livfgnspyzcbx26jw9x58xs5z05xj7k"; + sha256 = "595b78b8d54115d937cf60d778c02dad76b6f789fd527dab308f99e5601e7f3d"; }; - propagatedBuildInputs = with self ; [ - pycares asyncio - ] ++ optional (isPy26 || isPy27 || isPyPy) self.trollius; + propagatedBuildInputs = with self; [ pycares ] ++ optional isPy33 asyncio ++ optional (isPy26 || isPy27 || isPyPy) trollius; + + checkPhase = '' + ${python.interpreter} tests.py + ''; + + # 'Could not contact DNS servers' + doCheck = false; meta = { homepage = http://github.com/saghul/aiodns; @@ -421,13 +424,18 @@ in modules // { }; alabaster = buildPythonPackage rec { - name = "alabaster-0.7.3"; + name = "alabaster-0.7.7"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/alabaster/${name}.tar.gz"; - md5 = "67428d1383fd833f1282fed5deba0898"; + sha256 = "f416a84e0d0ddbc288f6b8f2c276d10b40ca1238562cd9ed5a751292ec647b71"; }; + propagatedBuildInputs = with self; [ pygments ]; + + # No tests included + doCheck = false; + meta = { homepage = https://github.com/bitprophet/alabaster; description = "a Sphinx theme"; @@ -978,14 +986,29 @@ in modules // { }; }); - astroid = buildPythonPackage (rec { - name = "astroid-1.3.4"; - propagatedBuildInputs = with self; [ logilab_common six ]; + astroid = buildPythonPackage rec { + name = "astroid-1.4.4"; + + propagatedBuildInputs = with self; [ logilab_common six lazy-object-proxy wrapt ]; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz"; - sha256 = "1fz9x21pziy9dmivvlsgl7a86ka2m9jp3pky01da5aj89ym3wi8b"; + sha256 = "7f7e5512efe515098e77cbd3a60e87c8db8954097b0e025d8d6f72f2e8ddc298"; }; - }); + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # Tests cannot be found because they're named unittest_... + # instead of test_... + + meta = { + description = "A abstract syntax tree for Python with inference support"; + homepage = http://bitbucket.org/logilab/astroid; + license = with licenses; [ lgpl2 ]; + }; + }; attrdict = buildPythonPackage (rec { name = "attrdict-2.0.0"; @@ -1005,13 +1028,17 @@ in modules // { }); audioread = buildPythonPackage rec { - name = "audioread-1.2.1"; + name = "audioread-${version}"; + version = "2.1.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/audioread/${name}.tar.gz"; - md5 = "01a80357f38dbd9bf8d7403802df89ac"; + sha256 = "ffb601de7a9e40850d4ec3256a3a6bbe8fa40466dafb5c65f41b08e4bb963f1e"; }; + # No tests, need to disable or py3k breaks + doCheck = false; + meta = { description = "Cross-platform audio decoding"; homepage = "https://github.com/sampsyo/audioread"; @@ -1101,6 +1128,9 @@ in modules // { sha256 = "0b50de084c8de70adf45c0e938b6350344d9b6acde8b7cdee02cb32964bc58fd"; }; + # No tests included + doCheck = false; + propagatedBuildInputs = with self; [ botocore bcdoc @@ -1167,6 +1197,7 @@ in modules // { azure-common = buildPythonPackage rec { version = "1.0.0"; name = "azure-common-${version}"; + disabled = isPyPy; src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/a/azure-common/azure-common-1.0.0.zip; sha256 = "074rwwy8zzs7zw3nww5q2wg5lxgdc4rmypp2gfc9mwsz0gb70491"; @@ -1606,6 +1637,9 @@ in modules // { propagatedBuildInputs = with self; [ contextlib2 pyxdg pycparser alembic ] ++ optionals (!isPyPy) [ cffi ]; + # No proper test suite. Included tests cannot be run because of relative import + doCheck = false; + meta = { description = "Deduplication for Btrfs"; longDescription = '' @@ -2148,6 +2182,9 @@ in modules // { buildInputs = [ pkgs.db ]; + # Judging from SyntaxError in test + disabled = isPy3k; + # Path to database need to be set. # Somehow the setup.py flag is not propagated. #setupPyBuildFlags = [ "--berkeley-db=${pkgs.db}" ]; @@ -2266,7 +2303,7 @@ in modules // { }; botocore = buildPythonPackage rec { - version = "1.3.12"; + version = "1.3.12"; # This version is required by awscli name = "botocore-${version}"; src = pkgs.fetchurl { @@ -2280,15 +2317,19 @@ in modules // { self.jmespath ]; - buildInputs = [ self.docutils ]; + buildInputs = with self; [ docutils mock nose ]; + + checkPhase = '' + nosetests -v + ''; + + # Network access + doCheck = false; meta = { homepage = https://github.com/boto/botocore; - license = "bsd"; - description = "A low-level interface to a growing number of Amazon Web Services"; - }; }; @@ -2555,21 +2596,32 @@ in modules // { cairocffi = buildPythonPackage rec { - name = "cairocffi-0.7.1"; + name = "cairocffi-0.7.2"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz"; - md5 = "e26d06a8d8b16c7210414ce15d453636"; + sha256 = "e42b4256d27bd960cbf3b91a6c55d602defcdbc2a73f7317849c80279feeb975"; }; + LC_ALL = "en_US.UTF-8"; + buildInputs = with self; [ pytest pkgs.glibcLocales ]; propagatedBuildInputs = with self; [ pkgs.cairo cffi ]; + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + + # Marked broken since according to test + # Happens with 0.7.1 and 0.7.2 + # OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0 + patchPhase = '' # Hardcode cairo library path sed -e 's,ffi\.dlopen(,&"${pkgs.cairo}/lib/" + ,' -i cairocffi/__init__.py ''; meta = { + broken = true; homepage = https://github.com/SimonSapin/cairocffi; license = "bsd"; description = "cffi-based cairo bindings for Python"; @@ -2825,6 +2877,15 @@ in modules // { sha256 = "10kavbisnk9m93jl2wi34pw7ryr2qbxshh2cysxwxd7bymqgz87v"; }; + buildInputs = with self; [ pytest ]; + + checkPhase = '' + py.test tests + ''; + + # Python 3.5 str/bytes-like errors with reading files + doCheck = !isPy3k; + meta = { homepage = http://click.pocoo.org/; description = "Create beautiful command line interfaces in Python"; @@ -2930,6 +2991,31 @@ in modules // { }; }); + cloudpickle = buildPythonPackage rec { + name = "cloudpickle-${version}"; + version = "0.1.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/cloudpickle/${name}.tar.gz"; + sha256 = "3418303f44c6c4daa184f1dc36c8c0b7ff8261c56d1f922ffd8d09e79caa4b74"; + }; + + buildInputs = with self; [ pytest mock ]; + + checkPhase = '' + py.test tests + ''; + + # ImportError of test suite + doCheck = false; + + meta = { + description = "Extended pickling support for Python objects"; + homepage = https://github.com/cloudpipe/cloudpickle; + license = with licenses; [ bsd3 ]; + }; + }; + cogapp = buildPythonPackage rec { version = "2.3"; @@ -2972,13 +3058,20 @@ in modules // { CommonMark = buildPythonPackage rec { name = "CommonMark-${version}"; - version = "0.5.4"; + version = "0.6.3"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/C/CommonMark/${name}.tar.gz"; - sha256 = "34d73ec8085923c023930dfc0bcd1c4286e28a2a82de094bb72fabcc0281cbe5"; + sha256 = "ee5a88f23678794592efe3fc11033f17fc77b3296a85f5e1d5b715f8e110a773"; }; + LC_ALL="en_US.UTF-8"; + + doCheck = false; + + buildInputs = with self; [ flake8 pkgs.glibcLocales ]; + propagatedBuildInputs = with self; [ future ]; + meta = { description = "Python parser for the CommonMark Markdown spec"; homepage = https://github.com/rolandshoemaker/CommonMark-py; @@ -2986,6 +3079,14 @@ in modules // { }; }; + CommonMark_54 = self.CommonMark.override rec { + name = "CommonMark-0.5.4"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/C/CommonMark/${name}.tar.gz"; + sha256 = "34d73ec8085923c023930dfc0bcd1c4286e28a2a82de094bb72fabcc0281cbe5"; + }; + }; + coilmq = buildPythonPackage (rec { name = "coilmq-0.6.1"; @@ -3261,7 +3362,13 @@ in modules // { sha256 = "13hdffhd37mx3gjby018xl179jaj957fy7kzi01crmimxvn2zi7y"; }; - buildInputs = with self; [ pkgs.pkgconfig ]; + buildInputs = with self; [ pkgs.pkgconfig pkgs.gdb ]; + + checkPhase = '' + ${python.interpreter} runtests.py + ''; + + doCheck = false; # Lots of weird compiler errors meta = { description = "An optimising static compiler for both the Python programming language and the extended Cython programming language"; @@ -3281,13 +3388,18 @@ in modules // { sha256 = "9c2e3dda8232b6cd5b84b8c8df6c8155c2adeb8734eb7ec38e189affc0f2eba5"; }; + # Extension types + disabled = isPyPy; + buildInputs = with self; [ nose ]; checkPhase = '' - nosetests cytoolz/tests + nosetests -v $out/${python.sitePackages} ''; - doCheck = false; # Cannot import the extension module + # Several tests fail with Python 3.5 + # https://github.com/pytoolz/cytoolz/issues/73 + doCheck = !isPy35; meta = { homepage = "http://github.com/pytoolz/cytoolz/"; @@ -3690,21 +3802,6 @@ in modules // { }; }; - cffi_0_8 = if isPyPy then null else buildPythonPackage rec { - name = "cffi-0.8.6"; - - src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; - sha256 = "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"; - }; - - propagatedBuildInputs = with self; [ pkgs.libffi pycparser ]; - - meta = { - maintainers = with maintainers; [ iElectric ]; - }; - }; - cffi = if isPyPy then null else buildPythonPackage rec { name = "cffi-1.3.0"; @@ -3753,6 +3850,9 @@ in modules // { sha256 = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"; }; + # 3.5 is not supported but has been working fine + doCheck = !isPy35; + meta = { description = "C parser in Python"; homepage = https://github.com/eliben/pycparser; @@ -3786,6 +3886,15 @@ in modules // { }; }; + pytest_28 = self.pytest.override rec { + name = "pytest-2.8.6"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz"; + sha256 = "ed38a3725b8e4478555dfdb549a4219ca3ba57955751141a1aaa45b706d84194"; + }; + }; + pytestcache = buildPythonPackage rec { name = "pytest-cache-1.0"; src = pkgs.fetchurl { @@ -3960,6 +4069,17 @@ in modules // { sha256 = "1pichqra4wk86142hqgvy9s5x6c5k5zhy8l9qxr0620pqk8spbd4"; }; + buildInputs = with self; [ pytest ]; + + propagatedBuildInputs = with self; [ cssutils ]; + + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + + # Disable Cython tests for PyPy + TINYCSS_SKIP_SPEEDUPS_TESTS = optional isPyPy true; + meta = { description = "complete yet simple CSS parser for Python"; license = licenses.bsd3; @@ -4031,14 +4151,22 @@ in modules // { dask = buildPythonPackage rec { name = "dask-${version}"; - version = "0.7.5"; + version = "0.7.6"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/dask/${name}.tar.gz"; - sha256 = "05s1jz3y7llzh3373ab6yx0fb47f0mfy9xyqbknkwsnhabj6g2ib"; + sha256 = "ff27419e059715907afefe6cbcc1f8c748855c7a93be25be211dabcb689cee3b"; }; - propagatedBuildInputs = with self; [numpy toolz dill]; + buildInputs = with self; [ pytest ]; + propagatedBuildInputs = with self; [numpy toolz dill pandas ]; + + checkPhase = '' + py.test dask + ''; + + # Segfault, likely in numpy + doCheck = false; meta = { description = "Minimal task scheduling abstraction"; @@ -4120,8 +4248,17 @@ in modules // { sha256 = "a11c41b0cf8218e7cdc19ab7a1bdf5c141d161cd2350daee819473cc63cd0685"; }; + disabled = !isPy3k; + + LC_ALL = "en_US.UTF-8"; + buildInputs = with self; [ nose pkgs.glibcLocales ]; propagatedBuildInputs = with self; [ self.six ]; + checkPhase = '' + nosetests -v + ''; + + meta = { description = "Parameterized testing with any Python test framework"; homepage = http://pypi.python.org/pypi/nose-parameterized; @@ -4147,26 +4284,32 @@ in modules // { }; }); - dateparser = buildPythonPackage (rec { + dateparser = buildPythonPackage rec { name = "dateparser-${version}"; - version = "0.3.1"; - disabled = isPy3k; + version = "0.3.2-pre-2016-01-21"; # Fix assert year 2016 == 2015 - src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/d/dateparser/${name}.tar.gz"; - sha256 = "56c291a45398e9172d53201ac213226989295749191c1f02d8f3b593b6f88e48"; + src = pkgs.fetchgit { + url = "https://github.com/scrapinghub/dateparser.git"; + rev = "d20a63f1d1cee5b4bd19c9f745774cfa9f219549"; + sha256 = "f04f75d013ba2896681ffeb3669d78e4c496236121da751b89ff0b4a4053f771"; }; - buildInputs = with self; [ nose nose-parameterized mock ]; + # Does not seem to work on Python 3 because of relative import. + # Upstream Travis configuration is wrong and tests only 2.7 + disabled = isPy3k; + + LC_ALL = "en_US.UTF-8"; + + buildInputs = with self; [ nose nose-parameterized mock pkgs.glibcLocales ]; - propagatedBuildInputs = with self; [ self.six jdatetime pyyaml dateutil ]; + propagatedBuildInputs = with self; [ six jdatetime pyyaml dateutil umalqurra pytz ]; meta = { description = "Date parsing library designed to parse dates from HTML pages"; homepage = http://pypi.python.org/pypi/dateparser; license = licenses.bsd3; }; - }); + }; dateutil = buildPythonPackage (rec { name = "dateutil-${version}"; @@ -4190,6 +4333,8 @@ in modules // { dateutil_1_5 = buildPythonPackage (rec { name = "dateutil-1.5"; + disabled = isPy3k; + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg"; @@ -4217,9 +4362,7 @@ in modules // { buildInputs = [ pkgs.glibcLocales ]; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; meta = { description = "Powerful extensions to the standard datetime module"; @@ -4328,7 +4471,13 @@ in modules // { sha256 = "1hgq3vqsfqdmlyahnlc40w13viawhpzqf4jzigsggdb41x545fda"; }; - propagatedBuildInputs = with self; [ deform ]; + buildInputs = [ self.mock ]; + propagatedBuildInputs = with self; [ deform pyramid ]; + + # demo is removed as it depends on deformdemo + patchPhase = '' + rm -rf deform_bootstrap/demo + ''; meta = { maintainers = with maintainers; [ iElectric ]; @@ -4423,6 +4572,9 @@ in modules // { propagatedBuildInputs = with self; [objgraph]; + # failing tests + doCheck = false; + meta = { description = "Serialize all of python (almost)"; homepage = http://www.cacr.caltech.edu/~mmckerns/dill.htm; @@ -4575,6 +4727,24 @@ in modules // { }; }; + doctest-ignore-unicode = buildPythonPackage rec { + name = "doctest-ignore-unicode-${version}"; + version = "0.1.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/doctest-ignore-unicode/${name}.tar.gz"; + sha256= "fc90b2d0846477285c6b67fc4cb4d6f39fcf76d8752f4df0a241486f31512ad5"; + }; + + propagatedBuildInputs = with self; [ nose ]; + + meta = { + description = "Add flag to ignore unicode literal prefixes in doctests"; + license = with licenses; [ asl20 ]; + homepage = http://github.com/gnublade/doctest-ignore-unicode; + }; + }; + dogpile_cache = buildPythonPackage rec { name = "dogpile.cache-0.5.4"; @@ -4878,6 +5048,9 @@ in modules // { name = "python-eventlib-${version}"; version = "0.2.1"; + # Judging from SyntaxError + disabled = isPy3k; + src = pkgs.fetchurl { url = "http://download.ag-projects.com/SipClient/${name}.tar.gz"; sha256 = "25224794420f430946fe46932718b521a6264903fe8c0ed3563dfdb844c623e7"; @@ -5011,17 +5184,17 @@ in modules // { }; }; - fabric = buildPythonPackage rec { - name = "fabric-${version}"; - version = "1.10.0"; + Fabric = buildPythonPackage rec { + name = "Fabric-${version}"; + version = "1.10.2"; src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/F/Fabric/Fabric-${version}.tar.gz"; + url = "https://pypi.python.org/packages/source/F/Fabric/${name}.tar.gz"; sha256 = "0nikc05iz1fx2c9pvxrhrs819cpmg566azm99450yq2m8qmp1cpd"; }; disabled = isPy3k; doCheck = (!isPyPy); # https://github.com/fabric/fabric/issues/11891 propagatedBuildInputs = with self; [ paramiko pycrypto ]; - buildInputs = with self; [ fudge nose ]; + buildInputs = with self; [ fudge_9 nose ]; }; fedora_cert = stdenv.mkDerivation (rec { @@ -5069,13 +5242,27 @@ in modules // { }; fudge = buildPythonPackage rec { - name = "fudge-0.9.6"; + name = "fudge-1.1.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/fudge/${name}.tar.gz"; - sha256 = "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l"; + sha256 = "eba59a926fa1df1ab6dddd69a7a8af21865b16cad800cb4d1af75070b0f52afb"; }; buildInputs = with self; [ nose nosejs ]; propagatedBuildInputs = with self; [ sphinx ]; + + disabled = isPy3k; + + checkPhase = '' + nosetests -v + ''; + }; + + fudge_9 = self.fudge.override rec { + name = "fudge-0.9.6"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/fudge/${name}.tar.gz"; + sha256 = "34690c4692e8717f4d6a2ab7d841070c93c8d0ea0d2615b47064e291f750b1a0"; + }; }; @@ -5087,6 +5274,13 @@ in modules // { md5 = "3aba546bdad5d0826596910551ce37c0"; }; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # Judging from SyntaxError in tests. + disabled = isPy3k; + meta = { description = "Recursive descent parsing library based on functional combinators"; homepage = https://code.google.com/p/funcparserlib/; @@ -5315,9 +5509,14 @@ in modules // { sha256 = "0q7plxnbbkp5dd0k73736l7gf932a89yy920yrgl8amfpixw324w"; }; - buildInputs = with self; [ nose ]; + buildInputs = with self; [ mock nose ]; propagatedBuildInputs = with self; [ gitdb ]; + # All tests error with + # InvalidGitRepositoryError: /tmp/nix-build-python2.7-GitPython-1.0.1.drv-0/GitPython-1.0.1 + # Maybe due to being in a chroot? + doCheck = false; + meta = { description = "Python Git Library"; maintainers = with maintainers; [ mornfall ]; @@ -5455,9 +5654,7 @@ in modules // { buildInputs = [ pkgs.glibcLocales ]; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; # TODO: AppIndicator propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; @@ -5618,6 +5815,13 @@ in modules // { sha256 = "0m60k46vr03x68jckachzsipav0bwhhnqb8715hm1cngs89fxhdb"; }; + checkPhase = '' + ${python.interpreter} runtests.py + ''; + + # Does not install tests + doCheck = false; + meta = with stdenv.lib; { description = "Accessing and Modifying INI files"; license = licenses.mit; @@ -5790,11 +5994,14 @@ in modules // { sha256 = "f19fa66e656309825887171d84a462e64676b1cc36b62e4dd8679ff63926a469"; }; - buildInputs = [ - self.ofxclient self.mock + buildInputs = with self; [ + ofxclient + mock + nose # Used at runtime to translate ofx entries to the ledger # format. In fact, user could use either ledger or hledger. - pkgs.which pkgs.ledger ]; + pkgs.which + pkgs.ledger ]; # Tests are disable since they require hledger and python-ledger doCheck = false; @@ -5879,14 +6086,15 @@ in modules // { }; jupyter_console = buildPythonPackage rec { - version = "4.0.3"; + version = "4.1.0"; name = "jupyter_console-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/j/jupyter_console/${name}.tar.gz"; - sha256 = "555be6963a8f6431fbe1d424c7ffefee90824758058e4c9a2ab3aa045948eb85"; + sha256 = "3f9703b632e38d68713fc2ea1f546edc4db2a8f925c94b6dd91a8d0c13816ce9"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [ jupyter_client ipython @@ -6146,6 +6354,9 @@ in modules // { sha256 = "1prv4j3wcy9kl5ndd5by543xp4cji9k35qncsl995w6sway34s1a"; }; + # uses networking + doCheck = false; + meta = { homepage = https://github.com/cedadev/ndg_httpsclient/; description = "Provide enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"; @@ -6430,15 +6641,18 @@ in modules // { pycares = buildPythonPackage rec { name = "pycares-${version}"; - version = "0.7.0"; + version = "1.0.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pycares/${name}.tar.gz"; - sha256 = "10lr3ij67khmfm14cb3sqch3vhv37f3j1whwznq6qy4prfmz5gvl"; + sha256 = "a18341ea030e2cc0743acdf4aa72302bdf6b820938b36ce4bd76e43faa2276a3"; }; propagatedBuildInputs = [ pkgs.c-ares ]; + # No tests included + doCheck = false; + meta = { homepage = http://github.com/saghul/pycares; description = "Interface for c-ares"; @@ -6802,11 +7016,14 @@ in modules // { joblib = buildPythonPackage rec { name = "joblib-${version}"; - version = "0.9.0b4"; + version = "0.9.4"; src = pkgs.fetchurl { - url = https://pypi.python.org/packages/source/j/joblib/joblib-0.9.0b4.tar.gz; - md5 = "e0d79a085d4773c7a61cd38b4fb6dad5"; + url = "https://pypi.python.org/packages/source/j/joblib/${name}.tar.gz"; + sha256 = "e5faacf0da7b3035dbca9d56210962b86564aafca71a25f4ea376a405455cd60"; }; + + buildInputs = with self; [ nose ]; + }; samplerate = buildPythonPackage rec { @@ -7447,6 +7664,9 @@ in modules // { wrapPythonProgramsIn $out/bin "$out $pythonPath" ''; + # too complicated to setup + doCheck = false; + meta = { description = "A high-level Python Web framework"; homepage = https://www.djangoproject.com/; @@ -7463,7 +7683,7 @@ in modules // { sha256 = "1n3hb80v7wl5j2mry5pfald6i9z42a9c3m9405877iqw3v49csc2"; }; - # error: invalid command 'test' + # too complicated to setup doCheck = false; # patch only $out/bin to avoid problems with starter templates (see #3134) @@ -7488,7 +7708,7 @@ in modules // { sha256 = "0xbwg6nyvwcbp2hvk0x3s5y823k5kizn0za1bl2rf6g6xcn7sddr"; }; - # error: invalid command 'test' + # too complicated to setup doCheck = false; # patch only $out/bin to avoid problems with starter templates (see #3134) @@ -7511,7 +7731,7 @@ in modules // { sha256 = "0misvia78c14y07zs5xsb9lv54q0v217jpaindrmhhw4wiryal3y"; }; - # error: invalid command 'test' + # too complicated to setup doCheck = false; # patch only $out/bin to avoid problems with starter templates (see #3134) @@ -7534,7 +7754,7 @@ in modules // { sha256 = "1vbcvn6ncg7hq5i1w95h746vkq9lmp120vx63h3p56z5nsz7gpmk"; }; - # error: invalid command 'test' + # too complicated to setup doCheck = false; # patch only $out/bin to avoid problems with starter templates (see #3134) @@ -7861,13 +8081,16 @@ in modules // { keepalive = buildPythonPackage rec { name = "keepalive-${version}"; - version = "0.4.1"; + version = "0.5"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/k/keepalive/keepalive-${version}.tar.gz"; - sha256 = "07vn3b67ajwi7vv37h02kw7hg2z5dxhn9947dnvii05rfr5b27iy"; + sha256 = "3c6b96f9062a5a76022f0c9d41e9ef5552d80b1cadd4fccc1bf8f183ba1d1ec1"; }; + # No tests included + doCheck = false; + meta = with stdenv.lib; { description = "An HTTP handler for `urllib2` that supports HTTP 1.1 and keepalive."; homepage = "https://github.com/wikier/keepalive"; @@ -8166,11 +8389,18 @@ in modules // { name = "fastimport-${version}"; version = "0.9.4"; + # Judging from SyntaxError + disabled = isPy3k; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/fastimport/${name}.tar.gz"; sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d"; }; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + meta = { homepage = https://launchpad.net/python-fastimport; description = "VCS fastimport/fastexport parser"; @@ -8189,9 +8419,7 @@ in modules // { buildInputs = [ pkgs.glibcLocales ]; - preConfigure = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; propagatedBuildInputs = with self; [ six pytz ]; @@ -8273,9 +8501,11 @@ in modules // { src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/f/filebrowser_safe/${name}.tar.gz"; - md5 = "12a1ad3a1ed6a9377e758c4fa7fee570"; + sha256 = "02bn60fdslvng2ckn65fms3hjbzgsa8qa5161a8lr720wbx8gpj2"; }; + buildInputs = [ self.django ]; + meta = { description = "A snapshot of django-filebrowser for the Mezzanine CMS"; longDescription = '' @@ -8296,12 +8526,13 @@ in modules // { }; }; - flake8 = buildPythonPackage (rec { - name = "flake8-2.5.0"; + flake8 = buildPythonPackage rec { + name = "flake8-${version}"; + version = "2.5.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz"; - sha256 = "137qwipa4z6z8z7n0zg7kg6qi3348l8ck6zqa4yyjah9xv3ch5l2"; + sha256 = "448aed48b0671fe6062f47b98c3081f3a4b36fbe99ddb8ac2a3be6e6cb135603"; }; buildInputs = with self; [ nose mock ]; @@ -8313,7 +8544,7 @@ in modules // { license = licenses.mit; maintainers = with maintainers; [ garbas ]; }; - }); + }; flask = buildPythonPackage { name = "flask-0.10.1"; @@ -8660,15 +8891,27 @@ in modules // { }); fs = buildPythonPackage rec { - name = "fs-0.5.0"; + name = "fs-0.5.4"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/fs/${name}.tar.gz"; - sha256 = "144f4yn2nvnxh2vrnmiabpwx3s637np0d1j1w95zym790d66shir"; + sha256 = "ba2cca8773435a7c86059d57cb4b8ea30fda40f8610941f7822d1ce3ffd36197"; }; + LC_ALL = "en_US.UTF-8"; + buildInputs = [ pkgs.glibcLocales ]; propagatedBuildInputs = [ self.six ]; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # Judging from SyntaxError + disabled = isPy3k; + + # Lots of errors. Likely due to being in a chroot + doCheck = false; + meta = { description = "Filesystem abstraction"; homepage = http://pypi.python.org/pypi/fs; @@ -8707,6 +8950,9 @@ in modules // { propagatedBuildInputs = [ pkgs.fuse ]; + # No tests included + doCheck = false; + patchPhase = '' substituteInPlace fuse.py --replace \ "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'" @@ -8760,16 +9006,23 @@ in modules // { futures = buildPythonPackage rec { name = "futures-${version}"; - version = "3.0.3"; + version = "3.0.4"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/futures/${name}.tar.gz"; - sha256 = "2fe2342bb4fe8b8e217f0d21b5921cbe5408bf966d9f92025e707e881b198bed"; + sha256 = "19485d83f7bd2151c0aeaf88fbba3ee50dadfb222ffc3b66a344ef4952b782a3"; }; # This module is for backporting functionality to Python 2.x, it's builtin in py3k disabled = isPy3k; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # Tests fail + doCheck = false; + meta = with pkgs.stdenv.lib; { description = "Backport of the concurrent.futures package from Python 3.2"; homepage = "https://github.com/agronholm/pythonfutures"; @@ -8778,7 +9031,7 @@ in modules // { }; }; - futures_2_2 = buildPythonPackage rec { + futures_2_2 = self.futures.override rec { version = "2.2.0"; name = "futures-${version}"; @@ -8786,13 +9039,6 @@ in modules // { url = "https://pypi.python.org/packages/source/f/futures/${name}.tar.gz"; sha256 = "1lqfzl3z3pkxakgbcrfy6x7x0fp3q18mj5lpz103ljj7fdqha70m"; }; - - meta = with stdenv.lib; { - description = "Backport of the concurrent.futures package from Python 3.2"; - homepage = "https://github.com/agronholm/pythonfutures"; - license = licenses.bsd2; - maintainers = with maintainers; [ garbas ]; - }; }; gcovr = buildPythonPackage rec { @@ -9272,9 +9518,7 @@ in modules // { sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl"; }; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; buildInputs = with self; [ six pkgs.glibcLocales ]; @@ -9661,16 +9905,25 @@ in modules // { }; ipykernel = buildPythonPackage rec { - version = "4.2.0"; + version = "4.2.2"; name = "ipykernel-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/ipykernel/${name}.tar.gz"; - sha256 = "723b3d4baac20f0c9cd91fc75c3e813636ecb6c6e303fb34d628c3df078985a7"; + sha256 = "a876da43e01acec2c305abdd8e6aa55f052bab1196171ccf1cb9a6aa230298b0"; }; - buildInputs = with self; [] ++ optionals isPy27 [mock]; - propagatedBuildInputs = with self; [ipython traitlets jupyter_client pexpect]; + buildInputs = with self; [ nose ] ++ optionals isPy27 [mock]; + propagatedBuildInputs = with self; [ + ipython + jupyter_client + pexpect + traitlets + ]; + + # Tests require backends. + # I don't want to add all supported backends as propagatedBuildInputs + doCheck = false; meta = { description = "IPython Kernel for Jupyter"; @@ -9689,8 +9942,13 @@ in modules // { sha256 = "c943f6b3bbabb9332336d15474969e2a7a73d5b583f9786f7b357c75e4b1709a"; }; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ipython_genutils decorator pyzmq ipython jupyter_client ipykernel]; + # Requires access to cluster + doCheck = false; + meta = { description = "Interactive Parallel Computing with IPython"; homepage = http://ipython.org/; @@ -9701,24 +9959,31 @@ in modules // { }; ipython = buildPythonPackage rec { - version = "4.0.0"; + version = "4.0.3"; name = "ipython-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/ipython/${name}.tar.gz"; - sha256 = "2fd276c407fb0b29e5d4884a7029a2c27fef0a06fd7a34924cce69b7cc43f4da"; + sha256 = "3a928f59e8ac8dd97858c28390867c87c09510f1f8bbe97e4e9c6b036eb84fc0"; }; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace setup.py --replace "'gnureadline'" " " ''; - buildInputs = with self; [nose] ++ optionals isPy27 [mock]; + buildInputs = with self; [ nose pkgs.glibcLocales pygments ] ++ optionals isPy27 [mock]; propagatedBuildInputs = with self; [decorator pickleshare simplegeneric traitlets readline requests2 pexpect sqlite3] ++ optionals stdenv.isDarwin [appnope gnureadline]; + LC_ALL="en_US.UTF-8"; + + doCheck = false; # Circular dependency with ipykernel + + checkPhase = '' + nosetests + ''; meta = { description = "IPython: Productive Interactive Computing"; homepage = http://ipython.org/; @@ -9736,12 +10001,18 @@ in modules // { sha256 = "3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6"; }; - buildInputs = with self; [ pytest ]; + LC_ALL = "en_US.UTF-8"; + buildInputs = with self; [ nose pkgs.glibcLocales ]; + + checkPhase = '' + nosetests -v ipython_genutils/tests + ''; meta = { description = "Vestigial utilities from IPython"; homepage = http://ipython.org/; license = licenses.bsd3; + maintainers = with maintainers; [ fridh ]; }; }; @@ -9755,6 +10026,7 @@ in modules // { sha256 = "ceeb325e45ade9537c2d115fed9d522e5c6e90bb161592e2f0807375dc661028"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [ipython ipykernel traitlets notebook]; meta = { @@ -9848,15 +10120,20 @@ in modules // { }; }; - iso8601 = buildPythonPackage { - name = "iso8601-0.1.10"; + iso8601 = buildPythonPackage rec { + name = "iso8601-${version}"; + version = "0.1.11"; src = pkgs.fetchurl { - url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.10.tar.gz; - sha256 = "1qf01afxh7j4gja71vxv345if8avg6nnm0ry0zsk6j3030xgy4p7"; + url = "https://pypi.python.org/packages/source/i/iso8601/${name}.tar.gz"; + sha256 = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30"; }; buildInputs = [ self.pytest ]; + checkPhase = '' + py.test iso8601 + ''; + meta = { homepage = https://bitbucket.org/micktwomey/pyiso8601/; description = "Simple module to parse ISO 8601 dates"; @@ -9883,13 +10160,22 @@ in modules // { }; jedi = buildPythonPackage (rec { - name = "jedi-0.8.1"; + name = "jedi-0.9.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz"; - sha256 = "1a7bg159mc1la5p1zsblzpr9hmypa7nz0mpvf7dww57cgi2sw8sd"; + sha256 = "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v"; }; + buildInputs = [ self.pytest ]; + + checkPhase = '' + py.test test + ''; + + # 7 failed + doCheck = false; + meta = { homepage = https://github.com/davidhalter/jedi; description = "An autocompletion tool for Python that can be used for text editors"; @@ -9977,6 +10263,7 @@ in modules // { sha256 = "1lazbx65imassd7h24z49za001rvx1lmx8r0l21h4izs7pp14nnd"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [ ply ]; meta = { @@ -10017,8 +10304,16 @@ in modules // { sha256 = "ff1ef5c6c3031a62db46ec6329867b4cb1595e6102a7819b3b5252b0c524bdb8"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [traitlets jupyter_core pyzmq] ++ optional isPyPy py; + checkPhase = '' + nosetests -v + ''; + + # Circular dependency with ipykernel + doCheck = false; + meta = { description = "Jupyter protocol implementation and client libraries"; homepage = http://jupyter.org/; @@ -10036,7 +10331,15 @@ in modules // { sha256 = "96a68a3b1d018ff7776270b26b7cb0cfd7a18a53ef2061421daff435707d198c"; }; - propagatedBuildInputs = with self; [traitlets]; + buildInputs = with self; [ pytest mock ]; + propagatedBuildInputs = with self; [ ipython traitlets]; + + checkPhase = '' + py.test + ''; + + # Several tests fail due to being in a chroot + doCheck = false; meta = { description = "Jupyter core package. A base package on which Jupyter projects rely"; @@ -10196,18 +10499,44 @@ in modules // { }; }; + lazy-object-proxy = buildPythonPackage rec { + name = "lazy-object-proxy-${version}"; + version = "1.2.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/l/lazy-object-proxy/${name}.tar.gz"; + sha256 = "22ed751a2c63c6cf718674fd7461b1dfc45215bab4751ca32b6c9b8cb2734cb3"; + }; + + buildInputs = with self; [ pytest ]; + checkPhase = '' + py.test tests + ''; + + # Broken tests. Seem to be fixed upstream according to Travis. + doCheck = false; + + meta = { + description = "A fast and thorough lazy object proxy"; + homepage = https://github.com/ionelmc/python-lazy-object-proxy; + license = with licenses; [ bsd2 ]; + }; + + }; le = buildPythonPackage rec { name = "le-${version}"; - version = "1.4.13"; + version = "1.4.29"; - src = pkgs.fetchFromGitHub { - owner = "logentries"; - repo = "le"; - rev = "v${version}"; - sha256 = "12l6fqavykjinq286i9pgbbbrv5lq2mmiji91g0m05lfdx9pg4y1"; + src = pkgs.fetchurl { + url = "https://github.com/logentries/le/archive/v${version}.tar.gz"; + sha256 = "d29738937cb6e714b6ec2ae74b66b1983482ffd54b4faa40767af18509521d4c"; }; + disabled = isPy3k; + + doCheck = false; + propagatedBuildInputs = with self; [ simplejson psutil ]; meta = { @@ -10276,6 +10605,8 @@ in modules // { buildInputs = with self; [ cython ]; + disabled = isPyPy; + meta = { description = "Line-by-line profiler"; homepage = https://github.com/rkern/line_profiler; @@ -10786,9 +11117,10 @@ in modules // { # sed calls will be unecessary in v3.1.11+ preConfigure = '' sed -i 's/==/>=/' setup.py - export LC_ALL="en_US.UTF-8" ''; + LC_ALL="en_US.UTF-8"; + meta = { description = '' A content management platform built using the Django framework @@ -10895,9 +11227,7 @@ in modules // { sed -i 's/requests.*"/requests"/' setup.py ''; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; postInstall = '' mkdir -p $out/lib @@ -10982,6 +11312,10 @@ in modules // { buildInputs = with self; [ unittest2 ]; propagatedBuildInputs = with self; [ funcsigs six pbr ]; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + meta = { description = "Mock objects for Python"; homepage = http://python-mock.sourceforge.net/; @@ -11145,19 +11479,18 @@ in modules // { mrbob = buildPythonPackage rec { name = "mrbob-${version}"; - version = "0.1.1"; + version = "0.1.2"; src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip"; - md5 = "84a117c9a75b86842b0fa5f5c9c767f3"; + url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.tar.gz"; + sha256 = "6737eaf98aaeae85e07ebef844ee5156df2f06a8b28d7c3dcb056f811c588121"; }; buildInputs = [ pkgs.glibcLocales self.mock ]; - # some files in tests dir include unicode names - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + disabled = isPy3k; + + LC_ALL="en_US.UTF-8"; propagatedBuildInputs = with self; [ argparse jinja2 six modules.readline ] ++ (optionals isPy26 [ importlib ordereddict ]); @@ -11239,9 +11572,7 @@ in modules // { buildInputs = [ pkgs.glibcLocales ]; - preCheck = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; meta = { homepage = http://alastair/python-musicbrainz-ngs; @@ -11382,14 +11713,14 @@ in modules // { }; pygraphviz = buildPythonPackage rec { - version = "1.3"; - name = "pygraphviz-${version}"; + name = "pygraphviz-1.3.1"; src = pkgs.fetchurl { - url = "https://github.com/pygraphviz/pygraphviz/archive/${name}.tar.gz"; - sha256 = "1fhn123hy4qj0zmmmbx0q0r4hwikay13yirsp74niiw5d52y7ib8"; + url = "https://pypi.python.org/packages/source/p/pygraphviz/${name}.tar.gz"; + sha256 = "7c294cbc9d88946be671cc0d8602aac176d8c56695c0a7d871eadea75a958408"; }; + buildInputs = with self; [ doctest-ignore-unicode ]; propagatedBuildInputs = [ pkgs.graphviz pkgs.pkgconfig ]; meta = { @@ -11408,6 +11739,15 @@ in modules // { rev = "refs/tags/pymysql-${version}"; sha256 = "12v8bw7pp455zqkwraxk69qycz2ngk18bbz60v72kdbp6kssnqhz"; }; + + buildInputs = with self; [ unittest2 ]; + + checkPhase = '' + ${python.interpreter} runtests.py + ''; + + # Wants to connect to MySQL + doCheck = false; }; pymysqlsa = self.buildPythonPackage rec { @@ -11551,10 +11891,17 @@ in modules // { sha256 = "e0296e45293dd127d028f678e3b6aba3f1db3283a134178bdb49eea402d4cf1c"; }; - buildInputs = with self; [nose]; + buildInputs = with self; [nose ipykernel ]; propagatedBuildInputs = with self; [mistune jinja2 pygments traitlets jupyter_core nbformat ipykernel tornado jupyter_client]; + checkPhase = '' + nosetests -v + ''; + + # PermissionError. Likely due to being in a chroot + doCheck = false; + meta = { description = "Converting Jupyter Notebooks"; homepage = http://jupyter.org/; @@ -11572,6 +11919,7 @@ in modules // { sha256 = "5261c957589b9dfcd387c338d59375162ba9ca82c69e378961a1f4e641285db5"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [ipython_genutils traitlets jsonschema jupyter_core]; meta = { @@ -11620,16 +11968,16 @@ in modules // { slixmpp = buildPythonPackage rec { name = "slixmpp-${version}"; - version = "1.0.post5"; + version = "1.1"; disabled = (!isPy34); src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/slixmpp/${name}.tar.gz"; - sha256 = "0ik23w3y52m30z56874wgac07j70k7b06n20j44slii8avf58p4b"; + sha256 = "030ca7e71cbb7e17fb48f83db97779fdbac0b4424cef01245f3276a110b30a6c"; }; - propagatedBuildInputs = with self ; [ aiodns pyasn1 ]; + propagatedBuildInputs = with self ; [ aiodns pyasn1 pkgs.gnupg1 pyasn1-modules]; meta = { meta = "Elegant Python library for XMPP"; @@ -11825,12 +12173,12 @@ in modules // { }; nose = buildPythonPackage rec { - version = "1.3.4"; + version = "1.3.7"; name = "nose-${version}"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - sha256 = "00qymfgwg4iam4xi0w9bnv7lcb3fypq1hzfafzgs1rfmwaj67g3n"; + sha256 = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98"; }; propagatedBuildInputs = [ self.coverage ]; @@ -11911,6 +12259,9 @@ in modules // { propagatedBuildInputs = with self; [ nose ]; + # No tests included + doCheck = false; + meta = { description = "Coverage 3.x support for Nose"; homepage = https://github.com/ask/nosecover3; @@ -11944,6 +12295,11 @@ in modules // { sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy"; }; buildInputs = with self; [ nose ]; + + checkPhase = '' + nosetests -v + ''; + }; nose-cprof = buildPythonPackage rec { @@ -11971,10 +12327,19 @@ in modules // { sha256 = "b597437ba33538221008e21fea71cd01eda9da1515ca3963d7c74e44f4b03d90"; }; - buildInputs = with self; [nose] ++ optionals isPy27 [mock]; + LC_ALL = "en_US.UTF-8"; + + buildInputs = with self; [nose pkgs.glibcLocales] ++ optionals isPy27 [mock]; propagatedBuildInputs = with self; [jinja2 tornado ipython_genutils traitlets jupyter_core jupyter_client nbformat nbconvert ipykernel terminado requests2 pexpect]; + checkPhase = '' + nosetests -v + ''; + + # Certain tests fail due to being in a chroot. + # PermissionError + doCheck = false; meta = { description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing"; homepage = http://jupyter.org/; @@ -12047,12 +12412,12 @@ in modules // { }; numba = buildPythonPackage rec { - version = "0.22.1"; + version = "0.23.1"; name = "numba-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/n/numba/${name}.tar.gz"; - sha256 = "8194c41cdf96c16e3b3d246c0381daf4e587d1ada761f410efecb8315c2cdda3"; + sha256 = "80ce9968591db7c93e36258cc5e6734eb1e42826332799746dc6c073a6d5d317"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1"; @@ -12066,6 +12431,14 @@ in modules // { # export NUMBAPRO_LIBDEVICE= #''; + # Copy test script into $out and run the test suite. + checkPhase = '' + cp runtests.py $out/${python.sitePackages}/numba/runtests.py + ${python.interpreter} $out/${python.sitePackages}/numba/runtests.py + ''; + # ImportError: cannot import name '_typeconv' + doCheck = false; + meta = { homepage = http://numba.pydata.org/; license = licenses.bsd2; @@ -12269,12 +12642,12 @@ in modules // { }); oauth2 = buildPythonPackage (rec { - name = "oauth2-1.5.211"; - disabled = isPy3k; + name = "oauth2-${version}"; + version = "1.9.0.post1"; src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; - sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21"; + url = "http://pypi.python.org/packages/source/o/oauth2/${name}.tar.gz"; + sha256 = "c006a85e7c60107c7cc6da1b184b5c719f6dd7202098196dfa6e55df669b59bf"; }; propagatedBuildInputs = with self; [ httplib2 ]; @@ -12475,13 +12848,21 @@ in modules // { }; ply = buildPythonPackage (rec { - name = "ply-3.7"; + name = "ply-3.8"; src = pkgs.fetchurl { - url = "http://www.dabeaz.com/ply/${name}.tar.gz"; - sha256 = "105gw1xayqww99qsls0lv37z4hzg5qnglxkd7s3h96hw9jsbfpzq"; + url = "https://pypi.python.org/packages/source/p/ply/${name}.tar.gz"; + sha256 = "e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8"; }; + checkPhase = '' + ${python.interpreter} test/testlex.py + ${python.interpreter} test/testyacc.py + ''; + + # Test suite appears broken + doCheck = false; + meta = { homepage = http://www.dabeaz.com/ply/; @@ -12926,6 +13307,9 @@ in modules // { sha256 = "1a346zcd46c8gwbbp2cxsmvgfkyy26kwxjzdnkv7n47w6660sy5c"; }; + # No tests included + doCheck = false; + propagatedBuildInputs = with self; [ pyparsing ]; @@ -13494,6 +13878,9 @@ in modules // { sha256 = "1akmzf51cjfvmd0nvvm562z1w9vq45zsx6fa72kraqgsgxhnrhqz"; }; + # Judging from SyntaxError + disabled = isPy3k; + meta = with stdenv.lib; { homepage = "https://github.com/mozilla-services/ldappool"; }; @@ -13554,7 +13941,14 @@ in modules // { sha256 = "0nghdq3zihiqg10dp76ls7yn44m5wjncyz7fk8isagkrspkh9a3n"; }; - propagatedBuildInputs = with self; [ six monotonic ]; + propagatedBuildInputs = with self; [ six monotonic testtools ]; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + # Tests are written for Python 3.x only (concurrent.futures) + doCheck = isPy3k; + meta = with stdenv.lib; { description = "Fasteners"; @@ -13764,6 +14158,9 @@ in modules // { name = "wrapt-${version}"; version = "1.10.5"; + # No tests in archive + doCheck = false; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/w/wrapt/${name}.tar.gz"; sha256 = "0cq8rlpzkxzk48b50yrfhzn1d1hrq4gjcdqlrgq4v5palgiv9jwr"; @@ -13857,10 +14254,10 @@ in modules // { xlrd = buildPythonPackage rec { name = "xlrd-${version}"; - version = "0.9.3"; + version = "0.9.4"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/x/xlrd/xlrd-${version}.tar.gz"; - sha256 = "174ks80h0g9p67ahnakf0y7di3gvbhxvb1jlk097gvd7gpi3aflk"; + sha256 = "8e8d3359f39541a6ff937f4030db54864836a06e42988c452db5b6b86d29ea72"; }; }; @@ -13871,7 +14268,12 @@ in modules // { url = "https://pypi.python.org/packages/source/B/Bottleneck/Bottleneck-${version}.tar.gz"; sha256 = "15dl0ll5xmfzj2fsvajzwxsb9dbw5i9fx9i4r6n4i5nzzba7m6wd"; }; + + buildInputs = with self; [ nose ]; propagatedBuildInputs = [self.numpy]; + checkPhase = '' + nosetests -v $out/${python.sitePackages} + ''; }; paho-mqtt = buildPythonPackage rec { @@ -14032,15 +14434,17 @@ in modules // { }; pathpy = buildPythonPackage rec { - version = "7.6"; + version = "8.1.2"; name = "path.py-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/path.py/${name}.tar.gz"; - sha256 = "5cdf60f359f1add18f8556c9a1855cbd1d517f0780e3d386c256515f698ba0e0"; + sha256 = "ada95d117c4559abe64080961daf5badda68561afdd34c278f8ca20f2fa466d2"; }; - buildInputs = with self; [setuptools_scm pytestrunner pytest]; + buildInputs = with self; [setuptools_scm pytestrunner pytest pkgs.glibcLocales ]; + + LC_ALL="en_US.UTF-8"; meta = { description = "A module wrapper for os.path"; @@ -14048,10 +14452,9 @@ in modules // { license = licenses.mit; }; - # Test fails with python 2.7: TestUnicodePaths.test_walkdirs_with_unicode_name - # Also during tests with python 3.4: RuntimeError: dictionary changed size during iteration - # Caused by pytestrunner - doCheck = false; + checkPhase = '' + py.test test_path.py + ''; }; paypalrestsdk = buildPythonPackage rec { @@ -14144,9 +14547,7 @@ in modules // { sed -i -e "s|'git'|'${pkgs.git}/bin/git'|" pelican/tests/test_pelican.py ''; - preConfigure = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; meta = { description = "A tool to generate a static blog from reStructuredText or Markdown input files"; @@ -14158,14 +14559,11 @@ in modules // { pep8 = buildPythonPackage rec { name = "pep8-${version}"; - # 1.6.0 and higher are blocked by flake8 - version = "1.5.7"; - - disabled = isPy35; # Not yet supported + version = "1.7.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz"; - sha256 = "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"; + sha256 = "a113d5f5ad7a7abacef9df5ec3f2af23a20a28005921577b15dd584d099d5900"; }; meta = { @@ -14240,6 +14638,9 @@ in modules // { sha256 = "dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba"; }; + # Wants to run python in a subprocess + doCheck = false; + meta = { homepage = http://www.noah.org/wiki/Pexpect; description = "Automate interactive console applications such as ssh, ftp, etc"; @@ -14798,17 +15199,23 @@ in modules // { psutil = buildPythonPackage rec { name = "psutil-${version}"; - version = "2.1.1"; + version = "3.4.2"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/psutil/${name}.tar.gz"; - sha256 = "14smqj57yjrm6hjz5n2annkgv0kmxckdhqvfx784f4d4lr52m0dz"; + sha256 = "b17fa01aa766daa388362d0eda5c215d77e03a8d37676b68971f37bf3913b725"; }; - # failed tests: https://code.google.com/p/psutil/issues/detail?id=434 + # Certain tests fail due to being in a chroot. + # See also the older issue: https://code.google.com/p/psutil/issues/detail?id=434 doCheck = false; - buildInputs = optional stdenv.isDarwin pkgs.darwin.IOKit; + checkPhase = '' + ${python.interpreter} test/test_psutil.py + ''; + + # Test suite needs `free`, therefore we have pkgs.busybox + buildInputs = with self; [ mock pkgs.busybox] ++ optionals stdenv.isDarwin [ pkgs.darwin.IOKit ]; meta = { description = "Process and system utilization information interface for python"; @@ -14872,8 +15279,8 @@ in modules // { sha256 = "a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114"; }; - # some weird errors with paths - # doCheck = !isPy3k; + # Circular dependency on pytest + doCheck = false; meta = { description = "Library with cross-python path, ini-parsing, io, code, log facilities"; @@ -15156,11 +15563,11 @@ in modules // { Babel = buildPythonPackage (rec { - name = "Babel-2.1.1"; + name = "Babel-2.2.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz"; - sha256 = "0j2jgfzj1a2m39pm2qc36fzr7a6p5ybwndi0xdzhi2p8zw7dbdkz"; + sha256 = "d8cb4c0e78148aee89560f9fe21587aa57739c975bb89ff66b1e842cc697428f"; }; buildInputs = with self; [ pytest ]; @@ -15367,6 +15774,9 @@ in modules // { buildInputs = [ pkgs.cups ]; + # Wants to connect to CUPS + doCheck = false; + meta = { description = "Python bindings for libcups"; homepage = http://cyberelk.net/tim/software/pycups/; @@ -15609,6 +16019,9 @@ in modules // { md5 = "861664f8be3bed44820356539f2ea5b6"; }; + # requires geoip samples + doCheck = false; + buildInputs = with self; [ nose ]; meta = { @@ -15653,6 +16066,9 @@ in modules // { propagatedBuildInputs = with self; [ docutils ]; + # Circular dependency with sphinx + doCheck = false; + meta = { homepage = http://pygments.org/; description = "A generic syntax highlighter"; @@ -15661,6 +16077,16 @@ in modules // { }; }; + # For Pelican 3.6.3 + pygments_2_0 = self.pygments.override rec { + version = "2.0.2"; + name = "Pygments-${version}"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; + sha256 = "7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51"; + }; + }; pygpgme = buildPythonPackage rec { version = "0.3"; @@ -15685,6 +16111,32 @@ in modules // { }; }; + pylint = buildPythonPackage rec { + name = "pylint-${version}"; + version = "1.5.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pylint/${name}.tar.gz"; + sha256 = "2fe3cc2fc66a56fdc35dbbc2bf1dd96a534abfc79ee6b2ad9ae4fe166e570c4b"; + }; + + propagatedBuildInputs = with self; [ astroid ]; + + checkPhase = '' + cd pylint/test; ${python.interpreter} -m unittest discover -p "*test*" + ''; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp + cp "elisp/"*.el $out/share/emacs/site-lisp/ + ''; + + meta = { + homepage = http://www.logilab.org/project/pylint; + description = "A bug and style checker for Python"; + }; + }; + pyrr = buildPythonPackage rec { name = "pyrr-${version}"; version = "0.7.2"; @@ -16063,6 +16515,18 @@ in modules // { sha256 = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a"; }; + LC_ALL = "en_US.UTF-8"; + + buildInputs = [ pkgs.glibcLocales ]; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # SyntaxError Python 3 + # https://github.com/defunkt/pystache/issues/181 + disabled = isPy3k; + meta = { description = "A framework-agnostic, logic-free templating system inspired by ctemplate and et"; homepage = https://github.com/defunkt/pystache; @@ -16078,6 +16542,10 @@ in modules // { md5 = "46ee623eeeba5a7cc0d95cbfa7e18abd"; }; + checkPhase = '' + ${python.interpreter} runtests.py + ''; + meta = { description = "Snowball stemming algorithms, for information retrieval"; homepage = http://snowball.tartarus.org/; @@ -16387,9 +16855,11 @@ in modules // { sha256 = "1sw225j9fgsvg1zm7lrij96fihfmq8pc1vg611dc55491zvj9ls3"; }; - buildInputs = with self; [ ]; + LC_ALL = "en_US.UTF-8"; + buildInputs = [ pkgs.glibcLocales ]; meta = { + broken = true; # 2 tests, both fail description = "A Pure-Python library built as a PDF toolkit"; homepage = "http://mstamy2.github.com/PyPDF2/"; license = licenses.bsd3; @@ -16424,6 +16894,12 @@ in modules // { license = "BSD-style"; platforms = platforms.mesaPlatforms; }; + + # Need to fix test runner + # Tests have many dependencies + # Extension types could not be found. + # Should run test suite from $out/${python.sitePackages} + doCheck = false; }; pyopenssl = buildPythonPackage rec { @@ -16727,11 +17203,11 @@ in modules // { pytz = buildPythonPackage rec { name = "pytz-${version}"; - version = "2015.4"; + version = "2015.7"; src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2"; - md5 = "39f7375c4b1fa34cdcb4b4765d08f817"; + url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.gz"; + sha256 = "99266ef30a37e43932deec2b7ca73e83c8dbc3b9ff703ec73eca6b1dae6befea"; }; meta = { @@ -16979,7 +17455,20 @@ in modules // { sha256 = "14v212cq2w3p0j5xydfr8rav8c8qas1q845r0xj7fm6q5dk8grkj"; }; - buildInputs = with self; [ freetype pillow pip ]; + LC_ALL = "en_US.UTF-8"; + buildInputs = with self; [ freetype pillow pip pkgs.glibcLocales ]; + + patchPhase = '' + rm tests/test_graphics_barcode.py + rm tests/test_graphics_render.py + ''; + + checkPhase = '' + ${python.interpreter} tests/runAll.py + ''; + + # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit + disabled = isPyPy; meta = { description = "An Open Source Python library for generating PDFs and graphics"; @@ -17126,17 +17615,20 @@ in modules // { }; qtconsole = buildPythonPackage rec { - version = "4.1.0"; + version = "4.1.1"; name = "qtconsole-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/q/qtconsole/${name}.tar.gz"; - sha256 = "61fb6e001dd2619a9fe8bd3a096d91c2c794cd9b2c7550a6df27ab6d5d03eb19"; + sha256 = "741906acae9e02c0df9138ac88b621ef22e438565aa96d783a9ef88faec3de46"; }; - buildInputs = with self; [] ++ optionals isPy27 [mock]; + buildInputs = with self; [ nose ] ++ optionals isPy27 [mock]; propagatedBuildInputs = with self; [traitlets jupyter_core jupyter_client pygments ipykernel pyqt4]; + # : cannot connect to X server + doCheck = false; + meta = { description = "Jupyter Qt console"; homepage = http://jupyter.org/; @@ -17193,15 +17685,15 @@ in modules // { recommonmark = buildPythonPackage rec { name = "recommonmark-${version}"; - version = "0.2.0"; + version = "0.4.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/recommonmark/${name}.tar.gz"; - sha256 = "28c0babc79c487280fc5bf5daf1f3f1d734e9e4293ba929a7617524ff6911fd7"; + sha256 = "6e29c723abcf5533842376d87c4589e62923ecb6002a8e059eb608345ddaff9d"; }; buildInputs = with self; [ pytest sphinx ]; - propagatedBuildInputs = with self; [ CommonMark docutils ]; + propagatedBuildInputs = with self; [ CommonMark_54 docutils ]; meta = { description = "A docutils-compatibility bridge to CommonMark"; @@ -17300,12 +17792,17 @@ in modules // { sha256 = "08j2w67nilczn1i5r7h22vag9673i6vnfhyq2rv27r1bdmi5a30m"; }; + buildInputs = with self; [ pytest ]; propagatedBuildInputs = with self; [ six docutils pygments bleach html5lib ]; - buildInputs = with self; [ - ]; + checkPhase = '' + py.test + ''; + + # Tests fail, possibly broken. + doCheck = false; meta = with stdenv.lib; { description = "readme"; @@ -17464,11 +17961,12 @@ in modules // { }); isodate = buildPythonPackage rec { - name = "isodate-0.5.0"; + name = "isodate-${version}"; + version = "0.5.4"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz"; - md5 = "9a267e9327feb3d021cae26002ba6e0e"; + sha256 = "42105c41d037246dc1987e36d96f3752ffd5c0c24834dd12e4fdbe1e79544e31"; }; meta = { @@ -17748,14 +18246,19 @@ in modules // { }; rsa = buildPythonPackage rec { - name = "rsa-3.1.4"; + name = "rsa-${version}"; + version = "3.3"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/rsa/${name}.tar.gz"; - sha256 = "1842ghkkimzf4fi3np4vwbwnsriv4d9malp1sbnv2xn26rcv1c72"; + sha256 = "03f3d9bebad06681771016b8752a40b12f615ff32363c7aa19b3798e73ccd615"; }; - buildInputs = with self; [ self.pyasn1 ]; + buildInputs = with self; [ pyasn1 unittest2 ]; + + checkPhase = '' + ${python.interpreter} run_tests.py + ''; meta = { homepage = http://stuvel.eu/rsa; @@ -18042,8 +18545,10 @@ in modules // { buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ]; propagatedBuildInputs = with self; [ numpy scipy pkgs.openblas ]; + LC_ALL="en_US.UTF-8"; + checkPhase = '' - LC_ALL="en_US.UTF-8" HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/ + HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/ ''; meta = { @@ -18063,7 +18568,10 @@ in modules // { md5 = "1d1c5117ccfc7b5961cae6c1020c0848"; }; - buildInputs = with self; [ nose pytest ]; + buildInputs = with self; [ pytest ]; + + # Tests are not included. See https://github.com/pypa/scripttest/issues/11 + doCheck = false; meta = { description = "A library for testing interactive command-line applications"; @@ -18071,15 +18579,23 @@ in modules // { }; }; - seaborn= buildPythonPackage rec { + seaborn = buildPythonPackage rec { name = "seaborn-0.6.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/seaborn/${name}.tar.gz"; md5 = "bc518f1f45dadb9deb2bb57ca3af3cad"; }; + buildInputs = with self; [ nose ]; propagatedBuildInputs = with self; [ pandas matplotlib ]; + checkPhase = '' + nosetests -v + ''; + + # Computationally very demanding tests + doCheck = false; + meta = { description = "statisitical data visualization"; homepage = "http://stanford.edu/~mwaskom/software/seaborn/"; @@ -18121,11 +18637,11 @@ in modules // { setuptools_scm = buildPythonPackage rec { name = "setuptools_scm-${version}"; - version = "1.7.0"; + version = "1.10.1"; src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/s/setuptools_scm/${name}.tar.gz"; - sha256 = "f2f69c782b4f549003edf5b75b356b37f40a4e880b615996c5d9c117913d6f9c"; + url = "https://pypi.python.org/packages/source/s/setuptools_scm/${name}.tar.bz2"; + sha256 = "1cdea91bbe1ec4d52b3e9c451ab32ae6e1f3aa3fd91e90580490a9eb75bea286"; }; buildInputs = with self; [ pip ]; @@ -18172,7 +18688,7 @@ in modules // { md5 = "f16f4237c9ee483a0cd13208849d96ad"; }; - propagatedBuildInputs = with self; [ twisted15 ]; + propagatedBuildInputs = with self; [ twisted ]; meta = { description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; @@ -18202,13 +18718,13 @@ in modules // { shortuuid = buildPythonPackage rec { name = "shortuuid-${version}"; - version = "0.4.2"; + version = "0.4.3"; disabled = isPy26; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/shortuuid/${name}.tar.gz"; - md5 = "142e3ae4e7cd32d41a71deb359db4cfe"; + sha256 = "4606dbb19124d98109c00e2cafae2df8117aec02115623e18fb2abe3f766d293"; }; buildInputs = with self; [pep8]; @@ -18329,13 +18845,16 @@ in modules // { }; snowballstemmer = buildPythonPackage rec { - name = "snowballstemmer-1.2.0"; + name = "snowballstemmer-1.2.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/snowballstemmer/${name}.tar.gz"; - md5 = "51f2ef829db8129dd0f2354f0b209970"; + sha256 = "919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128"; }; + # No tests included + doCheck = false; + propagatedBuildInputs = with self; [ PyStemmer ]; meta = { @@ -18396,14 +18915,17 @@ in modules // { }; shapely = buildPythonPackage rec { - name = "Shapely-1.3.1"; + name = "Shapely-${version}"; + version = "1.5.13"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz"; - sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l"; + sha256 = "68f8efb43112e8ef1f7e56e2c9eef64e0cbc1c19528c627696fb07345075a348"; }; - buildInputs = with self; [ pkgs.geos pkgs.glibcLocales ]; + buildInputs = with self; [ pkgs.geos pkgs.glibcLocales pytest ]; + + propagatedBuildInputs = with self; [ numpy ]; preConfigure = '' export LANG="en_US.UTF-8"; @@ -18413,7 +18935,9 @@ in modules // { sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.so'])|" shapely/geos.py ''; - doCheck = false; # won't suceed for unknown reasons that look harmless, though + checkPhase = '' + py.test $out + ''; meta = { description = "Geometric objects, predicates, and operations"; @@ -18445,6 +18969,32 @@ in modules // { }; }; + sounddevice = buildPythonPackage rec { + name = "sounddevice-${version}"; + version = "0.3.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/sounddevice/${name}.tar.gz"; + sha256 = "8e5a6816b369c7aea77e06092b2fee99c8b6efbeef4851f53ea3cb208a7607f5"; + }; + + propagatedBuildInputs = with self; [ cffi numpy pkgs.portaudio ]; + + # No tests included nor upstream available. + doCheck = false; + + prePatch = '' + substituteInPlace sounddevice.py --replace "'portaudio'" "'${pkgs.portaudio}/lib/libportaudio.so.2'" + ''; + + meta = { + description = "Play and Record Sound with Python"; + homepage = http://python-sounddevice.rtfd.org/; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fridh ]; + }; + }; + stevedore = buildPythonPackage rec { name = "stevedore-1.7.0"; @@ -18476,6 +19026,17 @@ in modules // { md5 = "2a28267370c9409b592cdb786649cb25"; }; + # Judging from SyntaxError in tests + disabled = isPy3k; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + # Bunch of tests fail + # https://github.com/countergram/pytidylib/issues/13 + doCheck = false; + patchPhase = '' sed -i 's#load_library(name)#load_library("${pkgs.html-tidy}/lib/libtidy.so")#' tidylib/__init__.py ''; @@ -18592,9 +19153,7 @@ in modules // { }; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; checkPhase = '' ${python.interpreter} test_clint.py @@ -18629,15 +19188,18 @@ in modules // { }; nose_progressive = buildPythonPackage rec { - name = "nose-progressive-1.3"; + name = "nose-progressive-1.5.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose-progressive/${name}.tar.gz"; - md5 = "180be93929c5962044a35489f193259d"; + sha256 = "0mfbjv3dcg23q0a130670g7xpfyvgza4wxkj991xxh8w9hs43ga4"; }; - buildInputs = with self; [ pillow blessings nose ]; - propagatedBuildInputs = with self; [ modules.curses ]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ pillow blessings ]; + + # fails with obscure error + doCheck = !isPy3k; meta = { maintainers = with maintainers; [ iElectric ]; @@ -18645,17 +19207,17 @@ in modules // { }; blessings = buildPythonPackage rec { - name = "blessings-1.5.1"; + name = "blessings-1.6"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/b/blessings/${name}.tar.gz"; - md5 = "fbbddbf20b1f9a13e3fa612b1e086fd8"; + sha256 = "01rhgn2c3xjf9h1lxij9m05iwf2ba6d0vd7nic26c2gic4q73igd"; }; - # 4 failing tests + # 4 failing tests, 2to3 doCheck = false; - buildInputs = with self; [ nose modules.curses ]; + propagatedBuildInputs = with self; [ modules.curses ]; meta = { maintainers = with maintainers; [ iElectric ]; @@ -18774,6 +19336,12 @@ in modules // { sha256 = "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh"; }; + buildInputs = with self; [ pytest ]; + + checkPhase = '' + py.test test_six.py + ''; + meta = { description = "A Python 2 and 3 compatibility library"; homepage = http://pypi.python.org/pypi/six/; @@ -19175,6 +19743,9 @@ in modules // { name = "sqlparse-${version}"; version = "0.1.16"; + # the source wasn't transformed with 2to3 yet + doCheck = !isPy3k; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/sqlparse/${name}.tar.gz"; sha256 = "108gy82x7davjrn3jqn7yv4r5v4jrzp892ysfx8l00abr8v6r337"; @@ -19231,7 +19802,6 @@ in modules // { description = "A client for Etsy's node-js statsd server"; homepage = https://github.com/WoLpH/python-statsd; license = licenses.bsd3; - maintainers = with maintainers; [ fridh ]; }; }; @@ -19334,9 +19904,7 @@ in modules // { name = "sure-${version}"; version = "1.2.24"; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; disabled = isPyPy; @@ -19595,11 +20163,11 @@ in modules // { terminado = buildPythonPackage rec { name = "terminado-${version}"; - version = "0.5"; + version = "0.6"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/terminado/${name}.tar.gz"; - sha256 = "63e893eff1ba84f1ee7c4bfcca7676ba1de6394538bb9aa80cbbc8866cb875b6"; + sha256 = "2c0ba1f624067dccaaead7d2247cfe029806355cef124dc2ccb53c83229f0126"; }; propagatedBuildInputs = with self; [ ptyprocess tornado ]; @@ -19730,6 +20298,9 @@ in modules // { name = "testtools-${version}"; version = "1.8.0"; + # Python 2 only judging from SyntaxError + disabled = isPy3k; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz"; sha256 = "15yxz8d70iy1b1x6gd7spvblq0mjxjardl4vnaqasxafzc069zca"; @@ -19747,16 +20318,21 @@ in modules // { }; traitlets = buildPythonPackage rec { - version = "4.0.0"; + version = "4.1.0"; name = "traitlets-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/traitlets/${name}.tar.gz"; - sha256 = "0b140b4a94a4f1951887d9bce4650da211f79600fc9fdb422acc90c5bbe0233b"; + sha256 = "440e38dfa5d2a26c086d4b427cfb7aed17d0a2dca78bce90c33354da2592af5b"; }; + buildInputs = with self; [ nose mock ]; propagatedBuildInputs = with self; [ipython_genutils decorator]; + checkPhase = '' + nosetests -v + ''; + meta = { description = "Traitlets Python config system"; homepage = http://ipython.org/; @@ -19844,6 +20420,10 @@ in modules // { sha256 = "0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k"; }; + # Errors in several tests: + # TypeError: must be str, not bytes + disabled = isPy3k; + propagatedBuildInputs = with self; [ six pillow ]; meta = { @@ -19908,19 +20488,17 @@ in modules // { tqdm = buildPythonPackage rec { name = "tqdm-${version}"; - version = "3.1.4"; + version = "3.7.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tqdm/${name}.tar.gz"; - sha256 = "e2dbef0df0fd24c9ae3b2e07bef2a3607ad8431142e76d3294a5a11926d214bf"; + sha256 = "f12d792685f779e8754e623aff1a25a93b98a90457e3a2b7eb89b4401c2c239e"; }; buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ]; propagatedBuildInputs = with self; [ matplotlib pandas ]; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; doCheck = false; # Many transient failures in performance tests and due to use of sleep @@ -19976,6 +20554,18 @@ in modules // { md5 = "3ad558eebaedc63c29c80183c0371d2f"; }; + # Use pytest because its easier to discover tests + buildInputs = with self; [ pytest ]; + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + + # Test suite is broken for 3.x on latest release + # https://github.com/enthought/traits/issues/187 + # https://github.com/enthought/traits/pull/188 + # Furthermore, some tests fail due to being in a chroot + doCheck = false; + propagatedBuildInputs = with self; [ numpy ]; meta = { @@ -20137,7 +20727,7 @@ in modules // { }; }; - twisted = buildPythonPackage rec { + twisted_11 = buildPythonPackage rec { # NOTE: When updating please check if new versions still cause issues # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) disabled = isPy3k; @@ -20168,7 +20758,7 @@ in modules // { }; }; - twisted15 = buildPythonPackage rec { + twisted = buildPythonPackage rec { disabled = isPy3k; name = "Twisted-15.5.0"; @@ -20217,6 +20807,28 @@ in modules // { }; }; + umalqurra = buildPythonPackage rec { + name = "umalqurra-${version}"; + version = "0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/u/umalqurra/umalqurra-0.2.tar.gz"; + sha256 = "719f6a36f908ada1c29dae0d934dd0f1e1f6e3305784edbec23ad719397de678"; + }; + + # No tests included + doCheck = false; + + # See for license + # https://github.com/tytkal/python-hijiri-ummalqura/issues/4 + meta = { + description = "Date Api that support Hijri Umalqurra calendar"; + homepage = https://github.com/tytkal/python-hijiri-ummalqura; + license = with licenses; [ publicDomain ]; + }; + + }; + umemcache = buildPythonPackage rec { name = "umemcache-${version}"; version = "1.6.3"; @@ -20945,21 +21557,25 @@ in modules // { }; }); - xray = buildPythonPackage rec { - name = "xray-${version}"; - version = "0.6.1"; + xarray = buildPythonPackage rec { + name = "xarray-${version}"; + version = "0.7.0"; src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/x/xray/${name}.tar.gz"; - sha256 = "bfbc307203d5433b4da31c210773c8474c237ff97350874b6e436d452fb9dfc8"; + url = "https://pypi.python.org/packages/source/x/xarray/${name}.tar.gz"; + sha256 = "b1562e8e2c61f1c3587d557ff48d2bc7be36574d6a8e86f11186c356bdd794cf"; }; - buildInputs = with self; [nose]; + buildInputs = with self; [ pytest ]; propagatedBuildInputs = with self; [numpy pandas]; + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + meta = { description = "N-D labeled arrays and datasets in Python"; - homepage = https://github.com/xray/xray; + homepage = https://github.com/pydata/xarray; license = licenses.asl20; maintainers = with maintainers; [ fridh ]; }; @@ -21883,12 +22499,12 @@ in modules // { }; pyzmq = buildPythonPackage rec { - name = "pyzmq-14.5.0"; + name = "pyzmq-15.2.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyzmq/${name}.tar.gz"; - sha256 = "1gbpgz4ngfw5x6zlsa1k0jwy5vd5wg9iz1shdx4zav256ib08vjx"; + sha256 = "2dafa322670a94e20283aba2a44b92134d425bd326419b68ad4db8d0831a26ec"; }; - buildInputs = with self; [ pkgs.zeromq3 pytest]; + buildInputs = with self; [ pkgs.zeromq3 pytest tornado ]; propagatedBuildInputs = [ self.py ]; checkPhase = '' py.test $out/${python.sitePackages}/zmq/ @@ -21923,6 +22539,16 @@ in modules // { sha256 = "0my8zq9d27mc7j78pz9971cn5wz6zi4vxlqa50szr2vq9j2xxkll"; }; + buildInputs = with self; [ nose mock manuel ]; + + checkPhase = '' + nosetests -v + ''; + + # Test suite seems broken + # TypeError: TestSuite() missing 1 required positional argument: 'm' + # Haven't checked with newer version + doCheck = false; meta = with stdenv.lib; { homepage = "https://github.com/Simplistix/testfixtures"; @@ -22103,18 +22729,15 @@ in modules // { carbon = buildPythonPackage rec { name = "carbon-${version}"; - version = "0.9.12"; + version = "0.9.15"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz"; - md5 = "66967d5a622fd29973838fcd10eb34f3"; + sha256 = "f01db6d37726c6fc0a8aaa66a7bf14436b0dd0d62ef3c20ecb31605a4d365d2e"; }; propagatedBuildInputs = with self; [ whisper txamqp zope_interface twisted ]; - # error: invalid command 'test' - doCheck = false; - meta = { homepage = http://graphite.wikidot.com/; description = "Backend data caching and persistence daemon for Graphite"; @@ -22149,9 +22772,7 @@ in modules // { sha256 = "12hhblqy1ajvidm38im4171x4arg83pfmziyn53nizp29p3m14gi"; }; - preBuild = '' - export LC_ALL="en_US.UTF-8" - ''; + LC_ALL="en_US.UTF-8"; buildInputs = [ pkgs.glibcLocales ]; @@ -22547,14 +23168,20 @@ in modules // { Logbook = buildPythonPackage rec { name = "Logbook-${version}"; - version = "0.4.2"; + version = "0.11.3"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz"; - # md5 = "143cb15af4c4a784ca785a1546ad1b93"; - sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0"; + sha256 = "0bchn00jj0y4dmrmqsm29ffcx37g79jcxjihadmgz2aj0z6dbsrc"; }; + buildInputs = [ self.pytest ]; + + checkPhase = '' + find tests -name \*.pyc -delete + py.test tests + ''; + meta = { homepage = http://pythonhosted.org/Logbook/; description = "A logging replacement for Python"; @@ -22751,14 +23378,16 @@ in modules // { }; tlsh = buildPythonPackage rec { - name = "tlsh-3.4.1"; + name = "tlsh-3.4.5"; src = pkgs.fetchFromGitHub { owner = "trendmicro"; repo = "tlsh"; - rev = "b319aed6a270cc765347296b442820c495018833"; - sha256 = "08ysniihvidcyvh9zip64wwvj7mvxvsqs60ci8cxj28f1ip0n8wg"; + rev = "22fa9a62068b92c63f2b5a87004a7a7ceaac1930"; + sha256 = "1ydliir308xn4ywy705mmsh7863ldlixdvpqwdhbipzq9vfpmvll"; }; buildInputs = with pkgs; [ cmake ]; + # no test data + doCheck = false; preConfigure = '' mkdir build cd build @@ -22869,17 +23498,23 @@ in modules // { description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)"; license = licenses.bsd3; }; + + # No tests included + doCheck = false; }; funcy = buildPythonPackage rec { - name = "funcy-1.4"; + name = "funcy-1.6"; src = pkgs.fetchurl { - url = "https://github.com/Suor/funcy/archive/1.4.tar.gz"; - sha256 = "694e29aa67d03a6ab006f1854740b65f4f87e581afb33853f80e647ddb5f24e7"; + url = "https://pypi.python.org/packages/source/f/funcy/${name}.tar.gz"; + sha256 = "511495db0c5660af18d3151b008c6ce698ae7fbf60887278e79675e35eed1f01"; }; + # No tests + doCheck = false; + meta = { description = "Collection of fancy functional tools focused on practicality"; homepage = "http://funcy.readthedocs.org/"; @@ -23537,13 +24172,16 @@ in modules // { thrift = buildPythonPackage rec { name = "thrift-${version}"; - version = "0.9.2"; + version = "0.9.3"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/thrift/${name}.tar.gz"; - sha256 = "1yla6wg18x2a0l0lrvkp1v464hqhff98ck8pnv8d5j9kn3j6bxh8"; + sha256 = "dfbc3d3bd19d396718dab05abaf46d93ae8005e2df798ef02e32793cd963877e"; }; + # No tests. Breaks when not disabling. + doCheck = false; + meta = { description = "Python bindings for the Apache Thrift RPC system"; homepage = http://thrift.apache.org/; @@ -23704,9 +24342,9 @@ in modules // { }; disabled = isPyPy; buildInputs = [ pkgs.glibcLocales ]; - preConfigure = '' - export LC_ALL="en_US.UTF-8" - ''; + + LC_ALL="en_US.UTF-8"; + meta = { description = "Copy your docs directly to the gh-pages branch."; homepage = "http://github.com/davisp/ghp-import"; @@ -23722,7 +24360,9 @@ in modules // { md5 = "63f38f80531996f187d2894cc497ba08"; }; disabled = isPyPy; - propagatedBuildInputs = with self; [ smartypants ]; + # Wants to set up Django + doCheck = false; + propagatedBuildInputs = with self; [ django_1_9 smartypants jinja2 ]; meta = { description = "Filters to enhance web typography, including support for Django & Jinja templates"; homepage = "https://github.com/mintchaos/typogrify"; @@ -23828,6 +24468,8 @@ in modules // { namePrefix = ""; disabled = (!isPy34); + + buildInputs = with self; [ pytest ]; propagatedBuildInputs = with self ; [ aiodns slixmpp pyinotify potr ]; patches = @@ -24052,15 +24694,19 @@ in modules // { willow = buildPythonPackage rec { name = "willow-${version}"; - version = "0.2.1"; + version = "0.2.2"; disabled = pythonOlder "2.7"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/W/Willow/Willow-${version}.tar.gz"; - sha256 = "0mgdpq7cvyvgk0n8ibkym3nsw1xg89kbismsj2y186ldcyxfajwa"; + sha256 = "111c82fbfcda2710ce6201b0b7e0cfa1ff3c4f2f0dc788cc8dfc8db933c39c73"; }; - propagatedBuildInputs = with self; [ six ]; + propagatedBuildInputs = with self; [ six pillow ]; + + # Test data is not included + # https://github.com/torchbox/Willow/issues/34 + doCheck = false; meta = { description = "A Python image library that sits on top of Pillow, Wand and OpenCV"; @@ -24124,6 +24770,11 @@ in modules // { url = "https://pypi.python.org/packages/source/x/xkcdpass/xkcdpass-1.4.2.tar.gz"; sha256 = "4c1f8bee886820c42ccc64c15c3a2275dc6d01028cf6af7c481ded87267d8269"; }; + + # No tests included + # https://github.com/redacted/XKCD-password-generator/issues/32 + doCheck = false; + meta = { homepage = https://pypi.python.org/pypi/xkcdpass/; description = "Generate secure multiword passwords/passphrases, inspired by XKCD"; |