about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-02-17 libexpr: Rely on Boehm returning zeroed memory in EvalState::allocEnv()Tuomas Tynkkynen2-5/+5
Boehm guarantees that memory returned by GC_malloc() is zeroed, so take advantage of that.
2018-02-17 libexpr: Optimize prim_attrNames a bitTuomas Tynkkynen1-2/+5
Instead of having lexicographicOrder() create a temporary sorted array of Attr*:s and copying attr names from that, copy the attr names first and then sort that.
2018-02-16 libexpr: Pre-reserve space in string in unescapeStr()Tuomas Tynkkynen1-3/+4
Avoids some malloc() traffic.
2018-02-15 Merge pull request #1873 from matthewbauer/fix-manpathEelco Dolstra4-0/+6
Set MANPATH in case man path isn’t set correctly.
2018-02-15 Set backup MANPATH in case man path isn’t set correctly.Matthew Bauer4-0/+6
Previously, this would fail at startup for non-NixOS installs: nix-env --help The fix for this is to just use "nixManDir" as the value for MANPATH when spawning "man". To test this, I’m using the following: $ nix-build release.nix -A build $ MANPATH= ./result/bin/nix-env --help Fixes #1627
2018-02-14 monitor-fds: Fix on macOS.Shea Levy1-7/+23
Fixes #1871.
2018-02-14 Add splitVersion primop.Shea Levy3-1/+24
Fixes #1868.
2018-02-13 Merge pull request #1863 from shlevy/conf-includesEelco Dolstra1-1/+25
Allow includes from nix.conf
2018-02-13 Enable specifying directories in plugin-files.Shea Levy1-6/+18
2018-02-13 Allow includes from nix.confShea Levy1-1/+25
2018-02-13 Merge branch 'register-constant' of https://github.com/shlevy/nixEelco Dolstra3-2/+11
2018-02-13 Merge branch 'plugins' of https://github.com/shlevy/nixEelco Dolstra15-0/+49
2018-02-13 Merge pull request #1859 from FRidh/flattenEelco Dolstra1-3/+6
Nix stats: flatten statistics
2018-02-12 Fix hang in build-remoteEelco Dolstra3-2/+4
2018-02-12 Fix 'deadlock: trying to re-acquire self-held lock'Eelco Dolstra4-22/+24
This was caused by derivations with 'allowSubstitutes = false'. Such derivations will be built locally. However, if there is another SubstitionGoal that has the output of the first derivation in its closure, then the path will be simultaneously built and substituted. There was a check to catch this situation (via pathIsLockedByMe()), but it no longer worked reliably because substitutions are now done in another thread. (Thus the comment 'It can't happen between here and the lockPaths() call below because we're not allowing multi-threading' was no longer valid.) The fix is to handle the path already being locked in both SubstitutionGoal and DerivationGoal.
2018-02-12 toBuildables -> buildEelco Dolstra3-4/+4
2018-02-11 Nix stats: flatten statisticsFrederik Rietdijk1-3/+6
Flattens the list of statistics as suggested in https://github.com/NixOS/ofborg/issues/67. This makes it easier to work with.
2018-02-09 nix: Ensure that the user sees errors from substitutersEelco Dolstra1-3/+3
2018-02-09 getDefaultSubstituters(): Skip broken substitutersEelco Dolstra1-1/+5
Fixes #1340.
2018-02-09 Merge pull request #1848 from AmineChikhaoui/parallel-xzEelco Dolstra4-10/+30
support multi threaded xz encoder
2018-02-08 Allow using RegisterPrimop to define constants.Shea Levy3-2/+11
This enables plugins to add new constants, as well as new primops.
2018-02-08 Add plugins to make Nix more extensible.Shea Levy15-0/+49
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2018-02-08 nix-env: Fix parsing of --systemEelco Dolstra1-0/+4
https://hydra.nixos.org/build/68827814
2018-02-08 Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui1-1/+1
2018-02-07 More completely fix recursive nix, unbreak testsWill Dietz1-1/+1
See: https://github.com/NixOS/nix/commit/88b5d0c8e89afefbc547b6243c5aa5a3ec8176e9#commitcomment-27406365
2018-02-07 Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui1-1/+1
2018-02-07 move the parallel-compression setting to binary-cache-store, the settingAmineChikhaoui3-4/+3
can be done now from the url e.g s3://nix-cache?parallel-compression=1 instead of nix.conf.
2018-02-07 Prevent accidental recursive NixEelco Dolstra1-1/+1
2018-02-07 make multi threaded compression configurable and use single threadedAmineChikhaoui4-20/+31
by default.
2018-02-07 Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui9-96/+134
2018-02-07 Improve filtering of ANSI escape sequences in build logsEelco Dolstra5-71/+53
All ANSI sequences except color setting are now filtered out. In particular, terminal resets (such as from NixOS VM tests) are filtered out. Also, fix the completely broken tab character handling.
2018-02-07 Merge pull request #1816 from shlevy/add-pathEelco Dolstra4-25/+81
Add path primop.
2018-02-07 set block size to 0 to let the lzma lib choose the right one, addAmineChikhaoui1-1/+6
some comments about possible improvements wrt memory usage/threading.
2018-02-06 Add path primop.Shea Levy4-25/+81
builtins.path allows specifying the name of a path (which makes paths with store-illegal names now addable), allows adding paths with flat instead of recursive hashes, allows specifying a filter (so is a generalization of filterSource), and allows specifying an expected hash (enabling safe path adding in pure mode).
2018-02-06 support multi threaded xz encoder, this might be particularly useful inAmineChikhaoui1-2/+7
the case of hydra where the overhead of single threaded encoding is more noticeable e.g most of the time spent in "Sending inputs"/"Receiving outputs" is due to compression while the actual upload to the binary cache seems to be negligible.
2018-02-06 Update the progress bar at most 20 times per secondEelco Dolstra2-14/+31
Fixes #1834.
2018-02-06 realiseContext(): Add derivation outputs to the allowed pathsEelco Dolstra1-10/+24
This makes import-from-derivation work in restricted mode again.
2018-02-06 checkURI(): Check file URIs against allowedPathsEelco Dolstra1-0/+12
This makes e.g. 'fetchGit ./.' work (assuming that ./. is an allowed path).
2018-02-05 Tweak progress bar messageEelco Dolstra1-1/+6
Say "copying" instead of "fetching" when copying from another local store. Nice for nixos-install.
2018-02-05 Allow substituters to be marked as trustedEelco Dolstra2-2/+7
This is needed by nixos-install, which uses the Nix store on the installation CD as a substituter. We don't want to disable signature checking entirely because substitutes from cache.nixos.org should still be checked. So now we can pas "local?trusted=1" to mark only the Nix store in /nix as not requiring signatures. Fixes #1819.
2018-02-05 Fix segfault using non-binary cache stores as substitutersEelco Dolstra1-1/+1
2018-02-03 Remove nix-build --hashEelco Dolstra4-25/+28
Instead, if a fixed-output derivation produces has an incorrect output hash, we now unconditionally move the outputs to the path corresponding with the actual hash and register it as valid. Thus, after correcting the hash in the Nix expression (e.g. in a fetchurl call), the fixed-output derivation doesn't have to be built again. It would still be good to have a command for reporting the actual hash of a fixed-output derivation (instead of throwing an error), but "nix-build --hash" didn't do that.
2018-02-01 Merge branch 'master' of git://github.com/catern/nixShea Levy1-0/+3
2018-02-01 nix-build: Ignore --indirectEelco Dolstra1-1/+1
Note that nix-build always creates indirect roots. Fixes #1830.
2018-02-01 Remove obsolete references to manifestsEelco Dolstra1-3/+1
Closes #323.
2018-01-31 document ability to set NIX_REMOTE=unix://path/to/socketSpencer Baugh1-0/+3
2018-01-31 Merge pull request #1801 from catern/masterEelco Dolstra2-2/+26
remote_store: register for NIX_REMOTE=unix://path
2018-01-31 Fix building without aws-sdk-cppEelco Dolstra1-4/+5
2018-01-31 Rename 1.12 -> 2.0Eelco Dolstra1-1/+1
Following discussion with Shea and Graham. It's a big enough change from the last release. Also, from a semver perspective, 2.0 makes more sense because we did remove some interfaces (like nix-pull/nix-push).
2018-01-31 Add 'nix upgrade-nix' commandEelco Dolstra3-1/+137
This command upgrades Nix to the latest stable version by installing a store path obtained from https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix which is the same store path that the installer at https://nixos.org/nix/install.sh uses. The upgrade fails if Nix is not installed in a profile (e.g. on NixOS, or when installed outside of the Nix store).