diff options
Diffstat (limited to 'third_party/josh/default.nix')
-rw-r--r-- | third_party/josh/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/third_party/josh/default.nix b/third_party/josh/default.nix new file mode 100644 index 000000000000..9750780d1ff3 --- /dev/null +++ b/third_party/josh/default.nix @@ -0,0 +1,49 @@ +# https://github.com/josh-project/josh +{ depot, pkgs, ... }: + +let + # TODO(sterni): switch to pkgs.josh as soon as that commit is released + rev = "1586eab06284ce668779c87f00a1fb5fa9763be0"; + src = pkgs.fetchFromGitHub { + owner = "josh-project"; + repo = "josh"; + inherit rev; + hash = "sha256-94QrHcVHiEMCpBZJ5sghwtVNLNm4gdG8X85OetoGRD0="; + }; + + + naersk = pkgs.callPackage depot.third_party.sources.naersk { + inherit (pkgs) rustc cargo; + }; + 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" + ''; + }; +} |