@@ -1,6 +1,7 @@
1−{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames
1+{ stdenv, lib, fetchurl, fetchFromGitHub, fixDarwinDylibNames
22, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4
3−, perl, python3, rapidjson, re2, snappy, thrift, utf8proc, which, zlib, zstd
3+, perl, python3, rapidjson, re2, snappy, thrift, utf8proc, which, xsimd
4+, zlib, zstd
45, enableShared ? !stdenv.hostPlatform.isStatic
56}:
67
@@ -15,18 +16,18 @@ let
1516 parquet-testing = fetchFromGitHub {
1617 owner = "apache";
1718 repo = "parquet-testing";
18− rev = "e31fe1a02c9e9f271e4bfb8002d403c52f1ef8eb";
19− sha256 = "02f51dvx8w5mw0bx3hn70hkn55mn1m65kzdps1ifvga9hghpy0sh";
19+ rev = "ddd898958803cb89b7156c6350584d1cda0fe8de";
20+ sha256 = "0n16xqlpxn2ryp43w8pppxrbwmllx6sk4hv3ycgikfj57nd3ibc0";
2021 };
2122
2223in stdenv.mkDerivation rec {
2324 pname = "arrow-cpp";
24− version = "3.0.0";
25+ version = "4.0.0";
2526
2627 src = fetchurl {
2728 url =
2829 "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
29− sha256 = "0yp2b02wrc3s50zd56fmpz4nhhbihp0zw329v4zizaipwlxwrhkk";
30+ sha256 = "1bj9jr0pgq9f2nyzqiyj3cl0hcx3c83z2ym6rpdkp59ff2zx0caa";
3031 };
3132 sourceRoot = "apache-arrow-${version}/cpp";
3233
@@ -90,6 +91,10 @@ in stdenv.mkDerivation rec {
9091 "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
9192 "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
9293 "-DARROW_DEPENDENCY_USE_SHARED=${if enableShared then "ON" else "OFF"}"
94+ "-DARROW_COMPUTE=ON"
95+ "-DARROW_CSV=ON"
96+ "-DARROW_DATASET=ON"
97+ "-DARROW_JSON=ON"
9398 "-DARROW_PLASMA=ON"
9499 # Disable Python for static mode because openblas is currently broken there.
95100 "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
@@ -111,6 +116,8 @@ in stdenv.mkDerivation rec {
111116 "-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables
112117 ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
113118
119+ ARROW_XSIMD_URL = xsimd.src;
120+
114121 doInstallCheck = true;
115122 ARROW_TEST_DATA =
116123 if doInstallCheck then "${arrow-testing}/data" else null;