Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / sslh / default.nix
bloba9ca0c8f258517cef50501d916f6adf497d51494
1 { lib, stdenv, fetchFromGitHub, libcap, libev, libconfig, perl, tcp_wrappers, pcre2, nixosTests }:
3 stdenv.mkDerivation rec {
4   pname = "sslh";
5   version = "2.1.2";
7   src = fetchFromGitHub {
8     owner = "yrutschle";
9     repo = pname;
10     rev = "v${version}";
11     hash = "sha256-+G6xYiytSWW2CljuaeJZfTuXCjkbDCzwU/FSLBmvnGw=";
12   };
14   postPatch = "patchShebangs *.sh";
16   buildInputs = [ libev libconfig perl pcre2 ] ++ lib.optionals stdenv.isLinux [ libcap tcp_wrappers ];
18   makeFlags = lib.optionals stdenv.isLinux [ "USELIBCAP=1" "USELIBWRAP=1" ];
20   postInstall = ''
21     # install all flavours
22     install -p sslh-fork "$out/sbin/sslh-fork"
23     install -p sslh-select "$out/sbin/sslh-select"
24     install -p sslh-ev "$out/sbin/sslh-ev"
25     ln -sf sslh-fork "$out/sbin/sslh"
26   '';
28   installFlags = [ "PREFIX=$(out)" ];
30   hardeningDisable = [ "format" ];
32   passthru.tests = {
33     inherit (nixosTests) sslh;
34   };
36   meta = with lib; {
37     description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
38     license = licenses.gpl2Plus;
39     homepage = "https://www.rutschle.net/tech/sslh/README.html";
40     maintainers = with maintainers; [ koral fpletz ];
41     platforms = platforms.all;
42   };