lol

tiledb: enable serialization

Build headers and libraries required for serialization support. Required
for TileDB Python bindings.

+18 -1
+18 -1
pkgs/by-name/ti/tiledb/package.nix
··· 2 2 lib, 3 3 stdenv, 4 4 fetchFromGitHub, 5 + fetchpatch, 5 6 cmake, 6 7 zlib, 7 8 lz4, ··· 22 23 libpng, 23 24 file, 24 25 runCommand, 26 + curl, 27 + capnproto, 25 28 useAVX2 ? stdenv.hostPlatform.avx2Support, 26 29 }: 27 30 ··· 45 48 hash = "sha256-Cs3Lr8I/Mu02x78d7IySG0XX4u/VAjBs4p4b00XDT5k="; 46 49 }; 47 50 48 - patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./generate_embedded_data_header.patch ]; 51 + patches = [ 52 + # capnproto was updated to 1.2 in Nixpkgs, bring TileDB codebase up to speed 53 + # patch only affects serialization related code, extracted from https://github.com/TileDB-Inc/TileDB/pull/5616 54 + (fetchpatch { 55 + url = "https://github.com/TileDB-Inc/TileDB/pull/5616.patch"; 56 + relative = "tiledb/sm/serialization"; 57 + extraPrefix = "tiledb/sm/serialization/"; 58 + hash = "sha256-5z/eJEHl+cnWRf1sMULodJyhmNh5KinDLlL1paMNiy4="; 59 + }) 60 + ] 61 + ++ lib.optionals stdenv.hostPlatform.isDarwin [ ./generate_embedded_data_header.patch ]; 49 62 50 63 # libcxx (as of llvm-19) does not yet support `stop_token` and `jthread` 51 64 # without the -fexperimental-library flag. Tiledb adds its own ··· 62 75 cmakeFlags = [ 63 76 "-DTILEDB_WEBP=OFF" 64 77 "-DTILEDB_WERROR=OFF" 78 + "-DTILEDB_SERIALIZATION=ON" 65 79 # https://github.com/NixOS/nixpkgs/issues/144170 66 80 "-DCMAKE_INSTALL_INCLUDEDIR=include" 67 81 "-DCMAKE_INSTALL_LIBDIR=lib" ··· 74 88 cmake 75 89 python3 76 90 doxygen 91 + # Required for serialization 92 + curl 93 + capnproto 77 94 ] 78 95 ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; 79 96