Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / servers / sslh / default.nix
blob735054eb61a929da2208d234e0e175df40d53df3
1 { lib, stdenv, fetchFromGitHub, fetchpatch, libcap, libev, libconfig, perl, tcp_wrappers, pcre2, nixosTests }:
3 stdenv.mkDerivation rec {
4   pname = "sslh";
5   version = "2.0.1";
7   src = fetchFromGitHub {
8     owner = "yrutschle";
9     repo = pname;
10     rev = "v${version}";
11     hash = "sha256-KXjoYtiGaOrdWRbI0umNfxbtS7p+YaW352lC/5f+AM4=";
12   };
14   postPatch = "patchShebangs *.sh";
16   buildInputs = [ libcap libev libconfig perl tcp_wrappers pcre2 ];
18   makeFlags = [ "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   };