summary refs log tree commit diff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-12-03 19:15:17 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-12-03 19:15:17 +0100
commit99f63f011df2aab38e98d7ee4608a8c70bf74c4d (patch)
tree3f224028f30c60f2ed7b9846365ad926192fc7e9 /gnu/packages/databases.scm
parente9a8b603337802a77ff2d68f0d30dc0e67721e3a (diff)
parent4f03aa23e805bd653de774e1d74ed2f50826899b (diff)
downloadguix-99f63f011df2aab38e98d7ee4608a8c70bf74c4d.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm332
1 files changed, 192 insertions, 140 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 02bfbda6b0..3067cf5364 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -153,7 +153,7 @@
        (modify-phases %standard-phases
          (add-after 'unpack 'generate-configure
            (lambda _
-             (zero? (system* "sh" "autogen.sh")))))))
+             (invoke "sh" "autogen.sh"))))))
     ;; http://www.4store.org has been down for a while now.
     (home-page "https://github.com/4store/4store")
     (synopsis "Clustered RDF storage and query engine")
@@ -164,14 +164,14 @@ either single machines or networked clusters.")
 (define-public gdbm
   (package
     (name "gdbm")
-    (version "1.14.1")
+    (version "1.18")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/gdbm/gdbm-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0pxwz3jlwvglq2mrbxvrjgr8pa0aj73p3v9sxmdlj570zw0gzknd"))))
+                "1kimnv12bzjjhaqk4c8w2j6chdj9c6bg21lchaf7abcyfss2r0mq"))))
     (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
     (build-system gnu-build-system)
     (home-page "http://www.gnu.org.ua/software/gdbm")
@@ -207,14 +207,16 @@ and provides interfaces to the traditional file format.")
          (delete 'reset-gzip-timestamps)
          (add-before 'check 'start-mongodb
            (lambda* (#:key tests? #:allow-other-keys)
-             (or (not tests?)
-                 (with-directory-excursion "src/gopkg.in/mgo.v2"
-                   (invoke "make" "startdb")))))
+             (when tests?
+               (with-directory-excursion "src/gopkg.in/mgo.v2"
+                 (invoke "make" "startdb")))
+             #t))
          (add-after 'check 'stop'mongodb
            (lambda* (#:key tests? #:allow-other-keys)
-             (or (not tests?)
-                 (with-directory-excursion "src/gopkg.in/mgo.v2"
-                   (invoke "make" "stopdb"))))))))
+             (when tests?
+               (with-directory-excursion "src/gopkg.in/mgo.v2"
+                 (invoke "make" "stopdb")))
+             #t)))))
     (native-inputs
      `(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1)
        ("mongodb" ,mongodb)
@@ -503,37 +505,35 @@ applications.")
                #t))
            (replace 'build
              (lambda _
-               (zero? (apply system*
-                             `("scons"
+               (apply invoke `("scons"
                                ,@common-options
-                               "mongod" "mongo" "mongos")))))
+                               "mongod" "mongo" "mongos"))))
            (replace 'check
              (lambda* (#:key tests? inputs #:allow-other-keys)
                (setenv "TZDIR"
                        (string-append (assoc-ref inputs "tzdata")
                                       "/share/zoneinfo"))
-               (or (not tests?)
-                   ;; Note that with the tests, especially the unittests, the
-                   ;; build can take up to ~45GB of space, as many tests are
-                   ;; individual executable files, with some being hundreds of
-                   ;; megabytes in size.
-                   (begin
-                     (apply
-                       invoke `("scons" ,@common-options "dbtest" "unittests"))
-                     (substitute* "build/unittests.txt"
-                       ;; TODO: Don't run the async_stream_test, as it hangs
-                       (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
-                        "")
-                       ;; TODO: This test fails
-                       ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
-                       (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
-                        ""))
-                     (invoke "python" "buildscripts/resmoke.py"
-                             "--suites=dbtest,unittests"
-                             (format #f  "--jobs=~a" (parallel-job-count)))))))
+               (when tests?
+                 ;; Note that with the tests, especially the unittests, the
+                 ;; build can take up to ~45GB of space, as many tests are
+                 ;; individual executable files, with some being hundreds of
+                 ;; megabytes in size.
+                 (apply invoke `("scons" ,@common-options "dbtest" "unittests"))
+                 (substitute* "build/unittests.txt"
+                   ;; TODO: Don't run the async_stream_test, as it hangs
+                   (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
+                    "")
+                   ;; TODO: This test fails
+                   ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
+                   (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
+                    ""))
+                 (invoke "python" "buildscripts/resmoke.py"
+                         "--suites=dbtest,unittests"
+                         (format #f  "--jobs=~a" (parallel-job-count))))
+               #t))
            (replace 'install
-             (lambda _
-               (let ((bin  (string-append (assoc-ref %outputs "out") "/bin")))
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
                  (install-file "mongod" bin)
                  (install-file "mongos" bin)
                  (install-file "mongo" bin))
@@ -621,7 +621,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.35")
+    (version "10.1.37")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.org/f/"
@@ -629,14 +629,20 @@ Language.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0k9walaglwmwdwmkq48ir17g98n83vliyyg5wck22rjgxn2xk4cy"))
-              (patches (search-patches "mariadb-gcc-ice.patch"
-                                       "mariadb-client-test-32bit.patch"))
+                "0ijdmdn9mcciwv361zfmja6b1h6qpbdqgrnnq6kkdapplyq1dmcc"))
+              (patches (search-patches "mariadb-client-test-32bit.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
                   ;; Delete bundled snappy and xz.
                   (delete-file-recursively "storage/tokudb/PerconaFT/third_party")
+                  (substitute* "storage/tokudb/PerconaFT/CMakeLists.txt"
+                    ;; This file checks that the bundled sources are present and
+                    ;; declares build procedures for them.
+                    (("^include\\(TokuThirdParty\\)") ""))
+                  (substitute* "storage/tokudb/PerconaFT/ft/CMakeLists.txt"
+                    ;; Don't attempt to use the procedures we just removed.
+                    ((" build_lzma build_snappy") ""))
 
                   ;; Preserve CMakeLists.txt for these.
                   (for-each (lambda (file)
@@ -680,7 +686,7 @@ Language.")
          "-DINSTALL_SHAREDIR=share")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'unbundle
+         (add-after 'unpack 'fix-pcre-detection
            (lambda _
              ;; The bundled PCRE in MariaDB has a patch that was upstreamed
              ;; in version 8.34.  Unfortunately the upstream patch behaves
@@ -689,16 +695,6 @@ Language.")
              ;; XXX: Consider patching PCRE instead.
              (substitute* "cmake/pcre.cmake"
                ((" OR NOT PCRE_STACK_SIZE_OK") ""))
-
-             (substitute* "storage/tokudb/PerconaFT/ft/CMakeLists.txt"
-               ;; Remove dependency on these CMake targets.
-               ((" build_lzma build_snappy") ""))
-
-             (substitute* "storage/tokudb/PerconaFT/CMakeLists.txt"
-               ;; This file checks that the bundled sources are present and
-               ;; declares build procedures for them.  We don't need that.
-               (("^include\\(TokuThirdParty\\)") ""))
-
              #t))
          (add-after 'unpack 'adjust-tests
            (lambda _
@@ -708,6 +704,7 @@ Language.")
                       ;; See <https://jira.mariadb.org/browse/MDEV-7761>.
                       "main.join_cache"
                       "main.explain_non_select"
+                      "main.stat_tables_innodb"
                       "roles.acl_statistics"
 
                       ;; FIXME: This test fails on i686:
@@ -807,14 +804,14 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "10.5")
+    (version "10.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "04a07jkvc5s6zgh6jr78149kcjmsxclizsqabjw44ld4j5n633kc"))
+                "0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))
               (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -853,14 +850,14 @@ pictures, sounds, or video.")
   (package
     (inherit postgresql)
     (name "postgresql")
-    (version "9.6.9")
+    (version "9.6.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr"))))))
+                "0c55akrkzqd6p6a8hr0338wk246hl76r9j16p4zn3s51d7f0l99q"))))))
 
 (define-public python-pymysql
   (package
@@ -927,7 +924,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
@@ -977,15 +990,16 @@ types are supported, as is encryption.")
 (define-public rocksdb
   (package
     (name "rocksdb")
-    (version "5.12.4")
+    (version "5.15.10")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/facebook/rocksdb"
-                                  "/archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/facebook/rocksdb")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1jcwgsjhk4hdfr2wf549blkgb89vwcdb5i2ahhqs6zf3mm20i3bf"))
+                "0q26frbj9pykarcfa0yxgwncxlvsqhjkby0jrbfs1a8srja688r4"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1106,7 +1120,8 @@ data in a single database.  RocksDB is partially based on @code{LevelDB}.")
            (lambda _
              (substitute* "Makefile"
                (("^gitrev :=.*$")
-                (string-append "gitrev = \"v" ,version "\"")))))
+                (string-append "gitrev = \"v" ,version "\"")))
+             #t))
          ;; The install phase of the Makefile assumes $PREFIX/usr/local/bin.
          ;; This replacement does the same thing, except for using $PREFIX/bin
          ;; instead.
@@ -1115,14 +1130,13 @@ data in a single database.  RocksDB is partially based on @code{LevelDB}.")
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin")))
                (install-file "sparql-query" bin)
-               (system* "ln" "--symbolic"
-                        (string-append bin "/sparql-query")
-                        (string-append bin "/sparql-update")))))
+               (symlink (string-append bin "/sparql-query")
+                        (string-append bin "/sparql-update")))
+             #t))
          (replace 'check
            (lambda* (#:key make-flags #:allow-other-keys)
-             (and
-              (zero? (apply system* "make" `(,@make-flags "scan-test")))
-              (zero? (system "./scan-test"))))))))
+             (apply invoke "make" `(,@make-flags "scan-test"))
+             (invoke "./scan-test"))))))
     (home-page "https://github.com/tialaramex/sparql-query/")
     (synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
     (description "Sparql-query is a command-line tool for accessing SPARQL
@@ -1170,7 +1184,7 @@ changes.")
 (define-public sqlite
   (package
    (name "sqlite")
-   (version "3.23.0")
+   (version "3.24.0")
    (source (origin
             (method url-fetch)
             (uri (let ((numeric-version
@@ -1186,7 +1200,7 @@ changes.")
                                   numeric-version ".tar.gz")))
             (sha256
              (base32
-              "0jbf78g3cm5wq77k7sfg8fb6rz44hnp9hs7p5d66fwd000c1lwdp"))))
+              "0jmprv2vpggzhy7ma4ynmv1jzn3pfiwzkld0kkg6hvgvqs44xlfr"))))
    (build-system gnu-build-system)
    (inputs `(("readline" ,readline)))
    (arguments
@@ -1215,6 +1229,18 @@ is in the public domain.")
        ((#: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")
@@ -1235,8 +1261,8 @@ is in the public domain.")
              (let ((out (assoc-ref outputs "out")))
                ;; The 'configure' script is a wrapper for Waf and
                ;; doesn't recognize things like '--enable-fast-install'.
-               (zero? (system* "./configure"
-                               (string-append "--prefix=" out)))))))))
+               (invoke "./configure"
+                       (string-append "--prefix=" out))))))))
     (native-inputs
      `(;; TODO: Build the documentation.
        ;; ("docbook-xsl" ,docbook-xsl)
@@ -1461,18 +1487,32 @@ columns, primary keys, unique constraints and relationships.")
 (define-public perl-dbd-mysql
   (package
     (name "perl-dbd-mysql")
-    (version "4.046")
+    (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
-         "1xziv9w87cl3fbl1mqkdrx28mdqly3gs6gs1ynbmpl2rr4p6arb1"))))
+         "1zqmch6c9gq06z90mkmk1skajk2kaggriw19ym5w04l7wv5gydqp"))))
     (build-system perl-build-system)
-    ;; Tests require running MySQL server
-    (arguments `(#:tests? #f))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'skip-library-detection
+           ;; Avoid depencies on perl-devel-checklib, openssl, and zlib.  They
+           ;; are really only needed for the test suite; their absence does not
+           ;; affect the build or the end result.
+           (lambda _
+             (substitute* "Makefile.PL"
+               (("use Devel::CheckLib;" match)
+                (string-append "# " match))
+               (("assert_lib")
+                "print"))
+             #t)))
+       ;; Tests require running MySQL server.
+       #:tests? #f))
     (propagated-inputs
      `(("perl-dbi" ,perl-dbi)
        ("mysql" ,mysql)))
@@ -1757,19 +1797,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.
@@ -1777,21 +1830,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+)))
 
@@ -1930,14 +1981,14 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
 (define-public sqlcipher
   (package
     (name "sqlcipher")
-    (version "3.3.1")
+    (version "3.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/sqlcipher/" name
                            "/archive/v" version ".tar.gz"))
        (sha256
-        (base32 "1gv58dlbpzrmznly52yqbxgvii0ib88zr3aszla1bsypwjr6flff"))
+        (base32 "1nxarwbci8jx99f1d0y1ivxcv25s78l1p7q6qy28lkpkcx8pm2b9"))
        (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (inputs
@@ -1960,8 +2011,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
            (assoc-ref %standard-phases 'check))
          (replace 'check
            (lambda _
-             (zero?
-              (system* "./testfixture" "test/crypto.test")))))))
+             (invoke "./testfixture" "test/crypto.test"))))))
     (home-page "https://www.zetetic.net/sqlcipher/")
     (synopsis
      "Library providing transparent encryption of SQLite database files")
@@ -2038,13 +2088,14 @@ for ODBC.")
     (version "0.7.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/brianb/mdbtools/archive/"
-                           version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/brianb/mdbtools.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "05hbmxcq173kzb899gdi3bz2qcc1vi3n1qbbkwpsvrq7ggf11wyw"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+         "0gwcpp9y09xhs21g7my2fs8ncb8i6ahlyixcx8jd3q97jbzj441l"))))
     (build-system gnu-build-system)
     (inputs
      `(("glib" ,glib)))
@@ -2055,12 +2106,6 @@ for ODBC.")
        ("pkg-config" ,pkg-config)
        ("txt2man" ,txt2man)
        ("which" ,which)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autoreconf
-           (lambda _
-             (zero? (system* "autoreconf" "-vfi")))))))
     (home-page "http://mdbtools.sourceforge.net/")
     (synopsis "Read Microsoft Access databases")
     (description "MDB Tools is a set of tools and applications to read the
@@ -2290,7 +2335,7 @@ Database API 2.0T.")
 (define-public python-sqlalchemy
   (package
     (name "python-sqlalchemy")
-    (version "1.0.12")
+    (version "1.2.11")
     (source
      (origin
       (method url-fetch)
@@ -2298,7 +2343,7 @@ Database API 2.0T.")
                           "SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
       (sha256
        (base32
-        "1l8qclhd0s90w3pvwhi5mjxdwr5j7gw7cjka2fx6f2vqmq7f4yb6"))))
+        "094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-cython" ,python-cython) ;for c extensions
@@ -2308,7 +2353,7 @@ Database API 2.0T.")
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _ (zero? (system* "py.test")))))))
+           (lambda _ (invoke "py.test"))))))
     (home-page "http://www.sqlalchemy.org")
     (synopsis "Database abstraction library")
     (description
@@ -2375,14 +2420,14 @@ You might also want to install the following optional dependencies:
 (define-public python-alembic
   (package
     (name "python-alembic")
-    (version "0.9.6")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "alembic" version))
        (sha256
         (base32
-         "0cm73vabrqj92v7a0wwvldj8j7bc7dwv358kvkk7p87gx7mm2a04"))))
+         "0asqz9mwc4w8bsar1icv3ik9jslxrj3gv3yxgmhc6nc6r9qbkg04"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-mock" ,python-mock)
@@ -2406,13 +2451,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
@@ -2659,12 +2704,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
@@ -2698,13 +2745,13 @@ substitute for redis.")
 (define-public python-rq
   (package
     (name "python-rq")
-    (version "0.7.1")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "rq" version))
        (sha256
-        (base32 "0gaq5pnh0zy46r8jvygi0ifbvz3pq6i7xla78ijcgjw0x77qzsdh"))))
+        (base32 "16d8kni57xlnah2hawy4xgw21xrv3f64j5q5shyp3zxx4yd9iibs"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-click" ,python-click)
@@ -2759,7 +2806,7 @@ is designed to have a low barrier to entry.")
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _ (zero? (system* "py.test")))))))
+           (lambda _ (invoke "py.test"))))))
     (native-inputs
      `(("python-pytest" ,python-pytest)))
     (home-page "https://github.com/andialbrecht/sqlparse")
@@ -2826,41 +2873,46 @@ transforms idiomatic python function calls to well-formed SQL queries.")
            (delete 'install-source)
            (replace 'build
              (lambda _
-               (every (lambda (tool)
-                        (let ((command
-                               `("go" "build"
-                                 ;; This is where the tests expect to find the
-                                 ;; executables
-                                 "-o" ,(string-append
-                                        "src/github.com/mongodb/mongo-tools/bin/"
-                                        tool)
-                                 "-v"
-                                 "-tags=\"ssl sasl\""
-                                 "-ldflags"
-                                 "-extldflags=-Wl,-z,now,-z,relro"
-                                 ,(string-append
-                                   "src/github.com/mongodb/mongo-tools/"
-                                   tool "/main/" tool ".go"))))
-                          (simple-format #t "build: running ~A\n"
-                                         (string-join command))
-                          (apply invoke command)))
-                      all-tools)))
+               (for-each (lambda (tool)
+                           (let ((command
+                                  `("go" "build"
+                                    ;; This is where the tests expect to find the
+                                    ;; executables
+                                    "-o" ,(string-append
+                                           "src/github.com/mongodb/mongo-tools/bin/"
+                                           tool)
+                                    "-v"
+                                    "-tags=\"ssl sasl\""
+                                    "-ldflags"
+                                    "-extldflags=-Wl,-z,now,-z,relro"
+                                    ,(string-append
+                                      "src/github.com/mongodb/mongo-tools/"
+                                      tool "/main/" tool ".go"))))
+                             (simple-format #t "build: running ~A\n"
+                                            (string-join command))
+                             (apply invoke command)))
+                         all-tools)
+               #t))
            (replace 'check
              (lambda _
                (with-directory-excursion "src"
-                 (every (lambda (tool)
-                          (invoke
-                           "go" "test" "-v"
-                           (string-append "github.com/mongodb/mongo-tools/" tool)))
-                        all-tools))))
+                 (for-each (lambda (tool)
+                             (invoke
+                              "go" "test" "-v"
+                              (string-append "github.com/mongodb/mongo-tools/"
+                                             tool)))
+                           all-tools))
+               #t))
            (replace 'install
              (lambda* (#:key outputs #:allow-other-keys)
                (for-each (lambda (tool)
                            (install-file
-                            (string-append "src/github.com/mongodb/mongo-tools/bin/" tool)
+                            (string-append "src/github.com/mongodb/mongo-tools/bin/"
+                                           tool)
                             (string-append (assoc-ref outputs "out")
                                            "/bin")))
-                         all-tools)))))))
+                         all-tools)
+               #t))))))
     (native-inputs
      `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
        ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)