summaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-10-05 14:17:25 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-10-05 14:17:25 +0200
commit87c079d9b55afda249ddc1b11798a62547a2cbb6 (patch)
treea7a0dbcfd8c3fb8935e00cc44f8b514fa790975b /gnu/packages/databases.scm
parentde96ed11efdfb450ca45952aceda656a78d981c4 (diff)
parent3699ed63501a28629956ca60e198f5fafa57ad4e (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm167
1 files changed, 131 insertions, 36 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6237e34dcb..0584fe111a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -944,7 +944,7 @@ Language.")
`(("bison" ,bison)
;; XXX: On armhf, use GCC 5 to work around <https://bugs.gnu.org/37605>.
,@(if (string-prefix? "armhf" (%current-system))
- `(("gcc@5", gcc-5))
+ `(("gcc@5" ,gcc-5))
'())
("perl" ,perl)))
(inputs
@@ -970,7 +970,7 @@ as a drop-in replacement of MySQL.")
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
- (version "3.1.9")
+ (version "3.1.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -979,7 +979,7 @@ as a drop-in replacement of MySQL.")
version "-src.tar.gz"))
(sha256
(base32
- "1izjzf7yzjqzlk8dkp327fa9lawsv2hnnlnr7g5lshyx5azrk38h"))))
+ "13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg"))))
(inputs
`(("openssl" ,openssl)))
(build-system cmake-build-system)
@@ -1343,7 +1343,7 @@ for example from a shell script.")
(define-public sqitch
(package
(name "sqitch")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
@@ -1351,7 +1351,7 @@ for example from a shell script.")
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v"
version ".tar.gz"))
(sha256
- (base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l"))))
+ (base32 "1ayiwg9kh3w0nbacbcln7h944z94vq5vnnd5diz86033bpbnq57f"))))
(build-system perl-build-system)
(arguments
'(#:phases
@@ -1383,6 +1383,7 @@ for example from a shell script.")
("perl-test-file" ,perl-test-file)
("perl-test-file-contents" ,perl-test-file-contents)
("perl-test-mockmodule" ,perl-test-mockmodule)
+ ("perl-test-mockobject" ,perl-test-mockobject)
("perl-test-nowarnings" ,perl-test-nowarnings)
("perl-test-warn" ,perl-test-warn)))
(inputs
@@ -1391,7 +1392,9 @@ for example from a shell script.")
("perl-config-gitlike" ,perl-config-gitlike)
("perl-datetime" ,perl-datetime)
("perl-datetime-timezone" ,perl-datetime-timezone)
+ ("perl-dbd-mysql" ,perl-dbd-mysql)
("perl-dbd-pg" ,perl-dbd-pg)
+ ("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-dbi" ,perl-dbi)
("perl-devel-stacktrace" ,perl-devel-stacktrace)
("perl-encode-locale" ,perl-encode-locale)
@@ -1738,7 +1741,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
- (version "1.64")
+ (version "1.66")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1746,7 +1749,7 @@ columns, primary keys, unique constraints and relationships.")
version ".tar.gz"))
(sha256
(base32
- "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
+ "1zljln5nh61gj3k22a1fv2vhx5l83waizmarwkh77hk6kzzmvrw9"))))
(build-system perl-build-system)
(inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
@@ -1777,7 +1780,7 @@ module, and nothing else.")
(synopsis "Parse and utilize MySQL's /etc/my.cnf and ~/.my.cnf files")
(description
"@code{MySQL::Config} emulates the @code{load_defaults} function from
-libmysqlclient. It will fill an aray with long options, ready to be parsed by
+libmysqlclient. It will fill an array with long options, ready to be parsed by
@code{Getopt::Long}.")
(license license:perl-license)))
@@ -2120,14 +2123,14 @@ database.")
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.853")
+ (version "1.854")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
version ".tar.gz"))
(sha256
- (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
+ (base32 "0fv0any5am6vr6h1wcwhnraj70hd55fs4d8c2y7chsc9alf9di5y"))))
(build-system perl-build-system)
(inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
@@ -2140,8 +2143,7 @@ database.")
(("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
#t)))))
(home-page "https://metacpan.org/release/DB_File")
- (synopsis
- "Perl5 access to Berkeley DB version 1.x")
+ (synopsis "Perl5 access to Berkeley DB version 1.x")
(description
"The DB::File module provides Perl bindings to the Berkeley DB version 1.x.")
(license license:perl-license)))
@@ -2450,13 +2452,13 @@ etc., and an SQL engine for performing simple SQL queries.")
(define-public python-lmdb
(package
(name "python-lmdb")
- (version "0.99")
+ (version "1.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
- "12fwlzfd82471ss9xzbqwcqc6f5miy51y72y2yya9j5cm9589szr"))
+ "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
@@ -2475,6 +2477,7 @@ etc., and an SQL engine for performing simple SQL queries.")
(add-before 'build 'use-system-lmdb
(lambda* (#:key inputs #:allow-other-keys)
(let ((lmdb (assoc-ref inputs "lmdb")))
+ (setenv "LMDB_PURE" "set") ; don't apply env-copy-txn.patch
(setenv "LMDB_FORCE_SYSTEM" "set")
(setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include"))
(setenv "LMDB_LIBDIR" (string-append lmdb "/lib"))
@@ -2712,16 +2715,57 @@ You might also want to install the following optional dependencies:
(define-public python2-sqlalchemy-utils
(package-with-python2 python-sqlalchemy-utils))
+(define-public python-alchemy-mock
+ (package
+ (name "python-alchemy-mock")
+ (version "0.4.3")
+ (home-page "https://github.com/miki725/alchemy-mock")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "alchemy-mock" version))
+ (sha256
+ (base32
+ "0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Create pytest.ini that adds doctest options to
+ ;; prevent test failure. Taken from tox.ini.
+ (call-with-output-file "pytest.ini"
+ (lambda (port)
+ (format port "[pytest]
+doctest_optionflags=IGNORE_EXCEPTION_DETAIL
+")))
+ (invoke "pytest" "-vv" "--doctest-modules"
+ "alchemy_mock/"))))))
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-sqlalchemy" ,python-sqlalchemy)))
+ (synopsis "Mock helpers for SQLAlchemy")
+ (description
+ "This package provides mock helpers for SQLAlchemy that makes it easy
+to mock an SQLAlchemy session while preserving the ability to do asserts.
+
+Normally Normally SQLAlchemy's expressions cannot be easily compared as
+comparison on binary expression produces yet another binary expression, but
+this library provides functions to facilitate such comparisons.")
+ (license license:expat)))
+
(define-public python-alembic
(package
(name "python-alembic")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "alembic" version))
(sha256
- (base32 "1gsdrzx9h7wfva200qvvsc9sn4w79mk2vs0bbnzjhxi1jw2b0nh3"))))
+ (base32 "0if2dgb088clk738p26bwk50735h6jpd2kacdgc5capv2hiz6d2k"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -2897,13 +2941,13 @@ designed to be easy and intuitive to use.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
- (version "2.8.5")
+ (version "2.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
- (base32 "06081jk9srkd4ra9j8b93x9ld3a2yxsbsf5bbbcivbm1yx065m7p"))))
+ (base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv"))))
(build-system python-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
@@ -2951,24 +2995,19 @@ database).")
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
- (version "1.3.13")
+ (version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mysqlclient" version))
(sha256
(base32
- "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz"))))
+ "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv"))))
(build-system python-build-system)
- (native-inputs
- `(("nose" ,python-nose)
- ("mock" ,python-mock)
- ("py.test" ,python-pytest)))
+ (arguments '(#:tests? #f)) ;XXX: requires a live database
(inputs
`(("mysql" ,mariadb "lib")
- ("mysql-dev" ,mariadb "dev")
- ("libz" ,zlib)
- ("openssl" ,openssl)))
+ ("mysql-dev" ,mariadb "dev")))
(home-page "https://github.com/PyMySQL/mysqlclient-python")
(synopsis "MySQLdb is an interface to the popular MySQL database server for Python")
(description "MySQLdb is an interface to the popular MySQL database server
@@ -2980,9 +3019,6 @@ for Python. The design goals are:
@end enumerate")
(license license:gpl2)))
-(define-public python2-mysqlclient
- (package-with-python2 python-mysqlclient))
-
(define-public python-hiredis
(package
(name "python-hiredis")
@@ -3042,13 +3078,13 @@ reasonable substitute.")
(define-public python-redis
(package
(name "python-redis")
- (version "3.3.8")
+ (version "3.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "redis" version))
(sha256
- (base32 "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq"))))
+ (base32 "18h5b87g15x3j6pb1h2q27ri37p2qpvc9n2wgn5yl3b6m3y0qzhf"))))
(build-system python-build-system)
;; Tests require a running Redis server.
(arguments '(#:tests? #f))
@@ -3067,14 +3103,35 @@ reasonable substitute.")
(define-public python-rq
(package
(name "python-rq")
- (version "0.13.0")
+ (version "1.5.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "rq" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rq/rq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0xvapd2bxnyq480i48bdkddzlqmv2axbsq85rlfy8k3al8zxxxrf"))))
+ (base32 "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'check 'start-redis
+ (lambda _
+ (invoke "redis-server" "--daemonize" "yes")))
+ (replace 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Drop test that needs the SDK for Sentry.io.
+ (delete-file "tests/test_sentry.py")
+ ;; Ensure 'rq' and 'rqworker' ends up on PATH.
+ (setenv "PATH" (string-append out "/bin:"
+ (getenv "PATH")))
+ (invoke "pytest" "-vv")))))))
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("redis" ,redis)))
(propagated-inputs
`(("python-click" ,python-click)
("python-redis" ,python-redis)))
@@ -3089,6 +3146,44 @@ is designed to have a low barrier to entry.")
(define-public python2-rq
(package-with-python2 python-rq))
+(define-public python-rq-scheduler
+ (package
+ (name "python-rq-scheduler")
+ (version "0.10.0")
+ (home-page "https://github.com/rq/rq-scheduler")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'check 'start-redis
+ (lambda _
+ (invoke "redis-server" "--daemonize" "yes")))
+ (replace 'check
+ (lambda _
+ (substitute* "run_tests.py"
+ (("/usr/bin/env")
+ (which "env")))
+ (invoke "./run_tests.py"))))))
+ (native-inputs
+ `(("redis" ,redis)
+ ("which" ,which)))
+ (propagated-inputs
+ `(("python-croniter" ,python-croniter)
+ ("python-rq" ,python-rq)))
+ (synopsis "Job scheduling capabilities for RQ (Redis Queue)")
+ (description
+ "This package provides job scheduling capabilities to @code{python-rq}
+(Redis Queue).")
+ (license license:expat)))
+
(define-public python-trollius-redis
(package
(name "python-trollius-redis")