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.scm1429
1 files changed, 826 insertions, 603 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 3487b2cec2..128b349cae 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -17,12 +17,12 @@
;;; 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, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017, 2020 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
@@ -53,6 +53,8 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -113,6 +115,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pantheon)
#:use-module (gnu packages parallel)
@@ -140,12 +143,15 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -183,24 +189,24 @@
"4store-fix-buildsystem.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("perl" ,perl)
- ("python" ,python-2)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("libtool" ,libtool)
- ("pcre" ,pcre "bin") ;for 'pcre-config'
- ("pkg-config" ,pkg-config)))
+ (list perl
+ python-2
+ autoconf
+ automake
+ gettext-minimal
+ libtool
+ `(,pcre "bin") ;for 'pcre-config'
+ pkg-config))
(inputs
- `(("glib" ,glib)
- ("rasqal" ,rasqal)
- ("libxml2" ,libxml2)
- ("raptor2" ,raptor2)
- ("readline" ,readline)
- ("avahi" ,avahi)
- ("cyrus-sasl" ,cyrus-sasl)
- ("openssl" ,openssl)
- ("util-linux" ,util-linux "lib")))
+ (list glib
+ rasqal
+ libxml2
+ raptor2
+ readline
+ avahi
+ cyrus-sasl
+ openssl
+ `(,util-linux "lib")))
;; 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")
@@ -241,12 +247,10 @@ either single machines or networked clusters.")
#t)))
#:test-target "test"))
(inputs
- `(("postgresql" ,postgresql)
- ("util-linux" ,util-linux)))
+ (list postgresql util-linux))
(native-inputs
;; For tests.
- `(("ruby" ,ruby)
- ("which" ,which)))
+ (list ruby which))
(home-page "https://eradman.com/ephemeralpg/")
(synopsis "Run temporary PostgreSQL databases")
(description
@@ -272,11 +276,8 @@ garbage-collected after a configurable number of seconds (the default is
(arguments
'(#:tests? #f)) ;; No testsuite.
(propagated-inputs
- `(("ruby-httpclient" ,ruby-httpclient)
- ("ruby-multi-json" ,ruby-multi-json)
- ("ruby-progress_bar" ,ruby-progress_bar)
- ("ruby-rubyzip" ,ruby-rubyzip)
- ("ruby-thor" ,ruby-thor)))
+ (list ruby-httpclient ruby-multi-json ruby-progress_bar ruby-rubyzip
+ ruby-thor))
(synopsis "Utility for dumping and restoring ElasticSearch indexes")
(description
"This package provides a utility for dumping the contents of an
@@ -422,12 +423,12 @@ ElasticSearch server")
"lib/firebird/plugins/udr"))
#t)))))))
(inputs
- `(("boost" ,boost)
- ("editline" ,editline)
- ("icu4c" ,icu4c-67)
- ("libtommath" ,libtommath)
- ("ncurses" ,ncurses)
- ("zlib" ,zlib)))
+ (list boost
+ editline
+ icu4c-67
+ libtommath
+ ncurses
+ zlib))
(home-page "https://www.firebirdsql.org")
(synopsis "Relational database with many ANSI SQL standard features")
(description
@@ -465,7 +466,7 @@ database later.")
(define-public leveldb
(package
(name "leveldb")
- (version "1.22")
+ (version "1.23")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -474,12 +475,33 @@ database later.")
(file-name (git-file-name name version))
(sha256
(base32
- "0qrnhiyq7r4wa1a4wi82zgns35smj94mcjsc7kfs1k6ia9ys79z7"))))
+ "1chxkhb6ajdmj4p8535k4472fbmqvcismll6aapkarsr45yrvgs4"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
+ (list #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DLEVELDB_BUILD_TESTS=ON"
+
+ ;; Don't install(!) the third_party test frameworks below.
+ "-DINSTALL_GTEST=OFF"
+ "-DBENCHMARK_ENABLE_INSTALL=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Ceph uses leveldb and depends on RTTI.
+ (add-after 'unpack 'allow-RTTI
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("set\\(CMAKE_CXX_FLAGS \"\\$\\{CMAKE_CXX_FLAGS\\} -fno-rtti\"\\)")
+ ""))))
+ (add-after 'unpack 'unpack-third_party-sources
+ ;; These are only for testing, so copying source is fine.
+ (lambda _
+ (copy-recursively #$(package-source googletest)
+ "third_party/googletest")
+ (copy-recursively #$(package-source googlebenchmark)
+ "third_party/benchmark"))))))
(inputs
- `(("snappy" ,snappy)))
+ (list snappy))
(home-page "https://github.com/google/leveldb")
(synopsis "Fast key-value storage library")
(description
@@ -490,18 +512,17 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.6.9")
+ (version "1.6.13")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "1lcjy1b9krnb2gk72qd1fvivlfiyfvknfi3wngyvyk9ifzijr9nm"))))
+ (base32 "1m5mhw9ybb8qcyi6hb5kwpqanqmlnz27r54ccabc4y7nhpfvl6mx"))))
(build-system gnu-build-system)
(inputs
- `(("libevent" ,libevent)
- ("cyrus-sasl" ,cyrus-sasl)))
+ (list libevent cyrus-sasl))
(home-page "https://memcached.org/")
(synopsis "In-memory caching service")
(description "Memcached is an in-memory key-value store. It has a small
@@ -528,17 +549,16 @@ applications.")
(search-patches "libmemcached-build-with-gcc7.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("memcached" ,memcached)
- ("libtool" ,libtool)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("bison" ,bison)
- ("flex" ,flex)
- ("perl" ,perl)
- ("python-sphinx" ,python-sphinx))) ;to build the HTML doc.
+ (list memcached
+ libtool
+ autoconf
+ automake
+ bison
+ flex
+ perl
+ python-sphinx)) ;to build the HTML doc.
(inputs
- `(("libevent" ,libevent)
- ("cyrus-sasl" ,cyrus-sasl)))
+ (list libevent cyrus-sasl))
(outputs '("out" "doc"))
(arguments
'(#:tests? #f ;many tests fail and use too much time
@@ -598,12 +618,9 @@ the API, and provides features such as:
(lambda _
(invoke "memcached" "-d"))))))
(native-inputs
- `(("memcached" ,memcached)
- ("python-nose" ,python-nose)))
+ (list memcached python-nose))
(inputs
- `(("libmemcached" ,libmemcached)
- ("zlib" ,zlib)
- ("cyrus-sasl" ,cyrus-sasl)))
+ (list libmemcached zlib cyrus-sasl))
(home-page "http://sendapatch.se/projects/pylibmc/")
(synopsis "Python client for memcached")
(description
@@ -612,36 +629,120 @@ around TangentOrg’s libmemcached library, and can be used as a drop-in
replacement for the code@{python-memcached} library.")
(license license:bsd-3)))
-(define-public python2-pylibmc
- (package-with-python2 python-pylibmc))
+(define-public litecli
+ (package
+ (name "litecli")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "litecli" version))
+ (sha256
+ (base32 "1yb706mgzizzijm1k0fbny98jf58qh5q6f2870rbplxlfla4w9sd"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-cli-helpers
+ python-click
+ python-configobj
+ python-prompt-toolkit
+ python-pygments
+ python-sqlparse))
+ (native-inputs
+ (list python-mock python-pytest))
+ (home-page "https://litecli.com")
+ (synopsis "CLI for SQLite databases")
+ (description
+ "@code{litecli} is a command-line client for SQLite databases that has
+auto-completion and syntax highlighting.")
+ (license license:bsd-3)))
+
+(define-public python-pgspecial
+ (package
+ (name "python-pgspecial")
+ (version "1.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pgspecial" version))
+ (sha256
+ (base32 "00ddkf565rjcxmfml1z4mmkns1aq8x5s5g85xmnz2scln42y4irq"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-click python-sqlparse python-psycopg2))
+ (home-page "https://github.com/dbcli/pgspecial")
+ (synopsis
+ "Python implementation of PostgreSQL meta commands (backslash commands)")
+ (description
+ "This Python package provides an API to execute meta-commands (AKA
+\"special\", or \"backslash commands\") on PostgreSQL.")
+ (license license:bsd-3)))
+
+(define-public pgcli
+ (package
+ (name "pgcli")
+ (version "3.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pgcli" version))
+ (sha256
+ (base32 "1dy6yzak696107pqv83296h0xhc3ahlfaydm80593gwn37krgpkc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-cli-helpers
+ python-click
+ python-configobj
+ python-pendulum
+ python-pgspecial
+ python-prompt-toolkit
+ python-psycopg2
+ python-pygments
+ python-setproctitle
+ python-sqlparse))
+ (native-inputs
+ (list python-ipython-sql))
+ (home-page "https://www.pgcli.com")
+ (synopsis "PostgreSQL CLI with autocompletion and syntax highlighting")
+ (description
+ "@code{pgcli} is a command line interface for PostgreSQL with
+autocompletion and syntax highlighting.")
+ (license license:bsd-3)))
(define-public mycli
(package
(name "mycli")
- (version "1.22.2")
+ (version "1.24.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "mycli" version))
- (sha256
- (base32 "1lq2x95553vdmhw13cxcgsd2g2i32izhsb7hxd4m1iwf9b3msbpv"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mycli" version))
+ (sha256
+ (base32 "0rij9nw20zhqr7cqnkm8daw8b1wdc9zb6ny1ji9qz5557nz9i3bl"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f)) ; tests expect a running MySQL
+ '(#:tests? #f ; tests expect a running MySQL
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ ;; Permit newer versions of sqlparse.
+ (substitute* "setup.py"
+ (("<0\\.4\\.0") "<0.5.0")))))))
(propagated-inputs
- `(("python-cli-helpers" ,python-cli-helpers)
- ("python-click" ,python-click)
- ("python-configobj" ,python-configobj)
- ("python-cryptography" ,python-cryptography)
- ("python-prompt-toolkit" ,python-prompt-toolkit)
- ("python-pygments" ,python-pygments)
- ("python-pymysql" ,python-pymysql)
- ("python-sqlparse" ,python-sqlparse)))
- (home-page "http://mycli.net")
+ (list python-cli-helpers
+ python-click
+ python-configobj
+ python-cryptography
+ python-prompt-toolkit
+ python-pyaes
+ python-pygments
+ python-pymysql
+ python-pyperclip
+ python-sqlparse))
+ (home-page "https://www.mycli.net")
(synopsis
- "Terminal Client for MySQL with AutoCompletion and Syntax Highlighting")
+ "Terminal Client for MySQL with AutoCompletion and Syntax Highlighting")
(description
- "MyCLI is a command line interface for MySQL, MariaDB, and Percona with
+ "MyCLI is a command line interface for MySQL, MariaDB, and Percona with
auto-completion and syntax highlighting.")
(license license:bsd-3)))
@@ -721,22 +822,20 @@ auto-completion and syntax highlighting.")
,(string-append sed "/bin"))))
#t))))))
(native-inputs
- `(("bison" ,bison)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list bison perl pkg-config))
(inputs
- `(("boost" ,boost-for-mysql)
- ("coreutils" ,coreutils)
- ("gawk" ,gawk)
- ("grep" ,grep)
- ("libaio" ,libaio)
- ("libtirpc" ,libtirpc)
- ("ncurses" ,ncurses)
- ("openssl" ,openssl)
- ("procps" ,procps)
- ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
- ("sed" ,sed)
- ("zlib" ,zlib)))
+ (list boost-for-mysql
+ coreutils
+ gawk
+ grep
+ libaio
+ libtirpc
+ ncurses
+ openssl
+ procps
+ rpcsvc-proto ; rpcgen
+ sed
+ zlib))
(home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(description
@@ -748,7 +847,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.5.8")
+ (version "10.5.12")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB"
@@ -756,7 +855,7 @@ Language.")
version ".tar.gz"))
(sha256
(base32
- "1s3vfm73911cddjhgpcbkya6nz7ag2zygg56qqzwscn5ybv28j7b"))
+ "1gg4h9ahmk78cx01zyw0fqr6hhd78fsyhs0s34p3gi9hkak1qkxb"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -775,9 +874,7 @@ Language.")
(unless (string-suffix? "CMakeLists.txt" file)
(delete-file file)))
(append (find-files "extra/wolfssl")
- (find-files "zlib")))
- #t))))
- (replacement mariadb/fixed)
+ (find-files "zlib")))))))
(build-system cmake-build-system)
(outputs '("out" "lib" "dev"))
(arguments
@@ -832,6 +929,10 @@ Language.")
"/share/mysql/support-files")
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_SHAREDIR=share")
+ ;; The test suite has spurious failures (mostly timeouts) if run in
+ ;; parallel on various machines. Only enable parallel tests on
+ ;; architectures which are likely to not have this issue.
+ #:parallel-tests? ,(target-x86-64?)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'adjust-output-references
@@ -859,37 +960,32 @@ Language.")
"${INSTALL_INCLUDEDIR}"))
(substitute* "cmake/mariadb_connector_c.cmake"
(("\\\\\\$\\{CMAKE_INSTALL_PREFIX\\}/\\$\\{INSTALL_BINDIR\\}")
- "${INSTALL_BINDIR}"))
- #t))
+ "${INSTALL_BINDIR}"))))
(add-after 'unpack 'adjust-tests
(lambda _
(let ((disabled-tests
'(;; These fail because root@hostname == root@localhost in
;; the build environment, causing a user count mismatch.
;; See <https://jira.mariadb.org/browse/MDEV-7761>.
- "funcs_1.is_columns_mysql"
- "main.join_cache"
"main.explain_non_select"
- "main.stat_tables"
- "main.stat_tables_innodb"
"main.upgrade_MDEV-19650"
"roles.acl_statistics"
+ ;; Probably same as above, test failure reported upstream:
+ ;; <https://jira.mariadb.org/browse/MDEV-26320>.
+ "main.selectivity_no_engine"
+
;; FIXME: This test checks various table encodings and
;; fails because Guix defaults to UTF8 instead of the
;; upstream default latin1_swedish_ci. It's not easily
;; substitutable because several encodings are tested.
- "main.sp2"
+ "main.system_mysql_db"
;; XXX: This test occasionally fails on i686-linux:
;; <https://jira.mariadb.org/browse/MDEV-24458>
,@(if (string-prefix? "i686" (%current-system))
'("main.myisampack")
- '())
-
- ;; This file contains a time bomb which makes it fail after
- ;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
- "main.mysqldump"))
+ '())))
;; This file contains a list of known-flaky tests for this
;; release. Append our own items.
@@ -913,8 +1009,7 @@ Language.")
(substitute* "mysql-test/mysql-test-run.pl"
(("/bin/ls") (which "ls"))
- (("/bin/sh") (which "sh")))
- #t)))
+ (("/bin/sh") (which "sh"))))))
(add-before 'configure 'disable-plugins
(lambda _
(let ((disable-plugin (lambda (name)
@@ -925,24 +1020,25 @@ Language.")
(format port "\n")))))
(disabled-plugins '(;; XXX: Causes a test failure.
"disks")))
- (for-each disable-plugin disabled-plugins)
- #t)))
+ (for-each disable-plugin disabled-plugins))))
(replace 'check
- (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (lambda* (#:key (tests? #t) parallel-tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "mysql-test"
(invoke "./mtr" "--verbose"
"--retry=3"
+ "--suite=main"
"--testcase-timeout=40"
"--suite-timeout=600"
- "--parallel" (number->string (parallel-job-count))
+ "--parallel" (number->string (if parallel-tests?
+ (parallel-job-count)
+ 1))
;; Skip the replication tests: they are very I/O
;; intensive and frequently causes indeterministic
;; failures even on powerful hardware.
"--skip-rpl"
"--skip-test-list=unstable-tests"))
- (format #t "test suite not run~%"))
- #t))
+ (format #t "test suite not run~%"))))
(add-after
'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -987,12 +1083,9 @@ Language.")
(substitute* (list (string-append dev "/bin/mysql_config")
(string-append dev "/lib/pkgconfig/mariadb.pc"))
(("-lssl -lcrypto" all)
- (string-append "-L" openssl "/lib " all)))
-
- #t))))))
+ (string-append "-L" openssl "/lib " all)))))))))
(native-inputs
- `(("bison" ,bison)
- ("perl" ,perl)))
+ (list bison perl))
(inputs
`(("jemalloc" ,jemalloc)
("libaio" ,libaio)
@@ -1013,13 +1106,6 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
-(define mariadb/fixed
- (package
- (inherit mariadb)
- (source (origin
- (inherit (package-source mariadb))
- (patches (search-patches "mariadb-CVE-2021-27928.patch"))))))
-
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
@@ -1035,7 +1121,7 @@ as a drop-in replacement of MySQL.")
(sha256
(base32 "0xb8fiissblxb319y5ifqqp86zblwis789ipb753pcb4zpnsaw82"))))
(inputs
- `(("openssl" ,openssl)))
+ (list openssl))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no tests
@@ -1048,21 +1134,19 @@ developed in C/C++ to MariaDB and MySQL databases.")
(define-public galera
(package
(name "galera")
- (version "26.4.7")
+ (version "26.4.10")
(source (origin
(method git-fetch)
(uri (git-reference
- (commit "bac8171266cb982fe013ce496d78085438c6f23e")
(url "https://github.com/codership/galera")
+ (commit (string-append "release_" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "0h7s670pcasq8wzprhyxqfca2cghi62b8xz2kikb2a86wd453qil"))))
+ (base32 "1n6zhzwj713ixyqvcjn4ldlq0y9fxqgvmqv3cj3h4207v9lwlxxz"))))
(build-system cmake-build-system)
(inputs
- `(("check" ,check)
- ("boost" ,boost)
- ("openssl" ,openssl)))
+ (list check boost openssl))
(home-page "https://github.com/codership/galera/")
(synopsis "Extension to the MariaDB database server")
(description
@@ -1071,17 +1155,17 @@ and high-availability (HA).")
(license license:gpl2))) ;'COPYING' says "version 2" only
;; Don't forget to update the other postgresql packages when upgrading this one.
-(define-public postgresql-13
+(define-public postgresql-14
(package
(name "postgresql")
- (version "13.3")
+ (version "14.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "18dliq7h2l8irffhyyhdmfwx3si515q6gds3cxdjb9n7m17lbn9w"))
+ "07x45iycqpps0qh3ingc09jgn9rpnmc3gixx0qprhf5flwg10g2d"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@@ -1100,6 +1184,12 @@ and high-availability (HA).")
"src/bin/psql/command.c")
(("/bin/sh") (which "sh")))
#t))
+ (add-before 'configure 'set-socket-dir
+ (lambda _
+ (substitute* '("src/include/pg_config_manual.h")
+ (("DEFAULT_PGSOCKET_DIR[^\n]*")
+ "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\""))
+ #t))
(add-after 'build 'build-contrib
(lambda _
(invoke "make" "-C" "contrib")))
@@ -1122,6 +1212,18 @@ TIMESTAMP. It also supports storage of binary large objects, including
pictures, sounds, or video.")
(license (license:x11-style "file://COPYRIGHT"))))
+(define-public postgresql-13
+ (package
+ (inherit postgresql-14)
+ (version "13.4")
+ (source (origin
+ (inherit (package-source postgresql-14))
+ (uri (string-append "https://ftp.postgresql.org/pub/source/v"
+ version "/postgresql-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1kf0gcsrl5n25rjlvkh87aywmn28kbwvakm5c7j1qpr4j01y34za"))))))
+
(define-public postgresql-11
(package
(inherit postgresql-13)
@@ -1164,7 +1266,7 @@ pictures, sounds, or video.")
(define-public pgloader
(package
(name "pgloader")
- (version "3.6.2")
+ (version "3.6.3")
(source
(origin
(method git-fetch)
@@ -1172,7 +1274,7 @@ pictures, sounds, or video.")
(url "https://github.com/dimitri/pgloader")
(commit (string-append "v" version))))
(sha256
- (base32 "06i1jd2za3ih5caj2b4vzlzags5j65vv8dfdbz0ggdrp40wfd5lh"))
+ (base32 "147dcf0rmi94p95dvifx8qy7602fvs041dv9wlg3q31ly13agwb5"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1180,63 +1282,59 @@ pictures, sounds, or video.")
;; dependent on Quicklisp, main build target is `pgloader-standalone' which
;; does not require Quicklisp workarounds. There is no `install' target
;; configured in Makefile.
- `(#:tests? #f
- #:strip-binaries? #f
- #:make-flags
- (list "pgloader-standalone" "BUILDAPP_SBCL=buildapp")
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'set-home
- (lambda _
- (setenv "HOME" "/tmp")
- #t))
- (add-after 'unpack 'patch-Makefile
- (lambda _
- (substitute* "Makefile"
- (("--sbcl.*") "--sbcl $(CL) --asdf-path . \\\n"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
- (mkdir-p bin)
- (install-file "build/bin/pgloader" bin))
- #t)))))
+ (list #:tests? #f
+ #:strip-binaries? #f
+ #:make-flags
+ #~(list "pgloader-standalone" "BUILDAPP_SBCL=buildapp")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'patch-Makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("--sbcl.*") "--sbcl $(CL) --asdf-path . \\\n"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append #$output "/bin")))
+ (mkdir-p bin)
+ (install-file "build/bin/pgloader" bin)))))))
(native-inputs
- `(("buildapp" ,buildapp)
- ("sbcl" ,sbcl)))
+ (list buildapp sbcl))
(inputs
- `(("alexandria" ,sbcl-alexandria)
- ("cl-abnf" ,sbcl-cl-abnf)
- ("cl-base64" ,sbcl-cl-base64)
- ("cl-csv" ,sbcl-cl-csv)
- ("cl-fad" ,sbcl-cl-fad)
- ("cl-log" ,sbcl-cl-log)
- ("cl-markdown" ,sbcl-cl-markdown)
- ("cl-mustache" ,sbcl-cl-mustache)
- ("cl-ppcre" ,sbcl-cl-ppcre)
- ("cl-sqlite" ,sbcl-cl-sqlite)
- ("closer-mop" ,sbcl-closer-mop)
- ("command-line-arguments" ,sbcl-command-line-arguments)
- ("db3" ,sbcl-db3)
- ("drakma" ,sbcl-drakma)
- ("esrap" ,sbcl-esrap)
- ("flexi-streams" ,sbcl-flexi-streams)
- ("ixf" ,sbcl-ixf)
- ("local-time" ,sbcl-local-time)
- ("lparallel" ,sbcl-lparallel)
- ("metabang-bind" ,sbcl-metabang-bind)
- ("mssql" ,sbcl-mssql)
- ("postmodern" ,sbcl-postmodern)
- ("py-configparser" ,sbcl-py-configparser)
- ("qmynd" ,sbcl-qmynd)
- ("quri" ,sbcl-quri)
- ("split-sequence" ,sbcl-split-sequence)
- ("trivial-backtrace" ,sbcl-trivial-backtrace)
- ("usocket" ,sbcl-usocket)
- ("uuid" ,sbcl-uuid)
- ("yason" ,sbcl-yason)
- ("zs3" ,sbcl-zs3)))
+ (list sbcl-alexandria
+ sbcl-cl-abnf
+ sbcl-cl-base64
+ sbcl-cl-csv
+ sbcl-cl-fad
+ sbcl-cl-log
+ sbcl-cl-markdown
+ sbcl-cl-mustache
+ sbcl-cl-ppcre
+ sbcl-cl-sqlite
+ sbcl-closer-mop
+ sbcl-command-line-arguments
+ sbcl-db3
+ sbcl-drakma
+ sbcl-esrap
+ sbcl-flexi-streams
+ sbcl-ixf
+ sbcl-local-time
+ sbcl-lparallel
+ sbcl-metabang-bind
+ sbcl-mssql
+ sbcl-postmodern
+ sbcl-py-configparser
+ sbcl-qmynd
+ sbcl-quri
+ sbcl-split-sequence
+ sbcl-trivial-backtrace
+ sbcl-usocket
+ sbcl-uuid
+ sbcl-yason
+ sbcl-zs3))
(home-page "https://pgloader.io/")
(synopsis "Tool to migrate data to PostgreSQL")
(description
@@ -1256,9 +1354,9 @@ CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.")
(base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q"))))
(build-system python-build-system)
(native-inputs
- `(("python-unittest2" ,python-unittest2)))
+ (list python-unittest2))
(inputs
- `(("python-cryptography" ,python-cryptography)))
+ (list python-cryptography))
(arguments
`(#:tests? #f)) ; tests expect a running MySQL
(home-page "https://github.com/PyMySQL/PyMySQL/")
@@ -1336,30 +1434,43 @@ types are supported, as is encryption.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/recutils/")))
-(define-public emacs-recutils
+(define-public emacs-rec-mode
(package
- (inherit recutils)
- (name "emacs-recutils")
+ (name "emacs-rec-mode")
+ (version "1.8.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/"
+ "rec-mode-" version ".tar"))
+ (sha256
+ (base32
+ "06mjj1la2v8zdhsflj3mwcp7qnkj7gxzm8wbk2pli1h8vnq2zvd0"))
+ (snippet '(begin (delete-file "rec-mode.info")))))
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'change-directory
+ (add-before 'install 'make-info
(lambda _
- (chdir "etc")
- #t)))))
- (native-inputs '())
- (inputs '())
+ (invoke "makeinfo" "--no-split"
+ "-o" "rec-mode.info" "rec-mode.texi"))))))
+ (native-inputs
+ `(("texinfo" ,texinfo)))
+ (home-page "https://www.gnu.org/software/recutils/")
(synopsis "Emacs mode for working with recutils database files")
(description "This package provides an Emacs major mode @code{rec-mode}
for working with GNU Recutils text-based, human-editable databases. It
supports editing, navigation, and querying of recutils database files
-including field and record folding.")))
+including field and record folding.")
+ (license license:gpl3+)))
+
+(define-public emacs-recutils
+ (deprecated-package "emacs-recutils" emacs-rec-mode))
(define-public rocksdb
(package
(name "rocksdb")
- (version "6.11.4")
+ (version "6.26.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1368,92 +1479,50 @@ including field and record folding.")))
(file-name (git-file-name name version))
(sha256
(base32
- "0n19p9cd13jg0lnibrzwkxs4xlrhyj3knypkd2ic41arbds0bdnl"))
+ "0mylma106w93kxhj89g9y1ccdq7m9m94wrmv5nyr17yc1zsk87sg"))
(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)
+ (("build_tools/gnu_parallel") "parallel"))))))
+ (build-system cmake-build-system)
(arguments
- `(#:make-flags (list "CC=gcc" "V=1"
- ;; Ceph requires that RTTI is enabled.
- "USE_RTTI=1"
- "date=1970-01-01" ; build reproducibly
- (string-append "INSTALL_PATH="
- (assoc-ref %outputs "out"))
+ `(#:configure-flags
+ (list "-DROCKSDB_BUILD_SHARED=1"
+ ;; Ceph requires that RTTI is enabled.
+ "-DUSE_RTTI=1"
+ ;; Prevent the build from passing '-march=native' to the compiler.
+ "-DPORTABLE=1")
- ;; 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)
- (%current-system))))
- (or (string-prefix? "x86_64-linux" system)
- (string-prefix? "aarch64-linux" system)))
+ ;; 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. What's worse: Release builds don't
+ ;; include tests, and overriding the build system to build
+ ;; tests anyway fails with missing TEST_ symbols.
+ #:tests? #false
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-Makefile
+ (add-after 'unpack 'patch-CMakeLists.txt
(lambda _
- (substitute* "Makefile"
- ;; Don't depend on the static library when installing.
- (("install: install-static")
- "install: install-shared")
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- #t))
- (delete 'configure)
- ;; The default target is only needed for tests and built on demand.
- (delete 'build)
- (add-before 'check 'mount-tmp
- ;; Use the provided workspace directory for test files.
- ;; Otherwise, /tmp is used which is a mount namespace on /gnu/store.
- ;; This speeds up the build when the host /tmp is a proper tmpfs or
- ;; other fast filesystem, as opposed to /gnu which may be a HDD.
- (lambda _
- (let ((test-dir (string-append (getcwd) "/../test")))
- (mkdir test-dir)
- (setenv "TEST_TMPDIR" (canonicalize-path test-dir)))))
- (add-before 'check 'disable-optimizations
- (lambda _
- ;; Prevent the build from passing '-march=native' to the compiler.
- (setenv "PORTABLE" "1")
- #t))
- (add-before 'check 'disable-failing-tests
+ (substitute* "CMakeLists.txt"
+ ;; build reproducibly
+ (("set\\(BUILD_DATE \"\\$\\{TS\\}\"")
+ "set(BUILD_DATE \"1970-01-01\""))))
+ (add-after 'unpack 'build-generically
(lambda _
- (substitute* "Makefile"
- ;; These tests reliably fail due to "Too many open files".
- (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
- (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
- #t))
- (add-after 'check 'build
- ;; The default build target is a debug build for tests. The
- ;; 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)))))))
+ (substitute* "CMakeLists.txt"
+ (("if\\(HAVE_SSE42\\)") "if(FALSE)")))))))
(native-inputs
- `(("parallel" ,parallel)
- ("perl" ,perl)
- ("procps" ,procps)
- ("python" ,python-2)
- ("which" ,which)))
+ (list parallel perl procps python which))
(inputs
- `(("bzip2" ,bzip2)
- ("gflags" ,gflags)
- ("jemalloc" ,jemalloc)
- ("lz4" ,lz4)
- ("snappy" ,snappy)
- ("zlib" ,zlib)))
+ (list bzip2
+ gflags
+ jemalloc
+ lz4
+ snappy
+ zlib))
(home-page "https://rocksdb.org/")
(synopsis "Persistent key-value store for fast storage")
(description
@@ -1482,13 +1551,9 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
- `(("curl" ,curl)
- ("glib" ,glib)
- ("libxml2" ,libxml2)
- ("ncurses" ,ncurses)
- ("readline" ,readline)))
+ (list curl glib libxml2 ncurses readline))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(arguments
`(#:make-flags '("CC=gcc")
#:phases
@@ -1562,20 +1627,20 @@ for example from a shell script.")
path)))))
#t)))))
(native-inputs
- `(("perl-capture-tiny" ,perl-capture-tiny)
- ("perl-io-pager" ,perl-io-pager)
- ("perl-module-build" ,perl-module-build)
- ("perl-module-runtime" ,perl-module-runtime)
- ("perl-path-class" ,perl-path-class)
- ("perl-test-deep" ,perl-test-deep)
- ("perl-test-dir" ,perl-test-dir)
- ("perl-test-exception" ,perl-test-exception)
- ("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)))
+ (list perl-capture-tiny
+ perl-io-pager
+ perl-module-build
+ perl-module-runtime
+ perl-path-class
+ perl-test-deep
+ perl-test-dir
+ perl-test-exception
+ perl-test-file
+ perl-test-file-contents
+ perl-test-mockmodule
+ perl-test-mockobject
+ perl-test-nowarnings
+ perl-test-warn))
(inputs
`(("perl-class-xsaccessor" ,perl-class-xsaccessor)
("perl-clone" ,perl-clone)
@@ -1634,10 +1699,8 @@ which uses SQL to describe changes.")
"0x3wy40r93p0jv3nbwj9a77wa4ff697d13r0wffmm7q9h3mzsww8"))))
(build-system python-build-system)
(inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-psycopg2" ,python-psycopg2)
- ("python-pymysql" ,python-pymysql)
- ("python-sqlalchemy" ,python-sqlalchemy)))
+ (list python-cryptography python-psycopg2 python-pymysql
+ python-sqlalchemy))
(home-page "https://github.com/coffeeandscripts/sqlcrush")
(synopsis "Text console-based database viewer and editor")
(description
@@ -1670,12 +1733,12 @@ changes.")
(invoke "./configure"
(string-append "--prefix=" out))))))))
(native-inputs
- `(;; TODO: Build the documentation.
- ;; ("docbook-xsl" ,docbook-xsl)
- ;; ("libxml2" ,libxml2)
- ;; ("libxslt" ,libxslt)
- ("python" ,python) ;for the Waf build system
- ("which" ,which)))
+ (list ;; TODO: Build the documentation.
+ ;; ("docbook-xsl" ,docbook-xsl)
+ ;; ("libxml2" ,libxml2)
+ ;; ("libxslt" ,libxslt)
+ python ;for the Waf build system
+ which))
(home-page "https://tdb.samba.org/")
(synopsis "Trivial database")
(description
@@ -1716,35 +1779,35 @@ extremely small.")
(base32 "1rh7idjjbibc1zmiaaarask434lh0lx7f2xyfwmy37k9fa0xcpmh"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-dbd-sqlite" ,perl-dbd-sqlite)
- ("perl-file-temp" ,perl-file-temp)
- ("perl-module-install" ,perl-module-install)
- ("perl-package-stash" ,perl-package-stash)
- ("perl-test-deep" ,perl-test-deep)
- ("perl-test-exception" ,perl-test-exception)
- ("perl-test-warn" ,perl-test-warn)))
+ (list perl-dbd-sqlite
+ perl-file-temp
+ perl-module-install
+ perl-package-stash
+ perl-test-deep
+ perl-test-exception
+ perl-test-warn))
(propagated-inputs
- `(("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
- ("perl-class-c3-componentised" ,perl-class-c3-componentised)
- ("perl-class-inspector" ,perl-class-inspector)
- ("perl-config-any" ,perl-config-any)
- ("perl-context-preserve" ,perl-context-preserve)
- ("perl-data-dumper-concise" ,perl-data-dumper-concise)
- ("perl-data-page" ,perl-data-page)
- ("perl-dbi" ,perl-dbi)
- ("perl-devel-globaldestruction" ,perl-devel-globaldestruction)
- ("perl-hash-merge" ,perl-hash-merge)
- ("perl-module-find" ,perl-module-find)
- ("perl-moo" ,perl-moo)
- ("perl-mro-compat" ,perl-mro-compat)
- ("perl-namespace-clean" ,perl-namespace-clean)
- ("perl-path-class" ,perl-path-class)
- ("perl-scalar-list-utils" ,perl-scalar-list-utils)
- ("perl-scope-guard" ,perl-scope-guard)
- ("perl-sql-abstract-classic" ,perl-sql-abstract-classic)
- ("perl-sub-name" ,perl-sub-name)
- ("perl-text-balanced" ,perl-text-balanced)
- ("perl-try-tiny" ,perl-try-tiny)))
+ (list perl-class-accessor-grouped
+ perl-class-c3-componentised
+ perl-class-inspector
+ perl-config-any
+ perl-context-preserve
+ perl-data-dumper-concise
+ perl-data-page
+ perl-dbi
+ perl-devel-globaldestruction
+ perl-hash-merge
+ perl-module-find
+ perl-moo
+ perl-mro-compat
+ perl-namespace-clean
+ perl-path-class
+ perl-scalar-list-utils
+ perl-scope-guard
+ perl-sql-abstract-classic
+ perl-sub-name
+ perl-text-balanced
+ perl-try-tiny))
(home-page "https://metacpan.org/release/DBIx-Class")
(synopsis "Extensible and flexible object <-> relational mapper")
(description "An SQL to OO mapper with an object API inspired by
@@ -1771,12 +1834,9 @@ single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
"09b2jahn2x12qm4f7qm1jzsxbz7qn1czp6a3fnl5l2i3l4r5421p"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-cache-cache" ,perl-cache-cache)
- ("perl-dbd-sqlite" ,perl-dbd-sqlite)
- ("perl-module-install" ,perl-module-install)))
+ (list perl-cache-cache perl-dbd-sqlite perl-module-install))
(propagated-inputs
- `(("perl-carp-clan" ,perl-carp-clan)
- ("perl-dbix-class" ,perl-dbix-class)))
+ (list perl-carp-clan perl-dbix-class))
(home-page "https://metacpan.org/release/DBIx-Class-Cursor-Cached")
(synopsis "Cursor with built-in caching support")
(description "DBIx::Class::Cursor::Cached provides a cursor class with
@@ -1797,9 +1857,9 @@ built-in caching support.")
"1w47rh2241iy5x3a9bqsyd5kdp9sk43dksr99frzv4qn4jsazfn6"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-module-install" ,perl-module-install)))
+ (list perl-module-install))
(propagated-inputs
- `(("perl-dbix-class" ,perl-dbix-class)))
+ (list perl-dbix-class))
(home-page "https://metacpan.org/release/DBIx-Class-IntrospectableM2M")
(synopsis "Introspect many-to-many relationships")
(description "Because the many-to-many relationships are not real
@@ -1824,40 +1884,40 @@ introspected and examined.")
"0r57fv71ypxafb85cpxph1hdqii7ipjwvc19yb6fpkvq2ggcssg8"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-config-any" ,perl-config-any)
- ("perl-config-general" ,perl-config-general)
- ("perl-dbd-sqlite" ,perl-dbd-sqlite)
- ("perl-dbix-class-introspectablem2m" ,perl-dbix-class-introspectablem2m)
- ("perl-module-install" ,perl-module-install)
- ("perl-moose" ,perl-moose)
- ("perl-moosex-markasmethods" ,perl-moosex-markasmethods)
- ("perl-moosex-nonmoose" ,perl-moosex-nonmoose)
- ("perl-namespace-autoclean" ,perl-namespace-autoclean)
- ("perl-test-deep" ,perl-test-deep)
- ("perl-test-differences" ,perl-test-differences)
- ("perl-test-exception" ,perl-test-exception)
- ("perl-test-pod" ,perl-test-pod)
- ("perl-test-warn" ,perl-test-warn)))
+ (list perl-config-any
+ perl-config-general
+ perl-dbd-sqlite
+ perl-dbix-class-introspectablem2m
+ perl-module-install
+ perl-moose
+ perl-moosex-markasmethods
+ perl-moosex-nonmoose
+ perl-namespace-autoclean
+ perl-test-deep
+ perl-test-differences
+ perl-test-exception
+ perl-test-pod
+ perl-test-warn))
(propagated-inputs
- `(("perl-class-unload" ,perl-class-unload)
- ("perl-class-inspector" ,perl-class-inspector)
- ("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
- ("perl-class-c3-componentised" ,perl-class-c3-componentised)
- ("perl-carp-clan" ,perl-carp-clan)
- ("perl-data-dump" ,perl-data-dump)
- ("perl-dbix-class" ,perl-dbix-class)
- ("perl-hash-merge" ,perl-hash-merge)
- ("perl-list-moreutils" ,perl-list-moreutils)
- ("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
- ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
- ("perl-lingua-en-tagger" ,perl-lingua-en-tagger)
- ("perl-namespace-clean" ,perl-namespace-clean)
- ("perl-mro-compat" ,perl-mro-compat)
- ("perl-scope-guard" ,perl-scope-guard)
- ("perl-string-camelcase" ,perl-string-camelcase)
- ("perl-string-toidentifier-en" ,perl-string-toidentifier-en)
- ("perl-sub-name" ,perl-sub-name)
- ("perl-try-tiny" ,perl-try-tiny)))
+ (list perl-class-unload
+ perl-class-inspector
+ perl-class-accessor-grouped
+ perl-class-c3-componentised
+ perl-carp-clan
+ perl-data-dump
+ perl-dbix-class
+ perl-hash-merge
+ perl-list-moreutils
+ perl-lingua-en-inflect-phrase
+ perl-lingua-en-inflect-number
+ perl-lingua-en-tagger
+ perl-namespace-clean
+ perl-mro-compat
+ perl-scope-guard
+ perl-string-camelcase
+ perl-string-toidentifier-en
+ perl-sub-name
+ perl-try-tiny))
(arguments `(#:tests? #f)) ;TODO: t/20invocations.t fails
(home-page "https://metacpan.org/release/DBIx-Class-Schema-Loader")
(synopsis "Create a DBIx::Class::Schema based on a database")
@@ -1880,10 +1940,9 @@ columns, primary keys, unique constraints and relationships.")
"0kcfqq7g3832wiix0sbyvlc885qghjrp2ah3akn7h2lnb22fjwy9"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-dbi" ,perl-dbi)))
+ (list perl-dbi))
(propagated-inputs
- `(("perl-dbi" ,perl-dbi)
- ("postgresql" ,postgresql)))
+ (list perl-dbi postgresql))
(home-page "https://metacpan.org/release/DBD-Pg")
(synopsis "DBI PostgreSQL interface")
(description "This package provides a PostgreSQL driver for the Perl5
@@ -1941,8 +2000,8 @@ columns, primary keys, unique constraints and relationships.")
(base32
"1zljln5nh61gj3k22a1fv2vhx5l83waizmarwkh77hk6kzzmvrw9"))))
(build-system perl-build-system)
- (inputs `(("sqlite" ,sqlite)))
- (propagated-inputs `(("perl-dbi" ,perl-dbi)))
+ (inputs (list sqlite))
+ (propagated-inputs (list perl-dbi))
(synopsis "SQlite interface for Perl")
(description "DBD::SQLite is a Perl DBI driver for SQLite, that includes
the entire thing in the distribution. So in order to get a fast transaction
@@ -1987,15 +2046,10 @@ libmysqlclient. It will fill an array with long options, ready to be parsed by
(base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-module-install" ,perl-module-install)
- ("perl-test-deep" ,perl-test-deep)
- ("perl-test-exception" ,perl-test-exception)
- ("perl-test-warn" ,perl-test-warn)))
+ (list perl-module-install perl-test-deep perl-test-exception
+ perl-test-warn))
(propagated-inputs
- `(("perl-hash-merge" ,perl-hash-merge)
- ("perl-moo" ,perl-moo)
- ("perl-mro-compat" ,perl-mro-compat)
- ("perl-text-balanced" ,perl-text-balanced)))
+ (list perl-hash-merge perl-moo perl-mro-compat perl-text-balanced))
(home-page "https://metacpan.org/release/SQL-Abstract")
(synopsis "Generate SQL from Perl data structures")
(description "This module was inspired by the excellent DBIx::Abstract.
@@ -2019,12 +2073,9 @@ time your data changes.")
(base32 "0a7g13hs3kdxrjn43sfli09mgsi9d6w0dfw6hlk268av17yisgaf"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-deep" ,perl-test-deep)
- ("perl-test-exception" ,perl-test-exception)
- ("perl-test-warn" ,perl-test-warn)))
+ (list perl-test-deep perl-test-exception perl-test-warn))
(propagated-inputs
- `(("perl-mro-compat" ,perl-mro-compat)
- ("perl-sql-abstract" ,perl-sql-abstract)))
+ (list perl-mro-compat perl-sql-abstract))
(home-page "https://metacpan.org/release/SQL-Abstract-Classic")
(synopsis "Generate SQL from Perl data structures")
(description
@@ -2055,14 +2106,10 @@ your data changes, as this module figures it out.")
(base32 "0ppkx46nydzlnsxf9a8pkyb74wggfrdiiwafab143lrarlh88x0s"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-differences" ,perl-test-differences)
- ("perl-test-exception" ,perl-test-exception)
- ("perl-test-script" ,perl-test-script)))
+ (list perl-test-differences perl-test-exception perl-test-script))
(propagated-inputs
- `(("perl-class-accessor" ,perl-class-accessor)
- ("perl-list-moreutils" ,perl-list-moreutils)
- ("perl-regexp-common" ,perl-regexp-common)
- ("perl-sql-tokenizer" ,perl-sql-tokenizer)))
+ (list perl-class-accessor perl-list-moreutils perl-regexp-common
+ perl-sql-tokenizer))
(home-page "https://metacpan.org/release/SQL-SplitStatement")
(synopsis "Split SQL code into atomic statements")
(description "This module tries to split any SQL code, even including
@@ -2132,7 +2179,7 @@ Driver.")
"-DBUILD_SHARED_LIBS=ON")
#:tests? #false))
(inputs
- `(("unixodbc" ,unixodbc)))
+ (list unixodbc))
(home-page "https://nanodbc.io/")
(synopsis "C++ wrapper for the native C ODBC API")
(description "The goal for nanodbc is to make developers happy by providing
@@ -2199,30 +2246,29 @@ easy, requiring concise and simple code.")
"UnQLite is an in-process software library which implements a
self-contained, serverless, zero-configuration, transactional NoSQL
database engine. UnQLite is a document store database similar to
-MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
+Redis, CouchDB, etc., as well as a standard key/value store
similar to BerkeleyDB, LevelDB, etc.")
(license license:bsd-2)))
(define-public redis
(package
(name "redis")
- (version "6.2.4")
+ (version "6.2.6")
(source (origin
(method url-fetch)
(uri (string-append "http://download.redis.io/releases/redis-"
version".tar.gz"))
(sha256
(base32
- "0vp1d9mlfsppry3nsj9f7bmh9wjgsy3jggp24sac1hhgl43c8cms"))
+ "1ariw5x33hmmm3d5al0j3307l5kf3vhmn78wpyaz67hia1x8nasv"))
(modules '((guix build utils)))
(snippet
;; Delete bundled jemalloc, as the package will use the libc one
- '(begin (delete-file-recursively "deps/jemalloc")
- #t))))
+ '(begin (delete-file-recursively "deps/jemalloc")))))
(build-system gnu-build-system)
(native-inputs
- `(("procps" ,procps) ; for tests
- ("tcl" ,tcl))) ; for tests
+ (list procps ; for tests
+ tcl)) ; for tests
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -2233,8 +2279,7 @@ similar to BerkeleyDB, LevelDB, etc.")
(("^TCLSH=.*")
(string-append "TCLSH="
(assoc-ref inputs "tcl")
- "/bin/tclsh")))
- #t))
+ "/bin/tclsh")))))
(add-after 'unpack 'adjust-tests
(lambda _
;; Disable failing tests
@@ -2242,8 +2287,7 @@ similar to BerkeleyDB, LevelDB, etc.")
(("integration/failover") "")
(("integration/replication-4") "")
(("integration/replication-psync") "")
- (("integration/replication[^-]") ""))
- #t)))
+ (("integration/replication[^-]") "")))))
#:make-flags `("CC=gcc"
"MALLOC=libc"
"LDFLAGS=-ldl"
@@ -2295,7 +2339,7 @@ one-to-one, while still providing an idiomatic interface.")
"--disable-opt" ;"-march=native". XXX this also turns off -O0.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
- (inputs `(("zlib" ,zlib)))
+ (inputs (list zlib))
(home-page "https://fallabs.com/kyotocabinet/")
(synopsis
"Kyoto Cabinet is a modern implementation of the DBM database")
@@ -2324,7 +2368,7 @@ database and supports many programming languages. It is a NoSQL database.")
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(home-page "http://fallabs.com/tokyocabinet/")
(synopsis "Tokyo Cabinet is a modern implementation of the DBM database")
(description
@@ -2360,9 +2404,7 @@ organized in hash table, B+ tree, or fixed-length array.")
(("test/fops") ""))
#t)))))
(inputs
- `(("lz4" ,lz4)
- ("zlib" ,zlib)
- ("snappy" ,snappy)))
+ (list lz4 zlib snappy))
(home-page "http://source.wiredtiger.com/")
(synopsis "NoSQL data engine")
(description
@@ -2409,14 +2451,11 @@ trees (LSM), for sustained throughput under random insert workloads.")
(assoc-ref %build-inputs "wiredtiger")))
#:make-flags '("GUILE_AUTO_COMPILE=0")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake pkg-config))
(inputs
- `(("wiredtiger" ,wiredtiger-3)
- ("guile" ,guile-2.2)))
+ (list wiredtiger-3 guile-2.2))
(propagated-inputs
- `(("guile-bytestructures" ,guile-bytestructures)))
+ (list guile-bytestructures))
(synopsis "WiredTiger bindings for GNU Guile")
(description
"This package provides Guile bindings to the WiredTiger ``NoSQL''
@@ -2436,8 +2475,8 @@ database.")
(sha256
(base32 "1ab6rm2b8lz0g3gc8k9y79gkgajyby0zpybkdg9mk4g35y9bmyfd"))))
(build-system perl-build-system)
- (inputs `(("bdb" ,bdb)))
- (native-inputs `(("perl-test-pod" ,perl-test-pod)))
+ (inputs (list bdb))
+ (native-inputs (list perl-test-pod))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before
@@ -2528,7 +2567,7 @@ virtual address space — not physical RAM.")
(modify-phases %standard-phases
(delete 'configure))))
(build-system gnu-build-system)
- (inputs `(("lmdb" ,lmdb)))
+ (inputs (list lmdb))
(home-page "https://github.com/hoytech/lmdbxx")
(synopsis "C++11 wrapper for the LMDB embedded B+ tree database library")
(description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the
@@ -2552,7 +2591,7 @@ semantics.")
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
- (inputs `(("postgresql" ,postgresql)))
+ (inputs (list postgresql))
(arguments
`(#:tests? #f ; # FAIL: 1
#:phases
@@ -2574,20 +2613,20 @@ on another machine, accessed via TCP/IP.")
(define-public python-peewee
(package
(name "python-peewee")
- (version "3.14.0")
+ (version "3.14.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "peewee" version))
(sha256
- (base32 "1yl49gxrg0c2x3n3r60z3lixw9am8b61s0477l9vjabhhx1yziar"))))
+ (base32 "18jidir2wid0cp8a61m9vf9mf0pdvm6nzspc8bfwdbifghr6ndcy"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; fails to import test data
(inputs
- `(("sqlite" ,sqlite)))
+ (list sqlite))
(native-inputs
- `(("python-cython" ,python-cython)))
+ (list python-cython))
(home-page "https://github.com/coleifer/peewee/")
(synopsis "Small object-relational mapping utility")
(description
@@ -2601,51 +2640,145 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python2-peewee
(package-with-python2 python-peewee))
+(define-public python-pypika-tortoise
+ (package
+ (name "python-pypika-tortoise")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pypika-tortoise" version))
+ (sha256
+ (base32 "0g4z0lz739nk04b405ynqpd3y1z5nfyxjz9hqgxcw3jydsjx0cb8"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/tortoise/pypika-tortoise")
+ (synopsis "Pypika fork for tortoise-orm")
+ (description "Pypika-tortoise is a fork of pypika which has been
+streamlined for its use in the context of tortoise-orm. It removes support
+for many database kinds that tortoise-orm doesn't need, for example.")
+ (license license:asl2.0)))
+
+(define-public python-sphinxcontrib-asyncio
+ (package
+ (name "python-sphinxcontrib-asyncio")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sphinxcontrib-asyncio" version))
+ (sha256
+ (base32 "0bkj010ygsr7m769llf2aq4bbjfhdwqrrabi98j8gpvyzvh2dzcr"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ;no test suite
+ (propagated-inputs (list python-sphinx))
+ (home-page "https://github.com/aio-libs/sphinxcontrib-asyncio")
+ (synopsis "Sphinx extension to support coroutines in markup")
+ (description "This package is a Sphinx extension providing additional
+coroutine-specific markup.")
+ (license license:asl2.0)))
+
+(define-public python-asyncpg
+ (package
+ (name "python-asyncpg")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncpg" version))
+ (sha256
+ (base32 "1in0q6iffpl8ag6ady4bvwnn40igh10cpp4xgm426j1lqdis0byx"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-typing-extensions))
+ (native-inputs
+ (list postgresql
+ python-cython
+ python-flake8
+ python-pycodestyle
+ python-pytest
+ python-sphinx
+ python-sphinx-rtd-theme
+ python-sphinxcontrib-asyncio
+ python-uvloop))
+ (home-page "https://github.com/MagicStack/asyncpg")
+ (synopsis "Fast PostgreSQL database client library for Python")
+ (description "@code{asyncpg} is a database interface library designed
+specifically for PostgreSQL and Python/asyncio. @code{asyncpg} is an
+efficient, clean implementation of PostgreSQL server binary protocol for use
+with Python's asyncio framework.")
+ (license license:asl2.0)))
+
+(define-public python-asyncmy
+ (package
+ (name "python-asyncmy")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncmy" version))
+ (sha256
+ (base32 "19p81jd4w7m7v2x1jdrwibp67wzqx1a7rdw5n4qqmch3iffp97vn"))))
+ (build-system python-build-system)
+ (native-inputs (list python-cython))
+ (home-page "https://github.com/long2ice/asyncmy")
+ (synopsis "Fast MySQL driver for Python")
+ (description "@code{asyncmy} is a fast @code{asyncio} MySQL driver, which
+reuses most of @code{pymysql} and @code{aiomysql} but rewrites the core
+protocol with Cython for performance.")
+ (license license:asl2.0)))
+
+(define-public python-aiomysql
+ (package
+ (name "python-aiomysql")
+ (version "0.0.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiomysql" version))
+ (sha256
+ (base32 "0b442d0jb82z3lk19ylmm64ix88ppz7gay08bxld538ivg06j5c1"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ;test suite requires docker
+ (propagated-inputs (list python-pymysql))
+ (home-page "https://github.com/aio-libs/aiomysql")
+ (synopsis "MySQL driver for Python")
+ (description "@code{aiomysql} is a driver for accessing a MySQL database
+from the @code{asyncio} Python framework. It depends on and reuses most parts
+of PyMySQL. @code{aiomysql} tries to preserve the same API as the
+@code{aiopg} library.")
+ (license license:expat)))
+
(define-public python-tortoise-orm
(package
(name "python-tortoise-orm")
- (version "0.16.21")
+ (version "0.17.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tortoise-orm" version))
(sha256
- (base32
- "1dallk0q8q4v37klm0v3rppf2w8sjkqmypc1w8r9rraqxg1ylacp"))))
+ (base32 "1gzgiypln7lck3p95vk3i8rdx1bjbmmlcpb8xpba8cjdjvlj0l0z"))))
(build-system python-build-system)
- (arguments
- `(#:tests? #f ; Pypi does not have tests and Git snapshot depends on
- ; poetry.
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'relax-version-requirements
- (lambda _
- (substitute* "setup.py"
- (("pypika>=0\\.44\\.0,<0\\.45\\.0") "pypika")
- (("aiosqlite>=0.16.0,<0.17.0") "aiosqlite")
- (("pytz>=2020\\.4,<2021\\.0") "pytz")
- ;; Not required, since ciso8601 is used.
- (("'iso8601>=0\\.1\\.13,<0\\.2\\.0',") ""))
- #t)))))
- (native-inputs
- `(("python-asynctest" ,python-asynctest)
- ("python-nose2" ,python-nose2)))
+ ;; The test suite relies on asynctest, which is abandoned and doesn't
+ ;; support Python >= 3.8.
+ (arguments '(#:tests? #f))
(propagated-inputs
- `(("python-aiosqlite" ,python-aiosqlite)
- ("python-pypika" ,python-pypika)
- ("python-ciso8601" ,python-ciso8601)
- ("python-pytz" ,python-pytz)
- ("python-typing-extensions"
- ,python-typing-extensions)))
- (home-page
- "https://github.com/tortoise/tortoise-orm")
- (synopsis
- "Easy async ORM for python, built with relations in mind")
- (description
- "Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper)
-inspired by Django. Tortoise ORM was build with relations in mind and
-admiration for the excellent and popular Django ORM. It’s engraved in its
-design that you are working not with just tables, you work with relational
-data.")
+ (list python-aiomysql
+ python-aiosqlite
+ python-asyncmy
+ python-asyncpg
+ python-ciso8601
+ python-iso8601
+ python-pypika-tortoise
+ python-pytz
+ python-rapidjson
+ python-uvloop))
+ (home-page "https://github.com/tortoise/tortoise-orm")
+ (synopsis "Asynchronous Object Relational Mapper (ORM) for Python")
+ (description "Tortoise ORM is an easy-to-use asyncio ORM (Object
+Relational Mapper) inspired by Django. Tortoise ORM was built with relations
+in mind and admiration for the excellent and popular Django ORM. It's
+engraved in its design that you are working not with just tables, you work
+with relational data.")
(license license:asl2.0)))
(define-public sqlcipher
@@ -2665,7 +2798,7 @@ data.")
`(("libcrypto" ,openssl)
("libtcl8.6" ,tcl))) ; required for running the tests
(native-inputs
- `(("tcl" ,tcl)))
+ (list tcl))
(arguments
'(#:configure-flags
'("--enable-tempstore=yes"
@@ -2712,7 +2845,7 @@ development.")
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
- `(("unixodbc" ,unixodbc)))
+ (list unixodbc))
(arguments
`(;; No unit tests exist.
#:tests? #f))
@@ -2738,7 +2871,7 @@ for ODBC.")
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
- `(("unixodbc" ,unixodbc)))
+ (list unixodbc))
(arguments
`(#:tests? #f)) ; no unit tests exist
(home-page "https://github.com/mkleehammer/pyodbc")
@@ -2766,14 +2899,14 @@ for ODBC.")
"0gwcpp9y09xhs21g7my2fs8ncb8i6ahlyixcx8jd3q97jbzj441l"))))
(build-system gnu-build-system)
(inputs
- `(("glib" ,glib)))
+ (list glib))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("txt2man" ,txt2man)
- ("which" ,which)))
+ (list autoconf
+ automake
+ libtool
+ pkg-config
+ txt2man
+ which))
(home-page "http://mdbtools.sourceforge.net/")
(synopsis "Read Microsoft Access databases")
(description "MDB Tools is a set of tools and applications to read the
@@ -2805,7 +2938,7 @@ etc., and an SQL engine for performing simple SQL queries.")
#t))))
(build-system python-build-system)
(inputs
- `(("lmdb" ,lmdb)))
+ (list lmdb))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -2845,19 +2978,19 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
;; does not contain setup.py. How to test?
(arguments '(#:tests? #f))
(propagated-inputs
- `(("python-backpack" ,python-backpack)
- ("python-blinker" ,python-blinker)
- ("python-cleo" ,python-cleo)
- ("python-faker" ,python-faker)
- ("python-inflection" ,python-inflection)
- ("python-lazy-object-proxy" ,python-lazy-object-proxy)
- ("python-pendulum" ,python-pendulum)
- ("python-pyaml" ,python-pyaml)
- ("python-pygments" ,python-pygments)
- ("python-pyyaml" ,python-pyyaml)
- ("python-simplejson" ,python-simplejson)
- ("python-six" ,python-six)
- ("python-wrapt" ,python-wrapt)))
+ (list python-backpack
+ python-blinker
+ python-cleo
+ python-faker
+ python-inflection
+ python-lazy-object-proxy
+ python-pendulum
+ python-pyaml
+ python-pygments
+ python-pyyaml
+ python-simplejson
+ python-six
+ python-wrapt))
(home-page "https://orator-orm.com/")
(synopsis "ActiveRecord ORM for Python")
(description
@@ -2896,10 +3029,7 @@ implementation for Python.")
'("libvirtuoso-t.a"
"libvirtuoso-t.la"))))))))
(inputs
- `(("openssl" ,openssl)
- ("net-tools" ,net-tools)
- ("readline" ,readline)
- ("zlib" ,zlib)))
+ (list openssl net-tools readline zlib))
(home-page "http://vos.openlinksw.com/owiki/wiki/VOS/")
(synopsis "Multi-model database system")
(description "Virtuoso is a scalable cross-platform server that combines
@@ -2922,11 +3052,10 @@ and web services platform functionality.")
"177dfxsmk3k4cih6fh6v8d91bh4nqx7ns6pc07w7m7i3cvdx3c8n"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)
- ;; Not listed in setup.py, but used in ccmlib/node.py for full
- ;; functionality
- ("python-psutil" ,python-psutil)
- ("python-six" ,python-six)))
+ (list python-pyyaml
+ ;; Not listed in setup.py, but used in ccmlib/node.py for full
+ ;; functionality
+ python-psutil python-six))
(home-page "https://github.com/pcmanus/ccm")
(synopsis "Cassandra Cluster Manager for Apache Cassandra clusters on
localhost")
@@ -2951,7 +3080,7 @@ on localhost.")
"1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp"))))
(build-system python-build-system)
(inputs
- `(("sqlite" ,sqlite)))
+ (list sqlite))
(arguments
`(#:python ,python-2 ; incompatible with Python 3
#:tests? #f)) ; no test target
@@ -2965,25 +3094,26 @@ Database API 2.0T.")
(define-public python-sqlalchemy
(package
(name "python-sqlalchemy")
- (version "1.4.23")
+ (version "1.4.31")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy" version))
(sha256
- (base32 "10vm8hm8w4yfsab076ak8r4vp5v1jqdi71cky6dhha7mh5l29zvn"))))
+ (base32 "06448s883bb8fgca33bn0pfaj15la0g4cax2mmx482kqwp8mjasq"))))
(build-system python-build-system)
(native-inputs
- `(("python-cython" ,python-cython) ; for C extensions
- ("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock))) ; for tests
+ (list python-cython ; for C extensions
+ python-pytest python-mock)) ; for tests
(propagated-inputs
- `(("python-greenlet" ,python-greenlet)))
+ (list python-greenlet))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "py.test"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "py.test")))))))
(home-page "https://www.sqlalchemy.org")
(synopsis "Database abstraction library")
(description
@@ -3010,8 +3140,7 @@ simple and Pythonic domain language.")
"1bppjmv7v7m0q8gwg791pgxbx4ay7mna0zq204pn9vw28kfxcrf6"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-mypy" ,python-mypy)
- ("python-typing-extensions" ,python-typing-extensions)))
+ (list python-mypy python-typing-extensions))
(home-page "https://github.com/dropbox/sqlalchemy-stubs")
(synopsis "SQLAlchemy stubs and mypy plugin")
(description "This package contains type stubs and a mypy plugin to
@@ -3022,14 +3151,14 @@ framework.")
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")
- (version "0.32.21")
+ (version "0.38.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy-Utils" version))
(sha256
(base32
- "1myn71dn8j74xglyh46f12sh8ywb7j0j732rzwq70kvwwnq32m73"))))
+ "1d6fq81489kqzxmk3l6f39sinw206lzs392frmpr5lsjzg9xc0cy"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; FIXME: Many tests require a running database server.
@@ -3039,14 +3168,10 @@ framework.")
;; (lambda _
;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-sqlalchemy" ,python-sqlalchemy)))
+ (list python-six python-sqlalchemy))
(native-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-flexmock" ,python-flexmock)
- ("python-psycopg2" ,python-psycopg2)
- ("python-pytest" ,python-pytest)
- ("python-pytz" ,python-pytz)))
+ (list python-dateutil python-flexmock python-psycopg2 python-pytest
+ python-pytz))
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
(synopsis "Various utility functions for SQLAlchemy")
(description
@@ -3066,9 +3191,6 @@ You might also want to install the following optional dependencies:
")
(license license:bsd-3)))
-(define-public python2-sqlalchemy-utils
- (package-with-python2 python-sqlalchemy-utils))
-
(define-public python-alchemy-mock
(package
(name "python-alchemy-mock")
@@ -3095,11 +3217,9 @@ doctest_optionflags=IGNORE_EXCEPTION_DETAIL
(invoke "pytest" "-vv" "--doctest-modules"
"alchemy_mock/"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-sqlalchemy" ,python-sqlalchemy)))
+ (list python-six python-sqlalchemy))
(synopsis "Mock helpers for SQLAlchemy")
(description
"This package provides mock helpers for SQLAlchemy that makes it easy
@@ -3113,13 +3233,13 @@ this library provides functions to facilitate such comparisons.")
(define-public python-alembic
(package
(name "python-alembic")
- (version "1.7.1")
+ (version "1.7.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "alembic" version))
(sha256
- (base32 "1ys0a44gh544xpbzz6r5xvz3msim74f9qklyfnw0bhn9vk9n9adf"))))
+ (base32 "0lxi2g2025lz5k7k5dd5fc1lfijqi2yw6qqyjzp073z6laa8cckw"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -3127,14 +3247,9 @@ this library provides functions to facilitate such comparisons.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-mock python-pytest-cov))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-importlib-resources" ,python-importlib-resources) ;Python < 3.9
- ("python-sqlalchemy" ,python-sqlalchemy)
- ("python-mako" ,python-mako)
- ("python-editor" ,python-editor)))
+ (list python-dateutil python-sqlalchemy python-mako python-editor))
(home-page "https://bitbucket.org/zzzeek/alembic")
(synopsis "Database migration tool for SQLAlchemy")
(description
@@ -3159,7 +3274,7 @@ SQLAlchemy Database Toolkit for Python.")
(lambda _
(invoke "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/vivainio/pickleshare")
(synopsis "Tiny key value database with concurrency support")
(description
@@ -3177,13 +3292,14 @@ PickleShare.")
(let ((pickleshare (package-with-python2
(strip-python2-variant python-pickleshare))))
(package (inherit pickleshare)
- (propagated-inputs `(("python2-pathlib2" ,python2-pathlib2)
- ,@(package-propagated-inputs pickleshare))))))
+ (propagated-inputs (modify-inputs (package-propagated-inputs
+ pickleshare)
+ (prepend python2-pathlib2))))))
(define-public python-apsw
(package
(name "python-apsw")
- (version "3.31.1-r1")
+ (version "3.36.0-r1")
(source
(origin
(method url-fetch)
@@ -3191,12 +3307,12 @@ PickleShare.")
"/download/" version "/apsw-" version ".zip"))
(sha256
(base32
- "1gap5lr6c7bp134nzvfwr693i6d0fqyaysg3ms2cayjldv616yfx"))))
+ "0w8q73147hv77dlpqrx6h1gx03acc8xqhvdpfp6vkffdm0wmqd8p"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(inputs
- `(("sqlite" ,sqlite)))
+ (list sqlite))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -3246,9 +3362,9 @@ translate the complete SQLite API into Python.")
(format #t "test suite not run~%"))
#t)))))
(propagated-inputs
- `(("python-typing-extensions" ,python-typing-extensions)))
+ (list python-typing-extensions))
(native-inputs
- `(("python-aiounittest" ,python-aiounittest)))
+ (list python-aiounittest))
(home-page "https://github.com/jreese/aiosqlite")
(synopsis
"Asyncio bridge for sqlite3")
@@ -3303,29 +3419,127 @@ designed to be easy and intuitive to use.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
- (version "2.8.6")
+ (version "2.9.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
- (base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv"))))
+ (base32 "1099as8ind9kpz30rmqzc3nir668fmpkxwayrj2sjka3ycdiv14f"))))
(build-system python-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
;; and a running postgresql database management service.
- `(#:tests? #f)) ; TODO re-enable after providing a test-db.
+ '(#:tests? #f)) ; TODO re-enable after providing a test-db.
(inputs
- `(("postgresql" ,postgresql))) ; libpq
- (home-page "http://initd.org/psycopg/")
+ (list postgresql)) ; libpq
+ (home-page "https://www.psycopg.org/")
(synopsis "Python PostgreSQL adapter")
(description
"psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API
2.0.")
(license license:lgpl3+)))
-(define-public python2-psycopg2
- (package-with-python2 python-psycopg2))
+(define-public python-psycopg-pool
+ (package
+ (name "python-psycopg-pool")
+ ;; The connection pooling code is on a different release cadence
+ ;; from the driver code, so fetch the latest PyPI release.
+ (version "3.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "psycopg-pool" version))
+ (sha256
+ (base32
+ "1nx139pwzsgrz253zjxw2sf8h713s79h4cp1falmpc39j08djb46"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f ;run for psycopg below
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; This module requires 'psycopg', however psycopg needs this
+ ;; for its tests. Disable sanity check to break the cycle.
+ (delete 'sanity-check))))
+ (home-page "https://www.psycopg.org/")
+ (synopsis "Connection pooler for psycopg")
+ (description
+ "This module provides connection pool implementations that can be used
+with the @code{psycopg} PostgreSQL driver.")
+ (license license:lgpl3+)))
+
+(define-public python-psycopg
+ (package
+ (name "python-psycopg")
+ (version "3.0.8")
+ (source (origin
+ ;; Fetch from git because PyPI contains only cythonized sources.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/psycopg/psycopg")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16i19jqd9lg9r7bc63ssh527cccrpf49g1nlayikk5qlswpzp75y"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "psycopg")))
+ (add-after 'build 'build-c-extensions
+ (lambda _
+ (with-directory-excursion "../psycopg_c"
+ ((assoc-ref %standard-phases 'build)))))
+ (add-after 'install 'install-c-extensions
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; For some reason setup.py refuses to install if the
+ ;; installation directory is not on PYTHONPATH.
+ (setenv "PYTHONPATH" (site-packages inputs outputs))
+ (with-directory-excursion "../psycopg_c"
+ ((assoc-ref %standard-phases 'install)
+ #:inputs inputs
+ #:outputs outputs))))
+ (add-before 'check 'start-postgresql
+ (lambda _
+ (let ((dbdir (string-append (getcwd) "/../pgdir")))
+ (invoke "initdb" "-D" dbdir)
+ (invoke "pg_ctl" "-D" dbdir
+ "-o" (string-append "-k " dbdir)
+ "-l" (string-append dbdir "/db.log")
+ "start")
+
+ (invoke "psql" "-h" dbdir "-d" "postgres"
+ "-c" "CREATE DATABASE nixbld;"))))
+ (replace 'check
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (setenv "TZDIR" (search-input-directory inputs
+ "share/zoneinfo"))
+ (with-directory-excursion ".."
+ (invoke "pytest" "-vv"
+ "-o" "asyncio_mode=auto"
+ ;; FIXME: Many of the typing tests are failing,
+ ;; conveniently tagged as slow...
+ "-k" "not slow"))))))))
+ (native-inputs
+ (list python-cython-3
+ python-mypy
+ python-psycopg-pool
+ python-pytest
+ python-pytest-asyncio
+ python-tenacity
+ pproxy
+ tzdata-for-tests))
+ (inputs
+ (list postgresql))
+ (home-page "https://www.psycopg.org/")
+ (synopsis "PostgreSQL driver for Python")
+ (description
+ "Psycopg 3 is a new implementation of the popular @code{psycopg2}
+database adapter for Python.")
+ (license license:lgpl3+)))
(define-public python-sadisplay
(package
@@ -3351,10 +3565,10 @@ designed to be easy and intuitive to use.")
(invoke "pytest" "-vv"))
(format #t "test suite not run~%")))))))
(propagated-inputs
- `(("python-sqlalchemy" ,python-sqlalchemy)))
+ (list python-sqlalchemy))
(native-inputs
;; For tests.
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://bitbucket.org/estin/sadisplay")
(synopsis "SQLAlchemy schema displayer")
(description "This package provides a program to build Entity
@@ -3362,9 +3576,6 @@ Relationship diagrams from a SQLAlchemy model (or directly from the
database).")
(license license:bsd-3)))
-(define-public python2-sadisplay
- (package-with-python2 python-sadisplay))
-
(define-public yoyo-migrations
(package
(name "yoyo-migrations")
@@ -3386,8 +3597,7 @@ database).")
;; fails to connect to it.
'(#:tests? #f))
(propagated-inputs
- `(("python-sqlparse" ,python-sqlparse)
- ("python-tabulate" ,python-tabulate)))
+ (list python-sqlparse python-tabulate))
(home-page "https://ollycope.com/software/yoyo/latest/")
(synopsis "Database migrations with SQL")
(description
@@ -3448,20 +3658,20 @@ parsing code in hiredis. It primarily speeds up parsing of multi bulk replies."
(define-public python-fakeredis
(package
(name "python-fakeredis")
- (version "1.2.1")
+ (version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fakeredis" version))
(sha256
(base32
- "1s12mn4q4hz7402139khn9fx56kibj7nn0d6w81hn0zs07b90wpc"))))
+ "0wacd3f558vzsrpdvgvdwy9pp6crxf8hxblz30zbsv1k63j15gf9"))))
(build-system python-build-system)
(arguments
;; no tests
`(#:tests? #f))
(propagated-inputs
- `(("python-sortedcontainers" ,python-sortedcontainers)))
+ (list python-packaging python-redis python-sortedcontainers))
(home-page "https://github.com/jamesls/fakeredis")
(synopsis "Fake implementation of redis API for testing purposes")
(description
@@ -3474,9 +3684,6 @@ talk to an external server such as redis. This module can be used as a
reasonable substitute.")
(license license:bsd-3)))
-(define-public python2-fakeredis
- (package-with-python2 python-fakeredis))
-
(define-public python-redis
(package
(name "python-redis")
@@ -3531,12 +3738,9 @@ reasonable substitute.")
(getenv "PATH")))
(invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("redis" ,redis)))
+ (list python-mock python-pytest redis))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-redis" ,python-redis)))
+ (list python-click python-redis))
(home-page "https://python-rq.org/")
(synopsis "Simple job queues for Python")
(description
@@ -3572,11 +3776,9 @@ is designed to have a low barrier to entry.")
(which "env")))
(invoke "./run_tests.py"))))))
(native-inputs
- `(("redis" ,redis)
- ("which" ,which)))
+ (list redis which))
(propagated-inputs
- `(("python-croniter" ,python-croniter)
- ("python-rq" ,python-rq)))
+ (list python-croniter python-rq))
(synopsis "Job scheduling capabilities for RQ (Redis Queue)")
(description
"This package provides job scheduling capabilities to @code{python-rq}
@@ -3610,13 +3812,13 @@ is designed to have a low barrier to entry.")
(define-public python-sqlparse
(package
(name "python-sqlparse")
- (version "0.4.1")
+ (version "0.4.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlparse" version))
(sha256
(base32
- "1s2l0jgi1v7rk7smzb99iamasaz22apfkczsphn3ci4wh8pgv48g"))))
+ "1bkx52c2jh28c528b69qfk2ijfzw1laxx6lim7jr8fi6fh67600c"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -3639,12 +3841,13 @@ is designed to have a low barrier to entry.")
(string-append output sitedir))
(list python out))))))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/andialbrecht/sqlparse")
(synopsis "Non-validating SQL parser")
(description "Sqlparse is a non-validating SQL parser for Python. It
provides support for parsing, splitting and formatting SQL statements.")
- (license license:bsd-3)))
+ (license license:bsd-3)
+ (properties '((cpe-name . "sqlparse")))))
(define-public python-sql
(package
@@ -3663,9 +3866,6 @@ provides support for parsing, splitting and formatting SQL statements.")
transforms idiomatic python function calls to well-formed SQL queries.")
(license license:bsd-3)))
-(define-public python2-sql
- (package-with-python2 python-sql))
-
(define-public python-pypika
(package
(name "python-pypika")
@@ -3681,7 +3881,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
"001pg36sw9a36zdd1kccbymcxndphjcjbbrsy6ri7ng8h4dgz549"))))
(build-system python-build-system)
(native-inputs
- `(("python-parameterized" ,python-parameterized)))
+ (list python-parameterized))
(home-page "https://github.com/kayak/pypika")
(synopsis "SQL query builder API for Python")
(description
@@ -3694,7 +3894,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow
(package
(name "apache-arrow")
- (version "5.0.0")
+ (version "6.0.1")
(source
(origin
(method git-fetch)
@@ -3704,7 +3904,7 @@ the SQL language using a syntax that reflects the resulting query.")
(file-name (git-file-name name version))
(sha256
(base32
- "0275aayzy78nbxzbj93w5152sv5q2c7020ijxnf8b58v9qwfxzz0"))))
+ "0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
@@ -3743,6 +3943,10 @@ the SQL language using a syntax that reflects the resulting query.")
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
"-Dxsimd_SOURCE=SYSTEM"
+ "-DARROW_RUNTIME_SIMD_LEVEL=NONE"
+ "-DARROW_SIMD_LEVEL=NONE"
+ "-DARROW_PACKAGE_KIND=Guix"
+
;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "lib"))
@@ -3784,27 +3988,26 @@ the SQL language using a syntax that reflects the resulting query.")
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF")))
(inputs
- `(("apache-thrift" ,apache-thrift "lib")
- ("boost" ,boost)
- ("brotli" ,google-brotli)
+ `(("boost" ,boost)
+ ("brotli" ,brotli)
("bzip2" ,bzip2)
("double-conversion" ,double-conversion)
("gflags" ,gflags)
("glog" ,glog)
("grpc" ,grpc)
- ("lz4" ,lz4)
("protobuf" ,protobuf)
("python-3" ,python)
("python-numpy" ,python-numpy)
("rapidjson" ,rapidjson)
("re2" ,re2)
("snappy" ,snappy)
- ("utf8proc" ,utf8proc)
- ("xsimd" ,xsimd)
- ("zlib" ,zlib)
- ("zstd" ,zstd "lib")))
+ ("xsimd" ,xsimd)))
+ ;; These are all listed under Requires.private in arrow.pc
+ (propagated-inputs
+ (list `(,apache-thrift "lib") lz4 utf8proc zlib
+ `(,zstd "lib")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(outputs '("out" "lib" "include"))
(home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics")
@@ -3885,7 +4088,7 @@ other traditional Python scientific computing packages.")
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-urllib3" ,python-urllib3)))
+ (list python-urllib3))
(home-page "https://github.com/crate/crate-python")
(synopsis "CrateDB Python client")
(description
@@ -3929,10 +4132,8 @@ simultaneous database connections by using this framework.")
"0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"))))
(build-system gnu-build-system)
(native-inputs
- `(;; For tests.
- ("inetutils" ,inetutils)
- ("glibc-locales" ,glibc-locales)
- ("mariadb" ,mariadb)))
+ (list ;; For tests.
+ inetutils glibc-locales mariadb))
(inputs
`(("libdbi" ,libdbi)
("mariadb:dev" ,mariadb "dev")
@@ -4046,10 +4247,33 @@ PostreSQL, SQLite, ODBC and MySQL.")
connecting to MS SQL and Sybase servers over TCP/IP.")
(license license:lgpl2.0+)))
+(define-public python-tinydb
+ (package
+ (name "python-tinydb")
+ (version "4.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "tinydb" version))
+ (sha256
+ (base32 "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))
+ (build-system python-build-system)
+ ;; PyPi tarball does not contain tests and github repository does not
+ ;; have a setup.py file (only pyproject).
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ (list python-typing-extensions))
+ (home-page "https://github.com/msiemens/tinydb")
+ (synopsis "TinyDB is a lightweight document oriented database")
+ (description
+ "TinyDB is a small document oriented database written in pure Python
+with no external dependencies. The targets are small apps that would
+be blown away by a SQL-DB or an external database server.")
+ (license license:expat)))
+
(define-public sequeler
(package
(name "sequeler")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4058,7 +4282,7 @@ connecting to MS SQL and Sybase servers over TCP/IP.")
(file-name (git-file-name name version))
(sha256
(base32
- "1q1vzc3likpiwfh6blkyiz0wr0aarj9xrm8gbi7m3p1wslkpah7c"))))
+ "0biggmsn8k7j6pdrwk29whl56qlfgvf5d9vjpgz4nyqih56wgh9j"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -4069,8 +4293,7 @@ connecting to MS SQL and Sybase servers over TCP/IP.")
(lambda _
(substitute* "build-aux/meson_post_install.py"
(("gtk-update-icon-cache") "true")
- (("update-desktop-database") "true"))
- #t)))))
+ (("update-desktop-database") "true")))))))
(native-inputs
`(;("appstream-glib" ,appstream-glib) ; validation fails for lack of network
("gettext-minimal" ,gettext-minimal)