Archive file SRFIs Lassi Kortela (01 Apr 2019 08:49 UTC)
Re: Archive file SRFIs Arthur A. Gleckler (01 Apr 2019 15:05 UTC)
Re: Archive file SRFIs Lassi Kortela (01 Apr 2019 16:29 UTC)
Re: Archive file SRFIs John Cowan (01 Apr 2019 16:47 UTC)
Re: Archive file SRFIs Lassi Kortela (01 Apr 2019 17:38 UTC)
Re: Archive file SRFIs Göran Weinholt (01 Apr 2019 20:14 UTC)
Re: Archive file SRFIs Lassi Kortela (05 Apr 2019 21:47 UTC)
Re: Archive file SRFIs Lassi Kortela (05 Apr 2019 22:17 UTC)
Re: Archive file SRFIs Lassi Kortela (07 Apr 2019 16:53 UTC)
Re: Archive file SRFIs John Cowan (07 Apr 2019 17:54 UTC)

Re: Archive file SRFIs Lassi Kortela 05 Apr 2019 21:47 UTC

>> Any Scheme implementers reading this and want to volunteer your
>> implementation to use as a testbed?

Nobody raised their hand so I started out with Chibi Scheme. Here's what
I have so far:
<https://github.com/lassik/archive-srfis/tree/master/implementation>.
Both Chibi and libarchive have done their part in making this a nice
project for something as grubby as FFI bindings. I didn't have to bind
all that many functions from libarchive to arrive at stable library with
the usual features.

The biggest missing things are:
- archive format detection (by default libarchive just handles
everything you throw at it without telling you what it is)
- pathname normalization and safety checks
- separating compressor (gzip et.al.) handling from tar handling

I've had the SRFI drafts mostly written for a few days, but I haven't
published them before doing the implementations since there is probably
some embarrassing oversight :D

>> I'll do Chez anyway. With Göran's approval, I plan to adapt his
>> <https://github.com/weinholt/compression> library
>
> Go ahead, it has been sitting and waiting for you to come around. The
> SRFI process is partly why that code already has the MIT license on it.

Awesome :) I read through the code but decided to try binding libarchive
first since it's quite full-featured, tested and documented. Once that's
working I'll get to work on adapting your library.