summary refs log tree commit diff
path: root/pkgs/servers/corosync
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2014-10-08 01:38:14 -0700
committerWilliam A. Kennington III <william@wkennington.com>2014-10-08 01:46:23 -0700
commitee8a97a25e6aedb68e75ad11d60dcd923b37c680 (patch)
tree4ca0f27f706bbdec7d6ca906b20a97d39118aa88 /pkgs/servers/corosync
parent3efcae26527a7eebc7975478a672e7d5d5172132 (diff)
downloadnixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar.gz
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar.bz2
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar.lz
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar.xz
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.tar.zst
nixpkgs-ee8a97a25e6aedb68e75ad11d60dcd923b37c680.zip
corosync: Add package
Diffstat (limited to 'pkgs/servers/corosync')
-rw-r--r--pkgs/servers/corosync/default.nix50
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..cd87e053055
--- /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.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}