mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
33 lines
1.1 KiB
Scheme
33 lines
1.1 KiB
Scheme
|
|
(define-library (chibi tar)
|
|
(import (scheme base) (scheme file) (scheme time) (srfi 1) (scheme write)
|
|
(chibi string) (chibi binary-record) (chibi pathname)
|
|
(chibi filesystem))
|
|
(cond-expand
|
|
((library (srfi 151)) (import (srfi 151)))
|
|
((library (srfi 33)) (import (srfi 33)))
|
|
(else (import (srfi 60))))
|
|
(cond-expand
|
|
(chibi
|
|
(import (chibi system)))
|
|
(chicken
|
|
(import posix)
|
|
(begin
|
|
(define (user-name x) (if (pair? x) (car x) "nobody"))
|
|
(define (group-name x) (if (pair? x) (car x) "nobody")))))
|
|
(export
|
|
;; basic
|
|
tar make-tar tar? read-tar write-tar
|
|
;; utilities
|
|
tar-safe? tar-files tar-fold tar-extract tar-extract-file tar-create
|
|
;; accessors
|
|
tar-path tar-path-prefix tar-mode tar-uid tar-gid
|
|
tar-owner tar-group tar-size
|
|
tar-time tar-type tar-link-name
|
|
tar-path-set! tar-mode-set! tar-uid-set! tar-gid-set!
|
|
tar-owner-set! tar-group-set! tar-size-set!
|
|
tar-time-set! tar-type-set! tar-link-name-set!
|
|
tar-device-major tar-device-major-set!
|
|
tar-device-minor tar-device-minor-set!
|
|
tar-ustar tar-ustar-set!)
|
|
(include "tar.scm"))
|