about summary refs log tree commit diff
path: root/third_party/nix/src
AgeCommit message (Collapse)AuthorFilesLines
2020-05-22 r/817 fix(3p/nix/libexpr): Use gc_allocator<T> as the btree_map allocatorVincent Ambo1-1/+8
This will make all Attr values visible to the GC.
2020-05-22 r/813 fix(3p/nix/libexpr): Do not allow duplicate attribute insertionVincent Ambo1-3/+17
This is closer to bug-for-bug compatibility with the previous version, which would put new elements at the end of the array and (due to the linear scan) return previous ones.
2020-05-22 r/806 refactor(3p/nix/libexpr): Use gc_cpp to allocate Value instancesVincent Ambo1-20/+4
2020-05-22 r/805 refactor(3p/nix/libexpr): state->allocBindings -> Bindings::NewGCVincent Ambo10-15/+14
EvalState::allocBindings had little to do with Bindings, other than returning them, and didn't belong in that class.
2020-05-22 r/804 fix(3p/nix/libexpr): Make new Bindings class visible to GCVincent Ambo2-6/+9
2020-05-22 r/803 chore(3p/nix/libexpr): Delete Bindings::sortVincent Ambo14-54/+6
This function does nothing anymore since the attributes are always in-order.
2020-05-22 r/802 fix(3p/nix): Update for usage of new attribute set APIVincent Ambo14-176/+187
The new attribute set API uses the iterators of the btree_map directly. This requires changes in various files because the internals of libexpr are very entangled. This code runs and compiles, but there is a bug causing empty attribute sets to be assigned incorrectly.
2020-05-22 r/801 refactor(3p/nix/libexpr): Use absl::btree_map::iterator typeVincent Ambo3-5/+11
Instead of using a custom Args* iterator, use the one belonging to the map type directly.
2020-05-22 r/800 refactor(3p/nix/libexpr): Use absl::btree_map::merge for '//'Vincent Ambo3-22/+14
Instead of doing some sort of inline merge-sort of the two attribute sets, use the attribute sets merge function. This commit alone does not build and is not supposed to.
2020-05-21 r/799 refactor(3p/nix/libexpr): Use absl::btree_map for AttrSetsVincent Ambo5-68/+84
This is the first step towards replacing the implementation of attribute sets with an absl::btree_map. Currently many access are done using array offsets and pointer arithmetic, so this change is currently causing Nix to fail in various ways.
2020-05-21 r/797 refactor(3p/nix/libexpr): Use std::string as qualified typeVincent Ambo26-184/+196
Replaces most uses of `string` with `std::string`. This came up because I removed the "types.hh" import from "symbol-table.hh", which percolated through a bunch of files where `string` was suddenly no longer defined ... *sigh*
2020-05-21 r/796 docs(3p/nix/libexpr): Add clarifying comments to SymbolTableVincent Ambo1-7/+19
2020-05-21 r/795 fix(3p/nix): Compatibility with updated SymbolTableVincent Ambo21-137/+141
The functions in SymbolTable have been renamed to match the Google Style guide, and some debug-only functions have been removed.
2020-05-21 r/794 refactor(3p/nix/libexpr): Use absl::node_hash_set in SymbolTableVincent Ambo3-32/+39
This replaces the previous use of std::unordered_set with absl::node_hash_set. This type was chosen because the current implementation requires pointer stability. This does not yet touch the 'Attr' struct. As a bonus, the implementation of the SymbolTable struct is now consolidated into a single header/implementation file pair.
2020-05-21 r/791 chore(3p/nix): Minor fixes to get rid of warningsVincent Ambo3-7/+3
2020-05-20 r/789 refactor(3p/nix): Apply clang-tidy's performance-* fixesVincent Ambo60-166/+189
This applies the performance fixes listed here: https://clang.llvm.org/extra/clang-tidy/checks/list.html
2020-05-20 r/788 refactor(3p/nix): Apply clang-tidy's readability-* fixesVincent Ambo78-787/+858
This applies the readability fixes listed here: https://clang.llvm.org/extra/clang-tidy/checks/list.html
2020-05-20 r/787 refactor(3p/nix): Apply clang-tidy's modernize-* fixesVincent Ambo59-321/+349
This applies the modernization fixes listed here: https://clang.llvm.org/extra/clang-tidy/checks/list.html The 'modernize-use-trailing-return-type' fix was excluded due to my personal preference (more specifically, I think the 'auto' keyword is misleading in that position).
2020-05-20 r/786 feat(3p/nix): Add some initial Abseil build targetsVincent Ambo1-8/+9
These make it possible to link to Abseil strings.
2020-05-20 r/780 chore(third_party/nix): Dump of minor accumulated changesVincent Ambo4-22/+5
None of these are worthy of a specific commit, or even have a real reason behind them, but I didn't want to lose them.
2020-05-19 r/778 refactor(3p/nix): Make all single-argument constructors explicitVincent Ambo12-31/+31
Implicit constructors can be confusing, especially in a codebase that is already as unintentionally obfuscated as this one. https://google.github.io/styleguide/cppguide.html#Explicit_Constructors
2020-05-19 r/777 style(3p/nix): Final act in the brace-wrapping sagaVincent Ambo82-1556/+2601
This last change set was generated by a full clang-tidy run (including compilation): clang-tidy -p ~/projects/nix-build/ \ -checks=-*,readability-braces-around-statements -fix src/*/*.cc Actually running clang-tidy requires some massaging to make it play nice with Nix + meson, I'll be adding a wrapper or something for that soon.
2020-05-19 r/776 chore(3p/nix): Remove OSX only 'resolve-system-dependencies' toolVincent Ambo3-267/+0
2020-05-19 r/775 style(3p/nix/libstore): Additional if/for bracing fixesVincent Ambo1-7/+11
2020-05-19 r/773 fix(3p/nix/libstore): Fix mistake introduced by bracing changesVincent Ambo1-1/+1
This statement got included in a loop when it shouldn't have been. At least it led to some funny derivation files!
2020-05-19 r/772 style(3p/nix): Add braces around single-line for-loopsVincent Ambo45-142/+426
These were not caught by the previous clang-tidy invocation, but were instead sorted out using amber[0] as such: ambr --regex 'for (\(.+\))\s([a-z].*;)' 'for $1 { $2 }' [0]: https://github.com/dalance/amber
2020-05-19 r/771 style(3p/nix): Add braces around single-line conditionalsVincent Ambo97-753/+2223
These were not caught by the previous clang-tidy invocation, but were instead sorted out using amber[0] as such: ambr --regex 'if (\(.+\))\s([a-z].*;)' 'if $1 { $2 }' [0]: https://github.com/dalance/amber
2020-05-19 r/770 fix(3p/nix/libexpr): Declare value union types explicitlyVincent Ambo1-43/+59
Previously these structs were declared anonymously inside of the - anonymous - union. This is not actually supported by the C++ standard, but is merely a compiler-specific extension. Unfortunately untangling this required a forward-declaration of the Value type.
2020-05-19 r/769 fix(3p/nix/libexpr): Use noexcept instead of throw()Vincent Ambo1-1/+1
2020-05-19 r/768 fix(3p/nix): Fix incorrectly braced conditionals and loopsVincent Ambo16-61/+62
Fixes mistakes introduced by clang-tidy in the previous commit.
2020-05-19 r/767 style(3p/nix): Enforce braces around loops and conditionalsVincent Ambo44-298/+661
This change was generated with: fd -e cc -e hh | xargs -I{} clang-tidy {} -p ~/projects/nix-build/ \ --checks='-*,readability-braces-around-statements' --fix \ -fix-errors Some manual fixes were applied because some convoluted unbraced statements couldn't be untangled by clang-tidy. This commit still includes invalid files, but I decided to clean them up in a subsequent commit so that it becomes more obvious where clang-tidy failed. Maybe this will allow for a bug-report to clang-tidy.
2020-05-19 r/766 style(3p/nix): Reformat all includes to match new styleVincent Ambo119-106/+298
2020-05-19 r/762 refactor(3p/nix/nix-*): Replace logging with glog in binariesVincent Ambo21-168/+120
2020-05-19 r/761 refactor(3p/nix/nix-daemon): Remove activities from protocolVincent Ambo2-112/+27
Removes the activity transfer that was previously nulled out from the daemon protocol completely. This might actually break Nix completely, I haven't tried yet, but that's fine because this will be replaced with gRPC.
2020-05-19 r/760 style(3p/nix/libexpr): Reformat with clang-formatVincent Ambo5-6/+7
2020-05-19 r/759 chore(3p/nix/nix): Remove progress bar implementationVincent Ambo2-455/+0
The progress bar has lots of complexity for little benefit. The previous activity tracking stuff has been deleted as part of the logging refactoring and I am not going to implement support for this again for now.
2020-05-19 r/758 refactor(3p/nix/libexpr): Replace logging.h with glogVincent Ambo8-35/+37
2020-05-19 r/757 refactor(3p/nix/libmain): Replace logging.h with glogVincent Ambo4-98/+58
2020-05-19 r/756 refactor(3p/nix/libstore): Replace logging.h with glogVincent Ambo25-464/+514
2020-05-18 r/754 refactor(3p/nix/libutil): Replace internal logging library with glogVincent Ambo10-44/+76
2020-05-18 r/753 chore(3p/nix/libutil): Remove logging implementationVincent Ambo3-437/+0
2020-05-17 r/750 feat(3p/nix): Add glog dependencyVincent Ambo2-66/+72
2020-05-17 r/748 chore(3p/nix): Always enable the garbage collectorVincent Ambo2-0/+2
It's unclear why this toggle existed, now it doesn't.
2020-05-17 r/744 chore(3p/nix): Remove symlink setup from Meson buildVincent Ambo1-75/+0
This belongs in the derivation itself, IMO.
2020-05-17 r/741 chore(3p/nix): Remove old build system and other miscellaniesVincent Ambo6-153/+0
There are still remnants of the old build system (for example, the build derivations are not yet updated at all), but we'll get there.
2020-05-17 r/740 style(3p/nix): Reformat project in Google C++ styleVincent Ambo174-34606/+32044
Reformatted with: fd . -e hh -e cc | xargs clang-format -i
2020-05-17 r/739 fix(3p/nix): Fix Meson configuration for libexprVincent Ambo1-40/+3
2020-05-17 r/726 feat(3p/nix): added meson supportp01arst0rm11-4/+750
(cherry picked from commit 086a81b7a5bbe1fc022efb5935ff68f6ad71ddaf)
2020-05-17 r/724 Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10'Vincent Ambo192-0/+70044
git-subtree-dir: third_party/nix git-subtree-mainline: cf8cd640c1adf74a3706efbcb0ea4625da106fb2 git-subtree-split: be66c7a6b24e3c3c6157fd37b86c7203d14acf10