aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm216
1 files changed, 118 insertions, 98 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index a7c406dc25..0fa6d451ed 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")
@@ -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.36")
+ (version "10.1.37")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@@ -629,7 +629,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0n5aj76mn9rxc21l2kjmfrg10bmsyy4cic68khjr94iby262wx5d"))
+ "0ijdmdn9mcciwv361zfmja6b1h6qpbdqgrnnq6kkdapplyq1dmcc"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
@@ -804,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"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")
@@ -849,14 +849,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
@@ -989,15 +989,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
@@ -1118,7 +1119,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.
@@ -1127,14 +1129,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
@@ -1227,6 +1228,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")
@@ -1247,8 +1260,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)
@@ -1967,14 +1980,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
@@ -1997,8 +2010,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")
@@ -2075,13 +2087,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)))
@@ -2092,12 +2105,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
@@ -2412,14 +2419,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)
@@ -2737,13 +2744,13 @@ reasonable substitute.")
(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)
@@ -2798,7 +2805,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")
@@ -2861,45 +2868,58 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(delete-file-recursively
"src/github.com/mongodb/mongo-tools/vendor")
#t))
+ (add-after 'delete-bundled-source-code 'patch-source
+ (lambda _
+ ;; Remove a redundant argument that causes compilation to fail.
+ (substitute*
+ "src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
+ (("skipping restore of system.profile collection\", db)")
+ "skipping restore of system.profile collection\")"))
+ #t))
;; We don't need to install the source code for end-user applications
(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)