[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
14/16: gnu: Add apache-arrow.
From: |
Leo Famulari |
Subject: |
14/16: gnu: Add apache-arrow. |
Date: |
Thu, 15 Mar 2018 11:01:40 -0400 (EDT) |
lfam pushed a commit to branch master
in repository guix.
commit dae7661a0da9b5a081fb2097cb5e431ad0b8443c
Author: Leo Famulari <address@hidden>
Date: Wed Feb 21 12:19:33 2018 -0500
gnu: Add apache-arrow.
* 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 87f6540..f2e5622 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <address@hidden>
;;; Copyright © 2017 Kristofer Buffington <address@hidden>
;;; Copyright © 2018 Amirouche Boubekki <address@hidden>
+;;; Copyright © 2018 Joshua Sierles, Nextjournal <address@hidden>
;;;
;;; 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)
@@ -2738,3 +2741,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)))
- 08/16: gnu: Add r-desolve., (continued)
- 08/16: gnu: Add r-desolve., Leo Famulari, 2018/03/15
- 05/16: gnu: Add Rgooglemaps., Leo Famulari, 2018/03/15
- 01/16: gnu: Add flatbuffers., Leo Famulari, 2018/03/15
- 02/16: gnu: Add python-plotly., Leo Famulari, 2018/03/15
- 04/16: gnu: Add r-mapproj., Leo Famulari, 2018/03/15
- 07/16: gnu: Add r-subplex., Leo Famulari, 2018/03/15
- 16/16: gnu: Add python-feather-format., Leo Famulari, 2018/03/15
- 06/16: gnu: Add r-geosphere., Leo Famulari, 2018/03/15
- 03/16: gnu: Add r-maps., Leo Famulari, 2018/03/15
- 15/16: gnu: Add python-pyarrow., Leo Famulari, 2018/03/15
- 14/16: gnu: Add apache-arrow.,
Leo Famulari <=
- 11/16: gnu: Add r-ggmap., Leo Famulari, 2018/03/15
- 12/16: gnu: Add r-feather., Leo Famulari, 2018/03/15
- 09/16: gnu: Add Diversitree., Leo Famulari, 2018/03/15
- 10/16: gnu: Add r-jpeg., Leo Famulari, 2018/03/15
- 13/16: gnu: Add google-brotli., Leo Famulari, 2018/03/15