summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-07-16 18:45:42 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-07-16 18:45:42 +0200
commit0f44f63ca216c8c50ac77f9e4ea600bebc2f45a3 (patch)
treee9b9c579788c7e980a459ff0adeee7a9c54a725f /gnu/packages/lisp-xyz.scm
parent1c1b0532d19bd514cd2a5c7f09371808f10f3092 (diff)
downloadguix-patches-0f44f63ca216c8c50ac77f9e4ea600bebc2f45a3.tar
guix-patches-0f44f63ca216c8c50ac77f9e4ea600bebc2f45a3.tar.gz
gnu: Add cl-mmap.
* gnu/packages/lisp-xyz.scm (sbcl-mmap, cl-mmap, ecl-mmap): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e4d110381d..91088d8b58 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -12535,3 +12535,43 @@ in the TIFF (Tagged Image File Format) format.")
(define-public ecl-retrospectiff
(sbcl-package->ecl-package sbcl-retrospectiff))
+
+(define-public sbcl-mmap
+ (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
+ (revision "0"))
+ (package
+ (name "sbcl-mmap")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/mmap")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi" ,sbcl-cffi)
+ ("parachute" ,sbcl-parachute)
+ ("trivial-features" ,sbcl-trivial-features)))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/mmap/")
+ (synopsis "File memory mapping for Common Lisp")
+ (description
+ "This is a utility library providing access to the @emph{mmap} family of
+functions in a portable way. It allows you to directly map a file into the
+address space of your process without having to manually read it into memory
+sequentially. Typically this is much more efficient for files that are larger
+than a few Kb.")
+ (license license:zlib))))
+
+(define-public cl-mmap
+ (sbcl-package->cl-source-package sbcl-mmap))
+
+(define-public ecl-mmap
+ (sbcl-package->ecl-package sbcl-mmap))