summaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm101
1 files changed, 61 insertions, 40 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e289a604f9..56531f50e3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
-;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
@@ -396,14 +396,15 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.5.0")
+ (version "1.5.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0"))))
+ (base32
+ "00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
@@ -699,14 +700,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
- (version "10.2")
+ (version "10.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"))))
+ "06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")
@@ -744,14 +745,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql)
(name "postgresql")
- (version "9.6.6")
+ (version "9.6.8")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r"))))))
+ "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga"))))))
(define-public qdbm
(package
@@ -840,7 +841,7 @@ types are supported, as is encryption.")
(define-public rocksdb
(package
(name "rocksdb")
- (version "5.2.1")
+ (version "5.10.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/rocksdb"
@@ -848,18 +849,28 @@ types are supported, as is encryption.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb"))
+ "0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
(modules '((guix build utils)))
(snippet
'(begin
;; TODO: unbundle gtest.
(delete-file "build_tools/gnu_parallel")
+ (substitute* "Makefile"
+ (("build_tools/gnu_parallel") "parallel"))
#t))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CC=gcc"
+ `(#:make-flags (list "CC=gcc" "V=1"
+ ;; Ceph requires that RTTI is enabled.
+ "USE_RTTI=1"
(string-append "INSTALL_PATH="
- (assoc-ref %outputs "out")))
+ (assoc-ref %outputs "out"))
+
+ ;; Running the full test suite takes hours and require
+ ;; a lot of disk space. Instead we only run a subset
+ ;; (see .travis.yml and Makefile).
+ "ROCKSDBTESTS_END=db_tailing_iter_test")
+ #:test-target "check_some"
;; Many tests fail on 32-bit platforms. There are multiple reports about
;; this upstream, but it's not going to be supported any time soon.
#:tests? (let ((system ,(or (%current-target-system)
@@ -871,7 +882,6 @@ types are supported, as is encryption.")
(add-after 'unpack 'patch-Makefile
(lambda _
(substitute* "Makefile"
- (("build_tools/gnu_parallel") "parallel")
;; Don't depend on the static library when installing.
(("install: install-static")
"install: install-shared")
@@ -888,20 +898,20 @@ types are supported, as is encryption.")
(add-before 'check 'disable-failing-tests
(lambda _
(substitute* "Makefile"
- ;; This test fails with GCC-5 and is unmaintained.
- ;; https://github.com/facebook/rocksdb/issues/2148
- (("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\")
;; These tests reliably fail due to "Too many open files".
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
#t))
- (add-after 'check 'build-release-libraries
+ (add-after 'check 'build
;; The default build target is a debug build for tests. The
- ;; install target depends on "shared_lib" and "static_lib"
- ;; targets for release builds so we build them here for clarity.
- ;; TODO: Add debug output.
- (lambda* (#:key (make-flags '()) #:allow-other-keys)
- (zero? (apply system* "make" "shared_lib" make-flags)))))))
+ ;; install target depends on the "shared_lib" release target
+ ;; so we build it here for clarity.
+ (lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
+ (apply invoke "make" "shared_lib"
+ `(,@(if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags)))))))
(native-inputs
`(("parallel" ,parallel)
("perl" ,perl)
@@ -925,8 +935,9 @@ between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}
(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded
compactions, making it specially suitable for storing multiple terabytes of
data in a single database. RocksDB is partially based on @code{LevelDB}.")
- ;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
- (license (list license:bsd-3 license:asl2.0))))
+ ;; RocksDB is dual licensed under GPL2 and ASL 2.0. Some header
+ ;; files carry the 3-clause BSD license.
+ (license (list license:gpl2 license:asl2.0 license:bsd-3))))
(define-public sparql-query
(package
@@ -2037,14 +2048,14 @@ and web services platform functionality.")
(define-public r-rmysql
(package
(name "r-rmysql")
- (version "0.10.13")
+ (version "0.10.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "RMySQL" version))
(sha256
(base32
- "1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82"))))
+ "01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590"))))
(properties `((upstream-name . "RMySQL")))
(build-system r-build-system)
(native-inputs
@@ -2235,17 +2246,21 @@ SQLAlchemy Database Toolkit for Python.")
(define-public python-pickleshare
(package
(name "python-pickleshare")
- (version "0.5")
+ (version "0.7.4")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/p/"
- "pickleshare/pickleshare-" version ".tar.gz"))
+ (uri (pypi-uri "pickleshare" version))
(sha256
- (base32 "11ljr90j3p6qswdrbl7p4cjb2i93f6vn0vx9anzpshsx0d2mggn0"))))
+ (base32 "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-pathpy" ,python-pathpy)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/vivainio/pickleshare")
(synopsis "Tiny key value database with concurrency support")
(description
@@ -2256,10 +2271,15 @@ value in database is immediately visible to other processes accessing the same
database. Concurrency is possible because the values are stored in separate
files. Hence the “database” is a directory where all files are governed by
PickleShare.")
+ (properties `((python2-variant . ,(delay python2-pickleshare))))
(license license:expat)))
(define-public python2-pickleshare
- (package-with-python2 python-pickleshare))
+ (let ((pickleshare (package-with-python2
+ (strip-python2-variant python-pickleshare))))
+ (package (inherit pickleshare)
+ (propagated-inputs `(("python2-pathlib2" ,python2-pathlib2)
+ ,@(package-propagated-inputs pickleshare))))))
(define-public python-apsw
(package
@@ -2270,30 +2290,31 @@ PickleShare.")
(method url-fetch)
(uri (string-append "https://github.com/rogerbinns/apsw/archive/"
version ".tar.gz"))
+ (file-name (string-append "apsw-" version ".tar.gz"))
(sha256
(base32
"00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
(build-system python-build-system)
(inputs
- `(("sqlite" ,sqlite)))
+ `(("sqlite" ,sqlite)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
- (zero?
- (system* "python" "setup.py" "build" "--enable-all-extensions"))))
+ (invoke "python" "setup.py" "build" "--enable-all-extensions")
+ #t))
(add-after 'build 'build-test-helper
(lambda _
- (zero?
- (system
- (string-append "gcc -fPIC -shared -o ./testextension.sqlext "
- "-I. -Isqlite3 src/testextension.c") ))))
+ (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
+ "-I." "-Isqlite3" "src/testextension.c")
+ #t))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
- (zero? (system* "python" "setup.py" "test")))))))
+ (invoke "python" "setup.py" "test")
+ #t)))))
(home-page "https://github.com/rogerbinns/apsw/")
(synopsis "Another Python SQLite Wrapper")
(description "APSW is a Python wrapper for the SQLite