at 23.05-pre 85 lines 1.6 kB view raw
1{ lib 2, stdenv 3, fetchFromGitHub 4, cmake 5, zlib 6, lz4 7, bzip2 8, zstd 9, spdlog_0 10, tbb 11, openssl 12, boost 13, libpqxx 14, clang-tools 15, catch2 16, python3 17, gtest 18, doxygen 19, fixDarwinDylibNames 20}: 21 22stdenv.mkDerivation rec { 23 pname = "tiledb"; 24 version = "2.3.3"; 25 26 src = fetchFromGitHub { 27 owner = "TileDB-Inc"; 28 repo = "TileDB"; 29 rev = version; 30 sha256 = "sha256-3Z5+QUzo2f24q11j6s8KX2vHLFkipFvGk2VFComWW/o="; 31 }; 32 33 # (bundled) blosc headers have a warning on some archs that it will be using 34 # unaccelerated routines. 35 cmakeFlags = [ 36 "-DTILEDB_WERROR=0" 37 ]; 38 39 nativeBuildInputs = [ 40 clang-tools 41 cmake 42 python3 43 doxygen 44 ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; 45 46 checkInputs = [ 47 gtest 48 ]; 49 50 buildInputs = [ 51 catch2 52 zlib 53 lz4 54 bzip2 55 zstd 56 spdlog_0 57 tbb 58 openssl 59 boost 60 libpqxx 61 ]; 62 63 # emulate the process of pulling catch down 64 postPatch = '' 65 mkdir -p build/externals/src/ep_catch 66 ln -sf ${catch2}/include/catch2 build/externals/src/ep_catch/single_include 67 ''; 68 69 doCheck = false; # 9 failing tests due to what seems an overflow 70 71 installTargets = [ "install-tiledb" "doc" ]; 72 73 postInstall = lib.optionalString stdenv.isDarwin '' 74 install_name_tool -add_rpath ${tbb}/lib $out/lib/libtiledb.dylib 75 ''; 76 77 meta = with lib; { 78 description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data"; 79 homepage = "https://github.com/TileDB-Inc/TileDB"; 80 license = licenses.mit; 81 platforms = platforms.unix; 82 maintainers = with maintainers; [ rakesh4g ]; 83 }; 84 85}