diff --git a/pkgs/gnutar/gnutar-build.sh b/pkgs/gnutar/gnutar-build.sh new file mode 100755 index 00000000000..f79d158b86a --- /dev/null +++ b/pkgs/gnutar/gnutar-build.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd tar-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/gnutar/gnutar.fix b/pkgs/gnutar/gnutar.fix new file mode 100644 index 00000000000..d5c2cc340bf --- /dev/null +++ b/pkgs/gnutar/gnutar.fix @@ -0,0 +1,13 @@ +Package( + [ ("name", "gnutar-1.13.25") + + , ("build", Relative("gnutar/gnutar-build.sh")) + + , ("src", Call(IncludeFix("fetchurl/fetchurl.fix"), + [ ("url", "ftp://alpha.gnu.org/gnu/tar/tar-1.13.25.tar.gz") + , ("md5", "6ef8c906e81eee441f8335652670ac4a") + ])) + + , ("stdenv", IncludeFix("stdenv-linux/stdenv-nativetools.fix")) + ] +) diff --git a/pkgs/stdenv-linux/setup.sh b/pkgs/stdenv-linux/setup.sh index a0f07476a02..0bc6af7c6d2 100644 --- a/pkgs/stdenv-linux/setup.sh +++ b/pkgs/stdenv-linux/setup.sh @@ -3,8 +3,4 @@ export NIX_CFLAGS="-isystem @GLIBC@/include $NIX_CFLAGS" export NIX_LDFLAGS="-L @GLIBC@/lib -Wl,-dynamic-linker,@GLIBC@/lib/ld-linux.so.2,-rpath,@GLIBC@/lib $NIX_LDFLAGS" -if test "@NATIVETOOLS@"; then - export PATH=$PATH:/usr/local/bin:/usr/bin:/bin -else - export PATH=@COREUTILS@/bin:$PATH -fi +export PATH=@PATH@ diff --git a/pkgs/stdenv-linux/stdenv-build.sh b/pkgs/stdenv-linux/stdenv-build.sh index ea03beb55de..8b9602fef9b 100755 --- a/pkgs/stdenv-linux/stdenv-build.sh +++ b/pkgs/stdenv-linux/stdenv-build.sh @@ -4,9 +4,26 @@ export PATH=/bin:/usr/bin mkdir $out || exit 1 +if test "$nativeTools" == 1; then + p='$PATH:/usr/local/bin:/usr/bin:/bin' +else + p= + first=1 + for i in $tools; do + if test "$first" == 1; then + first= + else + p=$p: + fi + p=$p$i/bin + done + p=$p':$PATH' +fi + +echo "########## $p" + sed \ -e s^@GLIBC\@^$glibc^g \ -e s^@BASEENV\@^$baseenv^g \ - -e s^@NATIVETOOLS\@^$nativeTools^g \ - -e s^@COREUTILS\@^$coreutils^g \ + -e s^@PATH\@^$p^g \ < $setup > $out/setup || exit 1 diff --git a/pkgs/stdenv-linux/stdenv-generic.fix b/pkgs/stdenv-linux/stdenv-generic.fix index ad304c5ebb2..e88cd1f4ff8 100644 --- a/pkgs/stdenv-linux/stdenv-generic.fix +++ b/pkgs/stdenv-linux/stdenv-generic.fix @@ -10,7 +10,11 @@ Function(["nativeTools"], , ("baseenv", IncludeFix("baseenv/baseenv.fix")) , ("glibc", IncludeFix("glibc/glibc.fix")) - , ("coreutils", If(Var("nativeTools"), "", IncludeFix("coreutils/coreutils.fix"))) + , ("tools", If(Var("nativeTools"), + [], + [ IncludeFix("coreutils/coreutils.fix") + , IncludeFix("gnutar/gnutar.fix") + ])) ] ) )