unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: 30570@debbugs.gnu.org
Subject: [bug#30570] [PATCH 14/16] gnu: Add apache-arrow.
Date: Wed, 21 Feb 2018 14:35:18 -0500	[thread overview]
Message-ID: <ed5fd15d21413ab93483341c3b8bc2551a791baa.1519241713.git.leo@famulari.name> (raw)
In-Reply-To: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name>
In-Reply-To: <7597f2a5e819b04be0bd24566b4fcd7950abb5c1.1519241713.git.leo@famulari.name>

* 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 <rekado@elephly.net>
 ;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
 ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
+;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;;
 ;;; 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

  parent reply	other threads:[~2018-02-21 19:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-21 19:32 [bug#30570] Patches submitted on behalf of Nextjournal Leo Famulari
2018-02-21 19:35 ` [bug#30570] [PATCH 01/16] gnu: Add flatbuffers Leo Famulari
2018-02-21 19:35   ` [bug#30570] [PATCH 02/16] gnu: Add python-plotly Leo Famulari
2018-03-03 21:38     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 03/16] gnu: Add r-maps Leo Famulari
2018-03-03 21:39     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 04/16] gnu: Add r-mapproj Leo Famulari
2018-03-03 21:43     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 05/16] gnu: Add Rgooglemaps Leo Famulari
2018-03-03 21:42     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 06/16] gnu: Add r-geosphere Leo Famulari
2018-03-03 21:43     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 07/16] gnu: Add r-subplex Leo Famulari
2018-03-03 21:40     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 08/16] gnu: Add r-desolve Leo Famulari
2018-03-03 21:41     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 09/16] gnu: Add Diversitree Leo Famulari
2018-03-03 21:42     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 10/16] gnu: Add r-jpeg Leo Famulari
2018-03-03 21:39     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 11/16] gnu: Add r-ggmap Leo Famulari
2018-03-03 21:42     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 12/16] gnu: Add r-feather Leo Famulari
2018-02-21 19:35   ` [bug#30570] [PATCH 13/16] gnu: Add google-brotli Leo Famulari
2018-03-03 21:47     ` Ludovic Courtès
2018-02-21 19:35   ` Leo Famulari [this message]
2018-03-03 21:48     ` [bug#30570] [PATCH 14/16] gnu: Add apache-arrow Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 15/16] gnu: Add python-pyarrow Leo Famulari
2018-03-03 21:48     ` Ludovic Courtès
2018-02-21 19:35   ` [bug#30570] [PATCH 16/16] gnu: Add python-feather-format Leo Famulari
2018-03-03 21:50     ` Ludovic Courtès
2018-03-15 15:01       ` bug#30570: " Leo Famulari
2018-03-03 21:38   ` [bug#30570] [PATCH 01/16] gnu: Add flatbuffers Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed5fd15d21413ab93483341c3b8bc2551a791baa.1519241713.git.leo@famulari.name \
    --to=leo@famulari.name \
    --cc=30570@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).