[Nix-dev] Re: *.tar.lzma archives

Sander van der Burg - EWI S.vanderBurg at tudelft.nl
Sat Oct 17 12:34:32 CEST 2009


> I'm not sure about that.  My understanding is that it used to be in
> fashion at some point, but eventually got superseded by 'xz' (and
> perhaps something else before).

> So I'm inclined to leaving just gzip and bzip2 in 'stdenv' by default.

> What do you think?

I think it wouldn't harm very much if we add *.tar.lzma and *.tar.xz to the generic builder in the stdenv-branch.
It makes using the generic builder more convenient I think.

> But OpenBSD's stdenv now uses GNU tar, right?

> At any rate, 'libtool2.nix' does "lzma -d < $src | tar xv", which should
> be POSIXly correct.  If it's not, changing it to
> "lzma -d < $src | tar xv -" should be enough.

Yes, OpenBSD uses GNU tar now, but it still gives us the same problem. I tried all these options on OpenBSD:

lzma -d < $src | tar xv
lzma -d < $src | tar xv -
lzma -d < $src | gtar xv
lzma -d < $src | gtar xv -

They all give me an error like: /dev/rst0: Cannot open: Device not configured

I really need the -f option for tar:

All these combinations work on OpenBSD (and Linux, FreeBSD etc):

lzma -d < $src | tar xfv
lzma -d < $src | tar xfv -
lzma -d < $src | gtar xfv
lzma -d < $src | gtar xfv -

I don't know if OpenBSD does something entirely different or maybe OpenBSD is not POSIXly correct, but in order to make this work on OpenBSD we have to fix this and this fix is expensive since an update to libtool implies rebuilding a lot of packages.

It's funny to notice that changing a single character in a Nix expression will trigger such an expensive rebuild.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20091017/9fb75b9c/attachment.html 


More information about the nix-dev mailing list