Merge remote-tracking branch 'origin/master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / databases.scm
index 1306cf7..d98dba0 100644 (file)
@@ -412,7 +412,11 @@ applications.")
        ("snappy" ,snappy)))
     (native-inputs
      `(("valgrind" ,valgrind)
-       ("perl" ,perl)))
+       ("perl" ,perl)
+       ("python" ,python2-minimal)
+       ("python2-pymongo" ,python2-pymongo)
+       ("python2-pyyaml" ,python2-pyyaml)
+       ("tzdata" ,tzdata)))
     (arguments
      `(#:scons ,scons-python2
        #:phases
@@ -460,12 +464,29 @@ applications.")
                                ,@common-options
                                "mongod" "mongo" "mongos")))))
            (replace 'check
-             (lambda* (#:key tests? #:allow-other-keys)
+             (lambda* (#:key tests? inputs #:allow-other-keys)
+               (setenv "TZDIR"
+                       (string-append (assoc-ref inputs "tzdata")
+                                      "/share/zoneinfo"))
                (or (not tests?)
-                   (zero? (apply system*
-                                 `("scons"
-                                   ,@common-options
-                                   "dbtest" "unittests"))))))
+                   ;; 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)))))))
            (replace 'install
              (lambda _
                (let ((bin  (string-append (assoc-ref %outputs "out") "/bin")))
@@ -562,7 +583,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.26")
+    (version "10.1.29")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.org/f/"
@@ -570,7 +591,7 @@ Language.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0ggpdcal0if9y6h9hp1yv2q65cbkjfl4p8rqk68a5pk7k75v325s"))))
+                "1m3ya6c3snnsyscd0waklayqfv0vhws52iizv2j5masj5xhdbfvk"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -1500,7 +1521,7 @@ organized in hash table, B+ tree, or fixed-length array.")
                 "0krwnb2zfbhvjaskwl875qzd3y626s84zcciq2mxr5c5riw3yh6s"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--enable-lz4" "--enable-zlib")
+     '(#:configure-flags '("--enable-lz4" "--with-builtins=snappy,zlib")
        #:phases
        (modify-phases %standard-phases
          (add-before 'check 'disable-test/fops
@@ -1511,7 +1532,8 @@ organized in hash table, B+ tree, or fixed-length array.")
              #t)))))
     (inputs
      `(("lz4" ,lz4)
-       ("zlib" ,zlib)))
+       ("zlib" ,zlib)
+       ("snappy" ,snappy)))
     (home-page "http://source.wiredtiger.com/")
     (synopsis "NoSQL data engine")
     (description
@@ -2095,14 +2117,14 @@ simple and Pythonic domain language.")
 (define-public python-sqlalchemy-utils
   (package
     (name "python-sqlalchemy-utils")
-    (version "0.32.13")
+    (version "0.32.21")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "SQLAlchemy-Utils" version))
         (sha256
          (base32
-          "0vsib7gidjamzsz6w4s5pdhxzxsrkghjnm4sqwk94igjrl3i5ixj"))))
+          "1myn71dn8j74xglyh46f12sh8ywb7j0j732rzwq70kvwwnq32m73"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f)) ; FIXME: Many tests require a running database server.
@@ -2145,14 +2167,14 @@ You might also want to install the following optional dependencies:
 (define-public python-alembic
   (package
     (name "python-alembic")
-    (version "0.9.5")
+    (version "0.9.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "alembic" version))
        (sha256
         (base32
-         "01gx2syqbaxh4hr9pf7pxhlb6p36qaf99140dy19lsx1paxb9p4b"))))
+         "0cm73vabrqj92v7a0wwvldj8j7bc7dwv358kvkk7p87gx7mm2a04"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-mock" ,python-mock)
@@ -2162,7 +2184,7 @@ You might also want to install the following optional dependencies:
        ("python-sqlalchemy" ,python-sqlalchemy)
        ("python-mako" ,python-mako)
        ("python-editor" ,python-editor)))
-    (home-page "http://bitbucket.org/zzzeek/alembic")
+    (home-page "https://bitbucket.org/zzzeek/alembic")
     (synopsis
      "Database migration tool for SQLAlchemy")
     (description
@@ -2318,18 +2340,19 @@ designed to be easy and intuitive to use.")
 (define-public python-sadisplay
   (package
     (name "python-sadisplay")
-    (version "0.4.6")
+    (version "0.4.8")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "sadisplay" version))
       (sha256
         (base32
-          "0zqad2fl7q26p090qmqgmxbm6iwgf9zij1w8da1g3wdgjj72ql05"))))
+          "01d9lxhmgpb68gy8rd6zj6fcwp84n2qq210n1qsk3qbsir79bzh4"))))
     (build-system python-build-system)
     (propagated-inputs
       `(("python-sqlalchemy" ,python-sqlalchemy)))
     (native-inputs
+     ;; For tests.
       `(("python-nose" ,python-nose)))
     (home-page "https://bitbucket.org/estin/sadisplay")
     (synopsis "SQLAlchemy schema displayer")
@@ -2431,13 +2454,13 @@ substitute for redis.")
 (define-public python-redis
   (package
     (name "python-redis")
-    (version "2.10.5")
+    (version "2.10.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "redis" version))
        (sha256
-        (base32 "0csmrkxb29x7xs9b51zplwkkq2hwnbh9jns1g85dykn5rxmaxysx"))))
+        (base32 "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52"))))
     (build-system python-build-system)
     ;; Tests require a running Redis server
     (arguments '(#:tests? #f))