diff options
Diffstat (limited to 'corepkgs')
-rw-r--r-- | corepkgs/unpack-channel.nix | 6 | ||||
-rw-r--r-- | corepkgs/unpack-channel.sh | 32 |
2 files changed, 6 insertions, 32 deletions
diff --git a/corepkgs/unpack-channel.nix b/corepkgs/unpack-channel.nix index 5e6ccf23f..eba957dff 100644 --- a/corepkgs/unpack-channel.nix +++ b/corepkgs/unpack-channel.nix @@ -1,11 +1,11 @@ with import <nix/config.nix>; -{ system, inputs }: +{ name, src }: derivation { - name = "channels"; + system = builtins.currentSystem; builder = shell; args = [ "-e" ./unpack-channel.sh ]; - inherit system inputs bzip2 tar tr; + inherit name src bzip2 tar tr; PATH = "${nixBinDir}:${coreutils}"; } diff --git a/corepkgs/unpack-channel.sh b/corepkgs/unpack-channel.sh index 7c244a6a8..0b7d89bc4 100644 --- a/corepkgs/unpack-channel.sh +++ b/corepkgs/unpack-channel.sh @@ -1,30 +1,4 @@ mkdir $out -mkdir $out/tmp -cd $out/tmp - -inputs=($inputs) -for ((n = 0; n < ${#inputs[*]}; n += 2)); do - channelName=${inputs[n]} - channelTarball=${inputs[n+1]} - - echo "unpacking channel $channelName" - - $bzip2 -d < $channelTarball | $tar xf - - - if test -e */channel-name; then - channelName="$(cat */channel-name)" - fi - - nr=1 - attrName=$(echo $channelName | $tr -- '- ' '__') - dirName=$attrName - while test -e ../$dirName; do - nr=$((nr+1)) - dirName=$attrName-$nr - done - - mv * ../$dirName # !!! hacky -done - -cd .. -rmdir tmp +cd $out +$bzip2 -d < $src | $tar xf - +mv * $out/$name |