From 5319587d872397ef2a8d59c34e205b3cc186c095 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 25 Dec 2016 10:40:57 +0100 Subject: [PATCH] pythonPackages.pandas: 0.19.1 -> 0.19.2 --- .../python-modules/pandas/default.nix | 91 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 72 +-------------- 2 files changed, 92 insertions(+), 71 deletions(-) create mode 100644 pkgs/development/python-modules/pandas/default.nix 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 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b062d7d6233b..5711faf65b6f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17879,77 +17879,7 @@ in { }; }; - pandas = let - inherit (pkgs.stdenv.lib) optional optionalString; - inherit (pkgs.stdenv) isDarwin; - in buildPythonPackage rec { - name = "pandas-${version}"; - version = "0.19.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/pandas/${name}.tar.gz"; - sha256 = "2509feaeda72fce03675e2eccd2284bb1cadb6a0737008a5e741fe2431d47421"; - }; - - LC_ALL = "en_US.UTF-8"; - buildInputs = with self; [ nose pkgs.glibcLocales ] ++ optional isDarwin pkgs.libcxx; - propagatedBuildInputs = with self; [ - cython - dateutil - scipy - numexpr - pytz - xlrd - bottleneck - sqlalchemy - lxml - html5lib - beautifulsoup4 - openpyxl - tables - xlwt - ] ++ optional isDarwin pkgs.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="${pkgs.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. - - # Disable two tests that are broken since numpy 1.11. Fixed upstream. - - checkPhase = let - testsToSkip = [ "test_range_slice_day" "test_range_slice_seconds" ]; - in '' - runHook preCheck - # The flag `-A 'not network'` will disable tests that use internet. - # The `-e` flag disables a few problematic tests. - ${python.executable} setup.py nosetests -A 'not slow and not network' --stop \ - -e '${concatStringsSep "|" testsToSkip}' --verbosity=3 - - runHook postCheck - ''; - - meta = { - homepage = "http://pandas.pydata.org/"; - description = "Python Data Analysis Library"; - license = licenses.bsd3; - maintainers = with maintainers; [ raskin fridh ]; - platforms = platforms.unix; - }; - }; + pandas = callPackage ../development/python-modules/pandas { }; xlrd = buildPythonPackage rec { name = "xlrd-${version}";