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.scm69
1 files changed, 49 insertions, 20 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4a7aaf7519..a7c406dc25 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -923,7 +923,23 @@ organized in a hash table or B+ tree.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))))
+                "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))))
     (build-system gnu-build-system)
 
     ;; Running tests in parallel leads to test failures and crashes in
@@ -1457,15 +1473,15 @@ columns, primary keys, unique constraints and relationships.")
 (define-public perl-dbd-mysql
   (package
     (name "perl-dbd-mysql")
-    (version "4.047")
+    (version "4.048")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://cpan/authors/id/C/CA/CAPTTOFU/"
+       (uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/"
                            "DBD-mysql-" version ".tar.gz"))
        (sha256
         (base32
-         "0idizgr0hr7sj92fbdlb3gv6cva15jkpaq28wrdw4j4p7awx2mls"))))
+         "1zqmch6c9gq06z90mkmk1skajk2kaggriw19ym5w04l7wv5gydqp"))))
     (build-system perl-build-system)
     (arguments
      `(#:phases
@@ -1767,19 +1783,32 @@ trees (LSM), for sustained throughput under random insert workloads.")
     ;; configure.ac: WiredTiger requires a 64-bit build.
     (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))))
 
+(define-public wiredtiger-3
+  (package
+    (inherit wiredtiger)
+    (name "wiredtiger")
+    (version "3.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://source.wiredtiger.com/releases/wiredtiger-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "014awypv579ascg4jbx4pndj2wld337m79yyzrzyr7hxrff139jx"))))))
+
 (define-public guile-wiredtiger
   (package
     (name "guile-wiredtiger")
-    (version "0.6.3")
+    (version "0.7.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://framagit.org/a-guile-mind/guile-wiredtiger.git")
-                    (commit "070ed68139d99c279f058a6c293f00292d35dbd7")))
+                    (commit "340ad4bc2ff4dcc6216a2f5c6f9172ca320ac66b")))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "14rna97wsylajzxfif95wnblq85csgcfc666gh5dl0ssgd7x8llh"))))
+                "15j36bvxxzil7qpwlmh1rffqpva3ynvrcpqhhqbj2c9208ayz595"))))
     (build-system gnu-build-system)
     (arguments
      '(#:parallel-tests? #f  ;; tests can't be run in parallel, yet.
@@ -1787,21 +1816,19 @@ trees (LSM), for sustained throughput under random insert workloads.")
        (list (string-append "--with-libwiredtiger-prefix="
                             (assoc-ref %build-inputs "wiredtiger")))
        #:make-flags '("GUILE_AUTO_COMPILE=0")))
-    ;; TODO: Remove microkanren.scm when we have a separate package
-    ;; for it.
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("wiredtiger" ,wiredtiger)
+     `(("wiredtiger" ,wiredtiger-3)
        ("guile" ,guile-2.2)))
     (propagated-inputs
-     `(("guile-lib" ,guile-lib)))                 ;for (htmlprag)
+     `(("guile-bytestructures" ,guile-bytestructures)))
     (synopsis "WiredTiger bindings for GNU Guile")
     (description
      "This package provides Guile bindings to the WiredTiger ``NoSQL''
-database.  Various higher level database abstractions.")
+database.")
     (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
     (license license:gpl3+)))
 
@@ -2416,13 +2443,13 @@ SQLAlchemy Database Toolkit for Python.")
 (define-public python-pickleshare
   (package
     (name "python-pickleshare")
-    (version "0.7.4")
+    (version "0.7.5")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pickleshare" version))
        (sha256
-        (base32 "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4"))))
+        (base32 "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -2669,12 +2696,14 @@ parsing code in hiredis.  It primarily speeds up parsing of multi bulk replies."
      `(#:tests? #f))
     (home-page "https://github.com/jamesls/fakeredis")
     (synopsis "Fake implementation of redis API for testing purposes")
-    (description "Fakeredis is a pure python implementation of the redis-py
-python client that simulates talking to a redis server.  This was created for a
-single purpose: to write unittests.  Setting up redis is not hard, but many time
- you want to write unittests that do not talk to an external server (such as
-redis).  This module now allows tests to simply use this module as a reasonable
-substitute for redis.")
+    (description
+     "Fakeredis is a pure-Python implementation of the redis-py Python client
+that simulates talking to a redis server.  It was created for a single purpose:
+to write unit tests.
+
+Setting up redis is not hard, but one often wants to write unit tests that don't
+talk to an external server such as redis.  This module can be used as a
+reasonable substitute.")
     (license license:bsd-3)))
 
 (define-public python2-fakeredis