1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-14 22:42:41 +01:00
Commit graph

21479 commits

Author SHA1 Message Date
Eelco Dolstra
35a8e9c71e
Merge pull request #141 from DeterminateSystems/external-builder-stdin
Add an `external-builders` experimental feature
2025-07-14 22:42:21 +02:00
Cole Helbling
de158c335c fixup: document why we're not writing through stdin right now 2025-07-14 11:13:04 -07:00
Cole Helbling
5b27325bc2 Revert "external-derivation-builder: write the json doc into builder's stdin"
This reverts commit d1f57c5dae.
2025-07-14 11:00:13 -07:00
Cole Helbling
efa239875b Add an external-builders experimental feature 2025-07-14 09:07:32 -07:00
Cole Helbling
d1f57c5dae external-derivation-builder: write the json doc into builder's stdin 2025-07-11 10:37:58 -07:00
Eelco Dolstra
804729b4ec Merge remote-tracking branch 'detsys/detsys-main' into refactor-derivation-builder 2025-07-10 17:31:01 +02:00
Eelco Dolstra
930aabb7f3
Merge pull request #139 from DeterminateSystems/remove-dead
Remove some dead code to minimize the upstream diff
2025-07-09 20:25:49 +00:00
Eelco Dolstra
47081aa94c Remove some dead code to minimize the upstream diff 2025-07-09 22:12:05 +02:00
Cole Helbling
e1d45bb040
Merge pull request #138 from DeterminateSystems/hide-double-copy-warning
Hide double copy warning
2025-07-09 20:06:56 +00:00
Cole Helbling
facfff45d3
Merge pull request #137 from DeterminateSystems/eelcodolstra/cf-65-determinate-nix-implicit-flake-lock-update-dont-update
lockFlake(): When updating a lock, respect the input's lock file
2025-07-09 20:00:02 +00:00
Eelco Dolstra
700ceb2ce1 Hide double copy warning 2025-07-09 21:52:47 +02:00
Eelco Dolstra
668088b876
Merge pull request #134 from DeterminateSystems/nix-flake-check-dont-build
nix flake check: Skip substitutable derivations
2025-07-09 19:07:52 +00:00
Eelco Dolstra
2ecc5156f4 lockFlake(): When updating a lock, respect the input's lock file 2025-07-09 19:04:29 +02:00
Cole Helbling
063837069c
Merge pull request #135 from DeterminateSystems/sync-2.30.0
Sync with upstream 2.30.0
2025-07-09 16:44:44 +00:00
Eelco Dolstra
175406c313 Merge remote-tracking branch 'origin/2.30-maintenance' into sync-2.30.0 2025-07-07 19:23:15 +02:00
Eelco Dolstra
812e069302 Mark official release 2025-07-07 17:36:13 +02:00
Eelco Dolstra
ab5fc30d67
Merge pull request #13424 from NixOS/release-notes
Release notes for Nix 2.30.0
2025-07-07 17:22:57 +02:00
Eelco Dolstra
b9b791dd51
Merge pull request #13425 from NixOS/tomberek.update_setuid_test
fix: make setuid tests use new build-dir location /nix/var/nix/builds
2025-07-07 16:50:57 +02:00
Robert Hensing
9f8df6878f doc: Add more links
Mostly in the 2.30 release notes
2025-07-07 16:47:02 +02:00
Eelco Dolstra
58e07c3291 Sort contributors 2025-07-07 16:17:06 +02:00
Thomas Bereknyei
9e7655f440 fix: make setuid tests use new build-dir location /nix/var/nix/builds 2025-07-07 10:13:40 -04:00
Eelco Dolstra
8c71de202f Add link 2025-07-07 15:50:51 +02:00
Eelco Dolstra
a492493d97 Rearrange release notes 2025-07-07 15:10:25 +02:00
Eelco Dolstra
2c0343ec51 # Contributors -> ## Contributors 2025-07-07 15:00:49 +02:00
Eelco Dolstra
f5312492c1 Add manual release notes 2025-07-07 14:53:11 +02:00
Eelco Dolstra
19c4e78d97 Typo 2025-07-07 14:19:57 +02:00
Eelco Dolstra
8a9e625ba5 release notes: 2.30.0 2025-07-07 14:09:18 +02:00
Eelco Dolstra
864ccb6e63
Merge pull request #13356 from SimSaladin/sim/fix-erase-output-paths
fix throwing output paths out of sandbox paths
2025-07-07 12:15:23 +02:00
Robert Hensing
c512fd1a4b
Merge pull request #13420 from NixOS/query-missing
Introduce MissingPaths struct for queryMissing() / printMissing()
2025-07-07 11:48:06 +02:00
Eelco Dolstra
99c20e6c3e
Merge pull request #13328 from h0nIg/patch-3
docker: add docu references & remove duplicate code
2025-07-07 11:31:59 +02:00
Sergei Zimmerman
6bf997e0bd
Merge pull request #13419 from NixOS/fix-indent 2025-07-04 20:27:32 +03:00
Eelco Dolstra
5c9592194c nix flake check: Skip substitutable derivations
Since `nix flake check` doesn't produce a `result` symlink, it doesn't
actually need to build/substitute derivations that are already known
to have succeeded, i.e. that are substitutable.

This can speed up CI jobs in cases where the derivations have already
been built by other jobs. For instance, a command like

  nix flake check github:NixOS/hydra/aa62c7f7db31753f0cde690f8654dd1907fc0ce2

should no longer build anything because the outputs are already in
cache.nixos.org.
2025-07-04 17:07:18 +02:00
Eelco Dolstra
f039f6886a nix-build: Drop unnecessary call to queryMissing()
This is already done by Worker::run().
2025-07-04 16:34:34 +02:00
Eelco Dolstra
5d308ccca5 printMissing(): Take a MissingPaths argument 2025-07-04 16:34:30 +02:00
Eelco Dolstra
af05ce0f6d queryMissing(): Return a struct
...instead of having a bunch of pass-by-reference arguments.
2025-07-04 16:34:24 +02:00
Eelco Dolstra
1df17735f5 nix-build: Drop unnecessary call to queryMissing()
This is already done by Worker::run().
2025-07-04 16:32:37 +02:00
Eelco Dolstra
3a636205c5 printMissing(): Take a MissingPaths argument 2025-07-04 16:27:08 +02:00
Eelco Dolstra
53a743b8c5 queryMissing(): Return a struct
...instead of having a bunch of pass-by-reference arguments.
2025-07-04 16:21:38 +02:00
Eelco Dolstra
eb97d8c170 Fix indentation of "Unable to start any build" error message
The use of R"(...)" added a bunch of unnecessary whitespace, e.g.

  error:
                             Unable to start any build;
                             either increase '--max-jobs' or enable remote builds.

                             For more information run 'man nix.conf' and search for '/machines'.

Now we get

  error: Unable to start any build; either increase '--max-jobs' or enable remote builds.

         For more information run 'man nix.conf' and search for '/machines'.
2025-07-04 15:21:31 +02:00
detsys-spaghetti[bot]
81672fee2a
Merge pull request #133 from DeterminateSystems/release-v3.7.0/e7308877-4039-4616-be6c-4613680cf30f
Release v3.7.0
2025-07-03 18:45:15 +00:00
Graham Christensen
d9541eba23
Apply suggestions from code review
Co-authored-by: gustavderdrache <gustavderdrache@gmail.com>
2025-07-03 14:36:51 -04:00
Graham Christensen
a6ad4a5d23 Clean up changelogs 2025-07-03 14:05:01 -04:00
Eelco Dolstra
d4f67fd46d
Merge pull request #13369 from NixOS/null-revision-not-locked
Git fetcher: Do not consider a null revision (i.e. workdir) to be locked
2025-07-03 19:56:21 +02:00
github-actions[bot]
103b09b767
Generate release notes for 3.7.0 2025-07-03 17:41:43 +00:00
github-actions[bot]
ab327e7fd6
Set .version-determinate to 3.7.0 2025-07-03 17:41:38 +00:00
github-actions[bot]
87dccde0aa
Prepare release v3.7.0 2025-07-03 17:41:35 +00:00
Robert Hensing
c79b8018c0
Merge pull request #13407 from xokdvium/smaller-value
libexpr: Reduce the size of Value down to 16 bytes (on 64 bit systems)
2025-07-03 00:12:47 +02:00
Sergei Zimmerman
5a20a48f13
libexpr: Reduce the size of Value down to 16 bytes
This shaves off a very significand amount of memory used
for evaluation as well as reduces the GC-managed heap.

Previously the union discriminator (InternalType) was
stored as a separate field in the Value, which takes up
whole 8 bytes due to padding needed for member alignment.
This effectively wasted 7 whole bytes of memory. Instead
of doing that InternalType is instead packed into pointer
alignment niches. As it turns out, there's more than enough
unused bits there for the bit packing to be effective.

See the doxygen comment in the ValueStorage specialization
for more details.

This does not add any performance overhead, even though
we now consistently assert the InternalType in all getters.

This can also be made atomic with a double width compare-and-swap
instruction on x86_64 (CMPXCHG16B instruction) for parallel evaluation.
2025-07-02 22:27:37 +03:00
Sergei Zimmerman
e73fcf7b53
libexpr: Use proxy ListView for all Value list accesses
This also makes it possible to make `payload` field private
in the `ValueStorage` class template.
2025-07-02 21:57:02 +03:00
Sergei Zimmerman
c39cc00404
libexpr: Factor out Payload union to a default implementation of ValueStorage
This factors out most of the value representation into a mixin class.
`finishValue` is now gone for good and replaced with a simple template
function `setStorage` which derives the type information/disriminator from
the type of the argument. Likewise, reading of the value goes through function
template `getStorage`.

An empty type `Null` is introduced to make the bijection InternalType <-> C++ type
complete.
2025-07-02 21:51:15 +03:00