From b0c392ffcf8148aebc5f5c75e92272d58b821278 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 23 Nov 2022 03:27:04 +0000 Subject: [PATCH] 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 --- gnu/packages/lisp-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) 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 @@ (define-public cl-archive (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"))