about summary refs log tree commit diff
path: root/src/nix/command.hh (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2018-02-21 Revert "libexpr: Fix prim_replaceStrings() to work on an empty source string"Eelco Dolstra3-11/+4
This reverts commit 4ea9707591beceacf9988b3c185faf50da238403. It causes an infinite loop in Nixpkgs evaluation, e.g. "nix-instantiate -A hello" hung. PR #1886.
2018-02-21 nix-copy: fix examplesJörg Thalheim1-3/+3
maybe a left-over from nix-store -r ?
2018-02-20 Release notes: Add contributorsEelco Dolstra1-4/+105
2018-02-20 Fix evaluation of binaryTarball.aarch64-linuxEelco Dolstra1-5/+6
2018-02-19 libutil: Fix invalid assert on decoding base64 hashesTuomas Tynkkynen1-1/+2
The assertion is broken because there is no one-to-one mapping from length of a base64 string to the length of the output. E.g. "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9q=" results in a 32-byte output. "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy" results in a 33-byte output. To reproduce, evaluate: builtins.derivationStrict { name = "0"; builder = "0"; system = "0"; outputHashAlgo = "sha256"; outputHash = "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy"; } Found by afl-fuzz.
2018-02-19 libexpr: Fix prim_replaceStrings() to work on an empty source stringTuomas Tynkkynen3-4/+11
Otherwise, running e.g. nix-instantiate --eval -E --strict 'builtins.replaceStrings [""] ["X"] "abc"' would just hang in an infinite loop. Found by afl-fuzz.
2018-02-19 libutil: Fix infinite loop in filterANSIEscapes on '\r'Tuomas Tynkkynen1-1/+1
E.g. nix-instantiate --eval -E 'abort "\r"' hangs. Found by afl-fuzz.
2018-02-19 libexpr: Don't create lots of temporary strings in Bindings::lexicographicOrderTuomas Tynkkynen1-1/+1
Avoids ~180,000 string temporaries created when evaluating a headless NixOS system.
2018-02-19 Fix incorrect (and unnecessary) format stringEelco Dolstra1-3/+3
https://hydra.nixos.org/eval/1434547#tabs-now-fail
2018-02-19 Remove macOS multi-user instructionsEelco Dolstra1-28/+0
This is already handled by the installer.
2018-02-19 Update release notesEelco Dolstra4-264/+755
Also add some examples to nix --help.
2018-02-19 configure.ac: define HAVE_SECCOMP macro when using seccomp, fix build/testsWill Dietz1-0/+1
Happily the failing tests should prevent anyone from using such a Nix in situations where they expect sandboxing to be on, which would otherwise be a risk.
2018-02-19 Don't silently succeed seccomp setup when !HAVE_SECCOMP.Shea Levy1-2/+7
Running Nix with build users without seccomp on Linux is dangerous, and administrators should very explicitly opt-in to it.
2018-02-19 Config::handleUnknownSettings(): Remove unused 'fatal' argumentEelco Dolstra2-6/+3
2018-02-18 configure: Add a flag to disable seccomp.Shea Levy4-4/+19
This is needed for new arches where libseccomp support doesn't exist yet. Fixes #1878.
2018-02-17 libexpr: Avoid an unnecessary string copy in prim_derivationStrictTuomas Tynkkynen1-1/+1
2018-02-17 libexpr: Remove unnecessary drvName assignment in prim_derivationStrictTuomas Tynkkynen1-6/+0
drvName is already assigned to the same value right at the start of the function.
2018-02-17 libexpr: Optimize prim_derivationStrict by using more symbol comparisonsTuomas Tynkkynen3-10/+15
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 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 Levy6-1/+37
Fixes #1868.
2018-02-13 Allow plugins to define new settings.Shea Levy8-32/+65
2018-02-13 Fix plugin tests on darwinShea Levy3-7/+7
2018-02-13 Enable specifying directories in plugin-files.Shea Levy2-6/+22
2018-02-13 Allow includes from nix.confShea Levy3-2/+36
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 compression: make parallel sink separate classWill Dietz1-29/+34
2018-02-11 compression: print warning if parallel requested but not supportedWill Dietz1-1/+8
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 configure.ac: check if lzma has MT support, fix deb build/etc.Will Dietz2-0/+4
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-08 Allow using RegisterPrimop to define constants.Shea Levy6-6/+15
This enables plugins to add new constants, as well as new primops.
2018-02-08 Add plugins to make Nix more extensible.Shea Levy24-3/+122
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 Dolstra2-0/+7
https://hydra.nixos.org/build/68827814
2018-02-08 dsa -> ed25519Eelco Dolstra2-8/+8
DSS is disabled by default in NixOS 18.03. https://hydra.nixos.org/build/68788560
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 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 builtins.path test: Don't rely on shlevy's XDG_RUNTIME_DIRShea Levy1-1/+0
2018-02-07 Improve filtering of ANSI escape sequences in build logsEelco Dolstra6-72/+54
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 SimplifyEelco Dolstra1-1/+1
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 Levy8-27/+162
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).