diff options
author | Armijn Hemel <armijn@gpl-violations.org> | 2005-12-27 15:05:35 +0000 |
---|---|---|
committer | Armijn Hemel <armijn@gpl-violations.org> | 2005-12-27 15:05:35 +0000 |
commit | 3ab04578937e076c259b866a96957dd12e6880a3 (patch) | |
tree | 5efb23504cec80575edeb8616cf6729cecb6394a /maintainers/docs | |
parent | 62dc2035fd836891b48dbac8058164255522ac96 (diff) | |
download | nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar.gz nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar.bz2 nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar.lz nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar.xz nixlib-3ab04578937e076c259b866a96957dd12e6880a3.tar.zst nixlib-3ab04578937e076c259b866a96957dd12e6880a3.zip |
add some documentation about where to find the Nix expressions for the static
tools in nixpkgs, why we chose dietlibc for some packages and glibc for others. svn path=/nixpkgs/trunk/; revision=4447
Diffstat (limited to 'maintainers/docs')
-rw-r--r-- | maintainers/docs/static-initial-env | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/maintainers/docs/static-initial-env b/maintainers/docs/static-initial-env new file mode 100644 index 000000000000..024a62a311e7 --- /dev/null +++ b/maintainers/docs/static-initial-env @@ -0,0 +1,32 @@ +Upgrading the standard initial environment + +For Nix on i686-linux we make use of an environment of statically linked +tools (see $nixpkgs/stdenv/linux). The first version of these tools were +compiled outside of Nix, in an impure environment. They are used as some +magical ingredient to make everything work. To keep these tools more in +synchronization with the rest of nixpkgs and to make porting of nixpkgs +to other platforms easier the static versions are now also built with Nix +and nixpkgs. + +The tools can be found in nixpkgs in: + +- shells/bash-static +- tools/networking/curl-diet +- tools/archivers/gnutar-diet +- tools/compression/gzip-diet +- tools/text/gnused-diet +- tools/text/diffutils-diet +- tools/text/gnupatch-diet +- tools/misc/findutils-static +(still missing: bzip2) + +Most packages are compiled with dietlibc, an alternate C library, apart +from bash and findutils, which are statically linked to glibc. The reason +we chose dietlibc has various reasons. First of all, curl cannot be built +statically with glibc. If we do, we get a static binary, but it cannot resolve +hostnames to IP addresses. glibc dynamically loads functionality at runtime +to do resolving. When linking with dietlibc this doesn't happen. + +The static tools are not used as part of the input hashing (see Eelco's +PhD thesis, paragraph 5.4.1), so changing them does not change anything and +will not force a massive rebuild. |