56ea7df62d
propagatedBuildInputs, because those inputs are required by the *.pc or *.la files of the package: - If a *.pc file references a non-propagated input, then Gnome packages have the bad tendency to silently ignore this problem in configure scripts - the failure of a command like `pkg-config --cflags foo' will be ignored if a dependency of foo.pc is missing, so no flags will be added, and the build will fail later on a missing header or library. - If a *.la file references a non-propagated input, the build will also fail, because Libtool will add library dependencies that it cannot find. (Arguably *.la files should never reference packages that aren't in the corresponding *.pc file, but they do it anyway). By setting the propagatedBuildInputs properly, it should be possible to get rid of all the NIX_CFLAGS_COMPILE / NIX_LDFLAGS hacks in the Gnome expressions. svn path=/nixpkgs/branches/xorg-7.5/; revision=18084
35 lines
1.2 KiB
Nix
35 lines
1.2 KiB
Nix
{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, expat, pam
|
|
, intltool, gettext, libxslt, docbook_xsl, ... }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "policykit-0.9";
|
|
|
|
src = fetchurl {
|
|
url = http://hal.freedesktop.org/releases/PolicyKit-0.9.tar.gz;
|
|
sha256 = "1dw05s4xqj67i3c13knzl04l8jap0kywzpav6fidpmqrximpq37l";
|
|
};
|
|
|
|
buildInputs =
|
|
[ pkgconfig glib dbus_glib pam intltool gettext libxslt ];
|
|
|
|
propagatedBuildInputs = [ expat dbus.libs ];
|
|
|
|
configureFlags = "--localstatedir=/var --sysconfdir=/etc";
|
|
|
|
installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc"; # keep `make install' happy
|
|
|
|
# Read policy files from /etc/PolicyKit/policy instead of
|
|
# /usr/share/PolicyKit/policy. Using PACKAGE_DATA_DIR is hacky, but
|
|
# it works because it's only used in the C code for finding the
|
|
# policy directory.
|
|
NIX_CFLAGS_COMPILE = "-DPACKAGE_DATA_DIR=\"/etc\"";
|
|
|
|
# Needed to build the manpages.
|
|
XML_CATALOG_FILES = "${docbook_xsl}/xml/xsl/docbook/catalog.xml";
|
|
|
|
meta = {
|
|
homepage = http://www.freedesktop.org/wiki/Software/PolicyKit;
|
|
description = "A toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes";
|
|
};
|
|
}
|