diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 3559b12479..112ffabd70 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -14,6 +14,9 @@ TODO: Berkeley DB no longer needed. + New substituter to copy from remotely mounted Nix + stores (TODO: document). + nix-store --dump-db / --load-db. New primops: @@ -25,6 +28,25 @@ builtins.genericClosure. + GC options: , + . + + TODO: Optimistic profile locking. + + The option is now + supported by nix-store -r and + nix-build. + + The information previously shown by + (i.e., which derivations will be built + and which paths will be substituted) is now always shown by + nix-env, nix-store -r and + nix-build. The total download size of + substitutable paths is now also shown. + + nix-prefetch-url now supports + mirror:// URLs. + diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml index 60e8a2f34c..53b5f06a8a 100644 --- a/doc/manual/writing-nix-expressions.xml +++ b/doc/manual/writing-nix-expressions.xml @@ -1644,59 +1644,6 @@ impureEnvVars = ["http_proxy" "https_proxy" ...];
The standard environment -The standard build environment in the Nix Packages collection -provides a basic environment for building Unix packages. It consists -of the following packages: - - - - The GNU C Compiler, configured with C and C++ - support. On Linux, the compiler has been patched to provide greater - purity assurance. For instance, the compiler doesn't - search in locations such as /usr/include. In - fact, attempts to add such directories through the - flag are filtered out. Likewise, the linker - (from GNU binutils) doesn't search in standard locations such as - /usr/lib. Programs built on Linux are linked - against a GNU C Library that likewise doesn't search in the default - system locations. - - GNU coreutils (contains a few dozen standard Unix - commands). - - GNU findutils (contains - find). - - GNU diffutils (contains diff, - cmp). - - GNU sed. - - GNU grep. - - GNU awk. - - GNU tar. - - gzip and - bzip2. - - GNU Make. It has been patched to provide - nested output that can be fed into the - nix-log2xml command and - log2html stylesheet to create a structured, - readable output of the build steps performed by - Make. - - Bash. This is the shell used for all builders in - the Nix Packages collection. Not using /bin/sh - removes a large source of portability problems. - - Patch. - - - - The standard environment is used by passing it as an input called stdenv to the derivation, and then doing @@ -1765,115 +1712,6 @@ myPostInstall() { -The generic builder has a number of phases, -each of which can be override in its entirety by setting the indicated -variable. The phases are: - - - - - - unpackPhase unpacks the source files - listed in the src environment variable to the - current directory. It supports tar files, - optionally compressed with gzip or - bzip2; Zip files (but note that the - unzip command is not a part of the standard - environment; you should add it as a build input yourself); and - unpacked source trees (i.e., directories; they are copied - verbatim). You can add support for other file types by setting - the findUnpacker hook. This hook should set - the variable unpackCmd to contain the command - to be executed to unpack the file. - - After unpacking all source files, - unpackPhase changes the current directory to - the directory created by unpacking the sources. If there are - multiple source directories, you should set - sourceRoot to the name of the intended - directory. - - It also calls the hook postUnpack after - unpacking. - - - - patchPhase calls the - patch command with the - option for each patch file listed in the patches - variable. - - - - configurePhase runs the script called - configure in the current directory with a - set to the output path. You can add - additional flags through the configureFlags - variable. If configure does not exist, - nothing happens. - - Before and after running configure, the - hooks preConfigure and - postConfigure are called, respectively. - - - - - - buildPhase calls - make. You can set flags for - make through the makeFlags - variable. - - Before and after running make, the hooks - preBuild and postBuild are - called, respectively. - - - - checkPhase calls make - check, but only if the doCheck variable - is set to 1. Additional flags can be set through - the checkFlags variable. - - - - installPhase calls make - install. Additional flags can be set through the - installFlags variable. It also strips any - static libraries in the output path of debug information unless - dontStrip is set to - 1. - - Before and after running make install, - the hooks preInstall and - postInstall are called, respectively. - - - - - - distPhase calls make - dist, but only if the doDist variable - is set to 1. Additional flags can be set - through the distFlags variable. The resulting - tarball is copied to the /tarballs - subdirectory of the output path. - - Before and after running make dist, the - hooks preDist and postDist - are called, respectively. - - - - - - - -You can change the order in which phases are executed, or add -new phases, by setting the phases variable. The -default is patchPhase configurePhase buildPhase checkPhase -installPhase distPhase.