diff --git a/pkgs/by-name/sn/snicat/deps.nix b/pkgs/by-name/sn/snicat/deps.nix new file mode 100644 index 000000000000..dca575f88344 --- /dev/null +++ b/pkgs/by-name/sn/snicat/deps.nix @@ -0,0 +1,12 @@ +[ + { + goPackagePath = "github.com/therootcompany/sclient"; + fetch = { + type = "FromGitHub"; + owner = "therootcompany"; + repo = "sclient"; + rev = "v1.5.0"; + sha256 = "sha256-NAFTOx2sm92K+d746Z5UpB1HGsJI6cJgmh+YTyVkJ0w="; + }; + } +] diff --git a/pkgs/by-name/sn/snicat/package.nix b/pkgs/by-name/sn/snicat/package.nix new file mode 100644 index 000000000000..e7e9e6f3ab53 --- /dev/null +++ b/pkgs/by-name/sn/snicat/package.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, buildGoPackage +, fetchFromGitHub +}: +buildGoPackage rec { + pname = "snicat"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "CTFd"; + repo = "snicat"; + rev = version; + hash = "sha256-fFlTBOz127le2Y7F9KKhbcldcyFEpAU5QiJ4VCAPs9Y="; + }; + + patchPhase = '' + runHook prePatch + + substituteInPlace snicat.go \ + --replace-warn "v0.0.0" "v${version}" + + runHook postPatch + ''; + + goPackagePath = "github.com/CTFd/snicat"; + + goDeps = ./deps.nix; + + installPhase = '' + runHook preInstall + + install -Dm555 go/bin/snicat $out/bin/sc + + runHook postInstall + ''; + + meta = with lib; { + description = "TLS & SNI aware netcat"; + homepage = "https://github.com/CTFd/snicat"; + license = licenses.asl20; + mainProgram = "sc"; + maintainers = with maintainers; [ felixalbrigtsen ]; + }; +}