@ -1,21 +1,28 @@
{ stdenv , symlinkJoin , fetchurl , fetchFromGitHub , autoconf , boost , brotli , cmake , double-conversion , flatbuffers , gflags , glog , gtest , lz4 , perl , python , rapidjson , snappy , thrift , which , zlib , zstd }:
{ stdenv , fetchurl , fetchFromGitHub , autoconf , boost , brotli , cmake , double-conversion , flatbuffers , gflags , glog , gtest , lz4 , perl , python , rapidjson , snappy , thrift , uriparser , which , zlib , zstd }:
let
parquet-testing = fetchFromGitHub {
owner = " a p a c h e " ;
repo = " p a r q u e t - t e s t i n g " ;
rev = " 4 6 a e 2 6 0 5 c 2 d e 3 0 6 f 5 7 4 0 5 8 7 1 0 7 d c f 3 3 3 a 5 2 7 f 2 d 1 " ;
sha256 = " 0 7 p s 7 4 5 g a s 2 z c f m g 5 6 m 3 v w l 6 3 y y z m a l n x w b 5 d c 4 0 v d 0 0 4 c x 5 h d i k " ;
rev = " 8 9 9 1 d 0 b 5 8 d 5 a 5 9 9 2 5 c 8 7 d d 2 a 0 b d b 5 9 a 5 a 4 a 1 6 b d 4 " ;
sha256 = " 0 0 j s 5 d 1 s 9 8 y 3 i a n r v h 1 g g r d 1 5 7 y f m i a 4 g 5 5 j x 9 x m f c z 4 a 8 m c b a w x " ;
} ;
# Enable non-bundled uriparser
# Introduced in https://github.com/apache/arrow/pull/4092
Finduriparser_cmake = fetchurl {
url = https://raw.githubusercontent.com/apache/arrow/af4f52961209a5f1b43a19483536285c957e3bed/cpp/cmake_modules/Finduriparser.cmake ;
sha256 = " 1 c y l r w 0 0 n 2 n k c 2 c 4 9 x k 9 j 3 r r z a 3 5 1 r p r a v x g p w 0 4 7 v i m c w 0 s k 9 3 s " ;
} ;
in
stdenv . mkDerivation rec {
name = " a r r o w - c p p - ${ version } " ;
version = " 0 . 1 2 . 0 " ;
version = " 0 . 1 3 . 0 " ;
src = fetchurl {
url = " m i r r o r : / / a p a c h e / a r r o w / a r r o w - ${ version } / a p a c h e - a r r o w - ${ version } . t a r . g z " ;
sha256 = " 1 6 3 s 4 i 2 c y w q 9 5 j g r x b a q 4 8 q w m w w 0 i b k q 6 1 k 1 a a d 4 w 9 z 9 v p j f g n i l " ;
sha256 = " 0 6 i r h 5 z x 6 l c 7 j j f 6 h p z 1 v z k 0 p v b d x 0 8 l c i r c 8 c p 8 k s b 8 j 7 f p f a m c " ;
} ;
sourceRoot = " a p a c h e - a r r o w - ${ version } / c p p " ;
@ -26,35 +33,25 @@ stdenv.mkDerivation rec {
] ;
nativeBuildInputs = [ cmake autoconf /* f o r v e n d o r e d j e m a l l o c */ ] ;
buildInputs = [ boost double-conversion glog python . pkgs . python python . pkgs . numpy ] ;
buildInputs = [
boost brotli double-conversion flatbuffers gflags glog gtest lz4 rapidjson
snappy thrift uriparser zlib zstd 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
cp $ { Finduriparser_cmake } cmake_modules/Finduriparser.cmake
patchShebangs build-support /
'' ;
BROTLI_HOME = symlinkJoin { name = " b r o t l i - w r a p " ; paths = [ brotli . lib brotli . dev ] ; } ;
DOUBLE_CONVERSION_HOME = double-conversion ;
FLATBUFFERS_HOME = flatbuffers ;
GFLAGS_HOME = gflags ;
GLOG_HOME = glog ;
GTEST_HOME = symlinkJoin { name = " g t e s t - w r a p " ; paths = [ gtest gtest . dev ] ; } ;
LZ4_HOME = symlinkJoin { name = " l z 4 - w r a p " ; paths = [ lz4 lz4 . dev ] ; } ;
RAPIDJSON_HOME = rapidjson ;
SNAPPY_HOME = symlinkJoin { name = " s n a p p y - w r a p " ; paths = [ snappy snappy . dev ] ; } ;
THRIFT_HOME = thrift ;
ZLIB_HOME = symlinkJoin { name = " z l i b - w r a p " ; paths = [ zlib zlib . dev ] ; } ;
ZSTD_HOME = zstd ;
cmakeFlags = [
" - D A R R O W _ B U I L D _ T E S T S = O N "
" - D A R R O W _ P Y T H O N = O N "
" - D A R R O W _ D E P E N D E N C Y _ S O U R C E = S Y S T E M "
" - D A R R O W _ P A R Q U E T = O N "
" - D A R R O W _ P Y T H O N = O N "
" - D u r i p a r s e r _ S O U R C E = S Y S T E M "
] ;
doInstallCheck = true ;