From 5319587d872397ef2a8d59c34e205b3cc186c095 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 25 Dec 2016 10:40:57 +0100 Subject: pythonPackages.pandas: 0.19.1 -> 0.19.2 --- pkgs/development/python-modules/pandas/default.nix | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 pkgs/development/python-modules/pandas/default.nix (limited to 'pkgs/development') diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix new file mode 100644 index 000000000000..a923e553582c --- /dev/null +++ b/pkgs/development/python-modules/pandas/default.nix @@ -0,0 +1,91 @@ +{ buildPythonPackage +, python +, stdenv +, fetchurl +, nose +, glibcLocales +, cython +, dateutil +, scipy +, numexpr +, pytz +, xlrd +, bottleneck +, sqlalchemy +, lxml +, html5lib +, beautifulsoup4 +, openpyxl +, tables +, xlwt +, darwin ? {} +, libcxx ? null +}: + +let + inherit (stdenv.lib) optional optionalString concatStringsSep; + inherit (stdenv) isDarwin; +in buildPythonPackage rec { + pname = "pandas"; + version = "0.19.2"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; + sha256 = "6f0f4f598c2b16746803c8bafef7c721c57e4844da752d36240c0acf97658014"; + }; + + LC_ALL = "en_US.UTF-8"; + buildInputs = [ nose glibcLocales ] ++ optional isDarwin libcxx; + propagatedBuildInputs = [ + cython + dateutil + scipy + numexpr + pytz + xlrd + bottleneck + sqlalchemy + lxml + html5lib + beautifulsoup4 + openpyxl + tables + xlwt + ] ++ optional isDarwin darwin.locale; # provides the locale command + + # For OSX, we need to add a dependency on libcxx, which provides + # `complex.h` and other libraries that pandas depends on to build. + patchPhase = optionalString isDarwin '' + cpp_sdk="${libcxx}/include/c++/v1"; + echo "Adding $cpp_sdk to the setup.py common_include variable" + substituteInPlace setup.py \ + --replace "['pandas/src/klib', 'pandas/src']" \ + "['pandas/src/klib', 'pandas/src', '$cpp_sdk']" + + # disable clipboard tests since pbcopy/pbpaste are not open source + substituteInPlace pandas/io/tests/test_clipboard.py \ + --replace pandas.util.clipboard no_such_module \ + --replace OSError ImportError + ''; + + # The flag `-A 'not network'` will disable tests that use internet. + # The `-e` flag disables a few problematic tests. + + checkPhase = '' + runHook preCheck + # The flag `-w` provides the initial directory to search for tests. + # The flag `-A 'not network'` will disable tests that use internet. + nosetests -w $out/${python.sitePackages}/pandas --no-path-adjustment -A 'not slow and not network' --stop \ + --verbosity=3 + runHook postCheck + ''; + + meta = { + homepage = "http://pandas.pydata.org/"; + description = "Python Data Analysis Library"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ raskin fridh ]; + platforms = stdenv.lib.platforms.unix; + }; +} \ No newline at end of file -- cgit 1.4.1