cosmic-term: 1.0.0-alpha.3 -> 1.0.0-alpha.5.1 (#374031)
[NixPkgs.git] / pkgs / development / libraries / dbus / make-dbus-conf.nix
blob1b98e3db0376340ad53e75a279d07bcb15a1b39e
2   runCommand,
3   libxslt,
4   dbus,
5   findXMLCatalogs,
6   serviceDirectories ? [ ],
7   suidHelper ? "/var/setuid-wrappers/dbus-daemon-launch-helper",
8   apparmor ? "disabled", # one of enabled, disabled, required
9 }:
12   DBus has two configuration parsers -- normal and "trivial", which is used
13   for suid helper. Unfortunately the latter doesn't support <include>
14   directive. That means that we can't just place our configuration to
15   *-local.conf -- it needs to be in the main configuration file.
17 runCommand "dbus-1"
18   {
19     inherit serviceDirectories suidHelper apparmor;
20     preferLocalBuild = true;
21     allowSubstitutes = false;
23     nativeBuildInputs = [
24       libxslt.bin
25       findXMLCatalogs
26     ];
28     buildInputs = [
29       dbus.out
30     ];
31   }
32   ''
33     mkdir -p $out
35     xsltproc --nonet \
36       --stringparam serviceDirectories "$serviceDirectories" \
37       --stringparam suidHelper "$suidHelper" \
38       --stringparam apparmor "$apparmor" \
39       ${./make-system-conf.xsl} ${dbus}/share/dbus-1/system.conf \
40       > $out/system.conf
41     xsltproc --nonet \
42       --stringparam serviceDirectories "$serviceDirectories" \
43       --stringparam apparmor "$apparmor" \
44       ${./make-session-conf.xsl} ${dbus}/share/dbus-1/session.conf \
45       > $out/session.conf
47     # check if files are empty or only contain space characters
48     grep -q '[^[:space:]]' "$out/system.conf" || (echo "\"$out/system.conf\" was generated incorrectly and is empty, try building again." && exit 1)
49     grep -q '[^[:space:]]' "$out/session.conf" || (echo "\"$out/session.conf\" was generated incorrectly and is empty, try building again." && exit 1)
50   ''