From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoaCh-0005Nf-1w for guix-patches@gnu.org; Wed, 21 Feb 2018 14:38:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoaBY-0007uB-52 for guix-patches@gnu.org; Wed, 21 Feb 2018 14:37:22 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:47016) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eoaBX-0007tM-7v for guix-patches@gnu.org; Wed, 21 Feb 2018 14:36:11 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eoaBW-0008Tp-VQ for guix-patches@gnu.org; Wed, 21 Feb 2018 14:36:10 -0500 Subject: [bug#30570] [PATCH 14/16] gnu: Add apache-arrow. Resent-Message-ID: From: Leo Famulari Date: Wed, 21 Feb 2018 14:35:18 -0500 Message-Id: In-Reply-To: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name> References: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name> MIME-Version: 1.0 In-Reply-To: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name> References: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 30570@debbugs.gnu.org * gnu/packages/databases.scm (apache-arrow): New variable. --- gnu/packages/databases.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 29b6ca169..8de274ab2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2017 Kristofer Buffington ;;; Copyright © 2018 Amirouche Boubekki +;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,6 +59,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) @@ -92,6 +94,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -2717,3 +2720,74 @@ Replay oplog entries between MongoDB servers Monitor read/write activity on a mongo server @end table") (license license:asl2.0))) + +(define-public apache-arrow + (package + (name "apache-arrow") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/arrow") + (commit (string-append "apache-arrow-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x7sdd8lbs3nfqjql1pcgbkjc19bls56zmgjayshkmablvlc4dy3")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'configure 'enter-source-directory + (lambda _ (chdir "cpp") #t)) + (add-after 'unpack 'set-env + (lambda _ + (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) + (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) + (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) + (setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc")) + (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")) + #t))) + #:configure-flags + (list "-DCMAKE_BUILD_TYPE=Release" + "-DARROW_PYTHON=ON" + + ;; Install to PREFIX/lib (the default is + ;; PREFIX/lib64). + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") + "/lib") + + ;; XXX These Guix package offer static + ;; libraries that are not position independent, + ;; and ld fails to link them into the arrow .so + "-DARROW_WITH_SNAPPY=OFF" + "-DARROW_WITH_ZLIB=OFF" + "-DARROW_WITH_ZSTD=OFF" + "-DARROW_WITH_LZ4=OFF" + + ;; Building the tests forces on all the + ;; optional features and the use of static + ;; libraries. + "-DARROW_BUILD_TESTS=OFF" + "-DARROW_BUILD_STATIC=OFF"))) + (inputs + `(("boost" ,boost) + ("rapidjson" ,rapidjson) + ("brotli" ,google-brotli) + ("flatbuffers" ,flatbuffers) + ;; Arrow is not yet compatible with jemalloc >= 5: + ;; https://issues.apache.org/jira/browse/ARROW-1141 + ("jemalloc" ,jemalloc-4.5.0) + ("python-3" ,python) + ("python-numpy" ,python-numpy))) + (home-page "https://arrow.apache.org/") + (synopsis "Columnar in-memory analytics") + (description "Apache Arrow is a columnar in-memory analytics layer +designed to accelerate big data. It houses a set of canonical in-memory +representations of flat and hierarchical data along with multiple +language-bindings for structure manipulation. It also provides IPC and common +algorithm implementations.") + (license license:asl2.0))) -- 2.16.1