summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2010-07-20 12:53:07 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2010-07-20 12:53:07 +0000
commit0f53a3fca873cfb292c33ec60560a2f0a4b396f9 (patch)
tree82bafc6267505fd5d1eb52889564661e3218ac31 /pkgs/development/libraries
parentcb11b171d1a481b8626d124f53768f78d38eb9f9 (diff)
downloadnixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar.gz
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar.bz2
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar.lz
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar.xz
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.tar.zst
nixpkgs-0f53a3fca873cfb292c33ec60560a2f0a4b396f9.zip
* Ignore missing directories in the <includedir> element. This allows
  the NixOS system bus configuration to include directories such as

    /nix/var/nix/profiles/default/etc/dbus-1/system.d/

  which may not exist.

svn path=/nixpkgs/branches/x-updates/; revision=22672
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/dbus/default.nix14
-rw-r--r--pkgs/development/libraries/dbus/ignore-missing-includedirs.patch23
2 files changed, 31 insertions, 6 deletions
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 24c6f409a10..8f8766fb6cf 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -7,6 +7,8 @@ let
     url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
     sha256 = "0j2wb79kndq4b1qqr59n1g6s0lm7yp6r9ny3skimadkh9a7p8b7i";
   };
+
+  patches = [ ./ignore-missing-includedirs.patch ];
   
   configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-session-socket-dir=/tmp";
   
@@ -17,9 +19,9 @@ in rec {
     
     buildInputs = [ pkgconfig expat ];
     
-    inherit src configureFlags;
+    inherit src patches configureFlags;
     
-    patchPhase =
+    preConfigure =
       ''
         sed -i '/mkinstalldirs.*localstatedir/d' bus/Makefile.in
         sed -i '/SUBDIRS/s/ tools//' Makefile.in
@@ -31,22 +33,22 @@ in rec {
   tools = stdenv.mkDerivation {
     name = "dbus-tools-" + version;
 
-    inherit src;
+    inherit src patches;
 
     configureFlags = "${configureFlags} --with-dbus-daemondir=${daemon}/bin";
     
     buildInputs = [ pkgconfig expat libs ]
       ++ stdenv.lib.optionals useX11 [ libX11 libICE libSM ];
       
-    postConfigure = "cd tools";
-
     NIX_LDFLAGS = "-ldbus-1";
 
-    patchPhase =
+    preConfigure =
       ''
         sed -i 's@ $(top_builddir)/dbus/libdbus-1.la@@' tools/Makefile.in
         substituteInPlace tools/Makefile.in --replace 'install-localstatelibDATA:' 'disabled:'
       '';
+
+    postConfigure = "cd tools";
   };
 
   # I'm too lazy to separate daemon and libs now.
diff --git a/pkgs/development/libraries/dbus/ignore-missing-includedirs.patch b/pkgs/development/libraries/dbus/ignore-missing-includedirs.patch
new file mode 100644
index 00000000000..2781f4ae3de
--- /dev/null
+++ b/pkgs/development/libraries/dbus/ignore-missing-includedirs.patch
@@ -0,0 +1,23 @@
+diff -ru -x '*~' dbus-1.2.24-orig/bus/config-parser.c dbus-1.2.24/bus/config-parser.c
+--- dbus-1.2.24-orig/bus/config-parser.c	2010-03-23 20:01:27.000000000 +0100
++++ dbus-1.2.24/bus/config-parser.c	2010-07-20 14:17:20.000000000 +0200
+@@ -2159,12 +2159,16 @@
+ 
+   retval = FALSE;
+   
+-  dir = _dbus_directory_open (dirname, error);
++  dbus_error_init (&tmp_error);
++  
++  dir = _dbus_directory_open (dirname, &tmp_error);
+ 
+   if (dir == NULL)
+-    goto failed;
++    {
++      retval = TRUE;
++      goto failed;
++    }
+ 
+-  dbus_error_init (&tmp_error);
+   while (_dbus_directory_get_next_file (dir, &filename, &tmp_error))
+     {
+       DBusString full_path;