blob: f2a8d7a50f6a006b465b039291c244125ece6175 (
plain) (
tree)
|
|
# 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"
'';
};
}
|