Commit Graph
18700 Commits
Author SHA1 Message Date
Eelco Dolstra fa0adbd838 Bump version 2024-11-11 17:08:58 +01:00
Eelco Dolstra fa4bd39c6a Merge pull request #11701 from DeterminateSystems/flake-substitution
Restore input substitution
2024-11-11 14:40:22 +01:00
Eelco Dolstra 036359ac84 Remove release note about flake substitution 2024-11-11 13:58:12 +01:00
Eelco Dolstra 67a42e6240 Merge remote-tracking branch 'origin/master' into flake-substitution 2024-11-11 13:57:24 +01:00
Valentin Gagarin 17c94b7ff7 Merge pull request #11842 from DeterminateSystems/release-notes
Nix 2.25 release notes
2024-11-11 12:24:05 +01:00
Robert HensingandValentin Gagarin 6f50e6a3fa maintainers/onboarding: Subscribe to discourse category (#11848)
Co-authored-by: Valentin Gagarin <valentin@gagarin.work>
2024-11-10 22:20:06 +00:00
Robert Hensing 545956d56a Merge pull request #11849 from NixOS/autocall-const
autoCallFunction: accept const Bindings &
2024-11-10 21:31:11 +01:00
Robert Hensing a3613f2a3c autoCallFunction: accept const Bindings &
It does not need to mutate the attrs.
`const` is shallow.
Avoids a const_cast in the hercules-ci-cnix-expr bindings.
2024-11-10 20:52:05 +01:00
Jörg Thalheim aa9c0bc1ee Merge pull request #11843 from xokdvium/dev/move-fixes
fix(treewide): clean up move semantics
2024-11-09 21:57:27 +01:00
Jörg Thalheim cdcf9bd2fa Merge pull request #11847 from xokdvium/dev/some-vector-reserves
refactor(treewide): reserve vector capacity when final size is known
2024-11-09 21:49:36 +01:00
Jörg Thalheim 6e55f2cf86 Merge pull request #11846 from xokdvium/dev/noexcept-more-ctors-where-possible
refactor(treewide): make some move ctors noexcept where appropriate
2024-11-09 21:48:26 +01:00
Sergei Zimmerman 0fe3b54ee1 refactor(treewide): reserve vector capacity when final size is known
In these trivial cases the final vector size (or lower bound on the size) is known,
so we can avoid some vector reallocations. This is not very important, but is just
good practice and general hygiene.
2024-11-09 22:40:49 +03:00
Sergei Zimmerman 96eeb6f4ff refactor(treewide): make some move ctors noexcept where appropriate
This is good practice to avoid pessimisations.
Left comments for the reasoning why ctors should be noexcept.
There are some tricky cases where we intentionally want throwing move ctors/assignments.
But those cases should really be reviewed, since some of those can be replaced
with more idiomatic copy/move-and-swap.
2024-11-09 12:09:33 +03:00
Eelco Dolstra 4dceca51de Don't allow __final in fetchTree
It's now only allowed in fetchFinalTree, which is not exposed to users
but only to call-flake.nix.
2024-11-08 19:27:54 +01:00
Sergei Zimmerman 0347bca15b fix(libstore/path-info): make ValidPathInfo move constructible/assignable 2024-11-08 20:48:00 +03:00
Sergei Zimmerman 149802b9f5 fix(libstore): make BasicDerivation move-constructible/assignable 2024-11-08 20:10:38 +03:00
Sergei Zimmerman 8dd787fbf6 fix(libutil): remove no-op move from const 2024-11-08 20:10:38 +03:00
Sergei Zimmerman 6c3f720e2c fix(treewide): move arguments where needed
Moving from arguments where it should be done.
2024-11-08 20:10:38 +03:00
Sergei Zimmerman af63d67ba5 fix(libutils): make ref move assignable/constructible 2024-11-08 20:10:38 +03:00
Sergei Zimmerman 17b49134fa fix(treewide): fix incorrect usage of std::move
`auto &&` and `T &&` are forwarding references and can be
either lvalue or rvalue references. Moving from universal references
is incorrect and should not be done.

Moving from integral or floating-point values is pointless and just
worsens debug performance.
2024-11-08 20:10:38 +03:00
Eelco Dolstra d90b56d527 Remove no longer needed hack 2024-11-08 17:31:35 +01:00
Eelco Dolstra 397f3c544e Add credits 2024-11-08 17:10:20 +01:00
Eelco Dolstra d228c00614 Trim release notes 2024-11-08 17:06:49 +01:00
Eelco Dolstra ecb418e163 Merge remote-tracking branch 'origin/master' into flake-substitution 2024-11-08 16:42:12 +01:00
Jörg Thalheim 492c678162 Merge pull request #11837 from xokdvium/dev/fix-use-after-move-posix-source
fix(libutil/posix-source-accessor.cc): get rid of use-after-move bug
2024-11-08 14:56:50 +01:00
Sergei Zimmerman 3e0129ce3b fix(libutil/posix-source-accessor.cc): get rid of use-after-move bug
Naming class member variables the same as constructor arguments is a very
slippery slope because of how member variable names get resolved. Compiler
is not very helpful here and we need static analysis to forbid this kind of
stuff.

The following example illustrates the cause quite well:

```cpp

struct B {
    B(int) {}
};

struct A {
    A(int b): b([&](){
        return b;
        static_assert(std::is_same_v<decltype(b), int>);
    }()) {
       static_assert(std::is_same_v<decltype(b), int>);
    }
    void member() {
        static_assert(std::is_same_v<decltype(b), B>);
    }
    B b;
};

int main() {
    A(1).member();
}
```

From N4861 6.5.1 Unqualified name lookup:

> In all the cases listed in [basic.lookup.unqual], the scopes are searched
> for a declaration in the order listed in each of the respective categories;
> name lookup ends as soon as a declaration is found for the name.
> If no declaration is found, the program is ill-formed.

In the affected code there was a use-after-move for all accesses in the constructor
body, but this UB wasn't triggered.

These types of errors are trivial to catch via clang-tidy's [clang-analyzer-cplusplus.Move].
2024-11-08 16:07:45 +03:00
Eelco Dolstra 7630fe7c86 Merge pull request #11836 from DeterminateSystems/remove-shellInputs-i686-linux
Remove shellInputs.i686-linux
2024-11-08 13:52:13 +01:00
Eelco Dolstra d5f5717172 Remove shellInputs.i686-linux
It fails to compile (https://hydra.nixos.org/build/277363696) and it's
unlikely anybody cares.
2024-11-08 13:14:43 +01:00
Jörg Thalheim aeffdeffc8 Merge pull request #11826 from DeterminateSystems/revert-11804
Revert "Merge pull request #11804 from obsidiansystems/remove-old-make"
2024-11-08 12:04:55 +01:00
Eelco Dolstra 723fdeb4f1 Merge pull request #11832 from DeterminateSystems/fix-remote-build-test
Fix tests.remoteBuilds_local_nix_2_18
2024-11-07 22:56:28 +01:00
John Ericson ff456f6713 Merge pull request #11833 from NixOS/fix-11830
Fix #11830
2024-11-07 16:08:55 -05:00
John Ericson a6149eb89d Add eofOk parameter to the Windows readLine impl
Now the two implementations are back in sync.
2024-11-07 15:11:44 -05:00
John Ericson 372353722e Clean up standard stream logic
Now we have enough portability stuff
2024-11-07 15:11:41 -05:00
Eelco Dolstra 5471d2a454 Fix tests.remoteBuilds_local_nix_2_18
This was broken since a03bb4455c because
Nix 2.18 does not support broken $SHELL settings. So don't try a
broken $SHELL on old Nix versions. (It's a mystery though why
tests.remoteBuilds_local_nix_2_13 and tests.remoteBuilds_local_nix_2_3
didn't fail...)

https://hydra.nixos.org/build/277366807
2024-11-07 20:48:11 +01:00
Eelco Dolstra 0ed5af164f Merge pull request #11831 from DeterminateSystems/fix-nix-copy-test
Fix 'nix copy' VM test
2024-11-07 20:43:01 +01:00
Eelco Dolstra ea6dc8ebf1 Fix 'nix copy' VM test
This was broken because the root password wasn't getting set correctly.

https://hydra.nixos.org/build/277366631
2024-11-07 20:10:57 +01:00
Eelco Dolstra fbceb864fa Merge pull request #11829 from DeterminateSystems/revert-10980
Revert "Merge pull request #10980 from kjeremy/flake-show-description"
2024-11-07 20:10:24 +01:00
Eelco Dolstra 47bffe20e4 Revert "Merge pull request #10980 from kjeremy/flake-show-description"
This reverts commit 1c5ad159d6, reversing
changes made to 67de193277.

This reverts commit ce4e4a158e, reversing
changes made to 43e82c9446.
2024-11-07 18:12:04 +01:00
Eelco Dolstra cd42f7664e release notes: 2.25.0 2024-11-07 17:53:26 +01:00
Eelco Dolstra 67d231c046 Revert "Merge pull request #11804 from obsidiansystems/remove-old-make"
This reverts commit 619eeb658a, reversing
changes made to 1af94bf471.
2024-11-07 13:46:37 +01:00
Jörg Thalheim 3ab8534b13 Merge pull request #11825 from hercules-ci/fix-arm-libatomic
Fix arm libatomic
2024-11-07 13:00:03 +01:00
Robert Hensing f4b05cf8ec fix: Build nix-store on arm with libatomic 2024-11-07 11:40:02 +01:00
Robert Hensing ffc1b30f50 refact: Extract build-utils-meson/libatomic 2024-11-07 11:40:02 +01:00
Jörg Thalheim 8f553f6eef Merge pull request #11821 from hercules-ci/issue-11815
initRepoAtomically: Catch directory_not_empty
2024-11-07 07:22:23 +01:00
Robert Hensing 388271e8ec initRepoAtomically: Catch directory_not_empty 2024-11-06 23:52:48 +01:00
John Ericson 619eeb658a Merge pull request #11804 from obsidiansystems/remove-old-make
Remove the old make-based build system
2024-11-06 16:41:25 -05:00
John Ericson f7591bc6ed Make config.nix shims
As requested in https://github.com/NixOS/nix/pull/11792#discussion_r1827034428
2024-11-06 16:09:18 -05:00
John Ericson e70c9bb06a Remove old build system 2024-11-06 16:09:18 -05:00
John Ericson 71c2e21f3b Temporarily skip coverage checks 2024-11-06 16:09:18 -05:00
John Ericson ba34ea9fe7 Add missing deps to the dev shell 2024-11-06 16:09:18 -05:00