stdenv/build-support: support .tbz and .txz tarballs

This commit is contained in:
James Deikun 2018-07-30 10:44:35 -04:00
parent 80b5f5227e
commit bd63de114e
3 changed files with 7 additions and 6 deletions

View file

@ -836,9 +836,10 @@ passthru = {
These can optionally be compressed using <command>gzip</command> These can optionally be compressed using <command>gzip</command>
(<filename>.tar.gz</filename>, <filename>.tgz</filename> or (<filename>.tar.gz</filename>, <filename>.tgz</filename> or
<filename>.tar.Z</filename>), <command>bzip2</command> <filename>.tar.Z</filename>), <command>bzip2</command>
(<filename>.tar.bz2</filename> or <filename>.tbz2</filename>) or (<filename>.tar.bz2</filename>, <filename>.tbz2</filename> or
<command>xz</command> (<filename>.tar.xz</filename> or <filename>.tbz</filename>) or <command>xz</command>
<filename>.tar.lzma</filename>). (<filename>.tar.xz</filename>, <filename>.tar.lzma</filename> or
<filename>.txz</filename>).
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View file

@ -1,7 +1,7 @@
findTarball() { findTarball() {
local suffix i local suffix i
if [ -d "$1/tarballs/" ]; then if [ -d "$1/tarballs/" ]; then
for suffix in tar.gz tgz tar.bz2 tbz2 tar.xz tar.lzma; do for suffix in tar.gz tgz tar.bz2 tbz2 tbz tar.xz txz tar.lzma; do
for i in $1/tarballs/*.$suffix; do echo $i; break; done for i in $1/tarballs/*.$suffix; do echo $i; break; done
done | sort | head -1 done | sort | head -1
return return

View file

@ -801,11 +801,11 @@ _defaultUnpack() {
else else
case "$fn" in case "$fn" in
*.tar.xz | *.tar.lzma) *.tar.xz | *.tar.lzma | *.txz)
# Don't rely on tar knowing about .xz. # Don't rely on tar knowing about .xz.
xz -d < "$fn" | tar xf - xz -d < "$fn" | tar xf -
;; ;;
*.tar | *.tar.* | *.tgz | *.tbz2) *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)
# GNU tar can automatically select the decompression method # GNU tar can automatically select the decompression method
# (info "(tar) gzip"). # (info "(tar) gzip").
tar xf "$fn" tar xf "$fn"