summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-03-09 18:05:38 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-03-09 18:05:38 +0000
commit6f9a7832326b7a695ecadcd66b3b8c7acb8dd632 (patch)
treeabe784672998083239733a2a05867f2c03acfaf1
parent70b2dd393c6822c86070dacfdc9bd1487d03a1f8 (diff)
Trying to get coreutils cross-built with uclibc.
This involved fixing some buildInputs/buildNativeInputs in acl/attr, and adding a libiconv in some places. svn path=/nixpkgs/branches/stdenv-updates/; revision=20510
-rw-r--r--pkgs/development/libraries/acl/default.nix3
-rw-r--r--pkgs/development/libraries/attr/default.nix3
-rw-r--r--pkgs/development/libraries/gettext/default.nix5
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix7
-rw-r--r--pkgs/tools/misc/coreutils/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 25 insertions, 5 deletions
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 06dd8cb2fb97..9bf407d61ff1 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
sha256 = "1j39g62fki0iyji9s62slgwdfskpkqy7rmjlqcnmsvsnxbxhc294";
};
- buildInputs = [gettext attr libtool];
+ buildNativeInputs = [gettext];
+ buildInputs = [attr libtool];
configureFlags = "MAKE=make LIBTOOL=libtool MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ZIP=gzip ECHO=echo SED=sed AWK=gawk";
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 532f97a9fdf3..0f38cb27c0db 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation {
sha256 = "1gy5zspj8ynxv6q29r24d18cfvq06zirg1pxcdg27bg2ncrv4n6k";
};
- buildInputs = [libtool gettext];
+ buildNativeInputs = [gettext];
+ buildInputs = [libtool];
configureFlags = "MAKE=make LIBTOOL=libtool MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ECHO=echo SED=sed AWK=gawk";
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 6b094fdc8394..826dae2d314a 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -21,6 +21,11 @@ stdenv.mkDerivation (rec {
fi
'';
+ crossAttrs = {
+ buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
+ stdenv.gccCross.libc.libiconv.hostDrv;
+ };
+
meta = {
description = "GNU gettext, a well integrated set of translation tools and documentation";
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
index 0811e8e3e80f..8787e345451a 100644
--- a/pkgs/os-specific/linux/uclibc/default.nix
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, linuxHeaders, cross ? null, gccCross ? null}:
+{stdenv, fetchurl, linuxHeaders, libiconv, cross ? null, gccCross ? null}:
assert stdenv.isLinux;
assert cross != null -> gccCross != null;
@@ -58,6 +58,11 @@ stdenv.mkDerivation {
(cd $out/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
sed -i s@/lib/@$out/lib/@g $out/lib/libc.so
'';
+
+ passthru = {
+ # Derivations may check for the existance of this attribute, to know what to link to.
+ inherit libiconv;
+ };
meta = {
homepage = http://www.uclibc.org/;
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index d588c49e5c38..431684829b5b 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -8,7 +8,15 @@ stdenv.mkDerivation rec {
sha256 = "0zq11lykc7hfs9nsdnb8gqk354l82hswqj38607mvwj3b0zqvc4b";
};
- buildInputs = [ perl gmp ] ++ stdenv.lib.optional aclSupport acl;
+ buildNativeInputs = [ perl ];
+ buildInputs = [ gmp ] ++ stdenv.lib.optional aclSupport acl;
+
+ crossAttrs = {
+ buildInputs = [ gmp ]
+ ++ stdenv.lib.optional aclSupport acl.hostDrv
+ ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
+ stdenv.gccCross.libc.libiconv.hostDrv;
+ };
# The tests are known broken on Cygwin
# (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 04f2d450f1bc..153ca8b1bd9f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6401,7 +6401,7 @@ let
*/
uclibcCross = import ../os-specific/linux/uclibc {
- inherit fetchurl stdenv;
+ inherit fetchurl stdenv libiconv;
linuxHeaders = linuxHeadersCross;
gccCross = gccCrossStageStatic;
cross = assert crossSystem != null; crossSystem;