Commit Graph

18720 Commits

Author SHA1 Message Date
John Ericson
a654cc2a72 WIP document derivations and deriving paths
And get rid of "store derivation" nonsense.
2024-11-17 21:33:07 -05:00
John Ericson
7ebeceaf3d
Merge pull request #11860 from DeterminateSystems/fix-doxygen-warnings
Fix most Doxygen warnings
2024-11-13 16:09:37 -05:00
John Ericson
be2520551e
Merge pull request #11870 from DeterminateSystems/default-phases
Make the default stdenv phases do the right thing
2024-11-13 16:04:22 -05:00
John Ericson
2d153bd59b
Merge pull request #11868 from DeterminateSystems/no-api-docs-in-devshell
Don't build the API docs in the devshell
2024-11-13 15:56:29 -05:00
Eelco Dolstra
2d2b9cd45d
Merge pull request #11876 from jackwilsdon/osc8
Filter OSC 8 correctly
2024-11-13 18:27:27 +01:00
Eelco Dolstra
d85d914bad
Merge pull request #11878 from roberth/accept-removal-of-installables-implicit-outputs
Remove warning that interpretation of .drv has changed
2024-11-13 17:11:07 +01:00
Robert Hensing
f534a7a524 Remove warning that interpretation of .drv has changed
This was first tagged as 2.15.0, 1½ years ago; plenty of time for
everyone to catch up.

By now, the warning is causing more confusion than that it is helpful,
because passing a `.drv` or `drvPath` has legitimate use cases.
2024-11-13 16:32:21 +01:00
Jack Wilsdon
1301f8434d Filter OSC 8 correctly
This allows Nix to use lowdown 1.2.0 which outputs OSC-8 links.
2024-11-13 00:49:46 +00:00
Eelco Dolstra
37f4c71d1c Don't change nix::fs for now 2024-11-12 21:10:01 +01:00
Eelco Dolstra
e6aae64318 Make the default stdenv phases do the right thing
Fixes #11858.
2024-11-12 20:42:53 +01:00
Eelco Dolstra
850ccb72cc Don't build the API docs in the devshell
The API docs build is extremely noisy (#11841) and probably not many
people care about it anyway. Also, they get rebuild on *every* ninja
invocation which is generally a waste of time.

Of course, you can still build the docs via `nix build
.#nix-{internal,external}-api-docs`, which is pretty fast.
2024-11-12 20:18:33 +01:00
Robert Hensing
14edb78d53
Merge pull request #11863 from DeterminateSystems/restore-nix-package
Provide a "nix" package again
2024-11-12 18:26:30 +01:00
Eelco Dolstra
06769eb2bf nix-everything: Pass through a version attribute
The existence of this attribute is assumed by the Determinate
Installer packaging and maybe others.
2024-11-12 16:42:59 +01:00
Eelco Dolstra
000d06d85b Provide a "nix" package 2024-11-12 16:42:43 +01:00
Eelco Dolstra
02f0294be0 Fix most DoxyGen warnings
Helps with #11841.
2024-11-12 15:34:24 +01:00
Eelco Dolstra
2e2198fd91
Merge pull request #11855 from nix-windows/fix-windows-env-var-arg-order
Fix argument order in the Windows implementation of `getEnvOs`
2024-11-12 10:47:12 +01:00
John Ericson
355f08a728 Fix argument order in the Windows implementation of getEnvOs
See the build failure in https://github.com/msys2/MINGW-packages/pull/22499
2024-11-12 00:52:17 -05:00
Eelco Dolstra
76cd80da17
Merge pull request #11851 from NixOS/bump-2.26.0
Bump version to 2.26.0
2024-11-11 18:26:18 +01:00
Eelco Dolstra
200f45e539
Merge pull request #11850 from DeterminateSystems/remove-old-make-attempt-2
Remove old make (attempt 2)
2024-11-11 17:52:20 +01:00
Eelco Dolstra
fa0adbd838 Bump version 2024-11-11 17:08:58 +01:00
Eelco Dolstra
f29e7867a9 Revert "Merge pull request #11826 from DeterminateSystems/revert-11804"
This reverts commit aeffdeffc8, reversing
changes made to 723fdeb4f1.
2024-11-11 15:21:34 +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 Hensing
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