aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/primops.cc
AgeCommit message (Collapse)Author
2020-12-11Use the hash modulo in the derivation outputsregnat
Rather than storing the derivation outputs as `drvPath!outputName` internally, store them as `drvHashModulo!outputName` (or `outputHash!outputName` for fixed-output derivations). This makes the storage slightly more opaque, but enables an earlier cutoff in cases where a fixed-output dependency changes (but keeps the same output hash) − same as what we already do for input-addressed derivations.
2020-11-19Make drv hash modulo memo table thread-safeJohn Ericson
Let's get one step closer to the daemon not needing to fork.
2020-10-27Allow non-CA derivations to depend on CA derivationsregnat
2020-09-25Merge pull request #3626 from W95Psp/masterEelco Dolstra
Make `functionArgs` primitive accept primops (fix #3624)
2020-09-21Don't include <regex> in header filesEelco Dolstra
This reduces compilation time by ~15 seconds (CPU time). Issue #4045.
2020-09-17Remove corepkgs/derivation.nixEelco Dolstra
2020-09-16Fix doc generationEelco Dolstra
2020-09-16builtins.toFile: Fix indentationEelco Dolstra
2020-09-15Rename `Derivation::pathOpt` to `Derivation::path`John Ericson
We no longer need the `*Opt` to disambiguate.
2020-09-04Document `mkOutputString`John Ericson
2020-09-01Merge remote-tracking branch 'upstream/master' into single-ca-drv-buildJohn Ericson
2020-08-31Merge remote-tracking branch 'origin/master' into markdownEelco Dolstra
2020-08-28Merge remote-tracking branch 'upstream/master' into single-ca-drv-buildJohn Ericson
2020-08-27Merge pull request #3434 from Ericson2314/derivation-header-include-orderEelco Dolstra
Revise division of labor in deserialization of derivations
2020-08-25Merge remote-tracking branch 'origin/master' into markdownEelco Dolstra
2020-08-25Move import docsEelco Dolstra
2020-08-25Use RegisterPrimOp for some undocumented primopsEelco Dolstra
2020-08-25Document some primopsEelco Dolstra
2020-08-24Move primop docs inlineEelco Dolstra
This makes them available to 'nix repl'.
2020-08-24Allow primops to have Markdown documentationEelco Dolstra
2020-08-23`writeDerivation` just needs a plain store referenceJohn Ericson
2020-08-21"Downstream placeholders" should not be store pathsJohn Ericson
Insead they should be opaque `/<hash>` like the placeholders we already have.
2020-08-20Merge remote-tracking branch 'upstream/master' into single-ca-drv-buildJohn Ericson
2020-08-20Rename drv output querying functions, like masterJohn Ericson
- `queryDerivationOutputMapAssumeTotal` -> `queryPartialDerivationOutputMap` - `queryDerivationOutputMapAssumeTotal` -> `queryDerivationOutputMap
2020-08-18Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-08-18Merge pull request #3917 from obsidiansystems/output-env-var-unconditionalEelco Dolstra
Simplify code as output env vars are unconditional
2020-08-14Merge remote-tracking branch 'upstream/master' into single-ca-drv-buildJohn Ericson
2020-08-14Merge pull request #3875 from obsidiansystems/new-interface-for-path-pathOptEelco Dolstra
Offer a safer interface for path and pathOpt
2020-08-11Simplify code as output env vars are unconditionalJohn Ericson
Since the jsonObject unique ptr is reset to flush the string to make `__json`, all these `!jsonObject` conditions will always be true.
2020-08-10Merge branch 'small-drv-serialize-cleanup' of github.com:obsidiansystems/nix ↵John Ericson
into single-ca-drv-build
2020-08-10Remove name parameter from `writeDerivation`John Ericson
The name is now stored with the derivation itself.
2020-08-07Squashed get CA derivations buildingJohn Ericson
2020-08-05Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
new-interface-for-path-pathOpt
2020-08-05Update src/libexpr/primops.ccJohn Ericson
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2020-08-05Merge remote-tracking branch 'obsidian/misc-ca' into ↵John Ericson
derivation-primop-floating-output
2020-08-05Sed some names to perhaps avoid conflictsJohn Ericson
2020-08-05Make names more consistentJohn Ericson
2020-08-05Merge remote-tracking branch 'upstream/master' into misc-caJohn Ericson
2020-08-01Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-07-30Make expectedHash optional in prim_pathMatthew Bauer
This fixes an error found in builtins.path that looks like: store path mismatch in (possibly filtered) path added from '/private/tmp/nix-shell.CyXViH/nix-test/filter-source/filterin' when no hash is specified
2020-07-30unsigned long long -> uint64_tEelco Dolstra
2020-07-28Merge branch 'misc-ca' of github.com:obsidiansystems/nix into ↵Carlo Nucera
new-interface-for-path-pathOpt
2020-07-28Use the new interfaceCarlo Nucera
2020-07-27Require `ca-derivations` everywhere we create a CA derivationJohn Ericson
"create" as in read one in from a serialized form, or build one from scratch in memory.
2020-07-27Merge branch 'misc-ca' of github.com:obsidiansystems/nix into ↵John Ericson
derivation-primop-floating-output
2020-07-27Merge branch 'ca-derivation-data-types' of github.com:obsidiansystems/nix ↵John Ericson
into misc-ca
2020-07-27Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-22Parse CA derivations using new output variantsJohn Ericson
We no longer need `ParsedDerivation` because everything libstore needs to know about is in the `BasicDerivation` proper.
2020-07-17Merge branch 'multi-output-hashDerivationModulo' of ↵Carlo Nucera
github.com:Ericson2314/nix into misc-ca
2020-07-16Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
optional-derivation-output-storepath