From e3a389c67059c2f73465891e23c5cf1208cc0332 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Tue, 10 Oct 2017 09:23:51 -0400 Subject: [PATCH] Add pandas 0.17 --- .../python-modules/pandas/0.17.1.nix | 79 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 81 insertions(+) create mode 100644 pkgs/development/python-modules/pandas/0.17.1.nix diff --git a/pkgs/development/python-modules/pandas/0.17.1.nix b/pkgs/development/python-modules/pandas/0.17.1.nix new file mode 100644 index 000000000000..02b8211a256d --- /dev/null +++ b/pkgs/development/python-modules/pandas/0.17.1.nix @@ -0,0 +1,79 @@ +{ buildPythonPackage +, fetchPypi +, python +, stdenv +, fetchurl +, pytest +, glibcLocales +, cython +, dateutil +, scipy +, numexpr +, pytz +, xlrd +, bottleneck +, sqlalchemy +, lxml +, html5lib +, beautifulsoup4 +, openpyxl +, tables +, xlwt +, libcxx ? null +}: + +let + inherit (stdenv.lib) optional optionalString concatStringsSep; + inherit (stdenv) isDarwin; +in buildPythonPackage rec { + pname = "pandas"; + version = "0.17.1"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837"; + }; + + LC_ALL = "en_US.UTF-8"; + buildInputs = [ pytest glibcLocales ] ++ optional isDarwin libcxx; + propagatedBuildInputs = [ + cython + dateutil + scipy + numexpr + pytz + xlrd + bottleneck + sqlalchemy + lxml + html5lib + beautifulsoup4 + openpyxl + tables + xlwt + ]; + + doCheck = false; + + # For OSX, we need to add a dependency on libcxx, which provides + # `complex.h` and other libraries that pandas depends on to build. + postPatch = 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']" + ''; + + meta = { + # https://github.com/pandas-dev/pandas/issues/14866 + # pandas devs are no longer testing i686 so safer to assume it's broken + broken = stdenv.isi686; + homepage = http://pandas.pydata.org/; + description = "Python Data Analysis Library"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ shlevy ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f35991eeaed0..ddd851d3719c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14997,6 +14997,8 @@ in { pandas = callPackage ../development/python-modules/pandas { }; + pandas_0_17_1 = callPackage ../development/python-modules/pandas/0.17.1.nix { }; + xlrd = buildPythonPackage rec { name = "xlrd-${version}";