f7871fcb57fe7be0a9d4bc6ba998510c68e01f96
The variant has on the left-hand side the topologically sorted vector and the right-hand side is a pair showing the path and its parent that represent a cycle in the graph making the sort impossible. The goal is to implement #551 which needs to throw an error if the topo-sort fails. However, the error-message is supposed to contain a graph of store-paths and the API to generate this is inherently async. Now, catching the exception and re-throwing another one is impossible since `co_await` is forbidden in `catch`-blocks and adding another topoSort variant that allows an async `makeError` also seems odd. Hence, I decided to alter the data-structure in use a bit for this use-case. One out of two uses of the function are affected after all. Change-Id: I70a987f470437df8beb3b1cc203ff88701d0aa1b
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%