25 lines
		
	
	
	
		
			704 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			704 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| source common.sh
 | |
| 
 | |
| # Instantiate.
 | |
| drvPath=$($nixinstantiate substitutes2.nix)
 | |
| echo "derivation is $drvPath"
 | |
| 
 | |
| # Find the output path.
 | |
| outPath=$($nixstore -qvvvvv "$drvPath")
 | |
| echo "output path is $outPath"
 | |
| 
 | |
| regSub() {
 | |
|     (echo $1 && echo "" && echo $2 && echo 3 && echo $outPath && echo Hallo && echo Wereld && echo 0) | $nixstore --register-substitutes
 | |
| }
 | |
| 
 | |
| # Register a substitute for the output path.
 | |
| regSub $outPath $(pwd)/substituter.sh
 | |
| 
 | |
| # Register another substitute for the output path.  This one takes
 | |
| # precedence over the previous one.  It will fail.
 | |
| regSub $outPath $(pwd)/substituter2.sh
 | |
| 
 | |
| $nixstore -rvv "$drvPath"
 | |
| 
 | |
| text=$(cat "$outPath"/hello)
 | |
| if test "$text" != "Hallo Wereld"; then exit 1; fi
 |