diff options
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 216 |
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) |