diff options
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 102 |
1 files changed, 95 insertions, 7 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index b56767d311..db4fe0b447 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -46,7 +46,7 @@ ;;; Copyright © 2020 Vinicius Monego <[email protected]> ;;; Copyright © 2020 Vincent Legoll <[email protected]> ;;; Copyright © 2021 Sharlatan Hellseher <[email protected]> -;;; Copyright © 2021 Greg Hogan <[email protected]> +;;; Copyright © 2021, 2024 Greg Hogan <[email protected]> ;;; Copyright © 2021 David Larsson <[email protected]> ;;; Copyright © 2021 Pjotr Prins <[email protected]> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <[email protected]> @@ -107,6 +107,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-web) #:use-module (gnu packages gperf) @@ -189,6 +190,39 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match)) +(define-public duckdb + (package + (name "duckdb") + (version "0.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/duckdb/duckdb") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dbsxyiz7c8sxflbfj87qv0b2s69zk802vsk5h00ra8w8fcbqlj0")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; There is no git checkout from which to read the version tag. + (substitute* "CMakeLists.txt" + (("set\\(DUCKDB_VERSION \"[^\"]*\"") + (string-append "set(DUCKDB_VERSION \"v" #$version "-dev0\""))))))) + (build-system cmake-build-system) + (home-page "https://duckdb.org") + (synopsis "In-process SQL OLAP database management system") + (description "CLI and C/C++ source libraries for DuckDB, a relational +(table-oriented) @acronym{DBMS, Database Management System} that supports +@acronym{SQL, Structured Query Language}, contains a columnar-vectorized query +execution engine, and provides transactional @acronym{ACID, Atomicity +Consistency Isolation and Durability} guarantees via bulk-optimized +@acronym{MVCC, Multi-Version Concurrency Control}. Data can be stored in +persistent, single-file databases with support for secondary indexes.") + (license license:expat))) + (define-public ephemeralpg (package (name "ephemeralpg") @@ -1446,6 +1480,56 @@ PostgreSQL extension, providing automatic partitioning across time and space (partitioning key), as well as full SQL support.") (license license:asl2.0))) +(define-public pgvector + (package + (name "pgvector") + (version "0.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pgvector/pgvector") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19zcjrlmyj7gfbn8prh014yq50iy4dg97pirsm7idxsr829vwyc5")))) + (build-system gnu-build-system) + (arguments + (list + ;; Do not use -march=native + #:make-flags + '(list "OPTFLAGS=") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (let ((extension (string-append #$output "/share/extension")) + (lib (string-append #$output "/lib")) + (headers (string-append #$output "/include/server/extension/vector"))) + (for-each mkdir-p (list extension lib headers)) + (install-file "vector.so" lib) + (chmod (string-append lib "/vector.so") #o755) + (install-file "vector.control" extension) + (for-each (lambda (file) + (install-file file extension)) + (find-files "sql" "\\.sql$")) + (install-file "src/vector.h" headers))))))) + (inputs (list postgresql)) + (home-page "https://github.com/pgvector/pgvector") + (synopsis "Vector similarity search for Postgres") + (description + "This package provides a vector similarity search extension for Postgres. +Store your vectors with the rest of your data. It supports: + +@itemize +@item exact and approximate nearest neighbor search; +@item L2 distance, inner product, and cosine distance; +@item any language with a Postgres client. +@end itemize +") + (license (license:x11-style "file://COPYRIGHT")))) + (define-public pgloader (package (name "pgloader") @@ -3348,6 +3432,10 @@ etc., and an SQL engine for performing simple SQL queries.") (arguments '(#:tests? #f ; Tests try to use a running mongodb server. #:import-path "gopkg.in/mgo.v2")) + (propagated-inputs + (list go-gopkg.in-tomb.v2)) + (inputs + (list cyrus-sasl)) (native-inputs (list go-gopkg-in-check-v1)) (home-page "https://gopkg.in/mgo.v2") @@ -3792,7 +3880,7 @@ PickleShare.") (define-public python-apsw (package (name "python-apsw") - (version "3.42.0.1") + (version "3.45.1.0") ;; The compressed release has fetching functionality disabled. (source (origin @@ -3802,11 +3890,11 @@ PickleShare.") version "/apsw-" version ".zip")) (sha256 (base32 - "0dr7zymn45x2793cilr709rnwn9g1c4n4vzln57y2lhj7420ykic")))) + "1vfrzb414pbh5k0cgcqkp039jvla2galapn4a551zgh8xi70bnrp")))) (build-system pyproject-build-system) (native-inputs - (list python-cython unzip)) - (inputs (list sqlite-next)) ;SQLite 3.42 required. + (list unzip)) + (inputs (list sqlite-next)) ;SQLite 3.45.1 required. (arguments (list #:phases @@ -4423,7 +4511,7 @@ the SQL language using a syntax that reflects the resulting query.") (define-public apache-arrow (package (name "apache-arrow") - (version "14.0.0") + (version "14.0.2") (source (origin (method git-fetch) @@ -4433,7 +4521,7 @@ the SQL language using a syntax that reflects the resulting query.") (file-name (git-file-name name version)) (sha256 (base32 - "08x01jcibmx03g9p0sjikp3dyynw6is6gyn0m3cy1gwkpkwk2ad2")))) + "1idw58vs8r6g6xy2qkhccgc79hwx4r5rr4bhd6ilxx56fwq9hkn2")))) (build-system cmake-build-system) (arguments (list |