diff options
author | Vincent Ambo <tazjin@tvl.su> | 2024-09-14T22·59+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2024-09-14T23·47+0000 |
commit | e737488d92a18b8b35b06d8e64a8a7236adb32d9 (patch) | |
tree | 3fb1dcd8d5233fd6b70bd144c395a2955b0e9bab | |
parent | af6dc4897132bb646f5740bd15a570cd50744c15 (diff) |
feat(3p/radicle-explorer): package radicle web interface r/8695
For some reason this is not included. The build is based on their experimental Nix code upstream which I copy&pasted and modified a bit. Change-Id: I523f9e90a3f5feca0deb317eec1d5283e2a3ca98 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12487 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
-rw-r--r-- | third_party/radicle-explorer/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/third_party/radicle-explorer/default.nix b/third_party/radicle-explorer/default.nix new file mode 100644 index 000000000000..7fe9539ddf74 --- /dev/null +++ b/third_party/radicle-explorer/default.nix @@ -0,0 +1,47 @@ +# radicle-explorer is the web UI for Radicle. +# +# They have an upstream Nix derivation, but it only works with experimental +# features Nix and is quite messy, so this is a copy of the relevant parts. +{ pkgs, ... }: + +let + twemoji-assets = pkgs.fetchFromGitHub { + owner = "twitter"; + repo = "twemoji"; + rev = "v14.0.2"; + hash = "sha256-YoOnZ5uVukzi/6bLi22Y8U5TpplPzB7ji42l+/ys5xI="; + }; + + httpdSrc = pkgs.radicle-httpd.src; +in +pkgs.buildNpmPackage rec { + pname = "radicle-explorer"; + version = (builtins.fromJSON (builtins.readFile "${src}/package.json")).version; + + # source should be synced with the httpd, which is already in nixpkgs + src = pkgs.fetchgit { + inherit (httpdSrc) url rev; + hash = "sha256:09m13238h6j7g02r6332ihgyyzbjx90pgz14rz29pgv7936h6il8"; + }; + + # This might change during nixpkgs bumps and will need updating. Need to fix + # upstream so that there is a normal, callable derivation. + npmDepsHash = "sha256:0kw6rvqm0s21j1rss35idvgcrzzczfy6qi3323y385djw4ygk5xs"; + + postPatch = '' + patchShebangs --build ./scripts + mkdir -p "public/twemoji" + cp -t public/twemoji -r -- ${twemoji-assets}/assets/svg/* + : >scripts/install-twemoji-assets + ''; + dontConfigure = true; + doCheck = false; + + installPhase = '' + runHook preInstall + mkdir -p "$out" + cp -r -t "$out" build/* + runHook postInstall + ''; + +} |