arrow-cpp: 0.15.1 -> 0.16.0
This switches to explicitly enabling dependency lookups for optional features (they were not picked up before). It also enables building of the Parquet command line tools.
This commit is contained in:
parent
4594022ec3
commit
5ddadce27b
3 changed files with 40 additions and 21 deletions
|
@ -1,24 +1,24 @@
|
|||
{ stdenv, lib, fetchurl, fetchFromGitHub, fixDarwinDylibNames, autoconf, boost
|
||||
, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl
|
||||
, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd
|
||||
{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, autoconf, boost
|
||||
, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4, perl
|
||||
, python, rapidjson, snappy, thrift, which, zlib, zstd
|
||||
, enableShared ? true }:
|
||||
|
||||
let
|
||||
parquet-testing = fetchFromGitHub {
|
||||
owner = "apache";
|
||||
repo = "parquet-testing";
|
||||
rev = "a277dc4e55ded3e3ea27dab1e4faf98c112442df";
|
||||
sha256 = "1yh5a8l4ship36hwmgmp2kl72s5ac9r8ly1qcs650xv2g9q7yhnq";
|
||||
rev = "46c9e977f58f6c5ef1b81f782f3746b3656e5a8c";
|
||||
sha256 = "1z2s6zh58nf484s0yraw7b1aqgx66dn2wzp1bzv9ndq03msklwly";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "arrow-cpp";
|
||||
version = "0.15.1";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
sha256 = "1jbghpppabsix2rkxbnh41inj9lcxfz4q94p96xzxshh4g3mhb4s";
|
||||
sha256 = "1xdp1yni9i1cpml326s78qql1g832m800h7zjlqmk89983g94696";
|
||||
};
|
||||
|
||||
sourceRoot = "apache-arrow-${version}/cpp";
|
||||
|
@ -35,6 +35,14 @@ in stdenv.mkDerivation rec {
|
|||
patches = [
|
||||
# patch to fix python-test
|
||||
./darwin.patch
|
||||
# Adjust CMake target names to make -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON work.
|
||||
# Remove this when updating to the next version.
|
||||
(fetchpatch {
|
||||
name = "arrow-use-upstream-cmake-target-names.patch";
|
||||
url = "https://github.com/apache/arrow/commit/396861b38d2f4e805db7c2ecd2c96fff0ca2678b.patch";
|
||||
sha256 = "0ki7nx858374anvwyi4szz5hgnnzv4fghdd05c38bzry9rfljgb1";
|
||||
stripLen = 1;
|
||||
})
|
||||
] ++ lib.optionals (!enableShared) [
|
||||
# The shared jemalloc lib is unused and breaks in static mode due to missing -fpic.
|
||||
./jemalloc-disable-shared.patch
|
||||
|
@ -48,7 +56,6 @@ in stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
boost
|
||||
brotli
|
||||
double-conversion
|
||||
flatbuffers
|
||||
gflags
|
||||
glog
|
||||
|
@ -57,7 +64,6 @@ in stdenv.mkDerivation rec {
|
|||
rapidjson
|
||||
snappy
|
||||
thrift
|
||||
uriparser
|
||||
zlib
|
||||
zstd
|
||||
python.pkgs.python
|
||||
|
@ -71,15 +77,28 @@ in stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
|
||||
"-DARROW_BUILD_TESTS=ON"
|
||||
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
|
||||
"-DARROW_PARQUET=ON"
|
||||
"-DARROW_PLASMA=ON"
|
||||
# Disable Python for static mode because openblas is currently broken there.
|
||||
"-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
|
||||
"-Duriparser_SOURCE=SYSTEM"
|
||||
"-DARROW_USE_GLOG=ON"
|
||||
"-DARROW_WITH_BROTLI=ON"
|
||||
"-DARROW_WITH_LZ4=ON"
|
||||
"-DARROW_WITH_SNAPPY=ON"
|
||||
"-DARROW_WITH_ZLIB=ON"
|
||||
"-DARROW_WITH_ZSTD=ON"
|
||||
# Parquet options:
|
||||
"-DARROW_PARQUET=ON"
|
||||
"-DPARQUET_BUILD_EXECUTABLES=ON"
|
||||
"-DTHRIFT_COMPILER=${thrift}/bin/thrift"
|
||||
"-DTHRIFT_VERSION=${thrift.version}"
|
||||
] ++ lib.optionals (!enableShared) [
|
||||
"-DARROW_BUILD_SHARED=OFF"
|
||||
"-DARROW_BOOST_USE_SHARED=OFF"
|
||||
"-DARROW_GFLAGS_USE_SHARED=OFF"
|
||||
"-DARROW_PROTOBUF_USE_SHARED=OFF"
|
||||
"-DARROW_TEST_LINKAGE=static"
|
||||
"-DOPENSSL_USE_STATIC_LIBS=ON"
|
||||
] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
|
||||
--- a/cmake_modules/ThirdpartyToolchain.cmake
|
||||
+++ b/cmake_modules/ThirdpartyToolchain.cmake
|
||||
@@ -1428,6 +1428,7 @@ if(ARROW_JEMALLOC)
|
||||
"--with-jemalloc-prefix=je_arrow_"
|
||||
"--with-private-namespace=je_arrow_private_"
|
||||
"--without-export"
|
||||
+ "--disable-shared"
|
||||
# Don't override operator new()
|
||||
"--disable-cxx" "--disable-libdl"
|
||||
# See https://github.com/jemalloc/jemalloc/issues/1237
|
||||
@@ -1317,6 +1317,7 @@ if(ARROW_JEMALLOC)
|
||||
"--with-jemalloc-prefix=je_arrow_"
|
||||
"--with-private-namespace=je_arrow_private_"
|
||||
"--without-export"
|
||||
+ "--disable-shared"
|
||||
# Don't override operator new()
|
||||
"--disable-cxx" "--disable-libdl"
|
||||
# See https://github.com/jemalloc/jemalloc/issues/1237
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, futures, hypothesis, numpy, pandas, pytest, pkgconfig, setuptools_scm, six }:
|
||||
{ lib, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, futures, hypothesis, numpy, pandas, pytest, pytest-lazy-fixture, pkgconfig, setuptools_scm, six }:
|
||||
|
||||
let
|
||||
_arrow-cpp = arrow-cpp.override { inherit python; };
|
||||
|
@ -13,7 +13,7 @@ buildPythonPackage rec {
|
|||
|
||||
nativeBuildInputs = [ cmake cython pkgconfig setuptools_scm ];
|
||||
propagatedBuildInputs = [ numpy six ] ++ lib.optionals (!isPy3k) [ futures ];
|
||||
checkInputs = [ hypothesis pandas pytest ];
|
||||
checkInputs = [ hypothesis pandas pytest pytest-lazy-fixture ];
|
||||
|
||||
PYARROW_BUILD_TYPE = "release";
|
||||
PYARROW_WITH_PARQUET = true;
|
||||
|
|
Loading…
Reference in a new issue