diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/sslh/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/sslh/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/sslh/default.nix b/nixpkgs/pkgs/servers/sslh/default.nix new file mode 100644 index 000000000000..ba02f33cee62 --- /dev/null +++ b/nixpkgs/pkgs/servers/sslh/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchFromGitHub, libcap, libev, libconfig, perl, tcp_wrappers, pcre2, nixosTests }: + +stdenv.mkDerivation rec { + pname = "sslh"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "yrutschle"; + repo = pname; + rev = "v${version}"; + hash = "sha256-fIKiUrpHn2VcUFH6WblZDDpa+AenC2qtgrQ6uUUIyoQ="; + }; + + postPatch = "patchShebangs *.sh"; + + buildInputs = [ libev libconfig perl pcre2 ] ++ lib.optionals stdenv.isLinux [ libcap tcp_wrappers ]; + + makeFlags = lib.optionals stdenv.isLinux [ "USELIBCAP=1" "USELIBWRAP=1" ]; + + postInstall = '' + # install all flavours + install -p sslh-fork "$out/sbin/sslh-fork" + install -p sslh-select "$out/sbin/sslh-select" + install -p sslh-ev "$out/sbin/sslh-ev" + ln -sf sslh-fork "$out/sbin/sslh" + ''; + + installFlags = [ "PREFIX=$(out)" ]; + + hardeningDisable = [ "format" ]; + + passthru.tests = { + inherit (nixosTests) sslh; + }; + + meta = with lib; { + description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"; + license = licenses.gpl2Plus; + homepage = "https://www.rutschle.net/tech/sslh/README.html"; + maintainers = with maintainers; [ koral fpletz ]; + platforms = platforms.all; + }; +} |