diff --git a/pkgs/tools/misc/conserver/default.nix b/pkgs/tools/misc/conserver/default.nix new file mode 100644 index 00000000000..d8bb437404d --- /dev/null +++ b/pkgs/tools/misc/conserver/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, gssapiSupport ? false +, libkrb5 +, freeipmiSupport ? false +, freeipmi +, ipv6Support ? true +, opensslSupport ? true +, openssl +, trustUdsCredSupport ? false +, udsSupport ? false +}: + +stdenv.mkDerivation rec { + pname = "conserver"; + version = "8.2.7"; + + src = fetchFromGitHub { + owner = "bstansell"; + repo = "conserver"; + rev = "v${version}"; + sha256 = "sha256-LiCknqitBoa8E8rNMVgp1004CwkW8G4O5XGKe4NfZI8="; + }; + + # Remove upon next release since upstream is fixed + # https://github.com/bstansell/conserver/pull/82 + patches = [ + (fetchpatch { + url = "https://github.com/bstansell/conserver/commit/84fc79a459e00dbc87b8cfc943c5045bfcc7aeeb.patch"; + sha256 = "sha256:1dy8r9z7rv8512fl0rk5gi1vl02hnh7x0i6flvpcc13h6r6fhxyc"; + }) + ]; + + nativeBuildInputs = [ autoreconfHook ]; + + buildInputs = [ ] + ++ lib.optionals freeipmiSupport [ freeipmi ] + ++ lib.optionals gssapiSupport [ libkrb5 ] + ++ lib.optionals opensslSupport [ openssl ]; + + configureFlags = [ "--with-ccffile=/dev/null" "--with-cffile=/dev/null" ] + ++ lib.optionals freeipmiSupport [ "--with-freeipmi=${freeipmi}/include" ] + ++ lib.optionals gssapiSupport [ "--with-gssapi=${libkrb5.dev}/include" ] + ++ lib.optionals ipv6Support [ "--with-ipv6" ] + ++ lib.optionals opensslSupport [ "--with-openssl=${openssl.dev}/include" ] + ++ lib.optionals trustUdsCredSupport [ "--with-trust-uds-cred" ] + ++ lib.optionals udsSupport [ "--with-uds" ]; + + # Disabled due to exist upstream cases failing 8/15 tests + doCheck = false; + + meta = with lib; { + homepage = "https://www.conserver.com/"; + description = "An application that allows multiple users to watch a serial console at the same time"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = with maintainers; [ sarcasticadmin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d32cb1c0b0b..d53abd40853 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -394,6 +394,8 @@ with pkgs; commix = callPackage ../tools/security/commix { }; + conserver = callPackage ../tools/misc/conserver { }; + containerpilot = callPackage ../applications/networking/cluster/containerpilot { }; crc = callPackage ../applications/networking/cluster/crc { };