This makes magrathea use the repostory version of nix and git. This is done in the pursuit of enforcing guaranteed unified experience of magrathea tool across all users of a `tvl-kit`-based repository. Especially among ubuntu users with uncontrolled set of packages and versions installed on their system. Not having this was giving build problems for `mg build` as one of the users has 2.17 version of nix that had inconsistent hash computation with 2.3. Change-Id: I3182faf4c545ac61f6cc1cc862dc23d51c1cd397 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9892 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			676 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			676 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # magrathea helps you build planets
 | |
| #
 | |
| # it is a tool for working with monorepos in the style of tvl's depot
 | |
| { pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   inherit (pkgs)
 | |
|     stdenv
 | |
|     chicken
 | |
|     chickenPackages
 | |
|     makeWrapper
 | |
|     git
 | |
|     nix
 | |
|     lib
 | |
|     ;
 | |
| 
 | |
| in
 | |
| stdenv.mkDerivation {
 | |
|   name = "magrathea";
 | |
|   src = ./.;
 | |
|   dontInstall = true;
 | |
| 
 | |
|   nativeBuildInputs = [ chicken makeWrapper ];
 | |
|   buildInputs = with chickenPackages.chickenEggs; [
 | |
|     matchable
 | |
|     srfi-13
 | |
|   ];
 | |
| 
 | |
|   propagatedBuildInputs = [ git ];
 | |
| 
 | |
|   buildPhase = ''
 | |
|     mkdir -p $out/bin
 | |
|     csc -o $out/bin/mg -host -static ${./mg.scm}
 | |
|   '';
 | |
| 
 | |
|   fixupPhase = ''
 | |
|     wrapProgram $out/bin/mg --prefix PATH ${lib.makeBinPath [ nix ]}
 | |
|   '';
 | |
| }
 |