dbus: stylize, use placeholder

This commit is contained in:
worldofpeace 2019-08-23 14:31:37 -04:00
parent dc9c69efcf
commit a188cfadc6

View File

@ -1,24 +1,31 @@
{ stdenv, lib, fetchurl, pkgconfig, expat, systemd { stdenv
, libX11 ? null, libICE ? null, libSM ? null, x11Support ? (stdenv.isLinux || stdenv.isDarwin) }: , lib
, fetchurl
, pkgconfig
, expat
, systemd
, libX11 ? null
, libICE ? null
, libSM ? null
, x11Support ? (stdenv.isLinux || stdenv.isDarwin)
, dbus
}:
assert x11Support -> libX11 != null assert
&& libICE != null x11Support ->
&& libSM != null; libX11 != null && libICE != null && libSM != null;
let stdenv.mkDerivation rec {
pname = "dbus";
version = "1.12.16"; version = "1.12.16";
sha256 = "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl";
self = stdenv.mkDerivation {
name = "dbus-${version}";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
inherit sha256; sha256 = "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl";
}; };
patches = lib.optional stdenv.isSunOS ./implement-getgrouplist.patch; patches = lib.optional stdenv.isSunOS ./implement-getgrouplist.patch;
postPatch = '' postPatch = ''
substituteInPlace tools/Makefile.in \ substituteInPlace tools/Makefile.in \
--replace 'install-localstatelibDATA:' 'disabled:' \ --replace 'install-localstatelibDATA:' 'disabled:' \
@ -35,23 +42,32 @@ self = stdenv.mkDerivation {
outputs = [ "out" "dev" "lib" "doc" ]; outputs = [ "out" "dev" "lib" "doc" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [
propagatedBuildInputs = [ expat ]; pkgconfig
buildInputs = lib.optional stdenv.isLinux systemd ];
++ lib.optionals x11Support [ libX11 libICE libSM ];
propagatedBuildInputs = [
expat
];
buildInputs = lib.optionals x11Support [
libX11
libICE
libSM
] ++ lib.optional stdenv.isLinux systemd;
# ToDo: optional selinux? # ToDo: optional selinux?
configureFlags = [ configureFlags = [
"--enable-user-session"
"--libexecdir=${placeholder ''out''}/libexec"
"--localstatedir=/var" "--localstatedir=/var"
"--sysconfdir=/etc"
"--runstatedir=/run" "--runstatedir=/run"
"--sysconfdir=/etc"
"--with-session-socket-dir=/tmp" "--with-session-socket-dir=/tmp"
"--with-system-pid-file=/run/dbus/pid" "--with-system-pid-file=/run/dbus/pid"
"--with-system-socket=/run/dbus/system_bus_socket" "--with-system-socket=/run/dbus/system_bus_socket"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-systemdsystemunitdir=${placeholder ''out''}/etc/systemd/system"
"--with-systemduserunitdir=$(out)/etc/systemd/user" "--with-systemduserunitdir=${placeholder ''out''}/etc/systemd/user"
"--enable-user-session"
"--libexecdir=$(out)/libexec"
] ++ lib.optional (!x11Support) "--without-x"; ] ++ lib.optional (!x11Support) "--without-x";
# Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11 # Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11
@ -64,7 +80,10 @@ self = stdenv.mkDerivation {
doCheck = true; doCheck = true;
installFlags = [ "sysconfdir=$(out)/etc" "datadir=$(out)/share" ]; installFlags = [
"sysconfdir=${placeholder ''out''}/etc"
"datadir=${placeholder ''out''}/share"
];
postInstall = '' postInstall = ''
mkdir -p "$out/share/xml/dbus" mkdir -p "$out/share/xml/dbus"
@ -78,8 +97,8 @@ self = stdenv.mkDerivation {
''; '';
passthru = { passthru = {
dbus-launch = "${self.lib}/bin/dbus-launch"; dbus-launch = "${dbus.lib}/bin/dbus-launch";
daemon = self.out; daemon = dbus.out;
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -88,5 +107,4 @@ self = stdenv.mkDerivation {
license = licenses.gpl2Plus; # most is also under AFL-2.1 license = licenses.gpl2Plus; # most is also under AFL-2.1
platforms = platforms.unix; platforms = platforms.unix;
}; };
}; }
in self