[PATCH 0/1] Add cl-lmdb

DoneSubmitted by Arun Isaac.
Details
2 participants
  • Arun Isaac
  • Guillaume Le Vaillant
Owner
unassigned
Severity
normal
A
A
Arun Isaac wrote on 12 May 09:09 +0200
(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 09:12 +0200
[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 17:34 +0200
(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 10:35 +0200
(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
?
Your comment

This issue is archived.

To comment on this conversation send email to 55383@debbugs.gnu.org