b5c1deca8a
He prefers to contribute to his own nixpkgs fork triton. Since he is still marked as maintainer in many packages this leaves the wrong impression he still maintains those.
72 lines
2 KiB
Nix
72 lines
2 KiB
Nix
{ 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; [ montag451 ];
|
|
};
|
|
}
|