Commit graph

17812 commits

Author SHA1 Message Date
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
John Ericson
5f4f789144
Merge pull request #10954 from NixOS/ci-meson
ci.yml: Add meson_build
2024-06-25 09:02:33 -04:00
John Ericson
d02d38f16d
Merge pull request #7048 from puffnfresh/lutimes
Guard uses of lutimes, for portability
2024-06-25 06:06:45 -04:00
Robert Hensing
0674be8d49 nix-util: Fix build 2024-06-25 10:26:57 +02:00
Robert Hensing
1801119e29 ci.yml: Add meson_build
Restore meson CI after https://github.com/NixOS/nix/pull/10929
2024-06-25 10:15:28 +02:00
Brian McKenna
5be44d235a Guard uses of lutimes, for portability 2024-06-24 17:35:34 -04:00
John Ericson
05580a373f Fix error in the no-GC build 2024-06-24 17:18:16 -04:00
John Ericson
5c497a992b
Merge pull request #10922 from hercules-ci/functional-tests-on-nixos
Run the functional tests in a NixOS environment
2024-06-24 13:36:13 -04:00
Robert Hensing
445a4a0298 ci.yml: Add swap and monitor it 2024-06-24 19:05:30 +02:00
Robert Hensing
c66f1e7660
Merge pull request #10913 from NixOS/no-global-eval-settings-in-libexpr
No global eval settings in `libnixexpr`
2024-06-24 18:52:19 +02:00
John Ericson
fda4c78921
Merge pull request #10951 from obsidiansystems/load-just-one-config
Small global config refactors
2024-06-24 12:38:04 -04:00
John Ericson
52bfccf8d8 No global eval settings in libnixexpr
Progress on #5638

There is still a global eval settings, but it pushed down into
`libnixcmd`, which is a lot less bad a place for this sort of thing.
2024-06-24 12:15:16 -04:00
Robert Hensing
5a7ccd6580 tests/functional: Print all args of fail() 2024-06-24 18:11:58 +02:00
Robert Hensing
d4ca634508 tests/functional: Differentiate die and fail 2024-06-24 18:11:10 +02:00
John Ericson
cb0c868da4 Allow loading config files into other config objects
This gives us some hope of moving away from global variables.
2024-06-24 12:07:56 -04:00
John Ericson
b46e13840b Format config-global.{cc,hh}
Since the code is factored out, it is no longer avoding the formatter.
2024-06-24 12:07:56 -04:00
Robert Hensing
602c444411 Merge remote-tracking branch 'upstream/master' into functional-tests-on-nixos 2024-06-24 18:07:21 +02:00
John Ericson
1620ad4587 Split out GlobalConfig into its own header
This makes it easier to understand the reach of global variables /
global state in the config system.
2024-06-24 11:36:21 -04:00
Robert Hensing
ce4bcef830
Merge pull request #10745 from obsidiansystems/ca-cleanup
Cleanup `ContentAddressMethod` to match docs
2024-06-24 17:25:45 +02:00
John Ericson
b51e161af5 Cleanup ContentAddressMethod to match docs
The old `std::variant` is bad because we aren't adding a new case to
`FileIngestionMethod` so much as we are defining a separate concept ---
store object content addressing rather than file system object content
addressing. As such, it is more correct to just create a fresh
enumeration.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-24 10:24:06 -04:00
John Ericson
64e599ebe1 Rename Recursive -> NixArchive
For enums:

- `FileIngestionMethod`

- `FileSerialisationMethod`
2024-06-24 10:24:06 -04:00
Eelco Dolstra
903acc7c0f
Merge pull request #10873 from siddhantk232/rm-createdirs
use `std::filesystem::create_directories` for createDirs
2024-06-24 14:54:37 +02:00