09416ef023
fix system and home command groups
CI / Check Cachix and Docker secrets present for installer tests (push) Has been cancelled
CI / vm_tests (push) Has been cancelled
CI / installer (push) Has been cancelled
CI / tests (macos-latest) (push) Has been cancelled
CI / tests (ubuntu-latest) (push) Has been cancelled
CI / installer_test (macos-latest) (push) Has been cancelled
CI / installer_test (ubuntu-latest) (push) Has been cancelled
CI / docker_push_image (push) Has been cancelled
CI / flake_regressions (push) Has been cancelled
2024-12-04 20:02:17 +01:00
1eb19dd804
libcmd: also include modify-installables.cc
CI / vm_tests (push) Has been cancelled
CI / flake_regressions (push) Has been cancelled
CI / tests (macos-latest) (push) Has been cancelled
CI / docker_push_image (push) Has been cancelled
CI / tests (ubuntu-latest) (push) Has been cancelled
CI / Check Cachix and Docker secrets present for installer tests (push) Has been cancelled
CI / installer (push) Has been cancelled
CI / installer_test (macos-latest) (push) Has been cancelled
CI / installer_test (ubuntu-latest) (push) Has been cancelled
2024-11-10 21:40:32 +01:00
b13b207102
Merge remote-tracking branch 'nixos/master'
2024-11-10 16:28:47 +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
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
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
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
Robert Hensing
1af94bf471
Merge pull request #11816 from hercules-ci/fix-logger-ask-eof
...
`ProgressBar::ask`: accept EOF, as a no
2024-11-06 20:43:48 +01:00
Robert Hensing
deb1db8b7b
Merge pull request #11817 from DeterminateSystems/simplify-flake-regressions-sh
...
Move scripts/flake-regressions.sh into the flake-regressions repo
2024-11-06 20:40:14 +01:00
Robert Hensing
c6c8d2af65
refact: Remove unused arguments
2024-11-06 19:45:19 +01:00
Robert Hensing
3112e59734
ProgressBar::ask: Accept EOF as a no
...
This may occur when stderr is a tty but stdin is empty.
E.g.
$ nix build </dev/null
error: unexpected EOF reading a line
These stdio handles are how some non-interactive sandboxes behave,
including the Nix build sandbox and Hercules CI Effects.
2024-11-06 19:45:19 +01:00
Eelco Dolstra
c29808929f
Move scripts/flake-regressions.sh into the flake-regressions repo
...
It already contained a script "eval-all.sh" that did almost the same thing.
2024-11-06 17:09:11 +01:00
Robert Hensing
f7b1e535a3
nix::readLine: Add eofOk parameter
2024-11-06 14:42:51 +01:00
Robert Hensing
4a785a0400
Merge pull request #11814 from xokdvium/dev/fix-libutil-tests-nix-api-util-leak
...
fix(libutil-tests/nix_api_util): get rid of unnecessary memory leaks
2024-11-06 12:36:00 +01:00
Sergei Zimmerman
2e7466a4e0
fix(libutil-tests/nix_api_util): get rid of unnecessary memory leaks
2024-11-06 10:55:39 +03:00
Jörg Thalheim
2ef5e222df
Merge pull request #11813 from xokdvium/dev/fix-use-after-free-libstore-tests
...
fix(libstore-tests): remove use-after-free bug for `StringSource`
2024-11-06 06:48:20 +01:00
John Ericson
bf19e5c34b
Merge pull request #11803 from obsidiansystems/factor-out-dev-shell
...
Dev shell improvements
2024-11-05 23:58:52 -05:00
John Ericson
c49a0ae8b8
Slightly tweak flake.nix
...
`lib.concatMapAttrs` instead of `lib.mapAttrs'` and `lib.nameValuePair`
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-11-05 23:22:43 -05:00