gnu: Add apache-arrow-for-ceph.
* gnu/packages/databases.scm (apache-arrow-for-ceph): New variable.
This commit is contained in:
		
							parent
							
								
									0a45d4bad4
								
							
						
					
					
						commit
						ad141242f8
					
				
					 1 changed files with 132 additions and 0 deletions
				
			
		| 
						 | 
					@ -4310,6 +4310,138 @@ language-bindings for structure manipulation.  It also provides IPC and common
 | 
				
			||||||
algorithm implementations.")
 | 
					algorithm implementations.")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public apache-arrow-for-ceph
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "apache-arrow")
 | 
				
			||||||
 | 
					    (version "6.0.1")
 | 
				
			||||||
 | 
					    (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
 | 
				
			||||||
 | 
					         "0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'enter-source-directory
 | 
				
			||||||
 | 
					           (lambda _ (chdir "cpp")))
 | 
				
			||||||
 | 
					         (add-after 'unpack 'set-env
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (substitute* "cpp/src/parquet/parquet.pc.in"
 | 
				
			||||||
 | 
					               (("includedir=\\$\\{prefix\\}/")
 | 
				
			||||||
 | 
					                "includedir="))
 | 
				
			||||||
 | 
					             (substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake"
 | 
				
			||||||
 | 
					               (("set\\(xsimd_SOURCE.*") ""))
 | 
				
			||||||
 | 
					             (setenv "BOOST_ROOT" (assoc-ref inputs "boost"))
 | 
				
			||||||
 | 
					             (setenv "BROTLI_HOME" (assoc-ref inputs "brotli"))
 | 
				
			||||||
 | 
					             (setenv "FLATBUFFERS_HOME" (assoc-ref inputs "flatbuffers"))
 | 
				
			||||||
 | 
					             (setenv "RAPIDJSON_HOME" (assoc-ref inputs "rapidjson")))))
 | 
				
			||||||
 | 
					       #:build-type "Release"
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       (list "-DARROW_PYTHON=ON"
 | 
				
			||||||
 | 
					             "-DARROW_GLOG=ON"
 | 
				
			||||||
 | 
					             ;; Parquet options
 | 
				
			||||||
 | 
					             "-DARROW_PARQUET=ON"
 | 
				
			||||||
 | 
					             "-DPARQUET_BUILD_EXECUTABLES=ON"
 | 
				
			||||||
 | 
					             ;; The maintainers disallow using system versions of
 | 
				
			||||||
 | 
					             ;; jemalloc:
 | 
				
			||||||
 | 
					             ;; https://issues.apache.org/jira/browse/ARROW-3507. This
 | 
				
			||||||
 | 
					             ;; is unfortunate because jemalloc increases performance:
 | 
				
			||||||
 | 
					             ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
 | 
				
			||||||
 | 
					             "-DARROW_JEMALLOC=OFF"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
 | 
				
			||||||
 | 
					             ;; option that instructs the build system how to resolve
 | 
				
			||||||
 | 
					             ;; each dependency. SYSTEM = Finding the dependency in
 | 
				
			||||||
 | 
					             ;; system paths using CMake's built-in find_package
 | 
				
			||||||
 | 
					             ;; function, or using pkg-config for packages that do not
 | 
				
			||||||
 | 
					             ;; have this feature
 | 
				
			||||||
 | 
					             "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
 | 
				
			||||||
 | 
					             "-Dxsimd_SOURCE=SYSTEM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             "-DARROW_RUNTIME_SIMD_LEVEL=NONE"
 | 
				
			||||||
 | 
					             "-DARROW_SIMD_LEVEL=NONE"
 | 
				
			||||||
 | 
					             "-DARROW_PACKAGE_KIND=Guix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             ;; Split output into its component packages.
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_PREFIX="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "lib"))
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_RPATH="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "lib")
 | 
				
			||||||
 | 
					                            "/lib")
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_BINDIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "out")
 | 
				
			||||||
 | 
					                            "/bin")
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "include")
 | 
				
			||||||
 | 
					                            "/share/include")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             "-DARROW_WITH_SNAPPY=ON"
 | 
				
			||||||
 | 
					             "-DARROW_WITH_ZLIB=ON"
 | 
				
			||||||
 | 
					             "-DARROW_WITH_ZSTD=ON"
 | 
				
			||||||
 | 
					             "-DARROW_WITH_LZ4=ON"
 | 
				
			||||||
 | 
					             "-DARROW_COMPUTE=ON"
 | 
				
			||||||
 | 
					             "-DARROW_CSV=ON"
 | 
				
			||||||
 | 
					             "-DARROW_DATASET=ON"
 | 
				
			||||||
 | 
					             "-DARROW_FILESYSTEM=ON"
 | 
				
			||||||
 | 
					             "-DARROW_HDFS=ON"
 | 
				
			||||||
 | 
					             "-DARROW_JSON=ON"
 | 
				
			||||||
 | 
					             ;; Arrow Python C++ integration library (required for
 | 
				
			||||||
 | 
					             ;; building pyarrow). This library must be built against
 | 
				
			||||||
 | 
					             ;; the same Python version for which you are building
 | 
				
			||||||
 | 
					             ;; pyarrow. NumPy must also be installed. Enabling this
 | 
				
			||||||
 | 
					             ;; option also enables ARROW_COMPUTE, ARROW_CSV,
 | 
				
			||||||
 | 
					             ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
 | 
				
			||||||
 | 
					             ;; ARROW_JSON.
 | 
				
			||||||
 | 
					             "-DARROW_PYTHON=ON"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             ;; Building the tests forces on all the
 | 
				
			||||||
 | 
					             ;; optional features and the use of static
 | 
				
			||||||
 | 
					             ;; libraries.
 | 
				
			||||||
 | 
					             "-DARROW_BUILD_TESTS=OFF"
 | 
				
			||||||
 | 
					             "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
 | 
				
			||||||
 | 
					             ;;"-DBENCHMARK_ENABLE_TESTING=OFF"
 | 
				
			||||||
 | 
					             "-DARROW_BUILD_STATIC=OFF")))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     (list boost
 | 
				
			||||||
 | 
					           brotli
 | 
				
			||||||
 | 
					           bzip2
 | 
				
			||||||
 | 
					           double-conversion
 | 
				
			||||||
 | 
					           gflags
 | 
				
			||||||
 | 
					           glog
 | 
				
			||||||
 | 
					           grpc
 | 
				
			||||||
 | 
					           protobuf
 | 
				
			||||||
 | 
					           python
 | 
				
			||||||
 | 
					           python-numpy
 | 
				
			||||||
 | 
					           rapidjson
 | 
				
			||||||
 | 
					           re2
 | 
				
			||||||
 | 
					           snappy
 | 
				
			||||||
 | 
					           xsimd))
 | 
				
			||||||
 | 
					    ;; These are all listed under Requires.private in arrow.pc
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     (list (list apache-thrift "lib")
 | 
				
			||||||
 | 
					           lz4
 | 
				
			||||||
 | 
					           utf8proc
 | 
				
			||||||
 | 
					           zlib
 | 
				
			||||||
 | 
					           (list zstd "lib")))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     (list pkg-config))
 | 
				
			||||||
 | 
					    (outputs '("out" "lib" "include"))
 | 
				
			||||||
 | 
					    (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)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public apache-arrow-0.16
 | 
					(define-public apache-arrow-0.16
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "apache-arrow")
 | 
					    (name "apache-arrow")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue