about summary refs log tree commit diff
path: root/src/nix-env/user-env.cc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-04 Cleanup: Remove singleton()Eelco Dolstra1-2/+2
2016-02-23 nix-env: respect meta.outputsToInstallVladimír Čunát1-2/+2
Discussed on https://github.com/NixOS/nixpkgs/pull/12653#discussion_r51601849
2016-02-04 Eliminate the "store" global variableEelco Dolstra1-6/+6
Also, move a few free-standing functions into StoreAPI and Derivation. Also, introduce a non-nullable smart pointer, ref<T>, which is just a wrapper around std::shared_ptr ensuring that the pointer is never null. (For reference-counted values, this is better than passing a "T&", because the latter doesn't maintain the refcount. Usually, the caller will have a shared_ptr keeping the value alive, but that's not always the case, e.g., when passing a reference to a std::thread via std::bind.)
2015-07-23 Optimize small listsEelco Dolstra1-2/+2
The value pointers of lists with 1 or 2 elements are now stored in the list value itself. In particular, this makes the "concatMap (x: if cond then [(f x)] else [])" idiom cheaper.
2015-07-17 OCD: foreach -> C++11 ranged forEelco Dolstra1-22/+22
2014-09-19 Store Attrs inside BindingsEelco Dolstra1-1/+1
This prevents a double allocation per attribute set.
2014-08-20 Use proper quotes everywhereEelco Dolstra1-1/+1
2014-04-04 Show position info in string concatenation / addition errorsEelco Dolstra1-2/+4
2014-03-11 Fix passing meta attribute to buildenv.nixEelco Dolstra1-0/+1
Since the meta attributes were not sorted, attribute lookup could fail, leading to package priorities and active flags not working correctly. Broken since 0f24400d90daf65cf20142a662f8245008437e2c.
2014-02-18 Add a flag ‘--check’ to verify build determinismEelco Dolstra1-2/+2
The flag ‘--check’ to ‘nix-store -r’ or ‘nix-build’ will cause Nix to redo the build of a derivation whose output paths are already valid. If the new output differs from the original output, an error is printed. This makes it easier to test if a build is deterministic. (Obviously this cannot catch all sources of non-determinism, but it catches the most common one, namely the current time.) For example: $ nix-build '<nixpkgs>' -A patchelf ... $ nix-build '<nixpkgs>' -A patchelf --check error: derivation `/nix/store/1ipvxsdnbhl1rw6siz6x92s7sc8nwkkb-patchelf-0.6' may not be deterministic: hash mismatch in output `/nix/store/4pc1dmw5xkwmc6q3gdc9i5nbjl4dkjpp-patchelf-0.6.drv' The --check build fails if not all outputs are valid. Thus the first call to nix-build is necessary to ensure that all outputs are valid. The current outputs are left untouched: the new outputs are either put in a chroot or diverted to a different location in the store using hash rewriting.
2013-11-22 Add missing #includeEelco Dolstra1-1/+1
2013-11-19 Check meta values and warn about bad onesEelco Dolstra1-1/+1
2013-11-19 Generalise meta attributesEelco Dolstra1-33/+19
2013-11-19 Drop support for user environment manifests in ATerm formatEelco Dolstra1-112/+1
2012-12-04 nix-env: Install all outputs of a derivationEelco Dolstra1-10/+25
If you explicitly install a package, presumably you want all of it. So symlink all outputs in the user environment.
2012-12-03 WhitespaceEelco Dolstra1-11/+10
2012-10-04 getDerivation(): Don't always quietly ignore assertion failureEelco Dolstra1-2/+2
Ignoring assertion failures makes some sense for nix-env -qa, but not for nix-instantiate/nix-build or hydra-eval-jobs.
2012-10-03 nix-env: Support ‘--repair’ flagEelco Dolstra1-2/+2
2012-06-27 nix-store -r: do substitutions in parallelEelco Dolstra1-2/+2
I.e. when multiple non-derivation arguments are passed to ‘nix-store -r’ to be substituted, do them in parallel.
2012-04-14 Remove unnecessary "system" argumentEelco Dolstra1-1/+0
2012-01-03 * Refactoring: Get rid of a few subdirectories in corepkgs/, and someEelco Dolstra1-1/+1
other simplifications. * Use <nix/...> to locate the corepkgs. This allows them to be overriden through $NIX_PATH. * Use bash's pipefail option in the NAR builder so that we don't need to create a temporary file.
2011-08-06 * Refactoring: move parseExprFromFile() and parseExprFromString() intoEelco Dolstra1-3/+2
the EvalState class.
2010-10-24 * When allocating an attribute set, reserve enough space for allEelco Dolstra1-3/+3
elements. This prevents the vector from having to resize itself.
2010-10-24 * Keep attribute sets in sorted order to speed up attribute lookups.Eelco Dolstra1-5/+10
* Simplify the representation of attributes in the AST. * Change the behaviour of listToAttrs() in case of duplicate names.
2010-10-23 * Remove allocValues().Eelco Dolstra1-2/+2
2010-10-22 * Store Value nodes outside of attribute sets. I.e., Attr now storesEelco Dolstra1-11/+12
a pointer to a Value, rather than the Value directly. This improves the effectiveness of garbage collection a lot: if the Value is stored inside the set directly, then any live pointer to the Value causes all other attributes in the set to be live as well.
2010-05-30 * Remove an accidentally committed debug statement.Eelco Dolstra1-2/+0
2010-05-07 * Keep track of the source positions of attributes.Eelco Dolstra1-10/+10
2010-04-21 * Store user environment manifests as a Nix expression inEelco Dolstra1-5/+132
$out/manifest.nix rather than as an ATerm. (Hm, I thought I committed this two days ago...)
2010-04-19 * Don't use the ATerm library for parsing/printing .drv files.Eelco Dolstra1-41/+0
2010-04-19 * Added parsing of manifests in ATerm format.Eelco Dolstra1-7/+150
2010-04-19 * Refactoring: move the user environment stuff into its own module.Eelco Dolstra1-0/+28