Without this, the derivation is just called `rust-workspace-unknown` which is - at best - a little confusing. Change-Id: I3f50f87a411248ffcce9397a4ddb57e87abeab1c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8923 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # https://github.com/josh-project/josh
 | |
| { depot, pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   # TODO(sterni): switch to pkgs.josh as soon as that commit is released
 | |
|   rev = "c0a170a756dd5e63268673086218c0ce7bf18bdc";
 | |
|   src = pkgs.fetchFromGitHub {
 | |
|     owner = "josh-project";
 | |
|     repo = "josh";
 | |
|     inherit rev;
 | |
|     hash = "sha256:0rsf65fq9xm3qj77ig3s4wmmgm50jhvwrknr839hipjj5lj4x1hp";
 | |
|   };
 | |
| 
 | |
| 
 | |
|   rust169 = depot.third_party.nixpkgs.rust-bin.stable."1.69.0".default;
 | |
|   naersk = pkgs.callPackage depot.third_party.sources.naersk {
 | |
|     rustc = rust169;
 | |
|     cargo = rust169;
 | |
|   };
 | |
|   version = "git-${builtins.substring 0 8 rev}";
 | |
| in
 | |
| naersk.buildPackage {
 | |
|   pname = "josh";
 | |
|   inherit src version;
 | |
|   JOSH_VERSION = version;
 | |
| 
 | |
|   buildInputs = with pkgs; [
 | |
|     libgit2
 | |
|     openssl
 | |
|     pkg-config
 | |
|   ];
 | |
| 
 | |
|   dontStrip = true;
 | |
|   cargoBuildOptions = x: x ++ [
 | |
|     "-p"
 | |
|     "josh-filter"
 | |
|     "-p"
 | |
|     "josh-proxy"
 | |
|   ];
 | |
| 
 | |
|   overrideMain = x: {
 | |
|     preBuild = x.preBuild or "" + ''
 | |
|       echo 'debug = true' >> Cargo.toml
 | |
|     '';
 | |
| 
 | |
|     nativeBuildInputs = (x.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
 | |
|     postInstall = ''
 | |
|       wrapProgram $out/bin/josh-proxy --prefix PATH : "${pkgs.git}/bin"
 | |
|     '';
 | |
|   };
 | |
| }
 |