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.scm227
1 files changed, 177 insertions, 50 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f262aaf95b..881047af9d 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>
@@ -115,6 +115,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 +148,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 +483,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 +607,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
@@ -1132,14 +1240,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
@@ -1280,12 +1380,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
@@ -3694,15 +3790,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
@@ -4016,30 +4163,19 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
(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 +4188,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 +4206,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 +4223,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/")
@@ -5992,7 +6119,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