* Start of a Nix expression that builds and gathers all the statically
linked tools necessary for bootstrapping stdenv-linux. svn path=/nixpkgs/trunk/; revision=6778
This commit is contained in:
parent
1ef55666d0
commit
fc56793b67
|
@ -0,0 +1,24 @@
|
||||||
|
let
|
||||||
|
|
||||||
|
pkgs = import ../../top-level/all-packages.nix {};
|
||||||
|
|
||||||
|
pkgsDiet = import ../../top-level/all-packages.nix {
|
||||||
|
# Have to do removeAttrs to prevent all-packages from copying
|
||||||
|
# stdenv-linux's dependencies, rather than building new ones with
|
||||||
|
# dietlibc.
|
||||||
|
bootStdenv = removeAttrs (pkgs.useDietLibC pkgs.stdenv)
|
||||||
|
["bash" "bzip2" "coreutils"];
|
||||||
|
};
|
||||||
|
|
||||||
|
generator = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "bootstrap-tools-generator";
|
||||||
|
builder = ./make-bootstrap-tools.sh;
|
||||||
|
inherit (pkgsDiet) bash bzip2 coreutils;
|
||||||
|
|
||||||
|
# The result should not contain any references (store paths) so
|
||||||
|
# that we can safely copy them out of the store and to other
|
||||||
|
# locations in the store.
|
||||||
|
allowedReferences = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
in generator
|
|
@ -0,0 +1,21 @@
|
||||||
|
source $stdenv/setup
|
||||||
|
|
||||||
|
ensureDir $out/in-nixpkgs
|
||||||
|
ensureDir $out/on-server
|
||||||
|
|
||||||
|
nukeRefs() {
|
||||||
|
# Dirty, disgusting, but it works ;-)
|
||||||
|
fileName=$1
|
||||||
|
cat $fileName | sed "s|/nix/store/[a-z0-9]*-|/nix/store/ffffffffffffffffffffffffffffffff-|g" > $fileName.tmp
|
||||||
|
if test -x $fileName; then chmod +x $fileName.tmp; fi
|
||||||
|
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
|
||||||
|
|
||||||
|
nukeRefs $out/in-nixpkgs/bash
|
||||||
|
|
||||||
|
chmod +w $out/in-nixpkgs/*
|
||||||
|
strip -s $out/in-nixpkgs/*
|
Loading…
Reference in New Issue