Commit graph

9939 commits

Author SHA1 Message Date
Vincent Ambo
cf40d08908 chore(3p/nix): Remove OSX only 'resolve-system-dependencies' tool 2020-05-19 20:34:12 +01:00
Vincent Ambo
83f4c37adf style(3p/nix/libstore): Additional if/for bracing fixes 2020-05-19 19:40:31 +01:00
Vincent Ambo
af7282536a chore(3p/abseil-cpp): Bump version to 20200519-768eb2ca 2020-05-19 19:38:32 +01:00
Vincent Ambo
0b8415124d fix(3p/nix/libstore): Fix mistake introduced by bracing changes
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 19:37:06 +01:00
Vincent Ambo
1841d93ccb style(3p/nix): Add braces around single-line for-loops
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 19:04:08 +01:00
Vincent Ambo
867055133d style(3p/nix): Add braces around single-line conditionals
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 18:55:58 +01:00
Vincent Ambo
c6a31838cd fix(3p/nix/libexpr): Declare value union types explicitly
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 18:19:35 +01:00
Vincent Ambo
b37ff365ad fix(3p/nix/libexpr): Use noexcept instead of throw() 2020-05-19 18:19:23 +01:00
Vincent Ambo
09cbc431cc fix(3p/nix): Fix incorrectly braced conditionals and loops
Fixes mistakes introduced by clang-tidy in the previous commit.
2020-05-19 18:01:12 +01:00
Vincent Ambo
b490742a51 style(3p/nix): Enforce braces around loops and conditionals
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 17:38:04 +01:00
Abseil Team
768eb2ca28 Export of internal Abseil changes
--
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 10:59:49 -04:00
Vincent Ambo
c758de9d22 style(3p/nix): Reformat all includes to match new style 2020-05-19 15:55:11 +01:00
Vincent Ambo
b508f5b91a style(3p/nix): Change include formatting config for clang-format
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 15:55:09 +01:00
Vincent Ambo
1086072d3d feat(tools/emacs): Configure eglot to shut down automatically
When all buffers related to a specific eglot instance are gone, eglot
can shut down.
2020-05-19 14:23:59 +01:00
Vincent Ambo
62c18c9898 fix(3p/nix): Set C++ style to "Google" in Emacs locals 2020-05-19 05:13:47 +01:00
Vincent Ambo
95a57f15ca refactor(3p/nix/nix-*): Replace logging with glog in binaries 2020-05-19 04:52:47 +01:00
Vincent Ambo
9aa2ecd78c refactor(3p/nix/nix-daemon): Remove activities from protocol
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 04:51:45 +01:00
Vincent Ambo
c7be956f3f style(3p/nix/libexpr): Reformat with clang-format 2020-05-19 04:51:01 +01:00
Vincent Ambo
f8deeb1442 chore(3p/nix/nix): Remove progress bar implementation
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 04:49:39 +01:00
Vincent Ambo
939dd9f817 refactor(3p/nix/libexpr): Replace logging.h with glog 2020-05-19 01:24:50 +01:00
Vincent Ambo
d0c44425e1 refactor(3p/nix/libmain): Replace logging.h with glog 2020-05-19 01:04:14 +01:00
Vincent Ambo
505b6b044b refactor(3p/nix/libstore): Replace logging.h with glog 2020-05-19 01:04:14 +01:00
Khem Raj
3f347c4627
Fix build on riscv32 (#675) 2020-05-18 13:23:50 -04:00
Vincent Ambo
ce99ba42df feat(3p/glog): Update glog version 2020-05-18 02:39:26 +01:00
Vincent Ambo
6dc6c29fa4 refactor(3p/nix/libutil): Replace internal logging library with glog 2020-05-18 02:34:41 +01:00
Vincent Ambo
c584480cd4 chore(3p/nix/libutil): Remove logging implementation 2020-05-18 00:39:50 +01:00
Vincent Ambo
74f7033544 feat(ci-builds): Build //third_party/nix in CI 2020-05-17 23:59:23 +01:00
Vincent Ambo
a3894c2bf1 feat(tools/emacs): Install meson-mode 2020-05-17 23:59:00 +01:00
Vincent Ambo
0335b91b93 feat(3p/nix): Add glog dependency 2020-05-17 23:58:51 +01:00
Vincent Ambo
ffdeb3bbf1 chore: Only exclude //third_party/git from ripgrep
The other third party folders are actually occasionally relevant.
2020-05-17 23:58:22 +01:00
Vincent Ambo
e797b4d09b chore(3p/nix): Always enable the garbage collector
It's unclear why this toggle existed, now it doesn't.
2020-05-17 22:27:53 +01:00
Vincent Ambo
168ef124ef fix(3p/nix): Minor fixes to derivation
* version must be set to use this as the system Nix
* missing busybox path is now set
* fixed build output names
2020-05-17 21:25:50 +01:00
Vincent Ambo
f605577d5c feat(ops/nixos/nugget): Replace system-nix with meson-built one
What could possibly go wrong.
2020-05-17 20:49:44 +01:00
Vincent Ambo
8944370b7f feat(3p/nix): Add new Meson-based derivation for building Nix
This builds the mesonified Nix and is compatible with the depot
structure and nix-shell.
2020-05-17 20:46:06 +01:00
Vincent Ambo
9d865dbb1f chore(3p/nix): Remove symlink setup from Meson build
This belongs in the derivation itself, IMO.
2020-05-17 20:45:47 +01:00
Vincent Ambo
aa54512ee2 chore(3p): Remove unused dependencies of Nix 2020-05-17 20:45:18 +01:00
Vincent Ambo
96700c9522 chore(3p/nix): Remove old build derivations
Removes the autotools-based build derivations, in favour of using a
simpler build that just wraps Meson.
2020-05-17 20:24:18 +01:00
Vincent Ambo
40395860c7 chore(3p/nix): Remove old build system and other miscellanies
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 16:43:21 +01:00
Vincent Ambo
0f2cf531f7 style(3p/nix): Reformat project in Google C++ style
Reformatted with:

    fd . -e hh -e cc | xargs clang-format -i
2020-05-17 16:31:57 +01:00
Vincent Ambo
65a1aae98c fix(3p/nix): Fix Meson configuration for libexpr 2020-05-17 16:28:17 +01:00
Vincent Ambo
c94ef8d00b chore(3p/nix): Use packages from depot tree 2020-05-17 16:28:15 +01:00
John Ericson
939cec746e chore(3p/nix): Clean up libseccomp_dep
(cherry picked from commit b380f75867d48e6af461513d26803b61250d9c80)
2020-05-17 15:57:09 +01:00
John Ericson
adff9913c0 docs(3p/nix): Clean up descriptions in Meson
1. Fix that for libsodium

  2. Consistently capitalize

(cherry picked from commit 12ce28bdf21d1f261132bdefe3dac25b1aab7dcc)
2020-05-17 15:57:04 +01:00
John Ericson
8481ff4351 fix(3p/nix): non-existent wrapper dependency .found() should be false too
(cherry picked from commit 90f9f4aef781fc5c3ead8652fc408a431f480905)
2020-05-17 15:56:50 +01:00
John Ericson
9c21176f57 chore(3p/nix): Make libsodium an auto dependency
This means do autodetection if the user doesn't specify.

(cherry picked from commit 1be6ab4d3eb4d6b04c322b9ed0a108c2b5354ec5)
2020-05-17 15:56:36 +01:00
Vincent Ambo
3f6f3356e8 feat(3p/nix/build): Add meson & ninja as nativeBuildDeps 2020-05-17 15:56:32 +01:00
John Ericson
6cbc248b3f refactor(3p/nix): Remove abstractions in HAVE_STRUCT_DIRENT_D_TYPE code
(cherry picked from commit 727dc569a7a13b038d550b8c98a79d5928424d9b)
2020-05-17 15:56:28 +01:00
John Ericson
4b50bd28a0 feat(3p/nix): meson: Don't look for libraries in lib dir
1. First of all, this doesn't work in nixpkgs. Per [1], gcc ignores `-L`
   for purposes of `--print-file-dirs`, which breaks horribly on linux. But
   if we don't pass extra dirs, meosn first just tries `-l...`, which does
   work.

2. Even if it did work, `libdir` means where we are installing libs, not
   where libs are expected to be found. Those are not necessarily the
   same (again, nixpkgs), and even when they are and non-standard, it is
   better to use DESTDIR or have a modified toolchain.

[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87758

(cherry picked from commit a142164e746644e20f66908c156ca913bef4664f)
2020-05-17 15:56:23 +01:00
John Ericson
d64f60c733 feat(3p/nix): meson: Define HAVE_STRUCT_DIRENT_D_TYPE macro
(cherry picked from commit 7ae66bbef5e92f4a0bba49780d8c316f134884f2)
2020-05-17 15:56:19 +01:00
John Ericson
55e9f61041 chore(3p/nix): Add Meson and Ninja dependencies
(cherry picked from commit 3a968f5152d6f65ea3d9fdd36df3c188a4e20e24)
2020-05-17 15:56:13 +01:00