summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkgs/by-name/ea/easytier/package.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/by-name/ea/easytier/package.nix b/pkgs/by-name/ea/easytier/package.nix
new file mode 100644
index 000000000000..9928fd07b0db
--- /dev/null
+++ b/pkgs/by-name/ea/easytier/package.nix
@@ -0,0 +1,51 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ rustPlatform,
+ protobuf,
+ nix-update-script,
+ darwin,
+ withQuic ? false, # with QUIC protocol support
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "easytier";
+ version = "1.2.3";
+
+ src = fetchFromGitHub {
+ owner = "EasyTier";
+ repo = "EasyTier";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-7T6xdJrVTgg7rSTC2PaVTsBTgi14qJzaR6M8tRUL8OQ=";
+ };
+
+ cargoHash = "sha256-9wAGUVYKz7+Q8y+dmay8pEZnv7PikzuAoas/h5T3sLE=";
+
+ nativeBuildInputs = [ protobuf ];
+
+ buildInputs = lib.optionals stdenv.isDarwin [
+ darwin.apple_sdk.frameworks.Security
+ ];
+
+ buildNoDefaultFeatures = stdenv.isMips;
+ buildFeatures = lib.optional stdenv.isMips "mips" ++ lib.optional withQuic "quic";
+
+ doCheck = false; # tests failed due to heavy rely on network
+
+ passthru.updateScript = nix-update-script { };
+
+ meta = {
+ homepage = "https://github.com/EasyTier/EasyTier";
+ changelog = "https://github.com/EasyTier/EasyTier/releases/tag/v${version}";
+ description = "Simple, decentralized mesh VPN with WireGuard support";
+ longDescription = ''
+ EasyTier is a simple, safe and decentralized VPN networking solution implemented
+ with the Rust language and Tokio framework.
+ '';
+ mainProgram = "easytier-core";
+ license = lib.licenses.asl20;
+ platforms = with lib.platforms; unix ++ windows;
+ maintainers = with lib.maintainers; [ ltrump ];
+ };
+}