Branch: refs/heads/master
  Home:   https://github.com/NixOS/nix
  Commit: 4425a5c5470e4f26213cfecac404fed88d0f35aa
      
https://github.com/NixOS/nix/commit/4425a5c5470e4f26213cfecac404fed88d0f35aa
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/build.cc

  Log Message:
  -----------
  Move exportReferencesGraph into a separate method

startBuilder() is getting rather obese.


  Commit: e8c43abd9aed4d88f2cce9ebc97de73930dffdfb
      
https://github.com/NixOS/nix/commit/e8c43abd9aed4d88f2cce9ebc97de73930dffdfb
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/download.cc

  Log Message:
  -----------
  On HTTP errors, also show the curl error

This is a hopefully temporary measure to diagnose the intermittent
"HTTP error 200" failures.


  Commit: a529c740d28859201a3a4b245b88ade96fb89fb0
      
https://github.com/NixOS/nix/commit/a529c740d28859201a3a4b245b88ade96fb89fb0
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/build.cc

  Log Message:
  -----------
  Moving more code out of DerivationGoal::startBuilder()


  Commit: c0f2f4eeeffd9c62ee2c59b42e6824d297d210f1
      
https://github.com/NixOS/nix/commit/c0f2f4eeeffd9c62ee2c59b42e6824d297d210f1
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/build.cc

  Log Message:
  -----------
  UserLock: Make more RAII-ish


  Commit: a55f589720e6499ed8ca1e3dd63ae18c52782150
      
https://github.com/NixOS/nix/commit/a55f589720e6499ed8ca1e3dd63ae18c52782150
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/build-remote/build-remote.cc
    M src/libstore/pathlocks.cc
    M src/libstore/pathlocks.hh

  Log Message:
  -----------
  openLockFile: Return an AutoCloseFD


  Commit: 951357e5fb4cd0804e729866f204b635add926a3
      
https://github.com/NixOS/nix/commit/951357e5fb4cd0804e729866f204b635add926a3
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/build.cc

  Log Message:
  -----------
  UserLock: Fix multi-threaded access to a global variable


  Commit: 83ae6503e87c7f5237fb0f1602793c126436495a
      
https://github.com/NixOS/nix/commit/83ae6503e87c7f5237fb0f1602793c126436495a
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libmain/shared.cc
    M src/libutil/monitor-fd.hh
    M src/libutil/util.cc
    M src/libutil/util.hh

  Log Message:
  -----------
  Fix interrupt handling


  Commit: b1f001538e41a4f28e315baeede93a8fe70d6d62
      
https://github.com/NixOS/nix/commit/b1f001538e41a4f28e315baeede93a8fe70d6d62
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/pathlocks.cc

  Log Message:
  -----------
  Fix assertion failure when a path is locked

Fixes:

  nix-store: src/libstore/build.cc:3649: void nix::Worker::run(const Goals&): 
Assertion `!awake.empty()' failed.


  Commit: 54801ed6ad4e0ea8faa67b0b4ba10debeb824d3b
      
https://github.com/NixOS/nix/commit/54801ed6ad4e0ea8faa67b0b4ba10debeb824d3b
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libexpr/attr-set.hh
    M src/libexpr/eval.cc
    M src/libexpr/get-drvs.cc
    M src/libexpr/primops.cc

  Log Message:
  -----------
  Bindings: Add a method for iterating in lexicographically sorted order


  Commit: 6de33a9c675b187437a2e1abbcb290981a89ecb1
      
https://github.com/NixOS/nix/commit/6de33a9c675b187437a2e1abbcb290981a89ecb1
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libexpr/eval.cc
    M src/libexpr/eval.hh
    M src/libexpr/primops.cc
    M src/libstore/build.cc

  Log Message:
  -----------
  Add support for passing structured data to builders

Previously, all derivation attributes had to be coerced into strings
so that they could be passed via the environment. This is lossy
(e.g. lists get flattened, necessitating configureFlags
vs. configureFlagsArray, of which the latter cannot be specified as an
attribute), doesn't support attribute sets at all, and has size
limitations (necessitating hacks like passAsFile).

This patch adds a new mode for passing attributes to builders, namely
encoded as a JSON file ".attrs.json" in the current directory of the
builder. This mode is activated via the special attribute

  __structuredAttrs = true;

(The idea is that one day we can set this in stdenv.mkDerivation.)

For example,

  stdenv.mkDerivation {
    __structuredAttrs = true;
    name = "foo";
    buildInputs = [ pkgs.hello pkgs.cowsay ];
    doCheck = true;
    hardening.format = false;
  }

results in a ".attrs.json" file containing (sans the indentation):

  {
    "buildInputs": [],
    "builder": 
"/nix/store/ygl61ycpr2vjqrx775l1r2mw1g2rb754-bash-4.3-p48/bin/bash",
    "configureFlags": [
      "--with-foo",
      "--with-bar=1 2"
    ],
    "doCheck": true,
    "hardening": {
      "format": false
    },
    "name": "foo",
    "nativeBuildInputs": [
      "/nix/store/10h6li26i7g6z3mdpvra09yyf10mmzdr-hello-2.10",
      "/nix/store/4jnvjin0r6wp6cv1hdm5jbkx3vinlcvk-cowsay-3.03"
    ],
    "propagatedBuildInputs": [],
    "propagatedNativeBuildInputs": [],
    "stdenv": "/nix/store/f3hw3p8armnzy6xhd4h8s7anfjrs15n2-stdenv",
    "system": "x86_64-linux"
  }

"passAsFile" is ignored in this mode because it's not needed - large
strings are included directly in the JSON representation.

It is up to the builder to do something with the JSON
representation. For example, in bash-based builders, lists/attrsets of
string values could be mapped to bash (associative) arrays.


  Commit: c2b0d8749f7e77afc1c4b3e8dd36b7ee9720af4a
      
https://github.com/NixOS/nix/commit/c2b0d8749f7e77afc1c4b3e8dd36b7ee9720af4a
  Author: Eelco Dolstra <[email protected]>
  Date:   2017-01-26 (Thu, 26 Jan 2017)

  Changed paths:
    M src/libstore/build.cc
    M src/libstore/store-api.cc
    M src/libstore/store-api.hh
    M src/nix/path-info.cc

  Log Message:
  -----------
  exportReferencesGraph: Export more complete info in JSON format

This writes info about every path in the closure in the same format as
‘nix path-info --json’. Thus it also includes NAR hashes and sizes.

Example:

  [
    {
      "path": "/nix/store/10h6li26i7g6z3mdpvra09yyf10mmzdr-hello-2.10",
      "narHash": "sha256:0ckdc4z20kkmpqdilx0wl6cricxv90lh85xpv2qljppcmz6vzcxl",
      "narSize": 197648,
      "references": [
  "/nix/store/10h6li26i7g6z3mdpvra09yyf10mmzdr-hello-2.10",
  "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24"
      ],
      "closureSize": 20939776
    },
    {
      "path": "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24",
      "narHash": "sha256:1nfn3m3p98y1c0kd0brp80dn9n5mycwgrk183j17rajya0h7gax3",
      "narSize": 20742128,
      "references": [
  "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24"
      ],
      "closureSize": 20742128
    }
  ]

Fixes #1134.


Compare: https://github.com/NixOS/nix/compare/49bcb1803508...c2b0d8749f7e
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to