diff options
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 206 |
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 |