From 0cc4ca1fcdab90404acf8b912055038c46ad6dd8 Mon Sep 17 00:00:00 2001
From: Sander van der Burg <s.vanderburg@tudelft.nl>
Date: Mon, 18 Oct 2010 11:30:44 +0000
Subject: [PATCH] Changed my dirty libiconv hacks I once made for i686-freebsd,
 into a more consistent manner by checking for a non-Linux platform in the
 build expressions. Hopefully, this increases portability for non-Linux
 platforms

svn path=/nixpkgs/trunk/; revision=24347
---
 pkgs/development/libraries/dbus-glib/default.nix |  3 ++-
 pkgs/development/libraries/glib/2.22.x.nix       |  5 +++--
 pkgs/development/libraries/glib/2.24.x.nix       |  5 +++--
 pkgs/top-level/all-packages.nix                  | 11 +++--------
 4 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index e21a5d66a0e2..4a2cd6f4cf95 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1p0bm5p8g8h0mimhj0d58dqdrhfipvcwv95l6hf69z4gygksclak";
   };
   
-  buildInputs = [ pkgconfig expat gettext libiconv ];
+  buildInputs = [ pkgconfig expat gettext ]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
   
   propagatedBuildInputs = [ dbus.libs glib ];
   
diff --git a/pkgs/development/libraries/glib/2.22.x.nix b/pkgs/development/libraries/glib/2.22.x.nix
index 9148639c2d0e..f9129f7ae4a5 100644
--- a/pkgs/development/libraries/glib/2.22.x.nix
+++ b/pkgs/development/libraries/glib/2.22.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv ? null}:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv}:
 
 stdenv.mkDerivation rec {
   name = "glib-2.22.5";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "802be9c9ffeb631725ffd6ed35af0af309776729a7fab4fcb48f2b0b8fe7245b";
   };
 
-  buildInputs = [pkgconfig gettext perl libiconv];
+  buildInputs = [pkgconfig gettext perl]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
 
   # The nbd package depends on a static version of this library; hence
   # the default configure flag --disable-static is switched off.
diff --git a/pkgs/development/libraries/glib/2.24.x.nix b/pkgs/development/libraries/glib/2.24.x.nix
index 6fdb18e9b4dc..5c97ab3c7d8e 100644
--- a/pkgs/development/libraries/glib/2.24.x.nix
+++ b/pkgs/development/libraries/glib/2.24.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv ? null, zlib }:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
 
 stdenv.mkDerivation rec {
   name = "glib-2.24.1";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04";
   };
 
-  buildInputs = [ pkgconfig gettext perl libiconv ];
+  buildInputs = [ pkgconfig gettext perl ]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
 
   propagatedBuildInputs = [ zlib ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3d234ca43ad4..f2fdd954b30d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2686,8 +2686,7 @@ let
   };
 
   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
-    inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
-    libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
+    inherit fetchurl stdenv pkgconfig gettext dbus expat glib libiconv;
   };
 
   dbus_java = callPackage ../development/libraries/java/dbus-java { };
@@ -3010,9 +3009,7 @@ let
 
   gtkLibs218 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs218; in rec {
 
-    glib = callPackage ../development/libraries/glib/2.22.x.nix {
-      libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
-    };
+    glib = callPackage ../development/libraries/glib/2.22.x.nix { };
 
     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
 
@@ -3030,9 +3027,7 @@ let
 
   gtkLibs220 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs220; in rec {
 
-    glib = callPackage ../development/libraries/glib/2.24.x.nix {
-      libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
-    };
+    glib = callPackage ../development/libraries/glib/2.24.x.nix { };
 
     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };