gnu: Add apache-arrow.
* gnu/packages/databases.scm (apache-arrow): New variable.master
parent
2ed0ef2fb7
commit
dae7661a0d
|
@ -31,6 +31,7 @@
|
||||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
|
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
|
||||||
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||||
|
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -58,6 +59,7 @@
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
|
#:use-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages crypto)
|
#:use-module (gnu packages crypto)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
|
@ -92,6 +94,7 @@
|
||||||
#:use-module (gnu packages textutils)
|
#:use-module (gnu packages textutils)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
#:use-module (gnu packages valgrind)
|
#:use-module (gnu packages valgrind)
|
||||||
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
|
@ -2738,3 +2741,74 @@ Replay oplog entries between MongoDB servers
|
||||||
Monitor read/write activity on a mongo server
|
Monitor read/write activity on a mongo server
|
||||||
@end table")
|
@end table")
|
||||||
(license license:asl2.0)))
|
(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)))
|
||||||
|
|
Reference in New Issue