about summary refs log tree commit diff
path: root/pkgs/tools/networking/juicity/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/juicity/default.nix')
-rw-r--r--pkgs/tools/networking/juicity/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/tools/networking/juicity/default.nix b/pkgs/tools/networking/juicity/default.nix
new file mode 100644
index 0000000000000..0f56f98589e5f
--- /dev/null
+++ b/pkgs/tools/networking/juicity/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+buildGoModule rec {
+  pname = "juicity";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "juicity";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-JuV9nIFyT2AO0baayVSiKiVDH1waRsqqIp9I4KZ9Xu4=";
+  };
+
+  vendorHash = "sha256-xrSy6ZUbmUrRZ+vXBo9VPdhsbD/RV19xBHvNuhDWOPo=";
+
+  proxyVendor = true;
+
+  ldflags = [
+    "-X=github.com/juicity/juicity/config.Version=${version}"
+  ];
+
+  subPackages = [
+    "cmd/server"
+    "cmd/client"
+  ];
+
+  postInstall = ''
+    mv $out/bin/client $out/bin/juicity-client
+    mv $out/bin/server $out/bin/juicity-server
+    install -Dm444 install/juicity-server.service $out/lib/systemd/system/juicity-server.service
+    install -Dm444 install/juicity-client.service $out/lib/systemd/system/juicity-client.service
+    substituteInPlace $out/lib/systemd/system/juicity-server.service \
+      --replace /usr/bin/juicity-server $out/bin/juicity-server
+    substituteInPlace $out/lib/systemd/system/juicity-client.service \
+      --replace /usr/bin/juicity-client $out/bin/juicity-client
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/juicity/juicity";
+    description = "A quic-based proxy protocol";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ oluceps ];
+  };
+}