{ stdenv, lib, fetchPypi, python, buildPythonPackage, isPy38 , cython, bzip2, lzo, numpy, numexpr, hdf5, six, c-blosc, mock }: with stdenv.lib; buildPythonPackage rec { version = "3.6.1"; pname = "tables"; src = fetchPypi { inherit pname version; sha256 = "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9"; }; nativeBuildInputs = [ cython ]; buildInputs = [ hdf5 bzip2 lzo c-blosc ]; propagatedBuildInputs = [ numpy numexpr six mock ]; # When doing `make distclean`, ignore docs postPatch = '' substituteInPlace Makefile --replace "src doc" "src" ''; # Regenerate C code with Cython preBuild = '' make distclean ''; # The setup script complains about missing run-paths, but they are # actually set. setupPyBuildFlags = [ "--hdf5=${getDev hdf5}" "--lzo=${getDev lzo}" "--bzip2=${getDev bzip2}" "--blosc=${getDev c-blosc}" ]; # Run the test suite. # It requires the build path to be in the python search path. # These tests take quite some time. # If the hdf5 library is built with zlib then there is only one # test-failure. That is the same failure as described in the following # github issue: # https://github.com/PyTables/PyTables/issues/269 checkPhase = '' ${python.interpreter} <