guix_mirror_bot pushed a commit to branch go-team
in repository guix.
commit 254205dba3028e846a5a5fa8855dca8cb16700f3
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Wed May 28 22:38:25 2025 +0100
gnu: Add go-github-com-cockroachdb-pebble.
* gnu/packages/databases.scm (go-github-com-cockroachdb-pebble, pebble):
New variables.
Change-Id: I1ad3128d200786441c954609a36efadd49076947
---
gnu/packages/databases.scm | 85 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2bfa37ea90..e047fc1a88 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -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)
@@ -487,6 +489,89 @@ 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 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")