override.nix 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. pkgs: attrs: with pkgs; with attrs; rec {
  2. version = "5.0.0";
  3. src = fetchFromGitHub {
  4. owner = "apache";
  5. repo = "arrow";
  6. rev = "apache-arrow-${version}";
  7. sha256 = "0plks5f4rv91qj0d9khmd45wi4a0khrp0g7ww430hp7a69306x5x";
  8. };
  9. patches = [ ];
  10. preConfigure = "";
  11. buildInputs = [
  12. boost
  13. brotli
  14. flatbuffers
  15. gflags
  16. lz4
  17. protobuf
  18. rapidjson
  19. re2
  20. snappy
  21. thrift
  22. utf8proc
  23. zlib
  24. zstd
  25. python3
  26. python3Packages.numpy
  27. ];
  28. cmakeFlags = [
  29. # It turns out arrow-cpp CMakeLists doesn"t support default MinSizeRel
  30. "-DCMAKE_BUILD_TYPE=Release"
  31. # Python requires compatible version for later usage,
  32. # setup this when needed for the bindings.
  33. "-DARROW_PYTHON=ON"
  34. "-DARROW_FILESYSTEM=OFF"
  35. "-DARROW_PLASMA=OFF"
  36. "-DARROW_PLASMA_JAVA_CLIENT=OFF"
  37. "-DARROW_HDFS=OFF"
  38. # Before enabling jemalloc see JEMALLOC_MANGLE define inside arrow code
  39. "-DARROW_JEMALLOC=OFF"
  40. "-DARROW_MIMALLOC=OFF"
  41. # TODO: support compatible runtimes on corresponding archs (? like at openal and ffmpeg)
  42. "-DARROW_SIMD_LEVEL=NONE"
  43. "-DARROW_RUNTIME_SIMD_LEVEL=NONE"
  44. # Hack to avoid generation of platform-specific sources and removing them when
  45. # no runtime is selected (see above todo).
  46. "-DARROW_CPU_FLAG=none"
  47. # Needs fixing several compilation errors and googletest provides usage
  48. "-DARROW_BUILD_TESTS=OFF"
  49. "-DARROW_COMPUTE=ON"
  50. "-DARROW_ORC=ON"
  51. "-DARROW_PARQUET=ON"
  52. "-DARROW_CSV=ON"
  53. "-DARROW_USE_GLOG=OFF"
  54. "-DARROW_WITH_BROTLI=ON"
  55. "-DARROW_WITH_BACKTRACE=OFF"
  56. # build only C++ part of the library
  57. "../cpp"
  58. ];
  59. sourceRoot = "source";
  60. }