summary refs log tree commit diff
path: root/pkgs/development/libraries/glib/default.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-04-18 20:05:34 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-04-18 20:07:38 +0200
commit15ed86c3bd980adba9ca2669cdc992b475fd1089 (patch)
tree50d44e1f4a450f9e453404e9aeccc71df90cdd79 /pkgs/development/libraries/glib/default.nix
parent3b01d244c3caef6e53b4d768eac4f58423af7ee9 (diff)
downloadnixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar.gz
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar.bz2
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar.lz
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar.xz
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.tar.zst
nixpkgs-15ed86c3bd980adba9ca2669cdc992b475fd1089.zip
flattenInclude: a useful utility, moved into glib now
Diffstat (limited to 'pkgs/development/libraries/glib/default.nix')
-rw-r--r--pkgs/development/libraries/glib/default.nix20
1 files changed, 18 insertions, 2 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 93493a3abda..20b5ce52bc7 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -11,6 +11,19 @@
 #     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
 #       $out/bin/gtester-report' to postInstall if this is solved
 
+let
+  # some packages don't get "Cflags" from pkgconfig correctly
+  # and then fail to build when directly including like <glib/...>
+  flattenInclude = ''
+    for dir in $out/include/*; do
+      cp -r $dir/* "$out/include/"
+      rm -r "$dir"
+      ln -s . "$dir"
+    done
+    ln -sr -t "$out/include/" $out/lib/*/include/* 2>/dev/null || true
+  '';
+in
+
 stdenv.mkDerivation (rec {
   name = "glib-2.36.0";
 
@@ -30,10 +43,13 @@ stdenv.mkDerivation (rec {
 
   enableParallelBuilding = true;
 
-  passthru.gioModuleDir = "lib/gio/modules";
-
   postInstall = ''rm -rvf $out/share/gtk-doc'';
 
+  passthru = {
+     gioModuleDir = "lib/gio/modules";
+     inherit flattenInclude;
+  };
+
   meta = {
     description = "GLib, a C library of programming buildings blocks";