Commit graph

17733 commits

Author SHA1 Message Date
Robert Hensing
9b88bf8adf Fix underflow in Printer::printAttrs
The code that counts the number of elided attrs incorrectly used the
per-printer "global" attribute counter instead of a counter that
was relevant only to the current attribute set.

This bug flew under the radar because often the attribute sets aren't
nested, not big enough, or we wouldn't pay attention to the numbers.
I've noticed the issue because the difference underflowed.

Although this behavior is tested by the functional test
lang/eval-fail-bad-string-interpolation-4.nix, the underflow slipped
through review. A simpler reproducer would be as follows, but I
haven't added it to the test suite to keep it simple and marginally
faster.

```
$ nix run nix/2.23.1 -- eval --expr '"" + (let v = { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; b = 1; c = 1; }; }; in builtins.deepSeq v v)'
error:
       … while evaluating a path segment
         at «string»:1:6:
            1| "" + (let v = { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; b = 1; c = 1; }; }; in builtins.deepSeq v v)
             |      ^

       error: cannot coerce a set to a string: { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; «4294967289 attributes elided» }; }
```
2024-06-29 13:53:05 +02:00
Robert Hensing
fd94b74ee5 Fix #10947; don't cache disallowed IFD 2024-06-29 13:19:04 +02:00
Robert Hensing
32e6cc64b5
Merge pull request #10988 from cole-h/restore-summary-rename
Restore commit-lock-file-summary rename for consistency
2024-06-29 11:51:50 +02:00
Cole Helbling
d906d42330 Restore commit-lock-file-summary rename for consistency
It was originally renamed in https://github.com/NixOS/nix/pull/10691,
but https://github.com/NixOS/nix/pull/9063 accidentally removed the new
name and alias.
2024-06-28 14:53:40 -07:00
Cole Helbling
9e9730ef0f Test that commit-lock-file-summary and its alias work 2024-06-28 14:53:40 -07:00
John Ericson
02963f712e
Merge pull request #10987 from tweag/remove-thufschmitt-from-maintainers
maintainers: Drop thufschmitt
2024-06-28 16:19:14 -04:00
Théophane Hufschmitt
26089183e6 maintainers: Drop thufschmitt
https://github.com/NixOS/nixos-homepage/pull/1490
2024-06-28 15:56:53 +02:00
Valentin Gagarin
b44909ac22
add many more examples on escaping in strings (#10974) 2024-06-27 10:58:59 +02:00
Harmen
3b388f6629
string interpolation escape example (#10966)
* string interpolation escape example

Make it easier to find the documentation, and the example might be enough for most cases.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-06-27 08:30:21 +00:00
John Ericson
aff0fbc764
Merge pull request #10972 from NixOS/no-vendor-toml11
Stop vendoring toml11
2024-06-27 00:10:09 -04:00
John Ericson
b87e048b3b Override toml11 so it evaluates on Windows too 2024-06-26 23:30:38 -04:00
Winter
149d8eb8aa Stop vendoring toml11
We don't apply any patches to it, and vendoring it locks users into
bugs (it hasn't been updated since its introduction in late 2021).

Closes https://git.lix.systems/lix-project/lix/issues/164

Change-Id: Ied071c841fc30b0dfb575151afd1e7f66970fdb9
(cherry picked from commit 80405d06264f0de1c16ee2646388ab501df20628)
2024-06-26 22:27:13 -04:00
John Ericson
f002f85861 Avoid libmain header in libexpr
We just don't need it!
2024-06-26 22:26:45 -04:00
John Ericson
7e66f0d91c
Merge pull request #9063 from obsidiansystems/libfetchers-prep
Introduce `libnixflake`
2024-06-26 20:32:46 -04:00
John Ericson
ed129267dc
Merge pull request #10971 from NixOS/user-sandbox-escape-post
Slight fixes to get CI passing again
2024-06-26 20:28:56 -04:00
John Ericson
7181d1f4a1 Reformat
Factored out code is now elegible for formatting.
2024-06-26 19:56:21 -04:00
John Ericson
0084a486cc Split out a new libnixflake
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-26 19:56:21 -04:00
John Ericson
52730d38e2 Factor out flake:... lookup path from evaluator
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-26 19:56:21 -04:00
John Ericson
88f9d8ccb1 Don't format the just-added test .c file
On one hand, new things should be formatted. On the other, we just
bacported this file to many prior branches, and if we need to make
changes to it and backport them also, formatting the file on master but
not the release branches would cause issues.
2024-06-26 19:55:06 -04:00
John Ericson
32e67eba8b Remove invalid release notes YAML field
There is no PR for this, since it was an embargoed fix before
disclosure.
2024-06-26 19:35:57 -04:00
tomberek
2dd7f8f42d
Merge pull request from GHSA-q82p-44mg-mgh5
Fix user sandbox escape
2024-06-26 18:49:21 -04:00
John Ericson
8a420162ab Merge branch 'master' into fix-sandbox-escape 2024-06-26 18:11:39 -04:00
John Ericson
5e4e3345d4
Merge pull request #10963 from hercules-ci/build-with-nixpkgs-scope
Build with nixpkgs scope
2024-06-26 11:08:45 -04:00
Robert Hensing
8eb804b0e6
Merge pull request #10967 from NixOS/ci-meson-darwin
ci.yml: Build meson on darwin
2024-06-26 11:41:31 +02:00
Robert Hensing
9f8e387c3f ci.yml: Build meson on darwin
We're building a bit of Darwin meson indirectly through `checks`,
but it'd be annoying to encounter broken un-`check`-ed stuff
during the porting process, so let's just do the right thing now.
2024-06-26 11:03:47 +02:00
Robert Hensing
e644289161 Remove unused boehmgc patch 2024-06-26 10:54:17 +02:00
Robert Hensing
985c211061 flake.nix: Move {in,ex}ternal-api-docs into nixComponents scope 2024-06-26 10:48:45 +02:00
Robert Hensing
409eded541 flake.nix: Move dependencies scope to packaging/dependencies.nix 2024-06-26 10:41:56 +02:00
Robert Hensing
65802da98d Move maintainers/hydra.nix -> packaging/hydra.nix 2024-06-26 04:24:50 +02:00
Robert Hensing
c24dbf1457 components.nix: Simplify 2024-06-26 04:17:30 +02:00
Robert Hensing
25dc12aab1 components.nix: Extract dependency scope
This avoids polluting nixComponents with things that aren't our
components.
Fixes the extraction of passthru tests, which failed for boehmgc
which had many irrelevant ones anyway.
2024-06-26 04:11:20 +02:00
Robert Hensing
ebf77c79ae flake.nix: Use Nixpkgs convention for package variants 2024-06-26 04:11:20 +02:00
Robert Hensing
74b9b77c9f components.nix: Simplify with scope 2024-06-26 04:11:20 +02:00
Robert Hensing
85de5a60c7 Use lib instead of explicit fileset passing 2024-06-26 04:11:20 +02:00
Robert Hensing
d40c59ed19 flake.nix: Use the nixComponents scope instead of bare pkgs packages
... which aren't around anymore.
2024-06-26 04:11:18 +02:00
Robert Hensing
a14faa869d flake.nix: Use a Nixpkgs scope for components 2024-06-26 04:07:49 +02:00
John Ericson
a92f3071bb
Merge pull request #10962 from hercules-ci/tidy-packages-matrix
flake.nix: Tidy `packages` build matrix code
2024-06-25 22:06:33 -04:00
John Ericson
3f191cc0e7
Merge pull request #10961 from hercules-ci/tidy
Tidy
2024-06-25 22:04:32 -04:00
Robert Hensing
e28e6b96bb flake.nix: Tidy packages build matrix code
flatMapAttrs is easier to read because it introduces the values
before using them, kind of like a `let` bindings with multiple
values.

The repeated comments remind the reader of the purpose of the
innermost attrsets, which is actually very simple.
Knowing that they go right into the result should help a lot
with building a mental model for this pattern.
2024-06-26 02:03:21 +02:00
Robert Hensing
6fe8fb967a libstore/worker.hh: Document Worker 2024-06-26 01:43:31 +02:00
Robert Hensing
fd0b376c79 libstore/worker.cc: Remove outdated comment
It was added above this conditional

    Worker::Worker(LocalStore & store)
        : store(store)
    {
        /* Debugging: prevent recursive workers. */
        if (working) abort();
        working = true;

However, `working` has since been removed.

Source: 7f8e805c8e/src/libstore/build.cc (L2617)
2024-06-26 01:43:31 +02:00
Robert Hensing
052f1320dd
Merge pull request #10960 from rhendric/rhendric/reference-manual
docs: internal documentation touchup
2024-06-26 01:16:45 +02:00
John Ericson
65d7c80365
Merge pull request #10955 from NixOS/meson-nix-util-c
Build nix-util-c with meson + unit tests
2024-06-25 19:06:06 -04:00
Ryan Hendrickson
fba81cf74b docs: internal documentation touchup
Make two comments more accurate for the next reader.
2024-06-25 18:44:56 -04:00
Robert Hensing
ae3304bde9 Test static build of nix-util on non-darwin 2024-06-25 21:35:23 +02:00
Robert Hensing
1eaddb209d TMP: disable static meson build on darwin 2024-06-25 21:35:23 +02:00
Robert Hensing
6a28566db6 refact: concatMapAttrs -> flatMapAttrs
This should be slightly easier to read.
We could apply this to all concatMapAttrs calls.
2024-06-25 21:35:23 +02:00
Robert Hensing
ac89828b5a Build nix-util-c with meson and unit test 2024-06-25 21:35:23 +02:00
John Ericson
ccb679ee01
Merge pull request #10941 from hercules-ci/check-derivation-name
Improve error messages for invalid derivation names
2024-06-25 14:11:34 -04:00
Robert Hensing
7df9d6da65 Improve error messages for invalid derivation names 2024-06-25 19:41:29 +02:00