tvl-depot/third_party/nix
Vincent Ambo 85a05a6f38 fix(3p/nix/libexpr): Remove the global empty attribute set
In the change to the backing structure of attribute sets, the
requirement to manually balance the capacity of the structure went
away.

This is a) because Abseil's data structures manage this on their own,
and b) because the new Bindings class is allocated using `new (GC)`
rather than writing into a predefined memory area.

As part of this change functions related to the capacity were
deprecated and set to 0 values, which in turn caused the creation of
new attribute sets to return the same (mutable!) default value in
various cases, leading to "side effects" that caused evaluation
failures.

FWIW, I'm not sure if this optimisation had noticeable performance
impact, but while untangling libexpr it definitely doesn't help trying
to follow what it's doing - so bye, bye!
2020-05-23 06:18:20 +01:00
..
.github Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
config Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
contrib Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
corepkgs chore(3p/nix): Always enable the garbage collector 2020-05-17 22:27:53 +01:00
doc chore(3p/nix): Remove old build system and other miscellanies 2020-05-17 16:43:21 +01:00
maintainers Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
misc chore(3p/nix): Remove old build system and other miscellanies 2020-05-17 16:43:21 +01:00
scripts chore(3p/nix): Remove old build system and other miscellanies 2020-05-17 16:43:21 +01:00
src fix(3p/nix/libexpr): Remove the global empty attribute set 2020-05-23 06:18:20 +01:00
subprojects feat(3p/nix): Add Abseil as a CMAKE subproject to Meson 2020-05-20 03:03:08 +01:00
tests chore(3p/nix/libexpr): Remove unused __overrides feature 2020-05-23 01:09:35 +01:00
.clang-format style(3p/nix): Change include formatting config for clang-format 2020-05-19 15:55:09 +01:00
.dir-locals.el fix(3p/nix): Set C++ style to "Google" in Emacs locals 2020-05-19 05:13:47 +01:00
.gitignore feat(3p/nix): added meson support 2020-05-17 15:55:13 +01:00
.travis.yml Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
.version Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
clangd.nix feat(3p/nix): Add a derivation to launch clangd 2020-05-22 23:00:23 +01:00
COPYING Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
default.nix feat(3p/nix): Add a derivation to launch clangd 2020-05-22 23:00:23 +01:00
meson.build refactor(3p/nix/libexpr): Use absl::btree_map for AttrSets 2020-05-21 19:21:55 +01:00
meson_options.txt feat(3p/nix): Add some initial Abseil build targets 2020-05-20 04:02:23 +01:00
README.md Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00

Open Collective supporters

Nix, the purely functional package manager

Nix is a new take on package management that is fairly unique. Because of its purity aspects, a lot of issues found in traditional package managers don't appear with Nix.

To find out more about the tool, usage and installation instructions, please read the manual, which is available on the Nix website at http://nixos.org/nix/manual.

Contributing

Take a look at the Hacking Section of the manual. It helps you to get started with building Nix from source.

License

Nix is released under the LGPL v2.1

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.