summary refs log tree commit diff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm296
1 files changed, 13 insertions, 283 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index b995de2a53..bff2ee0aba 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
@@ -64,6 +64,7 @@
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages dbm)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -85,11 +86,12 @@
   #:use-module (gnu packages popt)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
-  #:use-module (gnu packages statistics)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages textutils)
@@ -107,7 +109,6 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system ruby)
   #:use-module (guix build-system cmake)
-  #:use-module (guix build-system r)
   #:use-module (guix build-system scons)
   #:use-module ((guix build utils) #:hide (which))
   #:use-module (guix utils)
@@ -161,28 +162,6 @@
 either single machines or networked clusters.")
     (license license:gpl3+)))
 
-(define-public gdbm
-  (package
-    (name "gdbm")
-    (version "1.18")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/gdbm/gdbm-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1kimnv12bzjjhaqk4c8w2j6chdj9c6bg21lchaf7abcyfss2r0mq"))))
-    (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
-    (build-system gnu-build-system)
-    (home-page "http://www.gnu.org.ua/software/gdbm")
-    (synopsis
-     "Hash library of database functions compatible with traditional dbm")
-    (description
-     "GDBM is a library for manipulating hashed databases.  It is used to
-store key/value pairs in a file in a manner similar to the Unix dbm library
-and provides interfaces to the traditional file format.")
-    (license license:gpl3+)))
-
 (define-public go-gopkg.in-mgo.v2
   (package
     (name "go-gopkg.in-mgo.v2")
@@ -229,109 +208,6 @@ standard Go idioms.")
     (home-page "http://labix.org/mgo")
     (license license:bsd-2)))
 
-(define-public bdb
-  (package
-    (name "bdb")
-    (version "6.2.32")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://download.oracle.com/berkeley-db/db-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9"))))
-    (build-system gnu-build-system)
-    (outputs '("out"                             ; programs, libraries, headers
-               "doc"))                           ; 94 MiB of HTML docs
-    (arguments
-     '(#:tests? #f                            ; no check target available
-       #:disallowed-references ("doc")
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               ;; '--docdir' is not honored, so we need to patch.
-               (substitute* "dist/Makefile.in"
-                 (("docdir[[:blank:]]*=.*")
-                  (string-append "docdir = " doc "/share/doc/bdb")))
-
-               (invoke "./dist/configure"
-                       (string-append "--prefix=" out)
-                       (string-append "CONFIG_SHELL=" (which "bash"))
-                       (string-append "SHELL=" (which "bash"))
-
-                       ;; Remove 7 MiB of .a files.
-                       "--disable-static"
-
-                       ;; The compatibility mode is needed by some packages,
-                       ;; notably iproute2.
-                       "--enable-compat185"
-
-                       ;; The following flag is needed so that the inclusion
-                       ;; of db_cxx.h into C++ files works; it leads to
-                       ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
-                       "--enable-cxx")))))))
-    (synopsis "Berkeley database")
-    (description
-     "Berkeley DB is an embeddable database allowing developers the choice of
-SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
-    ;; Starting with version 6, BDB is distributed under AGPL3. Many individual
-    ;; files are covered by the 3-clause BSD license.
-    (license (list license:agpl3+ license:bsd-3))
-    (home-page
-     "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
-
-(define-public bdb-5.3
-  (package (inherit bdb)
-    (name "bdb")
-    (version "5.3.28")
-    (license (license:non-copyleft "file://LICENSE"
-                                   "See LICENSE in the distribution."))
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://download.oracle.com/berkeley-db/db-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))
-    (arguments
-     `(#:tests? #f                            ; no check target available
-       #:disallowed-references ("doc")
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               ;; '--docdir' is not honored, so we need to patch.
-               (substitute* "dist/Makefile.in"
-                 (("docdir[[:blank:]]*=.*")
-                  (string-append "docdir = " doc "/share/doc/bdb")))
-
-               (invoke "./dist/configure"
-                       (string-append "--prefix=" out)
-                       (string-append "CONFIG_SHELL=" (which "bash"))
-                       (string-append "SHELL=" (which "bash"))
-
-                       ;; Bdb doesn't recognize aarch64 as an architecture.
-                       ,@(if (string=? "aarch64-linux" (%current-system))
-                             '("--build=aarch64-unknown-linux-gnu")
-                             '())
-
-                       ;; Remove 7 MiB of .a files.
-                       "--disable-static"
-
-                       ;; The compatibility mode is needed by some packages,
-                       ;; notably iproute2.
-                       "--enable-compat185"
-
-                       ;; The following flag is needed so that the inclusion
-                       ;; of db_cxx.h into C++ files works; it leads to
-                       ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
-                       "--enable-cxx")))))))))
-
 (define-public es-dump-restore
   (package
     (name "es-dump-restore")
@@ -919,66 +795,31 @@ organized in a hash table or B+ tree.")
 (define-public recutils
   (package
     (name "recutils")
-    (version "1.7")
+    (version "1.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/recutils/recutils-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Adjust the bundled gnulib to work with glibc 2.28.  See e.g.
-                  ;; "m4-gnulib-libio.patch".  This is a phase rather than patch
-                  ;; or snippet to work around <https://bugs.gnu.org/32347>.
-                  (substitute* (find-files "lib" "\\.c$")
-                    (("#if defined _IO_ftrylockfile")
-                     "#if defined _IO_EOF_SEEN"))
-                  (substitute* "lib/stdio-impl.h"
-                    (("^/\\* BSD stdio derived implementations")
-                     (string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
-                                    "# define _IO_IN_BACKUP 0x100\n"
-                                    "#endif\n\n"
-                                    "/* BSD stdio derived implementations")))
-                  #t))))
+                "14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz"))))
     (build-system gnu-build-system)
 
-    ;; Running tests in parallel leads to test failures and crashes in
-    ;; torture/utils.
-    (arguments '(#:parallel-tests? #f
-                 #:configure-flags
+    (arguments '(#:configure-flags
                  (list (string-append "--with-bash-headers="
                                       (assoc-ref %build-inputs "bash:include")
-                                      "/include/bash"))
-
-                 #:phases (modify-phases %standard-phases
-                            (add-before 'build 'set-bash4.4-header-location
-                              (lambda _
-                                (substitute* "bash/Makefile.in"
-                                  ;; Adjust the header search path for Bash
-                                  ;; 4.4 in accordance with 'bash.pc'.
-                                  (("AM_CPPFLAGS = (.*)$" _ rest)
-                                   (string-append "AM_CPPFLAGS = "
-                                                  "-I$(BASH_HEADERS)/include "
-                                                  rest))
-
-                                  ;; Install to PREFIX/lib/bash to match Bash
-                                  ;; 4.4's search path.
-                                  (("^libdir = .*$")
-                                   "libdir = @libdir@/bash\n"))
-                                #t)))))
+                                      "/include/bash"))))
 
     (native-inputs `(("emacs" ,emacs-minimal)
                      ("bc" ,bc)
                      ("bash:include" ,bash "include")
-                     ("libuuid" ,util-linux)))
+                     ("check" ,check)
+                     ("libuuid" ,util-linux)
+                     ("pkg-config" ,pkg-config)))
 
     ;; TODO: Add more optional inputs.
     (inputs `(("curl" ,curl)
-              ("libgcrypt" ,libgcrypt)
-              ("check" ,check)))
+              ("libgcrypt" ,libgcrypt)))
     (synopsis "Manipulate plain text files as databases")
     (description
      "GNU Recutils is a set of tools and libraries for creating and
@@ -1183,87 +1024,6 @@ browse and edit the contents, add and delete entries, all while tracking your
 changes.")
       (license license:gpl3+)))) ; no headers, see README.md
 
-(define-public sqlite
-  (package
-   (name "sqlite")
-   (replacement sqlite-3.26.0)
-   (version "3.24.0")
-   (source (origin
-            (method url-fetch)
-            (uri (let ((numeric-version
-                        (match (string-split version #\.)
-                          ((first-digit other-digits ...)
-                           (string-append first-digit
-                                          (string-pad-right
-                                           (string-concatenate
-                                            (map (cut string-pad <> 2 #\0)
-                                                 other-digits))
-                                           6 #\0))))))
-                   (string-append "https://sqlite.org/2018/sqlite-autoconf-"
-                                  numeric-version ".tar.gz")))
-            (sha256
-             (base32
-              "0jmprv2vpggzhy7ma4ynmv1jzn3pfiwzkld0kkg6hvgvqs44xlfr"))))
-   (build-system gnu-build-system)
-   (inputs `(("readline" ,readline)))
-   (arguments
-    `(#:configure-flags
-      ;; Add -DSQLITE_SECURE_DELETE, -DSQLITE_ENABLE_UNLOCK_NOTIFY and
-      ;; -DSQLITE_ENABLE_DBSTAT_VTAB to CFLAGS.  GNU Icecat will refuse
-      ;; to use the system SQLite unless these options are enabled.
-      (list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
-                           "-DSQLITE_ENABLE_UNLOCK_NOTIFY "
-                           "-DSQLITE_ENABLE_DBSTAT_VTAB"))))
-   (home-page "https://www.sqlite.org/")
-   (synopsis "The SQLite database management system")
-   (description
-    "SQLite is a software library that implements a self-contained, serverless,
-zero-configuration, transactional SQL database engine.  SQLite is the most
-widely deployed SQL database engine in the world.  The source code for SQLite
-is in the public domain.")
-   (license license:public-domain)))
-
-(define-public sqlite-3.26.0
-  (package (inherit sqlite)
-    (version "3.26.0")
-    (source (origin
-              (method url-fetch)
-              (uri (let ((numeric-version
-                          (match (string-split version #\.)
-                            ((first-digit other-digits ...)
-                             (string-append first-digit
-                                            (string-pad-right
-                                             (string-concatenate
-                                              (map (cut string-pad <> 2 #\0)
-                                                   other-digits))
-                                             6 #\0))))))
-                     (string-append "https://sqlite.org/2018/sqlite-autoconf-"
-                                    numeric-version ".tar.gz")))
-              (sha256
-               (base32
-                "0pdzszb4sp73hl36siiv3p300jvfvbcdxi2rrmkwgs6inwznmajx"))))))
-
-;; This is used by Tracker.
-(define-public sqlite-with-fts5
-  (package/inherit sqlite
-    (name "sqlite-with-fts5")
-    (arguments
-     (substitute-keyword-arguments (package-arguments sqlite)
-       ((#:configure-flags flags)
-        `(cons "--enable-fts5" ,flags))))))
-
-;; This is used by Qt.
-(define-public sqlite-with-column-metadata
-  (package/inherit sqlite
-    (name "sqlite-with-column-metadata")
-    (arguments
-     (substitute-keyword-arguments (package-arguments sqlite)
-       ((#:configure-flags flags)
-        `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
-                              "-DSQLITE_ENABLE_UNLOCK_NOTIFY "
-                              "-DSQLITE_ENABLE_DBSTAT_VTAB "
-                              "-DSQLITE_ENABLE_COLUMN_METADATA")))))))
-
 (define-public tdb
   (package
     (name "tdb")
@@ -2273,35 +2033,6 @@ and web services platform functionality.")
     (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))
     (license license:gpl2)))
 
-(define-public r-rmysql
-  (package
-    (name "r-rmysql")
-    (version "0.10.15")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (cran-uri "RMySQL" version))
-       (sha256
-        (base32
-         "0bmc7w5fnkjaf333sgc0hskiy332m9gmfaxg0yzkjxscpizdw43n"))))
-    (properties `((upstream-name . "RMySQL")))
-    (build-system r-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("mariadb" ,mariadb)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("r-dbi" ,r-dbi)))
-    (home-page "https://github.com/r-dbi/RMySQL")
-    (synopsis "Database interface and MySQL driver for R")
-    (description
-     "This package provides a DBI interface to MySQL / MariaDB.  The RMySQL
-package contains an old implementation based on legacy code from S-PLUS which
-is being phased out.  A modern MySQL client based on Rcpp is available from
-the RMariaDB package.")
-    (license license:gpl2)))
-
 (define-public python-ccm
   (package
     (name "python-ccm")
@@ -2362,8 +2093,7 @@ Database API 2.0T.")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "https://pypi.python.org/packages/source/S/"
-                          "SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
+      (uri (pypi-uri "SQLAlchemy" version))
       (sha256
        (base32
         "094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))