arrow-cpp: 0.10.0 -> 0.11.0 (#48066)
* arrow-cpp: 0.10.0 -> 0.11.0 * arrow-cpp: enable testing
This commit is contained in:
committed by
Frederik Rietdijk
parent
045a4a4b72
commit
4ed993367f
@@ -1,42 +1,75 @@
|
||||
{ stdenv, symlinkJoin, fetchurl, boost, brotli, cmake, flatbuffers, gtest, gflags, lz4, python, rapidjson, snappy, zlib, zstd }:
|
||||
{ stdenv, symlinkJoin, fetchurl, fetchFromGitHub, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, which, zlib, zstd }:
|
||||
|
||||
let
|
||||
parquet-testing = fetchFromGitHub {
|
||||
owner = "apache";
|
||||
repo = "parquet-testing";
|
||||
rev = "46ae2605c2de306f5740587107dcf333a527f2d1";
|
||||
sha256 = "07ps745gas2zcfmg56m3vwl63yyzmalnxwb5dc40vd004cx5hdik";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "arrow-cpp-${version}";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
sha256 = "0bc4krapz1kzdm16npzmgdz7zvg9lip6rnqbwph8vfn7zji0fcll";
|
||||
sha256 = "0pc5pqr0dbnx8s1ji102dhw9bbrsq3ml4ac3mmi2022yfyizlf0q";
|
||||
};
|
||||
|
||||
sourceRoot = "apache-arrow-${version}/cpp";
|
||||
|
||||
# patch to fix python-test
|
||||
patches = [ ./darwin.patch ];
|
||||
patches = [
|
||||
# fix ARROW-3467
|
||||
./double-conversion_cmake.patch
|
||||
|
||||
# patch to fix python-test
|
||||
./darwin.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ boost python.pkgs.python python.pkgs.numpy ];
|
||||
buildInputs = [ boost double-conversion glog python.pkgs.python python.pkgs.numpy ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
substituteInPlace cmake_modules/FindBrotli.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
substituteInPlace cmake_modules/FindGLOG.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
|
||||
patchShebangs build-support/
|
||||
'';
|
||||
|
||||
BROTLI_HOME = symlinkJoin { name="brotli-wrap"; paths = [ brotli.lib brotli.dev ]; };
|
||||
DOUBLE_CONVERSION_HOME = double-conversion;
|
||||
FLATBUFFERS_HOME = flatbuffers;
|
||||
GTEST_HOME = gtest;
|
||||
GFLAGS_HOME = gflags;
|
||||
GLOG_HOME = glog;
|
||||
GTEST_HOME = gtest;
|
||||
LZ4_HOME = symlinkJoin { name="lz4-wrap"; paths = [ lz4 lz4.dev ]; };
|
||||
RAPIDJSON_HOME = rapidjson;
|
||||
SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
|
||||
ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
|
||||
THRIFT_HOME = thrift;
|
||||
ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib zlib.dev ]; };
|
||||
ZSTD_HOME = zstd;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DARROW_PYTHON=ON"
|
||||
"-DARROW_PARQUET=ON"
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
PARQUET_TEST_DATA = if doInstallCheck then "${parquet-testing}/data" else null;
|
||||
installCheckInputs = [ perl which ];
|
||||
installCheckPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
for f in release/*-test; do
|
||||
install_name_tool -add_rpath "$out"/lib "$f"
|
||||
done
|
||||
'') + ''
|
||||
ctest -L unittest -V
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A cross-language development platform for in-memory data";
|
||||
homepage = https://arrow.apache.org/;
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
diff --git a/CMakeLists.txt b/cpp/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -615,7 +615,7 @@ endif(UNIX)
|
||||
set(ARROW_LINK_LIBS)
|
||||
|
||||
# Libraries to link statically with libarrow.so
|
||||
-set(ARROW_STATIC_LINK_LIBS double-conversion)
|
||||
+set(ARROW_STATIC_LINK_LIBS ${DOUBLE_CONVERSION_TARGET})
|
||||
|
||||
if (ARROW_WITH_BROTLI)
|
||||
SET(ARROW_STATIC_LINK_LIBS
|
||||
@@ -694,7 +694,7 @@ else ()
|
||||
set(ARROW_MIN_TEST_LIBS
|
||||
arrow_shared
|
||||
${ARROW_LINK_LIBS}
|
||||
- double-conversion
|
||||
+ ${DOUBLE_CONVERSION_TARGET}
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_FILESYSTEM_LIBRARY}
|
||||
${BOOST_REGEX_LIBRARY}
|
||||
diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
|
||||
--- a/cmake_modules/ThirdpartyToolchain.cmake
|
||||
+++ b/cmake_modules/ThirdpartyToolchain.cmake
|
||||
@@ -469,14 +469,16 @@ if("${DOUBLE_CONVERSION_HOME}" STREQUAL "")
|
||||
set(DOUBLE_CONVERSION_VENDORED 1)
|
||||
else()
|
||||
find_package(double-conversion REQUIRED)
|
||||
+ set(DOUBLE_CONVERSION_TARGET double-conversion::double-conversion)
|
||||
set(DOUBLE_CONVERSION_VENDORED 0)
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM ${DOUBLE_CONVERSION_INCLUDE_DIR})
|
||||
-ADD_THIRDPARTY_LIB(double-conversion
|
||||
- STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
|
||||
|
||||
if (DOUBLE_CONVERSION_VENDORED)
|
||||
+ ADD_THIRDPARTY_LIB(double-conversion
|
||||
+ STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
|
||||
+ set(DOUBLE_CONVERSION_TARGET double-conversion)
|
||||
add_dependencies(arrow_dependencies double-conversion_ep)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user