[Nix-dev] Dealing with dbus

Sergey Mironov ierton at gmail.com
Mon Sep 9 11:07:28 CEST 2013


Hi. Let me suggest discussing the DBus and the guidelines for
packaging software which uses this technology. I suppose that plain
including dbus into the dependencies list of a package like that:

{ stdenv, fetchurl, pkgconfig, ... dbus ...  }:

stdenv.mkDerivation rec {
  name = "udisks-1.0.4";
  ..
  buildInputs =  [ dbus ];
}

is not the best thing to do because we are offering little guaranties
to the user this way. We are actually saying that the package needs a
network, but in reality this package needs the network AND one or more
specific servers in order to work correctly. Could we do something
better? For example, could we treat DBus as just another way of
launching programs, develop the concept of DBUS_PATH and write
something like


{ stdenv, fetchurl, pkgconfig, ... dbus ... dbus_server1, dbus_derver2 }:

stdenv.mkDerivation rec {
  name = "udisks-1.0.4";
  ..
  buildInputs =  [ dbus ];

  // Means that udisks should have it's DBUS_PATH containing at least
dbus_server1 and dbus_server2
  dbusPath = [ dbus_server1 dbus_server2 ];
}

Does dbus provide an opportunity to organize thing like that?


Regards,
Sergey.


More information about the nix-dev mailing list