summaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm206
1 files changed, 125 insertions, 81 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f563ae8b5d..bab4b4d128 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -88,7 +88,9 @@
#:use-module (gnu packages language)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages man)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
@@ -98,6 +100,7 @@
#:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
@@ -105,6 +108,8 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages regex)
+ #:use-module (gnu packages rpc)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
@@ -679,7 +684,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.44")
+ (version "10.1.45")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB"
@@ -687,7 +692,7 @@ Language.")
version ".tar.gz"))
(sha256
(base32
- "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1"))
+ "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
@@ -933,7 +938,7 @@ as a drop-in replacement of MySQL.")
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
- (version "3.1.6")
+ (version "3.1.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -942,13 +947,12 @@ as a drop-in replacement of MySQL.")
version "-src.tar.gz"))
(sha256
(base32
- "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj"))))
+ "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523"))))
(inputs
`(("openssl" ,openssl)))
(build-system cmake-build-system)
(arguments
- ;; No tests.
- '(#:tests? #f))
+ '(#:tests? #f)) ; no tests
(home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
(synopsis "Client library to connect to MySQL or MariaDB")
(description "The MariaDB Connector/C is used to connect applications
@@ -959,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.")
(define-public postgresql
(package
(name "postgresql")
- (version "10.12")
+ (version "10.13")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq"))
+ "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@@ -1143,7 +1147,7 @@ including field and record folding.")))
(define-public rocksdb
(package
(name "rocksdb")
- (version "6.8.1")
+ (version "6.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1152,7 +1156,7 @@ including field and record folding.")))
(file-name (git-file-name name version))
(sha256
(base32
- "0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1"))
+ "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1459,7 +1463,7 @@ extremely small.")
(define-public perl-dbi
(package
(name "perl-dbi")
- (version "1.642")
+ (version "1.643")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1467,7 +1471,7 @@ extremely small.")
version ".tar.gz"))
(sha256
(base32
- "0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z"))))
+ "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
(build-system perl-build-system)
(synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.")
@@ -1703,7 +1707,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
- (version "1.62")
+ (version "1.64")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.")
version ".tar.gz"))
(sha256
(base32
- "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
+ "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
(build-system perl-build-system)
(inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
@@ -1749,14 +1753,14 @@ libmysqlclient. It will fill an aray with long options, ready to be parsed by
(define-public perl-sql-abstract
(package
(name "perl-sql-abstract")
- (version "1.86")
+ (version "1.87")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"SQL-Abstract-" version ".tar.gz"))
(sha256
- (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
+ (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-install" ,perl-module-install)
@@ -2049,17 +2053,14 @@ database.")
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.852")
+ (version "1.853")
(source
(origin
(method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
- version
- ".tar.gz"))
+ (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
+ version ".tar.gz"))
(sha256
- (base32
- "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
+ (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
(build-system perl-build-system)
(inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
@@ -2081,16 +2082,16 @@ database.")
(define-public lmdb
(package
(name "lmdb")
- (version "0.9.24")
+ (version "0.9.25")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/LMDB/lmdb.git")
+ (url "https://git.openldap.org/openldap/openldap.git")
(commit (string-append "LMDB_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm"))))
+ (base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -2102,7 +2103,7 @@ database.")
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
- (home-page "https://symas.com/products/lightning-memory-mapped-database")
+ (home-page "https://symas.com/lmdb/")
(synopsis "Lightning Memory-Mapped Database library")
(description
"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
@@ -2182,14 +2183,14 @@ on another machine, accessed via TCP/IP.")
(define-public python-peewee
(package
(name "python-peewee")
- (version "2.10.2")
+ (version "3.9.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "peewee" version))
(sha256
(base32
- "10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3"))))
+ "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Fails to import test data
@@ -2382,13 +2383,13 @@ etc., and an SQL engine for performing simple SQL queries.")
(define-public python-lmdb
(package
(name "python-lmdb")
- (version "0.95")
+ (version "0.98")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
- "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
+ "027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
@@ -2424,9 +2425,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
;; but not actually needed on platforms currently supported by Guix.
license:bsd-3))))
-(define-public python2-lmdb
- (package-with-python2 python-lmdb))
-
(define-public python-orator
(package
(name "python-orator")
@@ -3223,20 +3221,22 @@ Monitor read/write activity on a mongo server
@end table")
(license license:asl2.0)))
+;; There are many wrappers for this in other languages. When touching, please
+;; be sure to ensure all dependencies continue to build.
(define-public apache-arrow
(package
(name "apache-arrow")
- (version "0.10.0")
+ (version "0.17.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
- "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
+ (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
+ "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
@@ -3249,91 +3249,135 @@ Monitor read/write activity on a mongo server
(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)))
#:build-type "Release"
#:configure-flags
(list "-DARROW_PYTHON=ON"
-
- ;; Install to PREFIX/lib (the default is
- ;; PREFIX/lib64).
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out")
+ "-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"
+
+ ;; 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")
-
- ;; 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"
+ (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
`(("boost" ,boost)
- ("rapidjson" ,rapidjson)
("brotli" ,google-brotli)
- ("flatbuffers" ,flatbuffers)
- ("jemalloc" ,jemalloc)
+ ("double-conversion" ,double-conversion)
+ ("snappy" ,snappy)
+ ("gflags" ,gflags)
+ ("glog" ,glog)
+ ("apache-thrift" ,apache-thrift "lib")
+ ("protobuf" ,protobuf)
+ ("rapidjson" ,rapidjson)
+ ("zlib" ,zlib)
+ ("bzip2" ,bzip2)
+ ("lz4" ,lz4)
+ ("zstd" ,zstd "lib")
+ ("re2" ,re2)
+ ("grpc" ,grpc)
("python-3" ,python)
("python-numpy" ,python-numpy)))
+ (native-inputs
+ `(("pkg-config" ,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
+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
+language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public python-pyarrow
(package
+ (inherit apache-arrow)
(name "python-pyarrow")
- (version "0.10.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
- "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f ; XXX There are no tests in the "python" directory
+ '(#:tests? #f ; XXX There are no tests in the "python" directory
#:phases
(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python") #t))
- (add-after 'unpack 'set-env
+ (add-after 'unpack 'make-git-checkout-writable
(lambda _
- (setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow"))
+ (for-each make-file-writable (find-files "."))
#t)))))
(propagated-inputs
- `(("apache-arrow" ,apache-arrow)
+ `(("apache-arrow" ,apache-arrow "lib")
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(native-inputs
`(("cmake" ,cmake-minimal)
+ ("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
("python-setuptools-scm" ,python-setuptools-scm)))
+ (outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
- (description "This library provides a Pythonic API wrapper for the reference
-Arrow C++ implementation, along with tools for interoperability with pandas,
-NumPy, and other traditional Python scientific computing packages.")
+ (description
+ "This library provides a Pythonic API wrapper for the reference Arrow C++
+implementation, along with tools for interoperability with pandas, NumPy, and
+other traditional Python scientific computing packages.")
(license license:asl2.0)))
(define-public python2-pyarrow