GNU bug report logs -
#73839
[PATCH 1/5] lisp-xyz: + sbcl-posix-shm
Previous Next
Reported by: Grigory Shepelev <shegeley <at> gmail.com>
Date: Wed, 16 Oct 2024 12:05:02 UTC
Severity: normal
Tags: patch
Done: Guillaume Le Vaillant <glv <at> posteo.net>
Bug is archived. No further changes may be made.
Full log
Message #47 received at 73839 <at> debbugs.gnu.org (full text, mbox):
From: Grigory Shepelev <shegeley <at> gmail.com>
* gnu/packages/lisp-xyz.scm (cl-posix-shm, ecl-posix-shm, sbcl-shm): New
variables.
Change-Id: I5ac9a3751977bf98d817acd8b98d1a2ad9d393f7
Co-authored-by: Sharlatan Hellseher <sharlatanus <at> gmail.com>
---
gnu/packages/lisp-xyz.scm | 75 +++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index d93c67ca5d..429541e377 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -30217,6 +30217,81 @@ (define-public cl-trivial-raw-io
(define-public ecl-trivial-raw-io
(sbcl-package->ecl-package sbcl-trivial-raw-io))
+(define-public sbcl-posix-shm
+ (package
+ (name "sbcl-posix-shm")
+ (version "0.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/posix-shm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "posix-shm" version))
+ (sha256
+ (base32 "1lk8sach64zgj81988q3z8i153gi3dkda3fkb11cxgsmymawddk9"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:asd-systems ''("posix-shm" "posix-shm/ffi" "posix-shm/test")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ffi/ffi.lisp"
+ (("libc.so.6")
+ (search-input-file inputs "/lib/libc.so.6"))
+ (("librt.so.1")
+ (search-input-file inputs "/lib/librt.so.1"))))))))
+ (native-inputs
+ (list sbcl-osicat
+ sbcl-parachute))
+ (inputs
+ (list sbcl-cffi
+ sbcl-alexandria
+ sbcl-trivial-features))
+ (home-page "https://git.sr.ht/~shunter/posix-shm")
+ (synopsis "Common Lisp bindings and wrapper for the POSIX shared memory API")
+ (description
+ "This library provides two strata to access the POSIX shm API:
+
+@itemize
+@item the package @code{posix-shm/ffi}, a collection of slim bindings to the
+POSIX API
+
+@item the package @code{posix-shm}, a lispy wrapper around the FFI that
+integrates more closely to the features of Common Lisp, and provides a handful
+of utilities and macros
+@end itemize
+
+Features include:
+
+@itemize
+@item open, close, create, resize, change ownership of, change permissions of,
+and memory map to shared memory objects
+@item @code{open-shm} appears more like @code{open} from the standard library
+@item @code{open-shm*}, for creating anonymous shm objects
+@item @code{with-open-shm}, @code{with-mmap} and similar @code{with-} macros
+for safely accessing resources with dynamic extent
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public cl-posix-shm
+ (sbcl-package->cl-source-package sbcl-posix-shm))
+
+(define-public ecl-posix-shm
+ (let ((pkg (sbcl-package->ecl-package sbcl-posix-shm)))
+ (package
+ (inherit pkg)
+ ;; XXX: An error occurred during initialization: Attempt to redefine
+ ;; function FTRUNCATE in locked package..
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'build)
+ (delete 'check))))))))
+
(define-public sbcl-trivial-rfc-1123
(let ((commit "9ef59c3fdec08b0e3c9ed02d39533887b6d1b8e3")
(revision "0"))
--
2.46.0
This bug report was last modified 205 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.