at 23.05-pre 2.1 kB view raw
1{ lib 2, python 3, buildPythonPackage 4, fetchFromGitHub 5, cython 6, pybind11 7, tiledb 8, numpy 9, wheel 10, isPy3k 11, setuptools-scm 12, psutil 13, pandas 14}: 15 16buildPythonPackage rec { 17 pname = "tiledb"; 18 version = "0.16.3"; 19 format = "setuptools"; 20 21 src = fetchFromGitHub { 22 owner = "TileDB-Inc"; 23 repo = "TileDB-Py"; 24 rev = "refs/tags/${version}"; 25 sha256 = "sha256-Tg2MHlLwwcpXoHoflaNWXmXr6s7dg3IJou4PZBahRzc="; 26 }; 27 28 nativeBuildInputs = [ 29 cython 30 pybind11 31 setuptools-scm 32 ]; 33 34 buildInputs = [ 35 tiledb 36 ]; 37 38 propagatedBuildInputs = [ 39 numpy 40 wheel # No idea why but it is listed 41 ]; 42 43 checkInputs = [ 44 psutil 45 # optional 46 pandas 47 ]; 48 49 TILEDB_PATH = tiledb; 50 51 SETUPTOOLS_SCM_PRETEND_VERSION = version; 52 53 disabled = !isPy3k; # Not bothering with python2 anymore 54 55 postPatch = '' 56 # Hardcode path to shared object 57 substituteInPlace tiledb/__init__.py --replace \ 58 'os.path.join(lib_dir, lib_name)' 'os.path.join("${tiledb}/lib", lib_name)' 59 60 # Disable failing test 61 substituteInPlace tiledb/tests/test_examples.py --replace \ 62 "test_docs" "dont_test_docs" 63 # these tests don't always fail 64 substituteInPlace tiledb/tests/test_libtiledb.py --replace \ 65 "test_varlen_write_int_subarray" "dont_test_varlen_write_int_subarray" \ 66 --replace "test_memory_cleanup" "dont_test_memory_cleanup" \ 67 --replace "test_ctx_thread_cleanup" "dont_test_ctx_thread_cleanup" 68 substituteInPlace tiledb/tests/test_metadata.py --replace \ 69 "test_metadata_consecutive" "dont_test_metadata_consecutive" 70 ''; 71 72 checkPhase = '' 73 pushd "$TMPDIR" 74 ${python.interpreter} -m unittest tiledb.tests.all.suite_test 75 popd 76 ''; 77 pythonImportsCheck = [ "tiledb" ]; 78 79 meta = with lib; { 80 description = "Python interface to the TileDB storage manager"; 81 homepage = "https://github.com/TileDB-Inc/TileDB-Py"; 82 license = licenses.mit; 83 maintainers = with maintainers; [ fridh ]; 84 # tiledb/core.cc:556:30: error: ‘struct std::array<long unsigned int, 2>’ has no member named ‘second’ 85 broken = true; 86 }; 87}