python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / misc / logging / pacemaker / default.nix
blob5da634203dc6c7d970da124b339b7703fea2065b
1 { lib
2 , stdenv
3 , autoconf
4 , automake
5 , bash
6 , bzip2
7 , corosync
8 , dbus
9 , fetchFromGitHub
10 , glib
11 , gnutls
12 , libqb
13 , libtool
14 , libuuid
15 , libxml2
16 , libxslt
17 , pam
18 , pkg-config
19 , python3
20 , nixosTests
22 # Pacemaker is compiled twice, once with forOCF = true to extract its
23 # OCF definitions for use in the ocf-resource-agents derivation, then
24 # again with forOCF = false, where the ocf-resource-agents is provided
25 # as the OCF_ROOT.
26 , forOCF ? false
27 , ocf-resource-agents
28 } :
30 stdenv.mkDerivation rec {
31   pname = "pacemaker";
32   version = "2.1.4";
34   src = fetchFromGitHub {
35     owner = "ClusterLabs";
36     repo = pname;
37     rev = "Pacemaker-${version}";
38     sha256 = "sha256-b3ljxAuawhqTnURBJMqy4Zzzfi8PCFwie/zC1yeErhQ=";
39   };
41   nativeBuildInputs = [
42     autoconf
43     automake
44     libtool
45     pkg-config
46   ];
48   buildInputs = [
49     bash
50     bzip2
51     corosync
52     dbus.dev
53     glib
54     gnutls
55     libqb
56     libuuid
57     libxml2.dev
58     libxslt.dev
59     pam
60     python3
61   ];
63   preConfigure = ''
64     ./autogen.sh --prefix="$out"
65   '';
66   configureFlags = [
67     "--exec-prefix=${placeholder "out"}"
68     "--sysconfdir=/etc"
69     "--localstatedir=/var"
70     "--with-initdir=/etc/systemd/system"
71     "--with-systemdsystemunitdir=/etc/systemd/system"
72     "--with-corosync"
73     # allows Type=notify in the systemd service
74     "--enable-systemd"
75   ] ++ lib.optional (!forOCF) "--with-ocfdir=${ocf-resource-agents}/usr/lib/ocf";
77   installFlags = [ "DESTDIR=${placeholder "out"}" ];
79   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
80     "-Wno-error=strict-prototypes"
81   ];
83   enableParallelBuilding = true;
85   postInstall = ''
86     # pacemaker's install linking requires a weirdly nested hierarchy
87     mv $out$out/* $out
88     rm -r $out/nix
89   '';
91   passthru.tests = {
92     inherit (nixosTests) pacemaker;
93   };
95   meta = with lib; {
96     homepage = "https://clusterlabs.org/pacemaker/";
97     description = "Pacemaker is an open source, high availability resource manager suitable for both small and large clusters.";
98     license = licenses.gpl2Plus;
99     platforms = platforms.linux;
100     maintainers = with maintainers; [ ryantm astro ];
101   };