diff options
Diffstat (limited to 'corepkgs/unpack-channel.nix')
-rw-r--r-- | corepkgs/unpack-channel.nix | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/corepkgs/unpack-channel.nix b/corepkgs/unpack-channel.nix index 245430ab0feb..57d5a09a076a 100644 --- a/corepkgs/unpack-channel.nix +++ b/corepkgs/unpack-channel.nix @@ -1,14 +1,31 @@ with import <nix/config.nix>; -{ name, channelName, src }: +let + + builder = builtins.toFile "unpack-channel.sh" + '' + mkdir $out + cd $out + ${bzip2} -d < $src | ${tar} xf - --warning=no-timestamp + mv * $out/$channelName + if [ -n "$binaryCacheURL" ]; then + mkdir $out/binary-caches + echo -n "$binaryCacheURL" > $out/binary-caches/$channelName + fi + ''; + +in + +{ name, channelName, src, binaryCacheURL ? "" }: derivation { system = builtins.currentSystem; builder = shell; - args = [ "-e" ./unpack-channel.sh ]; - inherit name channelName src bzip2 tar tr; + args = [ "-e" builder ]; + inherit name channelName src binaryCacheURL; + PATH = "${nixBinDir}:${coreutils}"; - + # No point in doing this remotely. preferLocalBuild = true; |