about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
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 Ambo6-68/+85
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/798 chore(ops/nixos/nugget): Enable fstrim serviceVincent Ambo1-0/+3
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/793 feat(3p/nix): Wrangle Meson/Nix/CMake into (temporary) submissionVincent Ambo2-11/+45
Meson is unable to use CMake in Nix to determine the internal structure of the Abseil libraries. This commit adds an explicit list of most of the Abseil targets that are relevant (so far) and bundles them into a list that is linked together.
2020-05-21 r/792 chore(third_party): Bump nixpkgs to nixpkgs-unstableVincent Ambo1-3/+3
2020-05-21 r/791 chore(3p/nix): Minor fixes to get rid of warningsVincent Ambo3-7/+3
2020-05-21 r/790 fix(3p/nix): Fix build of derivation if cmake is presentVincent Ambo1-0/+8
cmake automatically runs a configure hook which breaks the build, since this isn't actually a cmake project. This hook is now disabled. Additionally Abseil's sources are linked to an absolute derivation path when the build launches, as opposed to the relative path used for development builds.
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 Ambo3-10/+13
These make it possible to link to Abseil strings.
2020-05-20 r/785 fix(3p/abseil): Create position independent codeVincent Ambo1-0/+3
This makes it possible to link Abseil into shared libraries, e.g. the various Nix libraries.
2020-05-20 r/784 feat(3p/nix): Add Abseil as a CMAKE subproject to MesonVincent Ambo3-0/+7
Yep. This is accomplished by symlinking the sources into the location expected by Meson for subprojects.
2020-05-20 r/783 chore(fun/dt): Use vendored copy of AbseilVincent Ambo1-2/+2
2020-05-20 r/782 chore(3p/abseil_cpp): Move build derivation into the correct placeVincent Ambo2-12/+6
2020-05-20 r/781 Add 'third_party/abseil_cpp/' from commit ↵Vincent Ambo1276-0/+208196
'768eb2ca2857342673fcd462792ce04b8bac3fa3' git-subtree-dir: third_party/abseil_cpp git-subtree-mainline: ffb2ae54beb5796cd408fbe15d2d2da09ff37adf git-subtree-split: 768eb2ca2857342673fcd462792ce04b8bac3fa3
2020-05-20 r/780 chore(third_party/nix): Dump of minor accumulated changesVincent Ambo5-25/+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/779 chore: Add an ignoreRevsFile for git blameVincent Ambo1-0/+23
This file contains large-scale changes that should not be included in the git blame layer, such as the reformatting of the Nix codebase.
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 Ambo84-1556/+2603
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 Ambo4-268/+0
2020-05-19 r/775 style(3p/nix/libstore): Additional if/for bracing fixesVincent Ambo1-7/+11
2020-05-19 r/774 chore(3p/abseil-cpp): Bump version to 20200519-768eb2caVincent Ambo1-3/+3
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 Export of internal Abseil changesAbseil Team36-834/+974
-- f012012ef78234a6a4585321b67d7b7c92ebc266 by Laramie Leavitt <lar@google.com>: Slight restructuring of absl/random/internal randen implementation. Convert round-keys.inc into randen_round_keys.cc file. Consistently use a 128-bit pointer type for internal method parameters. This allows simpler pointer arithmetic in C++ & permits removal of some constants and casts. Remove some redundancy in comments & constexpr variables. Specifically, all references to Randen algorithm parameters use RandenTraits; duplication in RandenSlow removed. PiperOrigin-RevId: 312190313 -- dc8b42e054046741e9ed65335bfdface997c6063 by Abseil Team <absl-team@google.com>: Internal change. PiperOrigin-RevId: 312167304 -- f13d248fafaf206492c1362c3574031aea3abaf7 by Matthew Brown <matthewbr@google.com>: Cleanup StrFormat extensions a little. PiperOrigin-RevId: 312166336 -- 9d9117589667afe2332bb7ad42bc967ca7c54502 by Derek Mauro <dmauro@google.com>: Internal change PiperOrigin-RevId: 312105213 -- 9a12b9b3aa0e59b8ee6cf9408ed0029045543a9b by Abseil Team <absl-team@google.com>: Complete IGNORE_TYPE macro renaming. PiperOrigin-RevId: 311999699 -- 64756f20d61021d999bd0d4c15e9ad3857382f57 by Gennadiy Rozental <rogeeff@google.com>: Switch to fixed bytes specific default value. This fixes the Abseil Flags for big endian platforms. PiperOrigin-RevId: 311844448 -- bdbe6b5b29791dbc3816ada1828458b3010ff1e9 by Laramie Leavitt <lar@google.com>: Change many distribution tests to use pcg_engine as a deterministic source of entropy. It's reasonable to test that the BitGen itself has good entropy, however when testing the cross product of all random distributions x all the architecture variations x all submitted changes results in a large number of tests. In order to account for these failures while still using good entropy requires that our allowed sigma need to account for all of these independent tests. Our current sigma values are too restrictive, and we see a lot of failures, so we have to either relax the sigma values or convert some of the statistical tests to use deterministic values. This changelist does the latter. PiperOrigin-RevId: 311840096 GitOrigin-RevId: f012012ef78234a6a4585321b67d7b7c92ebc266 Change-Id: Ic84886f38ff30d7d72c126e9b63c9a61eb729a1a
2020-05-19 r/766 style(3p/nix): Reformat all includes to match new styleVincent Ambo119-106/+298
2020-05-19 r/765 style(3p/nix): Change include formatting config for clang-formatVincent Ambo1-2/+7
Changes the configuration to regroup all includes. The include groups will be (in this order): 1. (in .cc): Include of the corresponding header 2. Includes of C++ standard library headers 3. Includes of other external headers 4. Includes of local headers
2020-05-19 r/764 feat(tools/emacs): Configure eglot to shut down automaticallyVincent Ambo1-0/+6
When all buffers related to a specific eglot instance are gone, eglot can shut down.
2020-05-19 r/763 fix(3p/nix): Set C++ style to "Google" in Emacs localsVincent Ambo2-42/+1
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 Fix build on riscv32 (#675)Khem Raj3-0/+21
2020-05-18 r/755 feat(3p/glog): Update glog versionVincent Ambo2-2/+16