nixpkgs/pkgs/servers/corosync/default.nix
William A. Kennington III ee8a97a25e corosync: Add package
2014-10-08 01:46:23 -07:00

50 lines
1.6 KiB
Nix

{ stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
, dbus ? null
, librdmacm ? null, libibverbs ? null
, libstatgrab ? null
, net_snmp ? null
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "corosync-2.3.4";
src = fetchurl {
url = "http://build.clusterlabs.org/corosync/releases/${name}.tar.gz";
sha256 = "1m276b060fjghr93hdzfag81whi5ph65dc2ka8ln1igm3kxr7bix";
};
buildInputs = [
makeWrapper pkgconfig nss nspr libqb
dbus librdmacm libibverbs libstatgrab net_snmp
];
# Remove when rdma libraries gain pkgconfig support
ibverbs_CFLAGS = optionalString (libibverbs != null)
"-I${libibverbs}/include/infiniband";
ibverbs_LIBS = optionalString (libibverbs != null) "-libverbs";
rdmacm_CFLAGS = optionalString (librdmacm != null)
"-I${librdmacm}/include/rdma";
rdmacm_LIBS = optionalString (librdmacm != null) "-lrdmacm";
configureFlags = [
"--enable-watchdog"
"--enable-qdevices"
] ++ optional (dbus != null) "--enable-dbus"
++ optional (librdmacm != null && libibverbs != null) "--enable-rdma"
++ optional (libstatgrab != null) "--enable-monitoring"
++ optional (net_snmp != null) "--enable-snmp";
postInstall = ''
wrapProgram $out/bin/corosync-blackbox \
--prefix PATH ":" "$out/sbin:${libqb}/sbin"
'';
meta = {
homepage = http://corosync.org/;
description = "a Group Communication System with features for implementing high availability within applications.";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
}