forked from NixOS/nix
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master' into flip-coroutines
- Loading branch information
Showing
342 changed files
with
6,805 additions
and
2,687 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.24.0 | ||
2.25.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,9 +41,9 @@ Check out the [security policy](https://github.com/NixOS/nix/security/policy). | |
There are many open pull requests that might already do what you intend to work on. | ||
You can use [labels](https://github.com/NixOS/nix/labels) to filter for relevant topics. | ||
|
||
3. Check the [Nix reference manual](https://nixos.org/manual/nix/unstable/contributing/hacking.html) for information on building Nix and running its tests. | ||
3. Check the [Nix reference manual](https://nix.dev/manual/nix/development/development/building.html) for information on building Nix and running its tests. | ||
|
||
For contributions to the command line interface, please check the [CLI guidelines](https://nixos.org/manual/nix/unstable/contributing/cli-guideline.html). | ||
For contributions to the command line interface, please check the [CLI guidelines](https://nix.dev/manual/nix/development/development/cli-guideline.html). | ||
|
||
4. Make your change! | ||
|
||
|
@@ -52,6 +52,20 @@ Check out the [security policy](https://github.com/NixOS/nix/security/policy). | |
|
||
Link related issues to inform interested parties and future contributors about your change. | ||
If your pull request closes one or multiple issues, mention that in the description using `Closes: #<number>`, as it will then happen automatically when your change is merged. | ||
* Credit original authors when you're reusing or building on their work. | ||
* Link to relevant changes in other projects, so that others can understand the full context of the change in the future when you or someone else will change or troubleshoot the code. | ||
This is especially important when your change is based on work done in other repositories. | ||
|
||
Example: | ||
``` | ||
This is based on the work of @user in <url>. | ||
This solution took inspiration from <url>. | ||
Co-authored-by: User Name <[email protected]> | ||
``` | ||
When cherry-picking from a different repository, use the `-x` flag, and then amend the commits to turn the hashes into URLs. | ||
* Make sure to have [a clean history of commits on your branch by using rebase](https://www.digitalocean.com/community/tutorials/how-to-rebase-and-update-a-pull-request). | ||
* [Mark the pull request as draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request) if you're not done with the changes. | ||
|
@@ -69,7 +83,7 @@ Check out the [security policy](https://github.com/NixOS/nix/security/policy). | |
- [ ] API documentation in header files | ||
- [ ] Code and comments are self-explanatory | ||
- [ ] Commit message explains **why** the change was made | ||
- [ ] New feature or incompatible change: [add a release note](https://nixos.org/manual/nix/stable/contributing/hacking#add-a-release-note) | ||
- [ ] New feature or incompatible change: [add a release note](https://nix.dev/manual/nix/development/development/contributing.html#add-a-release-note) | ||
7. If you need additional feedback or help to getting pull request into shape, ask other contributors using [@mentions](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#mentioning-people-and-teams). | ||
|
@@ -78,9 +92,9 @@ Check out the [security policy](https://github.com/NixOS/nix/security/policy). | |
The Nix reference manual is hosted on https://nixos.org/manual/nix. | ||
The underlying source files are located in [`doc/manual/src`](./doc/manual/src). | ||
For small changes you can [use GitHub to edit these files](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files) | ||
For larger changes see the [Nix reference manual](https://nixos.org/manual/nix/unstable/contributing/hacking.html). | ||
For larger changes see the [Nix reference manual](https://nix.dev/manual/nix/development/development/contributing.html). | ||
## Getting help | ||
Whenever you're stuck or do not know how to proceed, you can always ask for help. | ||
The appropriate channels to do so can be found on the [NixOS Community](https://nixos.org/community/) page. | ||
We invite you to use our [Matrix room](https://matrix.to/#/#nix-dev:nixos.org) to ask questions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,11 @@ | ||
add_project_arguments( | ||
'-Wno-deprecated-declarations', | ||
'-Wimplicit-fallthrough', | ||
'-Wdeprecated-copy', | ||
'-Werror=suggest-override', | ||
'-Werror=switch', | ||
'-Werror=switch-enum', | ||
'-Werror=unused-result', | ||
'-Wdeprecated-copy', | ||
'-Wignored-qualifiers', | ||
# Enable assertions in libstdc++ by default. Harmless on libc++. Benchmarked | ||
# at ~1% overhead in `nix search`. | ||
# | ||
'-Wimplicit-fallthrough', | ||
'-Wno-deprecated-declarations', | ||
language : 'cpp', | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
synopsis: Define integer overflow in the Nix language as an error | ||
issues: [10968] | ||
prs: [11188] | ||
--- | ||
|
||
Previously, integer overflow in the Nix language invoked C++ level signed overflow, which was undefined behaviour, but *usually* manifested as wrapping around on overflow. | ||
|
||
Since prior to the public release of Lix, Lix had C++ signed overflow defined to crash the process and nobody noticed this having accidentally removed overflow from the Nix language for three months until it was caught by fiddling around. | ||
Given the significant body of actual Nix code that has been evaluated by Lix in that time, it does not appear that nixpkgs or much of importance depends on integer overflow, so it appears safe to turn into an error. | ||
|
||
Some other overflows were fixed: | ||
- `builtins.fromJSON` of values greater than the maximum representable value in a signed 64-bit integer will generate an error. | ||
- `nixConfig` in flakes will no longer accept negative values for configuration options. | ||
|
||
Integer overflow now looks like the following: | ||
|
||
``` | ||
$ nix eval --expr '9223372036854775807 + 1' | ||
error: integer overflow in adding 9223372036854775807 + 1 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
synopsis: |- | ||
The `build-hook` setting's default is less useful when using `libnixstore` as a library | ||
prs: | ||
- 11178 | ||
--- | ||
|
||
*This is an obscure issue that only affects usage of the `libnixstore` library outside of the Nix executable.* | ||
|
||
As part the ongoing [rewrite of the build system](https://github.com/NixOS/nix/issues/2503) to use [Meson](https://mesonbuild.com/), we are also switching to packaging individual Nix components separately (and building them in separate derivations). | ||
This means that when building `libnixstore` we do not know where the Nix binaries will be installed --- `libnixstore` doesn't know about downstream consumers like the Nix binaries at all. | ||
|
||
*This is also unrelated to the _`post`_-`build-hook`*, which is often used for pushing to a cache.* | ||
|
||
This has a small adverse affect on remote building --- the `build-remote` executable that is specified from the [`build-hook`](@docroot@/command-ref/conf-file.md#conf-build-hook) setting will not be gotten from the (presumed) installation location, but instead looked up on the `PATH`. | ||
This means that other applications linking `libnixstore` that wish to use remote building must arrange for the `nix` command to be on the PATH (or manually overriding `build-hook`) in order for that to work. | ||
|
||
Long term we don't envision this being a downside, because we plan to [get rid of `build-remote` and the build hook setting entirely](https://github.com/NixOS/nix/issues/1221). | ||
There is simply no need to add a second layer of remote-procedure-calling when we want to connect to a remote builder. | ||
The build hook protocol did in principle support custom ways of remote building, but that can also be accomplished with a custom service for the ssh or daemon/ssh-ng protocols, or with a custom [store type](@docroot@/store/types/index.md) i.e. `Store` subclass. <!-- we normally don't mention classes, but consider that this release note is about a library use case --> | ||
|
||
The Perl bindings no longer expose `getBinDir` either, since they libraries those bindings wrap no longer know the location of installed binaries as described above. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.