diff --git a/pkgs/tools/networking/clash-meta/default.nix b/pkgs/tools/networking/clash-meta/default.nix new file mode 100644 index 000000000000..e4f2e8399ff5 --- /dev/null +++ b/pkgs/tools/networking/clash-meta/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchFromGitHub +, buildGoModule +}: +buildGoModule rec { + pname = "clash-meta"; + version = "1.14.2"; + + src = fetchFromGitHub { + owner = "MetaCubeX"; + repo = "Clash.Meta"; + rev = "v${version}"; + sha256 = "sha256-sn+0TNXCK4af4zfkf09hLsFkuvkcyjhwh35kKo993FQ="; + }; + + vendorHash = "sha256-3j+5fF57eu7JJd3rnrWYwuWDivycUkUTTzptYaK3G/Q="; + + # Do not build testing suit + excludedPackages = [ "./test" ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/Dreamacro/clash/constant.Version=${version}" + ]; + + tags = [ + "with_gvisor" + ]; + + # network required + doCheck = false; + + postInstall = '' + mv $out/bin/clash $out/bin/clash-meta + ''; + + meta = with lib; { + description = "Another Clash Kernel"; + homepage = "https://github.com/MetaCubeX/Clash.Meta"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ oluceps ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cc136b1dbff1..db484dc52a90 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4018,6 +4018,8 @@ with pkgs; clash-geoip = callPackage ../data/misc/clash-geoip { }; + clash-meta = callPackage ../tools/networking/clash-meta { }; + clevercsv = with python3Packages; toPythonApplication clevercsv; clevis = callPackage ../tools/security/clevis {