about summary refs log tree commit diff
path: root/third_party/nix/src/libmain (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-11-27 r/1944 fix(tvix): globally reintroduce --quiet and --verbose flags.multi1-0/+14
The --quiet and -v/--verbose flags were removed during the glog conversion in d0c44425e147ab7d38410f400825ad20da15037b, which has previously broken programs like e.g. home-manager, which passes --quiet to nix-build. A nix-build-specific workaround was added in 24f9354d5b8e1521d00f41a7c100b8e9ad327ce7, which manipulates the FLAGS_stderrthreshold global variable from glog. This commit moves the --quiet logic back into the argument handling code in libmain, and adds corresponding handling for -v/--verbose. Change-Id: I13d860ebbb78541d9f1236691a1efe8bd2163c67 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2170 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-27 r/1930 fix(tvix): make unsigned conversion explicitKane York1-1/+1
Implicit signedness conversion was causing warnings. Perform a static_cast; this value should never be out of range. third_party/nix/src/libmain/shared.cc:310:12: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions] Change-Id: I34fe53d186ae33f970147135bbe3894fb39a0ec7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2156 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-01 r/1757 feat(tvix): Print "Tvix" in the version stringGriffin Smith1-1/+1
Rather than printing "Nix" in the version string, print "Tvix". This is cosmetically nice, but also is very useful when making sure I actually have installed tvix on a system successfully. Change-Id: Idd1a9954bd66509327f52b7457cfba2f090ab30c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1924 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-23 r/1704 refactor(tvix/libutil): Mark single-argument constructors explicitVincent Ambo1-1/+1
This is the clang-tidy lint 'google-explicit-constructor'. There's a whole bunch of breakage that was introduced by this, and we had to opt out a few types of this (esp. the string formatting crap). In some cases minor other changes have been done to keep the code working, instead of converting between types (e.g. an explicit comparison operator implementation for nix::Pid). Change-Id: I12e1ca51a6bc2c882dba81a2526b9729d26988e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1832 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-21 r/1703 style(tvix): Add missing braces in expressionsVincent Ambo1-1/+2
The previous clang-tidy invocation missed some header files, which has now been rectified. Change-Id: I31547754fbf52f439dc7aeefb08ab90bd50c4156 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1831 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-08 r/1619 chore(3p/nix): apply google-readability-castingKane York2-3/+3
Command run: jq <compile_commands.json -r 'map(.file)|.[]' | grep -v '/generated/' | parallel clang-tidy -p compile_commands.json -checks=-*,google-readability-casting --fix Manual fixes applied in src/nix-env/nix-env.cc, src/libstore/store-api.cc Change-Id: I406b4be9368c557ca59329bf6f7002704e955f8d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1557 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-08-01 r/1534 fix(3p/nix): revert "apply all clang-tidy fixes"Kane York2-10/+10
This reverts commit ef54f5da9fa30b5c302f2a49595ee5d041f9706a. Resolved conflicts: third_party/nix/src/libexpr/eval.cc third_party/nix/src/libstore/builtins/fetchurl.cc third_party/nix/src/libstore/references.cc third_party/nix/src/libutil/hash.cc third_party/nix/src/nix-daemon/nix-daemon.cc Change-Id: Ib9cf6e96a79a23bde3983579ced3f92e530cb011 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1547 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-27 r/1495 fix(3p/nix): apply all clang-tidy fixesKane York2-10/+10
Change-Id: I265e763393422ee1881653527c91024458060825 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1432 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1429 chore(3p/nix): fix extra space in usage errorAlyssa Ross1-2/+1
Change-Id: Ic8f8820ba8967166354951cf13af5fa134a1b6b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1353 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-20 r/1408 chore(3p/nix): Remove support for pluginsGriffin Smith1-1/+0
Plugins seem to not really be used anywhere (I can find one plugin that's actually defined, and it doesn't seem very useful, especially since we got rid of builtins.exec) and their presence is adding additional complexity and potential sources of bugs to an already unsteady refactor. At some point we may want to bring back something *like* plugins, but their design will likely be different and it will definitely be after we have a functioning Nix again. Change-Id: I3bc40e55917f70bf260fbc208c1705e2e6a7c626 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1291 Tested-by: BuildkiteCI Reviewed-by: Alyssa Ross <hi@alyssa.is> Reviewed-by: isomer <isomer@tvl.fyi>
2020-06-21 r/1052 feat(3p/nix): install pkgconfig files for libexpr, libmain and libstoreLuke Granger-Brown2-4/+7
Also fixes the pkgconfig files to use the corresponding CMake variables. Change-Id: I8095b8aff39ad91e592f3edc95555c9f1f1f153d Reviewed-on: https://cl.tvl.fyi/c/depot/+/545 Reviewed-by: tazjin <mail@tazj.in>
2020-06-21 r/1051 chore(3p/nix): use GNUInstallDirs to determine output directory namesLuke Granger-Brown1-1/+1
This ensures that we install both glog's .a and all the .so files we generate into a single consistent output lib path (which is, err, lib64, but whatever). Change-Id: Ib6ac6eacf5f56e4b719cfb586db731efc122c31b Reviewed-on: https://cl.tvl.fyi/c/depot/+/544 Reviewed-by: tazjin <mail@tazj.in>
2020-06-21 r/1050 chore(3p/nix): export library headers to include/ in output.Luke Granger-Brown1-2/+7
Change-Id: I87eb6e59782d720015d351d8829dc7b8688e01f2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/543 Reviewed-by: tazjin <mail@tazj.in>
2020-05-28 r/868 refactor(3p/nix): Introduce CMake as the build system for NixVincent Ambo1-0/+25
Completes the switch from Meson to CMake for the core build system in Nix. Meson was added originally because someone else had already done the work for integrating it in Nix and it was an upgrade from the previous setup. However over time it became clear that Meson is not quite mature enough for projects like Nix that have occasionally peculiar configuration constraints. Some issues encountered with Meson (some of these are due to the Meson setup in Nix): * Difficulty with generating correct compile_commands.json for external tools like clangd * Difficulty linking to libc++ when using clang * Ugly shell invocations for certain parts of the build system (I want these to be gone!!!) This CMake setup mimics the Meson configuration, but there are some differences (some temporary): * headers are now included separately for each library (see a previous commit that changes includes appropriately) * autoheaders-style configuration is currently hardcoded. Before blindly copying this I want to evaluate how much of it actually exists for portability concerns that I don't have (such as support for OS X). * Nix is built with libc++ by default. * [libstore] SQL schema is now inlined via a generated header, not an included string literal Abseil is still built as part of this build, rather than an external dependency, because it chokes on differently configured compiler invocations. Note that because of the move to libc++ an unwanted behaviour is introduced: glog log messages no longer have a body. I have yet to debug what is going on there.
2020-05-27 r/867 chore(3p/nix): Remove meson build files for core packagesVincent Ambo1-40/+0
2020-05-27 r/865 refactor(3p/nix): Anchor local includes at src/Vincent Ambo5-11/+11
Previously all includes were anchored in one global mess of header files. This moves the includes into filesystem "namespaces" (if you will) for each sub-package of Nix. Note: This commit does not introduce the relevant build system changes.
2020-05-25 r/843 refactor(3p/nix/libutil): Replace string2Int & trim functionsVincent Ambo1-1/+2
Replaces these functions with corresponding functions from Abseil, namely absl::StripAsciiWhitespace and absl::SimpleAtoi. In the course of doing this some minor things I encountered along the way were also refactored. This also changes the signatures of the various custom readFile functions to use absl::string_view types.
2020-05-24 r/840 style(3p/nix): Remove 'using std::*' from types.hhVincent Ambo4-21/+21
It is considered bad form to use things from includes in headers, as these directives propagate to everywhere else and can make it confusing. types.hh (which is includes almost literally everywhere) had some of these directives, which this commit removes.
2020-05-24 r/834 chore(3p/nix): Remove some OS X specific definesVincent Ambo1-19/+0
This project will be dropping OS X support until the core is simplified.
2020-05-20 r/789 refactor(3p/nix): Apply clang-tidy's performance-* fixesVincent Ambo3-9/+12
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 Ambo2-12/+15
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 Ambo2-11/+12
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/780 chore(third_party/nix): Dump of minor accumulated changesVincent Ambo1-3/+3
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/777 style(3p/nix): Final act in the brace-wrapping sagaVincent Ambo2-5/+11
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/771 style(3p/nix): Add braces around single-line conditionalsVincent Ambo4-16/+48
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/768 fix(3p/nix): Fix incorrectly braced conditionals and loopsVincent Ambo1-2/+2
Fixes mistakes introduced by clang-tidy in the previous commit.
2020-05-19 r/767 style(3p/nix): Enforce braces around loops and conditionalsVincent Ambo2-7/+11
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 Ambo4-9/+18
2020-05-19 r/757 refactor(3p/nix/libmain): Replace logging.h with glogVincent Ambo4-98/+58
2020-05-17 r/741 chore(3p/nix): Remove old build system and other miscellaniesVincent Ambo1-15/+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 Ambo5-495/+454
Reformatted with: fd . -e hh -e cc | xargs clang-format -i
2020-05-17 r/726 feat(3p/nix): added meson supportp01arst0rm1-0/+79
(cherry picked from commit 086a81b7a5bbe1fc022efb5935ff68f6ad71ddaf)
2020-05-17 r/724 Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10'Vincent Ambo7-0/+691
git-subtree-dir: third_party/nix git-subtree-mainline: cf8cd640c1adf74a3706efbcb0ea4625da106fb2 git-subtree-split: be66c7a6b24e3c3c6157fd37b86c7203d14acf10