about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix5
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.sh35
-rw-r--r--pkgs/tools/archivers/gnutar-diet/default.nix12
-rw-r--r--pkgs/tools/networking/curl/default.nix15
-rw-r--r--pkgs/top-level/all-packages.nix28
5 files changed, 49 insertions, 46 deletions
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 0586cd1021d8..df09226183e9 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -7,13 +7,14 @@ let
     # stdenv-linux's dependencies, rather than building new ones with
     # dietlibc.
     bootStdenv = removeAttrs (pkgs.useDietLibC pkgs.stdenv)
-      ["bash" "bzip2" "coreutils"];
+      ["bash" "bzip2" "coreutils" "gnutar" "patchelf"];
   };
 
   generator = pkgs.stdenv.mkDerivation {
     name = "bootstrap-tools-generator";
     builder = ./make-bootstrap-tools.sh;
-    inherit (pkgsDiet) bash bzip2 coreutils;
+    inherit (pkgsDiet) bash bzip2 coreutils gnutar;
+    curl = pkgsDiet.realCurl;
 
     # The result should not contain any references (store paths) so
     # that we can safely copy them out of the store and to other
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.sh b/pkgs/stdenv/linux/make-bootstrap-tools.sh
index 775b99a502f2..e7f170f49a8f 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.sh
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.sh
@@ -3,6 +3,11 @@ source $stdenv/setup
 ensureDir $out/in-nixpkgs
 ensureDir $out/on-server
 
+# Everything we put in check-only is merely to allow Nix to check that
+# we aren't putting binaries with store path references in tarballs.
+ensureDir $out/check-only
+
+
 nukeRefs() {
     # Dirty, disgusting, but it works ;-)
     fileName=$1
@@ -11,11 +16,35 @@ nukeRefs() {
     mv $fileName.tmp $fileName
 }
 
+
 cp $bash/bin/bash $out/in-nixpkgs
 cp $bzip2/bin/bunzip2 $out/in-nixpkgs
-cp $coreutils/bin/cp $out/in-nixpkgs
+cp $gnutar/bin/tar $out/in-nixpkgs
+cp $curl/bin/curl $out/check-only
+bzip2 < $curl/bin/curl > $out/in-nixpkgs/curl.bz2
 
 nukeRefs $out/in-nixpkgs/bash
+nukeRefs $out/in-nixpkgs/tar
+
+for i in $out/in-nixpkgs/*; do
+    if test -x $i; then
+        chmod +w $i
+        strip -s $i
+    fi
+done
+
+
+mkdir tools
+mkdir tools/bin
+
+cp $coreutils/bin/* tools/bin
+rm tools/bin/groups # has references
+rm tools/bin/printf # idem
+
+#cp $patchelf/bin/* tools/bin
+tar cvfj $out/on-server/static-tools.tar.bz2 tools
+
 
-chmod +w $out/in-nixpkgs/*
-strip -s $out/in-nixpkgs/*
+for i in $out/on-server/*.tar.bz2; do
+    (cd $out/check-only && tar xvfj $i)
+done
diff --git a/pkgs/tools/archivers/gnutar-diet/default.nix b/pkgs/tools/archivers/gnutar-diet/default.nix
deleted file mode 100644
index d6c3dd2f19c1..000000000000
--- a/pkgs/tools/archivers/gnutar-diet/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, dietgcc}:
-
-stdenv.mkDerivation {
-  name = "gnutar-1.15.1";
-  src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/tarballs/tar-1.15.1.tar.bz2;
-    md5 = "57da3c38f8e06589699548a34d5a5d07";
-  };
-  NIX_GCC = dietgcc;
-  NIX_GLIBC_FLAGS_SET=1;
-  NIX_CFLAGS_COMPILE="-D_BSD_SOURCE=1";
-}
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index f05194e7b2ca..91584e8ea0be 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,17 +1,26 @@
-{stdenv, fetchurl, zlib, sslSupport ? false, openssl ? null}:
+{stdenv, fetchurl, zlibSupport ? false, zlib, sslSupport ? false, openssl ? null}:
 
+assert zlibSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "curl-7.15.5";
   src = fetchurl {
     url = http://nix.cs.uu.nl/dist/tarballs/curl-7.15.5.tar.bz2;
     md5 = "594142c7d53bbdd988e8cef6354eeeff";
   };
-  buildInputs = [zlib (if sslSupport then openssl else null)];
+  buildInputs =
+    (if zlibSupport then [zlib] else [])
+    ++ (if sslSupport then [openssl] else []);
   patches = [./configure-cxxcpp.patch];
   configureFlags = "
     ${if sslSupport then "--with-ssl=${openssl}" else "--without-ssl"}
   ";
   inherit sslSupport openssl;
 }
+
+// (if stdenv ? isDietLibC then {
+  CFLAGS = "-DHAVE_INET_NTOA_R_2_ARGS=1";
+} else {})
+
+)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 95e4f7645db5..b46d0f4e32e3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -206,11 +206,6 @@ rec {
       inherit fetchurl stdenv;
     });
 
-  bzip2Diet = import ../tools/compression/bzip2 {
-    inherit fetchurl;
-    stdenv = useDietLibC stdenv;
-  };
-
   cabextract = import ../tools/archivers/cabextract {
     inherit fetchurl stdenv;
   };
@@ -224,24 +219,12 @@ rec {
       inherit fetchurl stdenv;
     });
 
-  coreutilsDiet = import ../tools/misc/coreutils {
-    inherit fetchurl;
-    stdenv = useDietLibC stdenv;
-  };
-
   cpio = import ../tools/archivers/cpio {
     inherit fetchurl stdenv;
   };
 
   curl = if stdenv ? curl then stdenv.curl else (assert false; null);
 
-  curlDiet = import ../tools/networking/curl {
-    inherit fetchurl zlib;
-    stdenv = addAttrsToDerivation {
-      CFLAGS = "-DHAVE_INET_NTOA_R_2_ARGS=1";
-    } (useDietLibC stdenv);
-  };
-
   dhcp = import ../tools/networking/dhcp {
     inherit fetchurl stdenv groff nettools coreutils iputils gnused bash;
   };
@@ -321,10 +304,6 @@ rec {
       inherit fetchurl stdenv;
     });
 
-  gnutarDiet = import ../tools/archivers/gnutar-diet {
-    inherit fetchurl stdenv dietgcc;
-  };
-
   graphviz = import ../tools/graphics/graphviz {
     inherit fetchurl stdenv libpng libjpeg expat x11 yacc libtool;
     inherit (xlibs) libXaw;
@@ -428,6 +407,7 @@ rec {
 
   realCurl = import ../tools/networking/curl {
     inherit fetchurl stdenv zlib;
+    zlibSupport = !stdenv ? isDietLibC;
   };
 
   sablotron = import ../tools/text/xml/sablotron {
@@ -513,11 +493,6 @@ rec {
       inherit fetchurl stdenv;
     });
 
-  bashDiet = import ../shells/bash {
-    inherit fetchurl;
-    stdenv = useDietLibC stdenv;
-  };
-
   tcsh = import ../shells/tcsh {
     inherit fetchurl stdenv ncurses;
   };
@@ -1674,6 +1649,7 @@ rec {
 
   zlib = import ../development/libraries/zlib {
     inherit fetchurl stdenv;
+    static = !stdenv ? isDietLibC;
   };
 
   zlibStatic = import ../development/libraries/zlib {