tvl-depot/third_party/josh/default.nix
Vincent Ambo e487030d7a fix(3p/josh): add package name to josh
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
2023-07-10 08:30:09 +00:00

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"
'';
};
}