Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nix
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: NixOS/nix
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.3.4
Choose a head ref

Commits on Sep 4, 2019

  1. Tweak release notes

    edolstra committed Sep 4, 2019
    Copy the full SHA
    22d4ea7 View commit details

Commits on Oct 9, 2019

  1. getSourceExpr(): Handle channels

    Fixes #1892.
    Fixes #1865.
    Fixes #3119.
    
    (cherry picked from commit e6e61f0)
    edolstra committed Oct 9, 2019
    1
    Copy the full SHA
    1d5cb6a View commit details
  2. nix search: Don't quietly ignore errors

    (cherry picked from commit 7c74f07)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    1b78bbb View commit details
  3. Handle empty sandbox_shell

    Previously, SANDBOX_SHELL was set to empty when unavailable. This
    caused issues when actually generating the sandbox. Instead, just set
    SANDBOX_SHELL when --with-sandbox-shell= is non-empty. Alternative
    implementation to #3038.
    
    (cherry picked from commit 199e888)
    matthewbauer authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    9f698c4 View commit details
  4. Fix typos in the Nix Manual.

    (cherry picked from commit 00a5675)
    PyroLagus authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    3c5788d View commit details
  5. nix search: remove verbose example

    (cherry picked from commit 6f6cb5e)
    samdoshi authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    b0ae8fe View commit details
  6. Fix fetchTarball with chroot stores

    Fixes #2405.
    
    (cherry picked from commit 168a887)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    3919093 View commit details
  7. Update garbage-collection.xml readability

    1. remove a typo space
    2. Simplify negative style by using affirmative style
    
    (cherry picked from commit 10bfc5c)
    JosephLucas authored and edolstra committed Oct 9, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    4d83eb6 View commit details
  8. Shut up some warnings

    (cherry picked from commit 99e8e58)
    (cherry picked from commit 3a022d4)
    edolstra committed Oct 9, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    9f53bc3 View commit details
  9. Don't catch exceptions by value

    (cherry picked from commit 893be6f)
    (cherry picked from commit bd79c1f)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    f3ce445 View commit details
  10. libstore: don't forward --show-trace

    (cherry picked from commit e63c9e7)
    zimbatm authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    f4106e7 View commit details
  11. Move 'builtins.splitVersion' to position respecting alphabetical order

    (cherry picked from commit 9533d85)
    alexfmpe authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    62d1c60 View commit details
  12. docs: Use the explicit ref for fetchGit with a tag

    With the merge of #2582, the syntax "tags/1.9" for refs does not work
    anymore.
    However, the new syntax "refs/tags/1.9" seems to support annotated tags,
    such as "refs/tags/2.0".
    
    Closes #2385.
    
    (cherry picked from commit ae244af)
    jtanguy authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    ceddbc9 View commit details
  13. docs: Fix a typo in github in an example

    (cherry picked from commit 92ede15)
    jtanguy authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    ff7fcd3 View commit details
  14. Disable OpenSSL lock callback on OpenSSL >= 1.1.1

    (cherry picked from commit a56b51a)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    fa02819 View commit details
  15. docs: Note that tryEval doesn't do deep evaluation

    (cherry picked from commit e4ea3e0)
    infinisil authored and edolstra committed Oct 9, 2019
    Copy the full SHA
    7c9ad4d View commit details
  16. Bump version number

    edolstra committed Oct 9, 2019
    Copy the full SHA
    e232bf2 View commit details
  17. Filter ANSI escape sequences in -L output

    Otherwise, builds like NixOS VM tests may leave the terminal in a
    weird state and do resets.
    
    (cherry picked from commit 4331eeb)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    910b0fc View commit details
  18. Remove world-writability from per-user directories

    'nix-daemon' now creates subdirectories for users when they first
    connect.
    
    Fixes #509 (CVE-2019-17365).
    Should also fix #3127.
    
    (cherry picked from commit 5a30309)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    6595378 View commit details
  19. Remove some redundant initialization

    (cherry picked from commit c43d9f6)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    923b6bd View commit details
  20. nix-profile.sh: Don't create .nix-channels

    This is already done by the installer, so no need to do it again.
    
    (cherry picked from commit 26762ce)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    2522757 View commit details
  21. nix-profile.sh: Remove coreutils dependency

    (cherry picked from commit 61a6176)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    1c10f73 View commit details
  22. Go back to 755 permission on per-user directories

    700 is pointless since the store is world-readable anyway. And
    per-user/root/channels must be world-readable.
    
    (cherry picked from commit d7bae56)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    7c45898 View commit details
  23. Typo

    (cherry picked from commit 9277e72)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    fe51fba View commit details
  24. Force per-user group to a known value

    (cherry picked from commit 20eec80)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    2070d55 View commit details
  25. nix-env: Create ~/.nix-profile automatically

    (cherry picked from commit 9348f92)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    f66108f View commit details
  26. nix-env: Create ~/.nix-defexpr automatically

    (cherry picked from commit c9159f8)
    edolstra committed Oct 9, 2019
    Copy the full SHA
    0fb4744 View commit details
  27. Doh

    edolstra committed Oct 9, 2019
    Copy the full SHA
    e3d44a3 View commit details

Commits on Oct 10, 2019

  1. Copy the full SHA
    21f48ff View commit details
  2. nix verify: Fix uninitialized variable

    (cherry picked from commit 95cf23e)
    edolstra committed Oct 10, 2019
    Copy the full SHA
    61e8162 View commit details

Commits on Jan 4, 2020

  1. EvalState::callFunction(): Make FunctionCallTrace use less stack space

    The FunctionCallTrace object consumes a few hundred bytes of stack
    space, even when tracing is disabled. This was causing stack overflows:
    
      $ nix-instantiate '<nixpkgs> -A texlive.combined.scheme-full --dry-run
      error: stack overflow (possible infinite recursion)
    
    This is with the default stack size of 8 MiB.
    
    Putting the object on the heap reduces stack usage to < 5 MiB.
    
    (cherry picked from commit 98ef116)
    edolstra committed Jan 4, 2020
    Copy the full SHA
    8be0440 View commit details
  2. Fix typos

    (cherry picked from commit 8737980)
    bwignall authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    9b4e998 View commit details
  3. Fix progress bar when nix-prefetch-url is piped.

    The intent of the code was that if the window size cannot be determined,
    it would be treated as having the maximum possible size. Because of a
    missing assignment, it was actually treated as having a width of 0.
    
    The reason the width could not be determined was because it was obtained
    from stdout, not stderr, even though the printing was done to stderr.
    
    This commit addresses both issues.
    
    (cherry picked from commit c935ad3)
    hvdijk authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    61855a4 View commit details
  4. include netinet/in.h in src/nix/main.cc

    Fixes #3186
    
    (cherry picked from commit b811bd2)
    ng0 authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    a53e4e2 View commit details
  5. Document import <path> syntax

    (cherry picked from commit d8730fb)
    ersinakinci authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    c7b4bf1 View commit details
  6. SourceExprCommand::getSourceExpr(): Allocate more space

    Fixes #3140.
    
    (cherry picked from commit 389a2ce)
    edolstra committed Jan 4, 2020
    Copy the full SHA
    1ac8c02 View commit details
  7. ssh-ng: Don't set CPU affinity on the remote

    Fixes #3138.
    
    (cherry picked from commit 906d56a)
    edolstra committed Jan 4, 2020
    Copy the full SHA
    8b44ed0 View commit details
  8. Fix sandbox fallback settings

    The tmpDirInSandbox is different when in sandboxed vs. non-sandboxed.
    Since we don’t know ahead of time here whether sandboxing is enabled,
    we need to reset all of the env vars we’ve set previously. This fixes
    the issue encountered in NixOS/nixpkgs#70856.
    
    (cherry picked from commit 499b038)
    matthewbauer authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    10bf534 View commit details
  9. Move tmpDirInSandbox to initTmpDir

    (cherry picked from commit 96c8493)
    matthewbauer authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    421f1f4 View commit details
  10. Disable the evalNixpkgs test

    It constantly OOMs.
    
    https://hydra.nixos.org/build/105784912
    (cherry picked from commit 35732a9)
    edolstra committed Jan 4, 2020
    Copy the full SHA
    5526f72 View commit details
  11. Disable the evalNixOS test

    It also OOMs.
    
    https://hydra.nixos.org/build/105942679
    (cherry picked from commit 99af822)
    edolstra committed Jan 4, 2020
    Copy the full SHA
    9cf52dd View commit details
  12. Bump version number

    edolstra committed Jan 4, 2020
    Copy the full SHA
    eacc510 View commit details
  13. Copy instead of linking launch agent

    On Catalina, the /nix filesystem might not be mounted at start time.
    To avoid this service not starting, we need to keep the launch agent
    outside of the Nix store. A wait4pid will hold for our /nix dir to be
    mounted.
    
    Fixes #3125.
    
    (cherry picked from commit 0847f2f)
    matthewbauer authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    7a011de View commit details
  14. Make nix-daemon.plist less fragile on macOS

    We're calling `wait4path` on the full, resolved `@bindir@/nix-daemon` path.
    
    That means we're hardcoding something like:
    
        /bin/wait4path /nix/store/zs9c5xhp3zv9p23qnjxp87nl5injsi1i-nix-2.3/bin/nix-daemon &amp;&amp; /nix/var/nix/profiles/default/bin/nix-daemon
    
    That seems unnecessarily fragile.
    
    It might be better to wait4path on the path we intend to call.
    
    (cherry picked from commit 8c4a5e7)
    callahad authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    34bf1a8 View commit details
  15. Fix unset variable in installer

    (cherry picked from commit f0ec4b4)
    steshaw authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    e1fb586 View commit details
  16. Revert "Document import <path> syntax"

    This reverts commit d8730fb.
    
    (cherry picked from commit 9be7787)
    ersinakinci authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    1ea63a5 View commit details
  17. Add hint about path in builtins.import

    (cherry picked from commit b7a9362)
    ersinakinci authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    e9c0c77 View commit details
  18. Tweak path hint

    (cherry picked from commit f107a27)
    ersinakinci authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    93d6814 View commit details
  19. Remove superfluous IAM action for S3 cache

    `s3:ListObjects` isn't a real IAM action, but _is_ the name of an S3 API method. `s3:ListBucket` is the relevant action for that method.
    
    https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html
    (cherry picked from commit c92ea92)
    schlarpc authored and edolstra committed Jan 4, 2020
    Copy the full SHA
    9f524d9 View commit details
  20. Copy the full SHA
    6c90e3b View commit details
Showing with 381 additions and 588 deletions.
  1. +1 −1 .version
  2. +2 −3 contrib/stack-collapse.py
  3. +1 −1 doc/manual/command-ref/conf-file.xml
  4. +1 −1 doc/manual/command-ref/env-common.xml
  5. +5 −0 doc/manual/command-ref/nix-build.xml
  6. +1 −1 doc/manual/command-ref/nix-env.xml
  7. +1 −1 doc/manual/command-ref/nix-prefetch-url.xml
  8. +40 −21 doc/manual/expressions/builtins.xml
  9. +1 −1 doc/manual/expressions/simple-building-testing.xml
  10. +1 −2 doc/manual/local.mk
  11. +6 −5 doc/manual/packages/garbage-collection.xml
  12. +0 −1 doc/manual/packages/s3-substituter.xml
  13. +12 −14 doc/manual/release-notes/rl-2.3.xml
  14. +0 −263 doc/manual/style.css
  15. +1 −1 misc/launchd/org.nixos.nix-daemon.plist.in
  16. +0 −6 mk/README.md
  17. +1 −1 nix.spec.in
  18. +5 −1 release-common.nix
  19. +13 −5 release.nix
  20. +1 −1 scripts/install-darwin-multi-user.sh
  21. +11 −21 scripts/install-multi-user.sh
  22. +1 −4 scripts/install-nix-from-closure.sh
  23. +0 −39 scripts/nix-profile-daemon.sh.in
  24. +2 −46 scripts/nix-profile.sh.in
  25. +1 −1 shell.nix
  26. +27 −15 src/libexpr/eval.cc
  27. +4 −1 src/libexpr/eval.hh
  28. +17 −0 src/libexpr/function-trace.cc
  29. +4 −13 src/libexpr/function-trace.hh
  30. +2 −2 src/libexpr/json-to-value.cc
  31. +3 −3 src/libexpr/primops.cc
  32. +1 −1 src/libexpr/primops/fetchGit.cc
  33. +6 −1 src/libexpr/value-to-json.cc
  34. +4 −0 src/libmain/shared.cc
  35. +44 −34 src/libstore/build.cc
  36. +12 −3 src/libstore/download.cc
  37. +2 −0 src/libstore/download.hh
  38. +2 −0 src/libstore/fs-accessor.hh
  39. +1 −1 src/libstore/globals.hh
  40. +25 −8 src/libstore/local-store.cc
  41. +2 −0 src/libstore/local-store.hh
  42. +4 −1 src/libstore/local.mk
  43. +2 −1 src/libstore/remote-store.cc
  44. +5 −0 src/libstore/remote-store.hh
  45. +3 −0 src/libstore/ssh-store.cc
  46. +11 −4 src/libstore/ssh.cc
  47. +4 −1 src/libstore/store-api.hh
  48. +11 −1 src/libutil/util.cc
  49. +2 −0 src/libutil/util.hh
  50. +1 −1 src/nix-build/nix-build.cc
  51. +1 −7 src/nix-channel/nix-channel.cc
  52. +6 −3 src/nix-daemon/nix-daemon.cc
  53. +26 −10 src/nix-env/nix-env.cc
  54. +1 −1 src/nix/edit.cc
  55. +17 −16 src/nix/installables.cc
  56. +1 −0 src/nix/main.cc
  57. +5 −3 src/nix/progress-bar.cc
  58. +1 −4 src/nix/search.cc
  59. +2 −2 src/nix/verify.cc
  60. +0 −1 tests/function-trace.sh
  61. +1 −0 tests/lang/eval-okay-attrs6.exp
  62. +4 −0 tests/lang/eval-okay-attrs6.nix
  63. +1 −1 tests/lang/eval-okay-tojson.exp
  64. +1 −0 tests/lang/eval-okay-tojson.nix
  65. +2 −2 tests/nix-channel.sh
  66. +0 −5 tests/nix-profile.sh
  67. +4 −0 tests/remote-store.sh
  68. +1 −1 tests/user-envs.sh
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.3
2.3.4
5 changes: 2 additions & 3 deletions contrib/stack-collapse.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 --pure

# To be used with `--trace-function-calls` and `-vvvv` and
# `flamegraph.pl`.
# To be used with `--trace-function-calls` and `flamegraph.pl`.
#
# For example:
#
# nix-instantiate --trace-function-calls -vvvv '<nixpkgs>' -A hello 2> nix-function-calls.trace
# nix-instantiate --trace-function-calls '<nixpkgs>' -A hello 2> nix-function-calls.trace
# ./contrib/stack-collapse.py nix-function-calls.trace > nix-function-calls.folded
# nix-shell -p flamegraph --run "flamegraph.pl nix-function-calls.folded > nix-function-calls.svg"

2 changes: 1 addition & 1 deletion doc/manual/command-ref/conf-file.xml
Original file line number Diff line number Diff line change
@@ -433,7 +433,7 @@ builtins.fetchurl {
<varlistentry xml:id="conf-keep-env-derivations"><term><literal>keep-env-derivations</literal></term>

<listitem><para>If <literal>false</literal> (default), derivations
are not stored in Nix user environments. That is, the derivation
are not stored in Nix user environments. That is, the derivations of
any build-time-only dependencies may be garbage-collected.</para>

<para>If <literal>true</literal>, when you add a Nix derivation to
2 changes: 1 addition & 1 deletion doc/manual/command-ref/env-common.xml
Original file line number Diff line number Diff line change
@@ -122,7 +122,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
<varlistentry><term><envar>NIX_LOG_DIR</envar></term>

<listitem><para>Overrides the location of the Nix log directory
(default <filename><replaceable>prefix</replaceable>/log/nix</filename>).</para></listitem>
(default <filename><replaceable>prefix</replaceable>/var/log/nix</filename>).</para></listitem>

</varlistentry>

5 changes: 5 additions & 0 deletions doc/manual/command-ref/nix-build.xml
Original file line number Diff line number Diff line change
@@ -30,6 +30,7 @@
<replaceable>attrPath</replaceable>
</arg>
<arg><option>--no-out-link</option></arg>
<arg><option>--dry-run</option></arg>
<arg>
<group choice='req'>
<arg choice='plain'><option>--out-link</option></arg>
@@ -98,6 +99,10 @@ also <xref linkend="sec-common-options" />.</phrase></para>

</varlistentry>

<varlistentry><term><option>--dry-run</option></term>
<listitem><para>Show what store paths would be built or downloaded</para></listitem>
</varlistentry>

<varlistentry xml:id='opt-out-link'><term><option>--out-link</option> /
<option>-o</option> <replaceable>outlink</replaceable></term>

2 changes: 1 addition & 1 deletion doc/manual/command-ref/nix-env.xml
Original file line number Diff line number Diff line change
@@ -659,7 +659,7 @@ upgrading `mozilla-1.2' to `mozilla-1.4'</screen>
<literal>gcc-3.3.1</literal> are split into two parts: the package
name (<literal>gcc</literal>), and the version
(<literal>3.3.1</literal>). The version part starts after the first
dash not following by a letter. <varname>x</varname> is considered an
dash not followed by a letter. <varname>x</varname> is considered an
upgrade of <varname>y</varname> if their package names match, and the
version of <varname>y</varname> is higher that that of
<varname>x</varname>.</para>
2 changes: 1 addition & 1 deletion doc/manual/command-ref/nix-prefetch-url.xml
Original file line number Diff line number Diff line change
@@ -53,7 +53,7 @@ avoided.</para>
<para>If <replaceable>hash</replaceable> is specified, then a download
is not performed if the Nix store already contains a file with the
same hash and base name. Otherwise, the file is downloaded, and an
error if signaled if the actual hash of the file does not match the
error is signaled if the actual hash of the file does not match the
specified hash.</para>

<para>This command prints the hash on standard output. Additionally,
61 changes: 40 additions & 21 deletions doc/manual/expressions/builtins.xml
Original file line number Diff line number Diff line change
@@ -170,18 +170,6 @@ if builtins ? getEnv then builtins.getEnv "PATH" else ""</programlisting>
</varlistentry>


<varlistentry xml:id='builtin-splitVersion'>
<term><function>builtins.splitVersion</function>
<replaceable>s</replaceable></term>

<listitem><para>Split a string representing a version into its
components, by the same version splitting logic underlying the
version comparison in <link linkend="ssec-version-comparisons">
<command>nix-env -u</command></link>.</para></listitem>

</varlistentry>


<varlistentry xml:id='builtin-concatLists'>
<term><function>builtins.concatLists</function>
<replaceable>lists</replaceable></term>
@@ -301,7 +289,7 @@ if builtins ? getEnv then builtins.getEnv "PATH" else ""</programlisting>

<listitem><para>Return element <replaceable>n</replaceable> from
the list <replaceable>xs</replaceable>. Elements are counted
starting from 0. A fatal error occurs in the index is out of
starting from 0. A fatal error occurs if the index is out of
bounds.</para></listitem>

</varlistentry>
@@ -448,7 +436,7 @@ stdenv.mkDerivation { … }
<example>
<title>Fetching an arbitrary ref</title>
<programlisting>builtins.fetchGit {
url = "https://gitub.com/NixOS/nix.git";
url = "https://github.com/NixOS/nix.git";
ref = "refs/heads/0.5-release";
}</programlisting>
</example>
@@ -499,11 +487,8 @@ stdenv.mkDerivation { … }
<title>Fetching a tag</title>
<programlisting>builtins.fetchGit {
url = "https://github.com/nixos/nix.git";
ref = "tags/1.9";
ref = "refs/tags/1.9";
}</programlisting>
<note><para>Due to a bug (<link
xlink:href="https://github.com/NixOS/nix/issues/2385">#2385</link>),
only non-annotated tags can be fetched.</para></note>
</example>

<example>
@@ -761,6 +746,11 @@ builtins.genList (x: x * x) 5
separate file, and use it from Nix expressions in other
files.</para>

<note><para>Unlike some languages, <function>import</function> is a regular
function in Nix. Paths using the angle bracket syntax (e.g., <function>
import</function> <replaceable>&lt;foo&gt;</replaceable>) are normal path
values (see <xref linkend='ssec-values' />).</para></note>

<para>A Nix expression loaded by <function>import</function> must
not contain any <emphasis>free variables</emphasis> (identifiers
that are not defined in the Nix expression itself and are not
@@ -1130,6 +1120,16 @@ Evaluates to <literal>[ "foo" ]</literal>.

</varlistentry>

<varlistentry xml:id='builtin-placeholder'>
<term><function>builtins.placeholder</function>
<replaceable>output</replaceable></term>

<listitem><para>Return a placeholder string for the specified
<replaceable>output</replaceable> that will be substituted by the
corresponding output path at build time. Typical outputs would be
<literal>"out"</literal>, <literal>"bin"</literal> or
<literal>"dev"</literal>.</para></listitem>
</varlistentry>

<varlistentry xml:id='builtin-readDir'>
<term><function>builtins.readDir</function>
@@ -1275,6 +1275,19 @@ Evaluates to <literal>[ " " [ "FOO" ] " " ]</literal>.
</para></listitem>
</varlistentry>


<varlistentry xml:id='builtin-splitVersion'>
<term><function>builtins.splitVersion</function>
<replaceable>s</replaceable></term>

<listitem><para>Split a string representing a version into its
components, by the same version splitting logic underlying the
version comparison in <link linkend="ssec-version-comparisons">
<command>nix-env -u</command></link>.</para></listitem>

</varlistentry>


<varlistentry xml:id='builtin-stringLength'>
<term><function>builtins.stringLength</function>
<replaceable>e</replaceable></term>
@@ -1468,7 +1481,7 @@ in foo</programlisting>
<listitem><para>A set containing <literal>{ __toString = self: ...; }</literal>.</para></listitem>
<listitem><para>An integer.</para></listitem>
<listitem><para>A list, in which case the string representations of its elements are joined with spaces.</para></listitem>
<listitem><para>A Boolean (<literal>false</literal> yields <literal>""</literal>, <literal>true</literal> yields <literal>"1"</literal>.</para></listitem>
<listitem><para>A Boolean (<literal>false</literal> yields <literal>""</literal>, <literal>true</literal> yields <literal>"1"</literal>).</para></listitem>
<listitem><para><literal>null</literal>, which yields the empty string.</para></listitem>
</itemizedlist>
</listitem>
@@ -1607,12 +1620,18 @@ stdenv.mkDerivation (rec {
<term><function>builtins.tryEval</function>
<replaceable>e</replaceable></term>

<listitem><para>Try to evaluate <replaceable>e</replaceable>.
<listitem><para>Try to shallowly evaluate <replaceable>e</replaceable>.
Return a set containing the attributes <literal>success</literal>
(<literal>true</literal> if <replaceable>e</replaceable> evaluated
successfully, <literal>false</literal> if an error was thrown) and
<literal>value</literal>, equalling <replaceable>e</replaceable>
if successful and <literal>false</literal> otherwise.
if successful and <literal>false</literal> otherwise. Note that this
doesn't evaluate <replaceable>e</replaceable> deeply, so
<literal>let e = { x = throw ""; }; in (builtins.tryEval e).success
</literal> will be <literal>true</literal>. Using <literal>builtins.deepSeq
</literal> one can get the expected result: <literal>let e = { x = throw "";
}; in (builtins.tryEval (builtins.deepSeq e e)).success</literal> will be
<literal>false</literal>.
</para></listitem>

</varlistentry>
2 changes: 1 addition & 1 deletion doc/manual/expressions/simple-building-testing.xml
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ use <command>nix-build</command>’s <option
linkend='opt-out-link'>-o</option> switch to give the symlink another
name.</para>

<para>Nix has a transactional semantics. Once a build finishes
<para>Nix has transactional semantics. Once a build finishes
successfully, Nix makes a note of this in its database: it registers
that the path denoted by <envar>out</envar> is now
<quote>valid</quote>. If you try to build the derivation again, Nix
3 changes: 1 addition & 2 deletions doc/manual/local.mk
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@ ifeq ($(doc_generate),yes)
XSLTPROC = $(xsltproc) --nonet $(xmlflags) \
--param section.autolabel 1 \
--param section.label.includes.component.label 1 \
--param html.stylesheet \'style.css\' \
--param xref.with.number.and.title 1 \
--param toc.section.depth 3 \
--param admon.style \'\' \
@@ -66,7 +65,7 @@ $(d)/manual.html: $(d)/manual.xml $(MANUAL_SRCS) $(d)/manual.is-valid
$(docbookxsl)/profiling/profile.xsl $< | \
$(XSLTPROC) --output $@ $(docbookxsl)/xhtml/docbook.xsl -

$(foreach file, $(d)/manual.html $(d)/style.css, $(eval $(call install-data-in, $(file), $(docdir)/manual)))
$(foreach file, $(d)/manual.html, $(eval $(call install-data-in, $(file), $(docdir)/manual)))

$(foreach file, $(wildcard $(d)/figures/*.png), $(eval $(call install-data-in, $(file), $(docdir)/manual/figures)))

11 changes: 6 additions & 5 deletions doc/manual/packages/garbage-collection.xml
Original file line number Diff line number Diff line change
@@ -52,12 +52,13 @@ garbage collector as follows:
<screen>
$ nix-store --gc</screen>

The behaviour of the gargage collector is affected by the <literal>keep-
derivations</literal> (default: true) and <literal>keep-outputs</literal>
The behaviour of the gargage collector is affected by the
<literal>keep-derivations</literal> (default: true) and <literal>keep-outputs</literal>
(default: false) options in the Nix configuration file. The defaults will ensure
that all derivations that are not build-time dependencies of garbage collector roots
will be collected but that all output paths that are not runtime dependencies
will be collected. (This is usually what you want, but while you are developing
that all derivations that are build-time dependencies of garbage collector roots
will be kept and that all output paths that are runtime dependencies
will be kept as well. All other derivations or paths will be collected.
(This is usually what you want, but while you are developing
it may make sense to keep outputs to ensure that rebuild times are quick.)

If you are feeling uncertain, you can also first view what files would
1 change: 0 additions & 1 deletion doc/manual/packages/s3-substituter.xml
Original file line number Diff line number Diff line change
@@ -159,7 +159,6 @@ the S3 URL:</para>
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:ListObjects",
"s3:PutObject"
],
"Resource": [
26 changes: 12 additions & 14 deletions doc/manual/release-notes/rl-2.3.xml
Original file line number Diff line number Diff line change
@@ -13,9 +13,8 @@ incompatible changes:</para>

<listitem>
<para>Nix now uses BSD file locks instead of POSIX file
locks. Since previous releases used POSIX file locks, you should
not use Nix 2.2 and previous releases at the same time on a Nix
store.</para>
locks. Because of this, you should not use Nix 2.3 and previous
releases at the same time on a Nix store.</para>
</listitem>

</itemizedlist>
@@ -34,9 +33,13 @@ incompatible changes:</para>
</listitem>

<listitem>
<para>The installer now enables sandboxing by default on
Linux. The <literal>max-jobs</literal> setting now defaults to
1.</para>
<para>The installer now enables sandboxing by default on Linux when the
system has the necessary kernel support.
</para>
</listitem>

<listitem>
<para>The <literal>max-jobs</literal> setting now defaults to 1.</para>
</listitem>

<listitem>
@@ -47,17 +50,17 @@ incompatible changes:</para>
</listitem>

<listitem>
<para><command>nix</command>: Add
<para>The <command>nix</command> command has a new
<option>--print-build-logs</option> (<option>-L</option>) flag to
print build log output to stderr rather than showing the last log
print build log output to stderr, rather than showing the last log
line in the progress bar. To distinguish between concurrent
builds, log lines are prefixed by the name of the package.
</para>
</listitem>

<listitem>
<para>Builds are now executed in a pseudo-terminal, and the
<envar>TERM</envar> evnironment variable is set to
<envar>TERM</envar> environment variable is set to
<literal>xterm-256color</literal>. This allows many programs
(e.g. <command>gcc</command>, <command>clang</command>,
<command>cmake</command>) to print colorized log output.</para>
@@ -83,11 +86,6 @@ incompatible changes:</para>
the duration of Nix function calls to stderr.</para>
</listitem>

<listitem>
<para>On Linux, sandboxing is now disabled by default on systems
that don’t have the necessary kernel support.</para>
</listitem>

</itemizedlist>

</section>
Loading