aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2022-05-11 12:52:49 +0530
committerArun Isaac <arunisaac@systemreboot.net>2022-05-16 13:57:48 +0530
commitbbdcec5f8b77f14a4d0d4d25cbd11e360d0a8870 (patch)
treea5d4bb555c863407088875bd3bb01129b59602c9
parent40a729a0e6f1d660b942241416c1e2c567616d4d (diff)
downloadguix-bbdcec5f8b77f14a4d0d4d25cbd11e360d0a8870.tar
guix-bbdcec5f8b77f14a4d0d4d25cbd11e360d0a8870.tar.gz
gnu: Add cl-lmdb.
* gnu/packages/lisp-xyz.scm (sbcl-lmdb, cl-lmdb): New variables.
-rw-r--r--gnu/packages/lisp-xyz.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ab264923c3..c3bf614e9f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
+;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@
(define-module (gnu packages lisp-xyz)
#:use-module (gnu packages)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -21269,3 +21271,54 @@ of the files and the line numbers where they were found.")
(define-public ecl-formgrep
(sbcl-package->ecl-package sbcl-formgrep))
+
+(define-public sbcl-lmdb
+ (let ((commit "f439b707939a52769dc9747838ff4a616fab14a3")
+ (revision "0"))
+ (package
+ (name "sbcl-lmdb")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/antimer/lmdb")
+ (commit commit)))
+ (file-name (git-file-name "cl-lmdb" version))
+ (sha256
+ (base32 "0akvimmvd4kcx6gh1j1dzvcclhc0jc4hc9vkh3ldgzb8wyf4vl8q"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/lmdb.lisp"
+ (("\"liblmdb.so\"")
+ (string-append
+ "\"" (search-input-file inputs "/lib/liblmdb.so") "\""))))))))
+ (inputs
+ (list lmdb
+ sbcl-alexandria
+ sbcl-bordeaux-threads
+ sbcl-cl-reexport
+ sbcl-mgl-pax
+ sbcl-osicat
+ sbcl-trivial-features
+ sbcl-trivial-garbage
+ sbcl-trivial-utf-8))
+ (native-inputs
+ (list sbcl-try))
+ (home-page "https://github.com/antimer/lmdb")
+ (synopsis "LMDB bindings for Common Lisp")
+ (description
+ "LMDB, the Lightning Memory-mapped Database, is an ACID key-value
+database with multiversion concurrency control. This package is a Common Lisp
+wrapper around the C LMDB library. It covers most of C LMDB's functionality,
+has a simplified API, much needed safety checks, and comprehensive
+documentation.")
+ (license license:expat))))
+
+(define-public cl-lmdb
+ (sbcl-package->cl-source-package sbcl-lmdb))