From 3fa4a8baf3fb735a09ed915abd4f61600e2d77e2 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 30 Jan 2024 17:08:49 +0000 Subject: gnu: Add duckdb. * gnu/packages/databases.scm (duckdb): New variable. Change-Id: Ic689dbd4bb91a2c806f846464e2af95be50cd069 Signed-off-by: Sharlatan Hellseher --- gnu/packages/databases.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'gnu/packages/databases.scm') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4a2b1b2507..5169795404 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -46,7 +46,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 Sharlatan Hellseher -;;; Copyright © 2021 Greg Hogan +;;; Copyright © 2021, 2024 Greg Hogan ;;; Copyright © 2021 David Larsson ;;; Copyright © 2021 Pjotr Prins ;;; Copyright © 2021 Bonface Munyoki Kilyungi @@ -190,6 +190,39 @@ (define-module (gnu packages databases) #: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") -- cgit v1.2.3