51 lines
1.6 KiB
Nix
51 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.linux;
|
|
maintainers = with maintainers; [ wkennington ];
|
|
};
|
|
}
|