nixpkgs/pkgs/development/libraries/dbus/make-dbus-conf.nix
aszlig fc6684054d
make-dbus-conf: Use libxslt.bin instead of .dev
The problem with using libxslt as buildInputs is that the dev output is
used for building the dbus config.

This is one of the reasons why the installer tests are failing since
ac0cdc1952, because the tests do not have
libxslt.dev in their closure and really shouldn't.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @abbradar
2017-02-20 03:24:34 +01:00

40 lines
1.4 KiB
Nix

{ runCommand, writeText, libxslt, dbus
, serviceDirectories ? []
, suidHelper ? "/var/setuid-wrappers/dbus-daemon-launch-helper"
}:
/* DBus has two configuration parsers -- normal and "trivial", which is used
* for suid helper. Unfortunately the latter doesn't support <include>
* directive. That means that we can't just place our configuration to
* *-local.conf -- it needs to be in the main configuration file.
*/
runCommand "dbus-1"
{
inherit serviceDirectories suidHelper;
XML_CATALOG_FILES = writeText "dbus-catalog.xml" ''
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC
"-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteSystem
systemIdStartString="http://www.freedesktop.org/standards/dbus/1.0/"
rewritePrefix="file://${dbus.doc}/share/xml/dbus/"/>
</catalog>
'';
}
''
mkdir -p $out
${libxslt.bin}/bin/xsltproc --nonet \
--stringparam serviceDirectories "$serviceDirectories" \
--stringparam suidHelper "$suidHelper" \
${./make-system-conf.xsl} ${dbus}/share/dbus-1/system.conf \
> $out/system.conf
${libxslt.bin}/bin/xsltproc --nonet \
--stringparam serviceDirectories "$serviceDirectories" \
${./make-session-conf.xsl} ${dbus}/share/dbus-1/session.conf \
> $out/session.conf
''