[PATCH 0/1] Add cl-lmdb

  • Done
  • quality assurance status badge
Details
2 participants
  • Arun Isaac
  • Guillaume Le Vaillant
Owner
unassigned
Submitted by
Arun Isaac
Severity
normal
A
A
Arun Isaac wrote on 12 May 2022 09:09
(address . guix-patches@gnu.org)(name . Arun Isaac)(address . arunisaac@systemreboot.net)
20220512070908.10346-1-arunisaac@systemreboot.net
This patch adds cl-lmdb. But, lmdb does not build for ecl. So, I have omitted
ecl-lmdb. Is that ok?

Thanks!

Arun Isaac (1):
gnu: Add cl-lmdb.

gnu/packages/lisp-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

--
2.36.0
A
A
Arun Isaac wrote on 12 May 2022 09:12
[PATCH] gnu: Add cl-lmdb.
(address . 55383@debbugs.gnu.org)(name . Arun Isaac)(address . arunisaac@systemreboot.net)
20220512071224.11231-1-arunisaac@systemreboot.net
* gnu/packages/lisp-xyz.scm (sbcl-lmdb, cl-lmdb): New variables.
---
gnu/packages/lisp-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ab264923c3..33b3957464 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,53 @@ (define-public cl-formgrep
(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-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))
--
2.36.0
G
G
Guillaume Le Vaillant wrote on 13 May 2022 17:34
(name . Arun Isaac)(address . arunisaac@systemreboot.net)(address . 55383@debbugs.gnu.org)
87bkw1a179.fsf@kitej
Hi,

Arun Isaac <arunisaac@systemreboot.net> skribis:

Toggle quote (3 lines)
> This patch adds cl-lmdb. But, lmdb does not build for ecl. So, I have omitted
> ecl-lmdb. Is that ok?

Yes.


Toggle quote (17 lines)
> * gnu/packages/lisp-xyz.scm (sbcl-lmdb, cl-lmdb): New variables.
> ---
> gnu/packages/lisp-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
>
> [...]
> + (inputs
> + (list lmdb
> + sbcl-alexandria
> + sbcl-bordeaux-threads
> + sbcl-cl-reexport
> + sbcl-mgl-pax
> + sbcl-osicat
> + sbcl-trivial-garbage
> + sbcl-trivial-utf-8))
> [...]

The sbcl-trivial-features package should be added to the inputs, as it
is listed in the asd file. Otherwise, LGTM, you can push the patch.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYn58ag8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+mywD/fBAdxbUfe9j8cCwSPRzzoy+t3PSlz/Pn50dP
XU1Q3ScA/2CHVCw6uTzuVh6ojYRAKRlPBoCQzQXJdE2ZiVbjxQx6
=IPt/
-----END PGP SIGNATURE-----

A
A
Arun Isaac wrote on 16 May 2022 10:35
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 55383-done@debbugs.gnu.org)
87fsl96fjp.fsf@systemreboot.net
Hi Guillaume,

Toggle quote (3 lines)
> The sbcl-trivial-features package should be added to the inputs, as it
> is listed in the asd file. Otherwise, LGTM, you can push the patch.

I added sbcl-trivial-features and pushed the patch.

Thank you!
Closed
?