diff options
Diffstat (limited to 'pkgs/servers/corosync/default.nix')
-rw-r--r-- | pkgs/servers/corosync/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix new file mode 100644 index 00000000000..5e8f2fd0caa --- /dev/null +++ b/pkgs/servers/corosync/default.nix @@ -0,0 +1,50 @@ +{ 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 ]; + }; +} |