git-subtree-dir: third_party/nix
git-subtree-mainline: cf8cd640c1
git-subtree-split: be66c7a6b24e3c3c6157fd37b86c7203d14acf10
		
	
			
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			791 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			791 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| with import <nix/config.nix>;
 | |
| 
 | |
| let
 | |
| 
 | |
|   builder = builtins.toFile "unpack-channel.sh"
 | |
|     ''
 | |
|       mkdir $out
 | |
|       cd $out
 | |
|       xzpat="\.xz\$"
 | |
|       gzpat="\.gz\$"
 | |
|       if [[ "$src" =~ $xzpat ]]; then
 | |
|         ${xz} -d < $src | ${tar} xf - ${tarFlags}
 | |
|       elif [[ "$src" =~ $gzpat ]]; then
 | |
|         ${gzip} -d < $src | ${tar} xf - ${tarFlags}
 | |
|       else
 | |
|         ${bzip2} -d < $src | ${tar} xf - ${tarFlags}
 | |
|       fi
 | |
|       if [ * != $channelName ]; then
 | |
|         mv * $out/$channelName
 | |
|       fi
 | |
|     '';
 | |
| 
 | |
| in
 | |
| 
 | |
| { name, channelName, src }:
 | |
| 
 | |
| derivation {
 | |
|   system = builtins.currentSystem;
 | |
|   builder = shell;
 | |
|   args = [ "-e" builder ];
 | |
|   inherit name channelName src;
 | |
| 
 | |
|   PATH = "${nixBinDir}:${coreutils}";
 | |
| 
 | |
|   # No point in doing this remotely.
 | |
|   preferLocalBuild = true;
 | |
| 
 | |
|   inherit chrootDeps;
 | |
| }
 |