parquet-cpp: init at 1.4.0
Also fix RPATH issues in pyarrow
This commit is contained in:
parent
f9192c5424
commit
a49ebbb743
37
pkgs/development/libraries/parquet-cpp/default.nix
Normal file
37
pkgs/development/libraries/parquet-cpp/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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 {
|
buildPythonPackage rec {
|
||||||
pname = "pyarrow";
|
pname = "pyarrow";
|
||||||
@ -16,10 +16,14 @@ buildPythonPackage rec {
|
|||||||
checkInputs = [ pandas pytest ];
|
checkInputs = [ pandas pytest ];
|
||||||
|
|
||||||
PYARROW_BUILD_TYPE = "release";
|
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 = ''
|
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 = ''
|
preCheck = ''
|
||||||
@ -36,6 +40,9 @@ buildPythonPackage rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
ARROW_HOME = arrow-cpp;
|
ARROW_HOME = arrow-cpp;
|
||||||
|
PARQUET_HOME = parquet-cpp;
|
||||||
|
|
||||||
|
setupPyBuildFlags = ["--with-parquet" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A cross-language development platform for in-memory data";
|
description = "A cross-language development platform for in-memory data";
|
||||||
|
@ -10872,6 +10872,8 @@ with pkgs;
|
|||||||
|
|
||||||
paperkey = callPackage ../tools/security/paperkey { };
|
paperkey = callPackage ../tools/security/paperkey { };
|
||||||
|
|
||||||
|
parquet-cpp = callPackage ../development/libraries/parquet-cpp {};
|
||||||
|
|
||||||
pangoxsl = callPackage ../development/libraries/pangoxsl { };
|
pangoxsl = callPackage ../development/libraries/pangoxsl { };
|
||||||
|
|
||||||
pcaudiolib = callPackage ../development/libraries/pcaudiolib {
|
pcaudiolib = callPackage ../development/libraries/pcaudiolib {
|
||||||
|
Loading…
Reference in New Issue
Block a user