-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C API: Add libflake-c (backport #11940) #11949
Conversation
(cherry picked from commit 82a23d9)
(cherry picked from commit 1bd7517)
(cherry picked from commit f06f611)
(cherry picked from commit 4eecf3c) # Conflicts: # packaging/components.nix # packaging/everything.nix # tests/unit/libflake/nix_api_flake.cc
[FAIL()] is a macro with `return`, making it unsuitable for helpers. This uses std::runtime_error, because gtest does not seem to provide an exception type of its own for this purpose. [AssertionException] is for a different use case. [FAIL()]: https://google.github.io/googletest/reference/assertions.html#FAIL [AssertionException]: https://github.com/google/googletest/blob/35d0c365609296fa4730d62057c487e3cfa030ff/docs/reference/testing.md#assertionexception-assertionexception (cherry picked from commit d004c52) # Conflicts: # src/libutil-test-support/tests/gtest-with-params.hh
(cherry picked from commit 6db6b26)
Cherry-pick of 4eecf3c has failed:
Cherry-pick of d004c52 has failed:
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
Generally we don't backport features (only bug fixes), especially when they're big (this is a 23-file diff). |
Without this, flakes can't be used through the C API. This is a fix for a regression in the shape of a feature; not just a new feature. |
Motivation
Nix 2.24's C API is currently incapable of providing flake functionality, because
libflake
wasn't wrapped before #9063This PR provides a very basic
libflake
that restoresbuiltins.getFlake
. (a feature compensating for a regression)Context
getFlake
not available through C API #11399libnixflake
#9063Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.
This is an automatic backport of pull request #11940 done by [Mergify](https://mergify.com).