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.scm646
1 files changed, 361 insertions, 285 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f262aaf95b..9dda410a59 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2016, 2018, 2022 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
@@ -32,7 +32,7 @@
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
-;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
@@ -66,6 +66,7 @@
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
+;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -92,7 +93,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
- #:use-module (gnu packages certs)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -115,6 +116,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
@@ -147,6 +149,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages prometheus)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@@ -481,6 +484,113 @@ database later.")
license:mpl1.1 ; examples/interfaces/0{6,8}*.cpp
license:public-domain)))) ; including files without explicit licence
+(define-public go-github-com-cockroachdb-pebble
+ ;; TODO: As inherited package can't be placed in separate module, keeping
+ ;; this Golang source library here.
+ (package
+ (name "go-github-com-cockroachdb-pebble")
+ (version "1.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cockroachdb/pebble")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15px3m8fid7fwh0xfyia75aak6a5sx5q3r01n79fr6mnyiaix18a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.23
+ #:build-flags #~(list "-tags" "external_libzstd")
+ #:test-flags #~(list "-tags" "external_libzstd"
+ ;; Skip tests requiring git in PATH.
+ "-skip" "TestLint")
+ ;; XXX: Maybe run more tests if possible.
+ #:test-subdirs #~(list "internal/...")
+ #:import-path "github.com/cockroachdb/pebble"))
+ (native-inputs
+ (list go-github-com-stretchr-testify
+ go-golang-org-x-perf
+ pkg-config))
+ (inputs
+ (list (list zstd "lib")))
+ (propagated-inputs
+ (list go-github-com-cespare-xxhash-v2
+ go-github-com-cockroachdb-datadriven
+ go-github-com-cockroachdb-errors
+ go-github-com-cockroachdb-fifo
+ go-github-com-cockroachdb-redact
+ go-github-com-cockroachdb-tokenbucket
+ go-github-com-datadog-zstd
+ go-github-com-ghemawat-stream
+ go-github-com-golang-snappy
+ go-github-com-guptarohit-asciigraph
+ go-github-com-hdrhistogram-hdrhistogram-go
+ go-github-com-klauspost-compress
+ go-github-com-kr-pretty
+ go-github-com-pkg-errors
+ go-github-com-pmezard-go-difflib
+ go-github-com-prometheus-client-golang
+ go-github-com-prometheus-client-model
+ go-github-com-spf13-cobra
+ go-golang-org-x-exp
+ go-golang-org-x-perf
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
+ (home-page "https://github.com/cockroachdb/pebble")
+ (synopsis "RocksDB/LevelDB inspired key-value database in Golang")
+ (description
+ "Pebble is a LevelDB/RocksDB inspired key-value store focused on
+performance and internal usage by CockroachDB. Pebble inherits the RocksDB
+file formats and a few extensions such as range deletion tombstones,
+table-level bloom filters, and updates to the MANIFEST format.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-cockroachdb-pebble-v2
+ (package
+ (inherit go-github-com-cockroachdb-pebble)
+ (name "go-github-com-cockroachdb-pebble-v2")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cockroachdb/pebble")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jglnsabg7y0y5agazvvmsa0r0ddn0j3c204cdpv7qsvi90pnr0d"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-cockroachdb-pebble)
+ ((#:tests? _ #t) #f) ; TODO: Find out why some tests fails to build
+ ((#:import-path _) "github.com/cockroachdb/pebble/v2")))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs go-github-com-cockroachdb-pebble)
+ (append go-github-com-cockroachdb-crlib
+ go-github-com-cockroachdb-swiss)))))
+
+(define-public pebble
+ (package/inherit go-github-com-cockroachdb-pebble
+ (name "pebble")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-cockroachdb-pebble)
+ ((#:tests? _ #t) #f)
+ ((#:install-source? _ #t) #f)
+ ((#:import-path _) "github.com/cockroachdb/pebble/cmd/pebble")
+ ((#:unpack-path _ "") "github.com/cockroachdb/pebble")))
+ (native-inputs
+ (append (package-propagated-inputs go-github-com-cockroachdb-pebble)
+ (package-native-inputs go-github-com-cockroachdb-pebble)))
+ (propagated-inputs '())
+ (description
+ (string-append (package-description
+ go-github-com-cockroachdb-pebble)
+ "\nThis package provides command line interface (CLI)."))))
+
(define-public dicedb
(package
(name "dicedb")
@@ -498,7 +608,6 @@ database later.")
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
#:install-source? #f
#:import-path "github.com/dicedb/dice"
#:build-flags
@@ -735,29 +844,32 @@ this package in a more convenient interface, and should be preferred where
they exist.")
(license license:asl2.0)))
+;; XXX: This project was archived by the owner on Apr 15, 2025. It is now
+;; read-only.
(define-public python-prisma
(package
(name "python-prisma")
- (version "0.12.0")
+ (version "0.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prisma" version))
(sha256
- (base32 "1y9m3bailnvid59dl4vx31vysaqbcg6gsppskyymaxg3m96808pc"))))
+ (base32 "01x1ki99k2ps2jis73vzzrqw8zsf810205f17zdja9ijm0m41mjw"))))
(build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI
+ (native-inputs
+ (list python-setuptools))
(propagated-inputs
- (list python-cached-property
- python-click
+ (list python-click
python-dotenv
python-httpx
python-jinja2
python-nodeenv
python-pydantic-2
- python-strenum
python-tomlkit
python-typing-extensions))
- (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/RobertCraigie/prisma-client-py")
(synopsis "Fully type-safe database client")
(description
@@ -775,7 +887,7 @@ client.")
(uri (pypi-uri "pylibmc" version))
(sha256
(base32 "1q06696lxpqn155sydg3z6dksimks6n35q72zdjsvarpal8ldypf"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -784,7 +896,7 @@ client.")
(lambda _
(invoke "memcached" "-d"))))))
(native-inputs
- (list memcached python-pytest))
+ (list memcached python-pytest python-setuptools))
(inputs
(list libmemcached zlib cyrus-sasl))
(home-page "https://sendapatch.se/projects/pylibmc/")
@@ -870,27 +982,21 @@ auto-completion and syntax highlighting.")
(define-public python-sqlitedict
(package
(name "python-sqlitedict")
- (version "2.0.0")
+ (version "2.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlitedict" version))
(sha256
(base32
- "05sxy016k3p5sjjhdg0ad9z15i6vm3rq4cr9m8nrc7jfdx0p18r3"))))
- (build-system python-build-system)
+ "134y1ya74ah3g1pd3g9iqjlrcjr2y5b2iny2skqrcab0dnwwzn83"))))
+ (build-system pyproject-build-system)
(arguments
(list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv"
- "-k"
- ;; No idea why these fail.
- (string-append "not test_py24_error"
- " and not test_tablenames"))))))))
- (native-inputs (list python-pytest))
+ #:test-flags
+ ;; assert os.system('env PYTHONPATH=. %s tests/autocommit.py' %
+ ;; sys.executable) == 0
+ #~(list "--deselect=tests/test_autocommit.py::test")))
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/piskvorky/sqlitedict")
(synopsis "Persistent dict backed up by sqlite3 and pickle")
(description
@@ -1065,7 +1171,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.11.10")
+ (version "10.11.14")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB"
@@ -1073,7 +1179,7 @@ Language.")
version ".tar.gz"))
(sha256
(base32
- "08phlqcwcwl753zi2jv702q7b3h25d489289mflnm8c31djp8smh"))
+ "0bq5gn5yl3c6jnsamam4nb42y10c43ag764f7mkf7m5i9yqiqmwa"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1132,14 +1238,6 @@ Language.")
#:parallel-tests? ,(target-x86-64?)
#:phases
(modify-phases %standard-phases
- ;; TODO: Move this patch to the source field.
- ,@(if (target-riscv64?)
- `((add-after 'unpack 'patch-source
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (invoke "patch" "-p1" "--force" "--input"
- (assoc-ref (or native-inputs inputs)
- "patch-file")))))
- '())
(add-after 'unpack 'adjust-output-references
(lambda _
;; The build system invariably prepends $CMAKE_INSTALL_PREFIX
@@ -1246,7 +1344,8 @@ Language.")
(("basedir=\"\"")
(string-append "basedir=\"" out "\""))
(("\\$basedir/share/mysql")
- (string-append lib "/share/mysql")))
+ (string-append lib "/share/mysql"))
+ (("bindir=\"\\$basedir//") "bindir=\"/"))
(with-directory-excursion lib
;; Remove tests.
@@ -1280,12 +1379,8 @@ Language.")
(("-lssl -lcrypto" all)
(string-append "-L" openssl " " all)))))))))
(native-inputs
- `(,@(if (target-riscv64?)
- `(("patch" ,patch)
- ("patch-file" ,(search-patch "mariadb-rocksdb-atomic-linking.patch")))
- `())
- ("bison" ,bison)
- ("perl" ,perl)))
+ `(("bison" ,bison)
+ ("perl" ,perl)))
(inputs
(list fmt
jemalloc
@@ -1307,6 +1402,13 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
+(define-public mariadb-embedded
+ (package/inherit mariadb
+ (arguments
+ (substitute-keyword-arguments (package-arguments mariadb)
+ ((#:configure-flags flags)
+ #~(append '("-DWITH_EMBEDDED_SERVER=ON") #$flags))))))
+
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
@@ -2943,43 +3045,6 @@ a simpler and less verbose API for working with ODBC. Common tasks should be
easy, requiring concise and simple code.")
(license license:expat)))
-(define-public nanodbc-for-irods
- (package
- (inherit nanodbc)
- (arguments
- `(#:tests? #false
- #:configure-flags
- '("-DBUILD_SHARED_LIBS=ON"
- ;; The tests require ODBC backends to be installed.
- "-DNANODBC_DISABLE_TESTS=ON"
- "-DCMAKE_CXX_COMPILER=clang++"
- "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
- "-DCMAKE_EXE_LINKER_FLAGS=-lc++abi")
- #:phases
- (modify-phases %standard-phases
- (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gcc (assoc-ref inputs "gcc")))
- (setenv "CPLUS_INCLUDE_PATH"
- (string-join
- (cons (string-append (assoc-ref inputs "libcxx")
- "/include/c++/v1")
- ;; Hide GCC's C++ headers so that they do not interfere with
- ;; the Clang headers.
- (delete (string-append gcc "/include/c++")
- (string-split (getenv "CPLUS_INCLUDE_PATH")
- #\:)))
- ":"))
- (format #true
- "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH"))))))))
- (properties `((hidden? . #true)))
- (inputs
- `(("unixodbc" ,unixodbc)
- ("libcxx" ,libcxx+libcxxabi-6)
- ("libcxxabi" ,libcxxabi-6)
- ("clang" ,clang-6)))))
-
(define-public unqlite
(package
(name "unqlite")
@@ -3071,7 +3136,7 @@ sets, bitmaps and hyperloglogs.")
(package
(name "valkey")
;; For compatibility, keep in sync with redis version.
- (version "7.2.6")
+ (version "7.2.11")
(source
(origin
(method git-fetch)
@@ -3080,7 +3145,7 @@ sets, bitmaps and hyperloglogs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "01pbaprl6nwrwv9382i033w8sslqainws0b22b3l1lzladdawrwx"))
+ (base32 "099523fqbya1xc87spwdxi5nld48r1di31q6zpn252nny0xbrdcb"))
(modules '((guix build utils)))
(snippet
;; Delete bundled jemalloc, as the package will use the libc one
@@ -3132,7 +3197,7 @@ database.")
(package
(inherit valkey-7)
(name "valkey")
- (version "8.1.1")
+ (version "8.1.4")
(source
(origin
(inherit (package-source valkey-7))
@@ -3142,7 +3207,7 @@ database.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1n5ckpa1h87h1llnm4khyf6060gqd4pj43d93vlrvn3hxpdyji8b"))))
+ (base32 "1p7jr5048syd9ln0bsh2n5ba6fd7x9wfa1x67b7wychv7a46dfx1"))))
(arguments
(substitute-keyword-arguments (package-arguments valkey-7)
((#:phases phases '%standard-phases)
@@ -3569,7 +3634,7 @@ semantics.")
(define-public libpqxx
(package
(name "libpqxx")
- (version "7.7.4")
+ (version "7.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3578,9 +3643,9 @@ semantics.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qwpfba8g55jjv0xnsk4hhf2cmhk7mdirxx115cvnjjw97ppy0z0"))))
+ "0x81igwfk7nwc8vvggsnlz806kfzvc7bz0yrqadki01rj348hn85"))))
(build-system gnu-build-system)
- (native-inputs (list gcc-11 python-wrapper))
+ (native-inputs (list python-wrapper))
(inputs (list postgresql))
(arguments '(#:tests? #f)) ;tests require a running PostgreSQL server
(synopsis "C++ connector for PostgreSQL")
@@ -3594,22 +3659,25 @@ on another machine, accessed via TCP/IP.")
(define-public python-peewee
(package
(name "python-peewee")
- (version "3.17.9")
+ (version "3.18.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "peewee" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coleifer/peewee")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1a67kdmyd0y3xzhqj5r90wlpqfg703cqx36awg429qsq2w0cs5gy"))))
+ (base32 "1qd57cd33mf48q0xfmnld58xn5jpbgqrj1bnqlkjmk87y3g9i0q4"))))
(build-system pyproject-build-system)
(arguments
- `(#:tests? #f)) ; fails to import test data
+ (list
+ #:test-backend #~'custom
+ #:test-flags #~(list "runtests.py")))
(inputs
(list sqlite))
(native-inputs
- (list python-cython
- python-setuptools
- python-wheel))
+ (list python-setuptools))
(home-page "https://github.com/coleifer/peewee/")
(synopsis "Small object-relational mapping utility")
(description
@@ -3694,15 +3762,66 @@ with Python's asyncio framework.")
(define-public python-asyncmy
(package
(name "python-asyncmy")
- (version "0.2.5")
+ (version "0.2.10")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asyncmy" version))
- (sha256
- (base32 "0i18zxy6xvzv6dk791xifn2sw2q4zvqwpzrzy8qx51d3mp8z6gng"))))
- (build-system python-build-system)
- (native-inputs (list python-cython))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/long2ice/asyncmy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10sqihiwx7vsdaavgl418hhk7d5rl6d1i60y5bjr76mdfny18q55"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; XXX: Most tests fail, probably because
+ ;; of pytest-asyncio version mismatch.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'cleanup
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each delete-file
+ (find-files (site-packages inputs outputs)
+ "\\.(c|pyx)$"))))
+
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest rest)
+ (when tests?
+ ;; XXX: Else pytest picks up the wrong __init__.py
+ (delete-file-recursively "asyncmy")
+ ;; The tests rely on a MySQL or MariaDB test server
+ ;; being available.
+ (let ((datadir "/tmp/mysql")
+ (socket "/tmp/mysql/mysqld.sock")
+ (username "root")
+ (password "123456")) ;default in conftest.py
+ (invoke "mysqld" "--initialize-insecure"
+ (string-append "--datadir=" datadir))
+ (spawn "mysqld"
+ (list
+ "mysqld"
+ ;; Respect '--datadir'.
+ "--no-defaults"
+ (string-append "--datadir=" datadir)
+ (string-append "--socket=" socket)))
+ (sleep 1)
+ (invoke "mysql"
+ (string-append "--socket=" socket)
+ "-u" "root"
+ "-e" (string-append
+ "ALTER USER 'root'@'localhost' IDENTIFIED BY '"
+ password "';"))
+ (apply (assoc-ref %standard-phases 'check)
+ `(#:tests? ,tests? ,@rest)))))))))
+ (native-inputs
+ (list mysql
+ python-cython
+ python-poetry-core
+ python-pytest
+ python-pytest-asyncio
+ python-setuptools))
(home-page "https://github.com/long2ice/asyncmy")
(synopsis "Fast MySQL driver for Python")
(description "@code{asyncmy} is a fast @code{asyncio} MySQL driver, which
@@ -3817,35 +3936,30 @@ with relational data.")
(define-public aerich
(package
(name "aerich")
- (version "0.7.2")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tortoise/aerich")
- (commit (string-append "v" version))))
+ (url "https://github.com/tortoise/aerich")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0pcy945bg890p12s7cyw0mg7hxwsxyy570j600sbf7kwj2d3lilg"))))
+ (base32 "1cln1ik7519n6k4lnh06w956lp8xjb0khkkpsmaj8wqlm0jbvdbi"))))
(build-system pyproject-build-system)
(native-inputs
- (list poetry
- python-bandit
- python-cryptography
- python-isort
- python-pydantic
+ (list python-cryptography
python-pytest
+ python-poetry-core
python-pytest-asyncio
- python-pytest-mock
- python-pytest-xdist))
+ python-pytest-mock))
(propagated-inputs
- (list python-asyncmy
+ (list python-asyncclick
+ python-asyncmy
python-asyncpg
- python-click
- python-ddlparse
python-dictdiffer
- python-tomlkit
+ python-pydantic
+ python-tomli-w
python-tortoise-orm))
(home-page "https://github.com/tortoise/aerich")
(synopsis "Database migrations tool for Tortoise @acronym{ORM, Object Relational
@@ -3971,75 +4085,58 @@ etc., and an SQL engine for performing simple SQL queries.")
(package
(name "python-lmdb")
(version "1.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "lmdb" version))
- (sha256
- (base32
- "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
- (modules '((guix build utils)))
- (snippet
- ;; Delete bundled lmdb source files.
- '(begin
- (for-each delete-file (list "lib/lmdb.h"
- "lib/mdb.c"
- "lib/midl.c"
- "lib/midl.h"))
- #t))))
- (build-system python-build-system)
- (inputs
- (list lmdb))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "lmdb" version))
+ (sha256
+ (base32 "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
+ (snippet
+ ;; Delete bundled lmdb source files.
+ #~(for-each delete-file
+ '("lib/lmdb.h" "lib/mdb.c" "lib/midl.c" "lib/midl.h")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (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"))
- #t))))
- ;; Tests fail with: ‘lmdb.tool: Please specify environment (--env)’.
- #:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (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"))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list lmdb))
(home-page "https://github.com/dw/py-lmdb")
(synopsis "Python binding for the ‘Lightning’ database (LMDB)")
(description
"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning
Memory-Mapped Database} (LMDB), a high-performance key-value store.")
- (license
- (list license:openldap2.8
- ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
- ;; but not actually needed on platforms currently supported by Guix.
- license:bsd-3))))
+ (license (list license:openldap2.8
+ ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
+ ;; but not actually needed on platforms currently supported by Guix.
+ license:bsd-3))))
(define-public virtuoso-ose
(package
(name "virtuoso-ose")
- (version "7.2.11")
+ (version "7.2.15")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/virtuoso/virtuoso/" version "/"
"virtuoso-opensource-" version ".tar.gz"))
(sha256
- (base32 "0mk25gr1pafmps4nsydjprwswbzwch8b583nlwh7x2031sz7ald1"))
- (patches (search-patches "virtuoso-ose-remove-pre-built-jar-files.patch"))
+ (base32 "1nz6kddwxz5k79g3skj7y45f0l20m8fh8haw42j313xm177xpdp0"))
(modules '((guix build utils)))
;; This snippet removes pre-built Java archives.
(snippet
#~(for-each delete-file-recursively
- (list "binsrc/hibernate"
- "binsrc/jena"
- "binsrc/jena2"
- "binsrc/jena3"
- "binsrc/jena4"
- "binsrc/rdf4j"
- "binsrc/sesame"
- "binsrc/sesame2"
- "binsrc/sesame3"
- "binsrc/sesame4"
- "libsrc/JDBCDriverType4")))))
+ (find-files "." "\\.jar$")))))
(build-system gnu-build-system)
(arguments
(list
@@ -4052,9 +4149,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
"--enable-static=no")
#:phases
#~(modify-phases %standard-phases
- (replace 'bootstrap
- (lambda _
- (invoke "sh" "autogen.sh")))
(add-after 'unpack 'avoid-embedding-kernel-and-timestamps
;; For a reproducible build, avoid embedding the kernel version and
;; timestamps.
@@ -4073,15 +4167,9 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
"appsrc/ODS-FeedManager/make_vad.sh"
"appsrc/ODS-Bookmark/make_vad.sh"
"appsrc/ODS-Addressbook/make_vad.sh"
- "binsrc/dbpedia/make_vad.sh"
"binsrc/samples/demo/make_vad.sh"
"binsrc/samples/demo/mkdoc.sh"
- "binsrc/samples/sparql_demo/make_vad.sh"
- "binsrc/bpel/make_vad.sh"
- "binsrc/fct/make_vad.sh"
- "binsrc/rdf_mappers/make_vad.sh"
- "binsrc/isparql/make_vad.sh"
- "binsrc/conductor/mkvad.sh")
+ "binsrc/rdf_mappers/make_vad.sh")
(("^UNAME_SYSTEM=.*") "UNAME_SYSTEM=unknown\n")
(("^UNAME_RELEASE=.*") "UNAME_RELEASE=unknown\n")
(("^PACKDATE=.*") "PACKDATE=2012-04-18\n")
@@ -4096,7 +4184,7 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
'("libvirtuoso-t.a"
"libvirtuoso-t.la")))))))
(native-inputs
- (list autoconf automake bison flex gperf libtool))
+ (list autoconf automake bison flex gperf libtool python))
(inputs
(list openssl net-tools readline which zlib))
(home-page "https://vos.openlinksw.com/owiki/wiki/VOS/")
@@ -4111,20 +4199,24 @@ and web services platform functionality.")
(define-public python-ccm
(package
(name "python-ccm")
- (version "2.1.6")
+ (version "3.1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ccm" version))
(sha256
(base32
- "177dfxsmk3k4cih6fh6v8d91bh4nqx7ns6pc07w7m7i3cvdx3c8n"))))
- (build-system python-build-system)
+ "0v1jahchm9czcdhynfy76mca52k6jbvngm60jqdwxlhnf6iw0z7h"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; TODO: tests require a complex setup, see <.github/workflows/main.yml>.
+ (list #:tests? #f))
+ (native-inputs
+ (list python-pbr))
(propagated-inputs
(list python-pyyaml
- ;; Not listed in setup.py, but used in ccmlib/node.py for full
- ;; functionality
- python-psutil python-six))
+ python-psutil
+ python-six)) ;XXX: hard dependency
(home-page "https://github.com/pcmanus/ccm")
(synopsis "Cassandra Cluster Manager for Apache Cassandra clusters on
localhost")
@@ -4272,34 +4364,28 @@ You might also want to install the following optional dependencies:
(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"))
- (snippet
- #~(begin (use-modules (guix build utils))
- (substitute* "alchemy_mock/comparison.py"
- (("collections\\.Mapping") "collections.abc.Mapping"))))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/miki725/alchemy-mock")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "053gj8d8ca5kpp7v61wd7lcm9mqp9xqz3d8pp9spdbcjsaqz9nk9"))
+ (snippet #~(begin
+ (use-modules (guix build utils))
+ (substitute* "alchemy_mock/comparison.py"
+ (("collections\\.Mapping")
+ "collections.abc.Mapping"))))))
+ (build-system pyproject-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
- (list python-mock python-pytest))
- (propagated-inputs
- (list python-six python-sqlalchemy))
+ (list
+ #:test-flags
+ #~(list "--doctest-modules" "alchemy_mock")))
+ (native-inputs (list python-mock python-pytest python-setuptools
+ python-wheel))
+ (propagated-inputs (list python-sqlalchemy))
(synopsis "Mock helpers for SQLAlchemy")
(description
"This package provides mock helpers for SQLAlchemy that makes it easy
@@ -4731,13 +4817,13 @@ files or Python scripts that define a list of migration steps.")
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
- (version "2.2.4")
+ (version "2.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mysqlclient" version))
(sha256
- (base32 "0hdznfz9095d2qhl7awbp39s7wpqbxn37xzan487qzaf8srrzg1k"))))
+ (base32 "0i9q2vj6rb4w2iggk0mcp9jla2rm91sx7jcrgv7grm8njjsj5bi4"))))
(build-system pyproject-build-system)
(arguments
(list #:test-flags
@@ -4784,39 +4870,43 @@ parsing code in hiredis. It primarily speeds up parsing of multi bulk replies."
(define-public python-fakeredis
(package
(name "python-fakeredis")
- (version "2.26.1")
- (source (origin
- (method git-fetch) ;for tests
- (uri (git-reference
- (url "https://github.com/cunla/fakeredis-py")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10f9qwpc9vlcd2411c398n9kwjsk399vk1pjd9dbczlhvsn9s5bq"))))
+ (version "2.31.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cunla/fakeredis-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ccywkm42drm2l1l2a1r6v5y5sycsbfbdlgvrrlr5a9ns9s1sb7s"))))
(build-system pyproject-build-system)
(arguments
(list
- #:test-flags '(list "-m" "not slow")
+ #:test-flags
+ #~(list "-m" "not slow"
+ ;; XXX: Requires additional valkey package,
+ ;; but not the one in this module.
+ "--ignore-glob=test/test_valkey/*"
+ ;; XXX: Unclear why these tests fail. Wrong Redis version?
+ "-k" (string-join
+ (list "not test_acl_cat"
+ "test_acl_log_auth_exist"
+ "test_acl_log_invalid_key"
+ "test_acl_log_invalid_channel"
+ "test_client_list"
+ "test_client_info"
+ "test_client_id")
+ " and not "))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'poetry-compatibility
- (lambda _
- ;; Our version of poetry does not understand "to".
- (substitute* "pyproject.toml"
- ((", to = \"fakeredis\" ") ""))))
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- (("sortedcontainers = \"\\^2\\.4\"")
- "sortedcontainers = \"^2.1\""))))
;; Tests require a running Redis server.
(add-before 'check 'start-redis
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "redis-server" "--daemonize" "yes"
"--port" "6390")))))))
- (native-inputs (list python-poetry-core python-pytest
+ (native-inputs (list python-hatchling python-pytest
python-pytest-asyncio python-pytest-mock
redis))
(propagated-inputs
@@ -4997,36 +5087,17 @@ is designed to have a low barrier to entry.")
(define-public python-sqlparse
(package
(name "python-sqlparse")
- (version "0.4.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "sqlparse" version))
- (sha256
- (base32
- "0s3jyllg0ka0n7pgqfng1hzvh39li853dr40qcp4s4dv8r481jk9"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "py.test")))
- ;; XXX: The regular wrap phase ends up storing pytest as a runtime
- ;; dependency. See <https://bugs.gnu.org/25235>.
- (replace 'wrap
- (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (python (assoc-ref (or native-inputs inputs) "python"))
- (sitedir (string-append "/lib/python"
- (python-version python)
- "/site-packages")))
- (wrap-program (string-append out "/bin/sqlformat")
- `("PYTHONPATH" ":" prefix
- ,(map (lambda (output)
- (string-append output sitedir))
- (list python out))))))))))
- (native-inputs (list python-pytest))
- (inputs (list bash-minimal))
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sqlparse" version))
+ (sha256
+ (base32 "0wljxh3lh2zndy7amziwd3572cwwbmzzq6yyvgn1c2vayn3pgxh9"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-hatchling))
(home-page "https://github.com/andialbrecht/sqlparse")
(synopsis "Non-validating SQL parser")
(description "Sqlparse is a non-validating SQL parser for Python. It
@@ -5037,15 +5108,15 @@ provides support for parsing, splitting and formatting SQL statements.")
(define-public python-sql
(package
(name "python-sql")
- (version "1.5.2")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python_sql" version))
(sha256
- (base32 "0dnd0vai9z1fjkppv2xv2f4vlwwz0dqa137f39mrbjw744vm4pvk"))))
+ (base32 "0v637qc2g8w155k7crlg70w4bfxznn28c94prlxcax5dx0ja2d2v"))))
(build-system pyproject-build-system)
- (native-inputs (list python-setuptools python-wheel))
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://python-sql.tryton.org/")
(synopsis "Library to write SQL queries in a pythonic way")
(description "@code{python-sql} is a library to write SQL queries, that
@@ -5693,24 +5764,26 @@ The drivers officially supported by @code{libdbi} are:
(file-name (git-file-name name version))
(sha256
(base32
- "12aq7pama96l2c1kmfkclb4bvrsxs9a8ppgk5gmzw45w2lg35i0y"))))
+ "12aq7pama96l2c1kmfkclb4bvrsxs9a8ppgk5gmzw45w2lg35i0y"))
+ (patches (search-patches "soci-mysql-ddl-types.patch"))))
(build-system cmake-build-system)
(propagated-inputs
;; Headers of soci has include-references to headers of these inputs.
- `(("firebird" ,firebird)
- ("postgresql" ,postgresql)
- ("sqlite" ,sqlite)
- ("odbc" ,unixodbc)
- ("boost" ,boost)
- ("mariadb:dev" ,mariadb "dev")))
+ (list firebird
+ postgresql
+ sqlite
+ unixodbc
+ boost
+ `(,mariadb "dev")))
(arguments
- `(#:configure-flags
- ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs it.
- (list "-DCMAKE_CXX_STANDARD=17"
- "-DSOCI_LIBDIR=lib"
- ;; This is for relocation when linking statically
- "-DCMAKE_CXX_FLAGS=-fPIE")
- #:tests? #f)) ; may require running database management systems
+ (list #:configure-flags
+ ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs
+ ;; it.
+ #~(list "-DCMAKE_CXX_STANDARD=17"
+ "-DSOCI_LIBDIR=lib"
+ ;; This is for relocation when linking statically
+ "-DCMAKE_CXX_FLAGS=-fPIE")
+ #:tests? #f)) ; may require running database management systems
(synopsis "C++ Database Access Library")
(description
"SOCI is an abstraction layer for several database backends, including
@@ -5730,10 +5803,13 @@ PostreSQL, SQLite, ODBC and MySQL.")
(sha256
(base32 "11fzwcahc1bc8npxbif0448v9cwyf7k04167i7fcspmfw7a0hj0d"))))
(build-system gnu-build-system)
+ (inputs (list unixodbc))
(arguments
;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection,
;; disabled for now.
- `(#:tests? #f))
+ `(#:tests? #f
+ #:configure-flags
+ (list (string-append "--with-unixodbc=" (assoc-ref %build-inputs "unixodbc")))))
(home-page "https://www.freetds.org/")
(synopsis "Client libraries for MS SQL and Sybase servers")
(description
@@ -5992,7 +6068,7 @@ relational databases are in general.")
go-github-com-lib-pq
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-sqlite3
- go-github-com-olekukonko-tablewriter
+ go-github-com-olekukonko-tablewriter-0.0.5
go-github-com-pkg-errors
go-github-com-sourcegraph-jsonrpc2
go-golang-org-x-crypto