diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/corosync/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/corosync/default.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/corosync/default.nix b/nixpkgs/pkgs/servers/corosync/default.nix new file mode 100644 index 000000000000..d1dd7c05929d --- /dev/null +++ b/nixpkgs/pkgs/servers/corosync/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb +, dbus, rdma-core, libstatgrab, net_snmp +, enableDbus ? false +, enableInfiniBandRdma ? false +, enableMonitoring ? false +, enableSnmp ? false +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "corosync-2.4.3"; + + src = fetchurl { + url = "http://build.clusterlabs.org/corosync/releases/${name}.tar.gz"; + sha256 = "15y5la04qn2lh1gabyifygzpa4dx3ndk5yhmaf7azxyjx0if9rxi"; + }; + + nativeBuildInputs = [ makeWrapper pkgconfig ]; + + buildInputs = [ + nss nspr libqb + ] ++ optional enableDbus dbus + ++ optional enableInfiniBandRdma rdma-core + ++ optional enableMonitoring libstatgrab + ++ optional enableSnmp net_snmp; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-logdir=/var/log/corosync" + "--enable-watchdog" + "--enable-qdevices" + ] ++ optional enableDbus "--enable-dbus" + ++ optional enableInfiniBandRdma "--enable-rdma" + ++ optional enableMonitoring "--enable-monitoring" + ++ optional enableSnmp "--enable-snmp"; + + installFlags = [ + "sysconfdir=$(out)/etc" + "localstatedir=$(out)/var" + "COROSYSCONFDIR=$(out)/etc/corosync" + "INITDDIR=$(out)/etc/init.d" + "LOGROTATEDIR=$(out)/etc/logrotate.d" + ]; + + preConfigure = optionalString enableInfiniBandRdma '' + # configure looks for the pkg-config files + # of librdmacm and libibverbs + # Howver, rmda-core does not provide a pkg-config file + # We give the flags manually here: + export rdmacm_LIBS=-lrdmacm + export rdmacm_CFLAGS=" " + export ibverbs_LIBS=-libverbs + export ibverbs_CFLAGS=" " + ''; + + postInstall = '' + wrapProgram $out/bin/corosync-blackbox \ + --prefix PATH ":" "$out/sbin:${libqb}/sbin" + ''; + + enableParallelBuilding = true; + + 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 montag451 ]; + }; +} |