diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/conserver/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/conserver/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/conserver/default.nix b/nixpkgs/pkgs/tools/misc/conserver/default.nix new file mode 100644 index 000000000000..30ac050ee0d3 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/conserver/default.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, libxcrypt +, 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 = [ libxcrypt ] + ++ 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 ]; + }; +} |