diff options
Diffstat (limited to 'third_party/josh')
-rw-r--r-- | third_party/josh/0001-replace-mentions-of-master-with-canon.patch | 47 | ||||
-rw-r--r-- | third_party/josh/default.nix | 29 |
2 files changed, 76 insertions, 0 deletions
diff --git a/third_party/josh/0001-replace-mentions-of-master-with-canon.patch b/third_party/josh/0001-replace-mentions-of-master-with-canon.patch new file mode 100644 index 000000000000..6e9a8028f22a --- /dev/null +++ b/third_party/josh/0001-replace-mentions-of-master-with-canon.patch @@ -0,0 +1,47 @@ +From 4245dbdcacc3a4d4801a50071ba84379be4e1d2e Mon Sep 17 00:00:00 2001 +From: Vincent Ambo <mail@tazj.in> +Date: Tue, 1 Jun 2021 23:27:30 +0200 +Subject: [PATCH] replace mentions of 'master' with 'canon' + +While there are areas of josh that hardcode `master`, we can override +this to make it work for the TVL use-case. +--- + josh-proxy/src/bin/josh-proxy.rs | 2 +- + src/housekeeping.rs | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/josh-proxy/src/bin/josh-proxy.rs b/josh-proxy/src/bin/josh-proxy.rs +index 6f15566..76f4a5d 100644 +--- a/josh-proxy/src/bin/josh-proxy.rs ++++ b/josh-proxy/src/bin/josh-proxy.rs +@@ -374,7 +374,7 @@ async fn call_service( + + let mut headref = parsed_url.headref.trim_start_matches("@").to_owned(); + if headref == "" { +- headref = "refs/heads/master".to_string(); ++ headref = "refs/heads/canon".to_string(); + } + + let remote_url = [ +diff --git a/src/housekeeping.rs b/src/housekeeping.rs +index 5d08f81..1d55bc4 100644 +--- a/src/housekeeping.rs ++++ b/src/housekeeping.rs +@@ -44,12 +44,12 @@ pub fn memorize_from_to( + ) -> Vec<(String, String)> { + let mut refs = vec![]; + let glob = format!( +- "refs/josh/upstream/{}/refs/heads/master", ++ "refs/josh/upstream/{}/refs/heads/canon", + &to_ns(upstream_repo) + ); + for refname in repo.references_glob(&glob).unwrap().names() { + let refname = refname.unwrap(); +- let to_ref = format!("refs/{}/heads/master", &namespace); ++ let to_ref = format!("refs/{}/heads/canon", &namespace); + + refs.push((refname.to_owned(), to_ref.clone())); + } +-- +2.31.1 + diff --git a/third_party/josh/default.nix b/third_party/josh/default.nix new file mode 100644 index 000000000000..9b529304ce2f --- /dev/null +++ b/third_party/josh/default.nix @@ -0,0 +1,29 @@ +# https://github.com/esrlabs/josh +{ depot, pkgs, ... }: + +let + src = pkgs.fetchFromGitHub { + owner = "esrlabs"; + repo = "josh"; + rev = "4a70f2914260066b2db44f4cabe9b80acdd556af"; + sha256 = "0gwn3daj24538h5ddksvnyhq4lyjh0br9k49jhbd7r1sm6ly2cwl"; + }; +in depot.third_party.naersk.buildPackage { + inherit src; + + buildInputs = with pkgs; [ + libgit2 + openssl + pkgconfig + ]; + + cargoBuildOptions = x: x ++ [ + "-p" "josh" + "-p" "josh-proxy" + "-p" "josh-ui" + ]; + + overrideMain = x: { + patches = [ ./0001-replace-mentions-of-master-with-canon.patch ]; + }; +} |