diff options
Diffstat (limited to 'corepkgs')
-rw-r--r-- | corepkgs/config.nix.in | 1 | ||||
-rw-r--r-- | corepkgs/unpack-channel.nix | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/corepkgs/config.nix.in b/corepkgs/config.nix.in index 6f6ec6de1..3819dc96c 100644 --- a/corepkgs/config.nix.in +++ b/corepkgs/config.nix.in @@ -7,6 +7,7 @@ in { shell = "@shell@"; coreutils = "@coreutils@"; bzip2 = "@bzip2@"; + gzip = "@gzip@"; xz = "@xz@"; tar = "@tar@"; tarFlags = "@tarFlags@"; diff --git a/corepkgs/unpack-channel.nix b/corepkgs/unpack-channel.nix index 5c2a61e66..b309fc41e 100644 --- a/corepkgs/unpack-channel.nix +++ b/corepkgs/unpack-channel.nix @@ -6,9 +6,12 @@ let '' mkdir $out cd $out - pat="\.xz\$" - if [[ "$src" =~ $pat ]]; then + xzpat="\.xz\$" + gzpat="\.gz\$" + if [[ "$src" =~ $xzpat ]]; then ${xz} -d < $src | ${tar} xf - ${tarFlags} + else if [[ "$src" =~ $gzpat ]]; then + ${gzip} -d < $src | ${tar} xf - ${tarFlags} else ${bzip2} -d < $src | ${tar} xf - ${tarFlags} fi |