base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / networking / zrok / default.nix
blob4a1cc9aaea382a29407a7fe2667d422bba30db98
1 { lib
2 , stdenv
3 , fetchzip
4 }:
6 let
7   inherit (stdenv.hostPlatform) system;
8   throwSystem = throw "Unsupported system: ${system}";
10   plat = {
11     x86_64-linux = "linux_amd64";
12     aarch64-linux = "linux_arm64";
13     armv7l-linux = "linux_armv7";
14   }.${system} or throwSystem;
16   hash = {
17     x86_64-linux = "sha256-EzMkl/XTtieAj/pg1L4BLTEuWNnQ5m18WYu/sqRZx/I=";
18     aarch64-linux = "sha256-D5FpJBRzvbsgrQmopJQpJZTIm9TroaGB6fkYX2UAaHM=";
19     armv7l-linux = "sha256-PQl/ZQxxkzQ4iTUPBO9tbCsswOnEQuupdzxul0/vKG4=";
20   }.${system} or throwSystem;
22 stdenv.mkDerivation (finalAttrs: {
23   pname = "zrok";
24   version = "0.4.39";
26   src = fetchzip {
27     url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
28     stripRoot = false;
29     inherit hash;
30   };
32   updateScript = ./update.sh;
34   installPhase = let
35     interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
36   in ''
37     runHook preInstall
39     mkdir -p $out/bin
40     cp zrok $out/bin/
41     chmod +x $out/bin/zrok
42     patchelf --set-interpreter "${interpreter}" "$out/bin/zrok"
44     runHook postInstall
45   '';
47   meta = {
48     description = "Geo-scale, next-generation sharing platform built on top of OpenZiti";
49     homepage = "https://zrok.io";
50     license = lib.licenses.asl20;
51     mainProgram = "zrok";
52     maintainers = [ lib.maintainers.bandresen ];
53     platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
54     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
55   };