summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorPaul A. Patience <paul@apatience.com>2022-11-23 03:27:04 +0000
committerGuillaume Le Vaillant <glv@posteo.net>2022-11-24 10:11:18 +0100
commitb0c392ffcf8148aebc5f5c75e92272d58b821278 (patch)
tree5b39670331ee742e5af7da7c8054ffd2764ab733 /gnu
parent8a620036d7490766be1822213ed8ab88cbe4f491 (diff)
gnu: Add cl-tar-file.
* gnu/packages/lisp-xyz.scm (sbcl-tar-file, cl-tar-file, ecl-tar-file): New variables. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp-xyz.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index baf7e86d3b..b548732320 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9526,6 +9526,55 @@ archives such as those generated by the tar and cpio programs on Unix.")
(define-public ecl-archive
(sbcl-package->ecl-package sbcl-archive))
+(define-public sbcl-tar-file
+ (let ((commit "0c10bc82f14702c97a26dc25ce075b5d3a2347d1")
+ (revision "0"))
+ (package
+ (name "sbcl-tar-file")
+ (version (git-version "0.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/cl-tar/cl-tar-file")
+ (commit commit)))
+ (file-name (git-file-name "cl-tar-file" version))
+ (sha256
+ (base32 "0i8j05fkgdqy4c4pqj0c68sh4s3klpx9kc5wp73qwzrl3xqd2svy"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-parachute))
+ (inputs
+ (list sbcl-40ants-doc
+ sbcl-alexandria
+ sbcl-babel
+ sbcl-chipz
+ sbcl-flexi-streams
+ sbcl-salza2
+ sbcl-trivial-gray-streams))
+ (home-page "https://gitlab.common-lisp.net/cl-tar/cl-tar-file")
+ (synopsis "Read and write physical entries to and from tar files")
+ (description
+ "@code{cl-tar-file} is a Common Lisp library that allows reading from
+and writing to various tar archive formats. Currently supported are the POSIX
+ustar, PAX (ustar with a few new entry types), GNU, and v7 (very old) formats.
+
+This library is rather low level and is focused exclusively on reading and
+writing physical tar file entries using streams. Therefore, it contains no
+functionality for automatically building archives from a set of files on the
+filesystem or writing the contents of a file to the filesystem. Additionally,
+there are no smarts that read multiple physical entries and combine them into
+a single logical entry (e.g., with PAX extended headers or GNU long link/path
+name support). For a higher-level library that reads and writes logical
+entries, and also includes filesystem integration, see @code{cl-tar}.")
+ (license license:bsd-3))))
+
+(define-public cl-tar-file
+ (sbcl-package->cl-source-package sbcl-tar-file))
+
+(define-public ecl-tar-file
+ (sbcl-package->ecl-package sbcl-tar-file))
+
(define-public sbcl-misc-extensions
(let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
(revision "1"))