parquet-cpp: init at 1.4.0

Also fix RPATH issues in pyarrow
This commit is contained in:
Dmitry Kalinkin 2018-03-20 18:19:39 -04:00
parent f9192c5424
commit a49ebbb743
No known key found for this signature in database
GPG Key ID: 5157B3EC8B2CA333
3 changed files with 49 additions and 3 deletions

View File

@ -0,0 +1,37 @@
{ stdenv, symlinkJoin, fetchurl, arrow-cpp, boost, cmake, gtest, snappy, thrift, zlib }:
stdenv.mkDerivation rec {
name = "parquet-cpp-${version}";
version = "1.4.0";
src = fetchurl {
url = "https://github.com/apache/parquet-cpp/archive/apache-${name}.tar.gz";
sha256 = "1kn7pjzi5san5f05qbl8l8znqsa3f9cq9bflfr4s2jfwr7k9p2aj";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ boost ];
preConfigure = ''
substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
'';
ARROW_HOME = arrow-cpp;
THRIFT_HOME = thrift;
GTEST_HOME = gtest;
SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
cmakeFlags = [
"-DPARQUET_BUILD_BENCHMARKS=OFF"
];
meta = {
description = "A C++ library to read and write the Apache Parquet columnar data format";
homepage = http://parquet.apache.org;
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ veprbl ];
};
}

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchurl, arrow-cpp, cmake, cython, futures, numpy, pandas, pytest, pkgconfig, setuptools_scm, six }:
{ lib, buildPythonPackage, fetchurl, arrow-cpp, cmake, cython, futures, numpy, pandas, pytest, parquet-cpp, pkgconfig, setuptools_scm, six }:
buildPythonPackage rec {
pname = "pyarrow";
@ -16,10 +16,14 @@ buildPythonPackage rec {
checkInputs = [ pandas pytest ];
PYARROW_BUILD_TYPE = "release";
PYARROW_BUNDLE_ARROW_CPP = 1; # sets RPATH on darwin
PYARROW_CMAKE_OPTIONS = "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib;${PARQUET_HOME}/lib";
preBuild = ''
substituteInPlace CMakeLists.txt --replace "''${ARROW_SO_VERSION}" '"0"'
substituteInPlace CMakeLists.txt --replace "\''${ARROW_ABI_VERSION}" '"0.0.0"'
substituteInPlace CMakeLists.txt --replace "\''${ARROW_SO_VERSION}" '"0"'
# fix the hardcoded value
substituteInPlace cmake_modules/FindParquet.cmake --replace 'set(PARQUET_ABI_VERSION "1.0.0")' 'set(PARQUET_ABI_VERSION "${parquet-cpp.version}")'
'';
preCheck = ''
@ -36,6 +40,9 @@ buildPythonPackage rec {
'';
ARROW_HOME = arrow-cpp;
PARQUET_HOME = parquet-cpp;
setupPyBuildFlags = ["--with-parquet" ];
meta = with lib; {
description = "A cross-language development platform for in-memory data";

View File

@ -10872,6 +10872,8 @@ with pkgs;
paperkey = callPackage ../tools/security/paperkey { };
parquet-cpp = callPackage ../development/libraries/parquet-cpp {};
pangoxsl = callPackage ../development/libraries/pangoxsl { };
pcaudiolib = callPackage ../development/libraries/pcaudiolib {