tvl-depot/third_party/josh/default.nix
Vincent Ambo 3a2035c8b9 fix(3p/josh): build with Rust 1.69.0 exactly
As a workaround for b/283, we are downgrading the version of Rust used
to build josh as a strange issue causing invalid memory allocation
requests occurs with Rust 1.70.0

Change-Id: I94476077eb4a8cebb82f55c20397c299ff57c0a4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8917
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2023-07-02 16:38:10 +00:00

44 lines
1,017 B
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;
};
in
naersk.buildPackage {
inherit src;
JOSH_VERSION = "git-${builtins.substring 0 8 rev}";
buildInputs = with pkgs; [
libgit2
openssl
pkg-config
];
cargoBuildOptions = x: x ++ [
"-p"
"josh-filter"
"-p"
"josh-proxy"
];
overrideMain = x: {
nativeBuildInputs = (x.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram $out/bin/josh-proxy --prefix PATH : "${pkgs.git}/bin"
'';
};
}