arrow-cpp: add GCS feature flag (#144610)
This commit is contained in:
parent
a2f2e10e9e
commit
ea5437f80c
|
@ -3,21 +3,26 @@
|
|||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, fixDarwinDylibNames
|
||||
, abseil-cpp
|
||||
, autoconf
|
||||
, aws-sdk-cpp
|
||||
, boost
|
||||
, brotli
|
||||
, c-ares
|
||||
, cmake
|
||||
, crc32c
|
||||
, curl
|
||||
, flatbuffers
|
||||
, gflags
|
||||
, glog
|
||||
, google-cloud-cpp
|
||||
, grpc
|
||||
, gtest
|
||||
, jemalloc
|
||||
, libnsl
|
||||
, lz4
|
||||
, minio
|
||||
, nlohmann_json
|
||||
, openssl
|
||||
, perl
|
||||
, protobuf
|
||||
|
@ -33,9 +38,17 @@
|
|||
, zstd
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
, enableFlight ? !stdenv.isDarwin # libnsl is not supported on darwin
|
||||
, enableS3 ? true
|
||||
# boost/process is broken in 1.69 on darwin, but fixed in 1.70 and
|
||||
# non-existent in older versions
|
||||
# see https://github.com/boostorg/process/issues/55
|
||||
, enableS3 ? (!stdenv.isDarwin) || (lib.versionOlder boost.version "1.69" || lib.versionAtLeast boost.version "1.70")
|
||||
, enableGcs ? !stdenv.isDarwin # google-cloud-cpp is not supported on darwin
|
||||
}:
|
||||
|
||||
assert lib.asserts.assertMsg
|
||||
((enableS3 && stdenv.isDarwin) -> (lib.versionOlder boost.version "1.69" || lib.versionAtLeast boost.version "1.70"))
|
||||
"S3 on Darwin requires Boost != 1.69";
|
||||
|
||||
let
|
||||
arrow-testing = fetchFromGitHub {
|
||||
owner = "apache";
|
||||
|
@ -115,7 +128,14 @@ stdenv.mkDerivation rec {
|
|||
libnsl
|
||||
openssl
|
||||
protobuf
|
||||
] ++ lib.optionals enableS3 [ aws-sdk-cpp openssl ];
|
||||
] ++ lib.optionals enableS3 [ aws-sdk-cpp openssl ]
|
||||
++ lib.optionals enableGcs [
|
||||
abseil-cpp
|
||||
crc32c
|
||||
curl
|
||||
google-cloud-cpp
|
||||
nlohmann_json
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs build-support/
|
||||
|
@ -152,6 +172,7 @@ stdenv.mkDerivation rec {
|
|||
"-DPARQUET_BUILD_EXECUTABLES=ON"
|
||||
"-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}"
|
||||
"-DARROW_S3=${if enableS3 then "ON" else "OFF"}"
|
||||
"-DARROW_GCS=${if enableGcs then "ON" else "OFF"}"
|
||||
] ++ lib.optionals (!enableShared) [
|
||||
"-DARROW_TEST_LINKAGE=static"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
|
@ -183,6 +204,9 @@ stdenv.mkDerivation rec {
|
|||
"TestS3FS.OpenOutputStreamMetadata"
|
||||
"TestS3FS.OpenOutputStreamSyncWrites"
|
||||
"TestS3FSGeneric.*"
|
||||
] ++ lib.optionals enableGcs [
|
||||
"GcsFileSystem.FileSystemCompare"
|
||||
"GcsIntegrationTest.*"
|
||||
];
|
||||
in
|
||||
lib.optionalString doInstallCheck "-${builtins.concatStringsSep ":" filteredTests}";
|
||||
|
@ -199,7 +223,7 @@ stdenv.mkDerivation rec {
|
|||
''
|
||||
runHook preInstallCheck
|
||||
|
||||
ctest -L unittest -V \
|
||||
ctest -L unittest \
|
||||
--exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$'
|
||||
|
||||
runHook postInstallCheck
|
||||
|
|
Loading…
Reference in a new issue