Jörg Thalheim
6848154b2e
regex-combinators: fix linter error when adding string_view and string
2024-12-17 22:00:34 +01:00
Jörg Thalheim
3392a96901
ca-fd-leak: fix various unsafe c handling
2024-12-17 22:00:34 +01:00
Jörg Thalheim
eda331e53f
libutil/windows: only define headers/code if we are actually on windows
...
all those includes otherwise break linters.
2024-12-17 22:00:34 +01:00
Jörg Thalheim
b9bbdbeb0b
ca-fd-leak: add missing c casts
2024-12-17 22:00:34 +01:00
Jörg Thalheim
b338140931
fix missing includes in various headers
2024-12-17 22:00:34 +01:00
Eelco Dolstra
00f08deb48
Merge pull request #11992 from DeterminateSystems/dirty-git-fingerprint
...
Git fetcher: Calculate a fingerprint for dirty workdirs
2024-12-17 13:28:42 +01:00
Eelco Dolstra
757ea70644
Add a test
2024-12-17 13:13:39 +01:00
Eelco Dolstra
33852ead6b
Optimisation
2024-12-17 12:56:14 +01:00
Eelco Dolstra
b9f60faab5
Fix macOS build
2024-12-17 12:56:14 +01:00
Eelco Dolstra
7ba933e989
Cache calls to GitRepo::getWorkdirInfo()
...
A command like `nix flake metadata` was causing about 4 calls to
getWorkdirInfo(), which is slow for large repos (even when they're not
dirty).
2024-12-17 12:56:14 +01:00
Eelco Dolstra
f469bc2ae4
Cache result of Input::getFingerprint()
...
The fingerprint calculation can be expensive (especially for dirty Git
trees) so we need to cache it.
2024-12-17 12:56:14 +01:00
Eelco Dolstra
d044a05197
Don't fingerprint dirty repos with submodules for now
...
Fixes nixpkgsLibTests.
2024-12-17 12:56:14 +01:00
Eelco Dolstra
331bf3e261
Git fetcher: Calculate a fingerprint for dirty workdirs
...
This restores evaluation caching for dirty Git workdirs.
2024-12-17 12:56:14 +01:00
Eelco Dolstra
da7e3be8fc
Merge pull request #12080 from Jayman2000/flake.lock-original-description
...
Fix `flake.lock`/`flake.nix` mix-up
2024-12-16 23:03:09 +01:00
Jason Yundt
51463d2280
Fix flake.lock/flake.nix mix-up
...
src/nix/flake.md describes the format of flake.lock files. Before this
change, it said that the original field was “The original input
specification from `flake.lock`[…]” The original input specification is
in flake.nix, not flake.lock.
2024-12-16 13:55:41 -05:00
Jörg Thalheim
20ee83fffd
tests/nixos: disable nixos-option
2024-12-16 16:50:59 +01:00
Jörg Thalheim
2512619cb6
switch to lowdown-unsandboxed package
...
This is needed for macos support as the sandboxed version of lowdown
doesn't work in the nix sandbox.
2024-12-16 16:50:59 +01:00
Jörg Thalheim
cf0ba0d20e
netbsd: disable cross-compilation
...
Cross-compilation of curl is broken in nixpkgs. Therefore we disable it
until nixpkgs fixes the underlying issues.
2024-12-16 16:50:59 +01:00
Jörg Thalheim
b5ad051b6c
remove upstreamed toml11 package override
2024-12-16 16:50:59 +01:00
Jörg Thalheim
81b6b79a56
remove upstreamed libseccomp
2024-12-16 16:50:58 +01:00
Jörg Thalheim
1a8bd84f55
remove upstreamed busybox-sandbox-shell
2024-12-16 16:50:58 +01:00
Jörg Thalheim
9131905185
use libgit2 from nixpkgs
2024-12-16 16:50:58 +01:00
Jörg Thalheim
cd002ae6dd
flake.nix: switch to nixpkgs 24.11
2024-12-16 16:50:58 +01:00
Robert Hensing
a24d1c30bd
Merge pull request #12045 from DeterminateSystems/allow-closure
...
EvalState::realiseContext(): Allow access to the entire closure
2024-12-16 16:35:44 +01:00
Eelco Dolstra
08361f031d
EvalState::realiseContext(): Allow access to the entire closure
...
Fixes #11030 .
2024-12-16 16:16:36 +01:00
Robert Hensing
18770c7e18
Merge pull request #12059 from Mic92/installer-test
...
installer: make sure we can always test the installer in ci and locally
2024-12-16 15:42:56 +01:00
Eelco Dolstra
f8eb2f6445
Merge pull request #12038 from DeterminateSystems/flake-cache
...
lookupInFlakeCache(): Fix O(n) time lookup
2024-12-16 15:28:09 +01:00
Eelco Dolstra
bdf579d018
Merge pull request #12051 from Mic92/ci-follow-up
...
Skip tests on systems with restricted usernamespaces
2024-12-16 15:19:17 +01:00
Eelco Dolstra
b167e2c415
Work around clang/libc++ issue
2024-12-16 14:58:39 +01:00
Eelco Dolstra
d2e1d4916a
lookupInFlakeCache(): Fix O(n) time lookup
2024-12-16 14:58:39 +01:00
Eelco Dolstra
d1f20e3510
Make FetchedFlake a struct
2024-12-16 14:58:25 +01:00
Jörg Thalheim
d8117c8c0d
libexpr: always initialize displacement
...
Otherwise the value is undefined in some cases.
2024-12-16 12:06:41 +01:00
mergify[bot]
2f32cf6d90
Merge pull request #12068 from Mic92/ignore-local-registries
...
Ignore local registries for lock file generation
2024-12-16 09:22:10 +00:00
mergify[bot]
2baab6412f
Merge pull request #12028 from DeterminateSystems/fail-on-unlocked
...
nix flake lock: Fail if there is an unlocked input
2024-12-16 08:55:40 +00:00
Eelco Dolstra
7ddf7300b5
Ignore local registries for lock file generation
...
When resolving indirect flake references like `nixpkgs` in `flake.nix`
files, Nix will no longer use the system and user flake registries. It
will only use the global flake registry and overrides given on the
command line via `--override-flake`.
2024-12-16 09:43:44 +01:00
mergify[bot]
3663480d1b
Merge pull request #12048 from gcurtis/fix-upgrade-nix
...
Fix `nix upgrade-nix` profile search
2024-12-15 20:51:12 +00:00
Jörg Thalheim
ccaa4c259a
upgrade-nix: don't double quote path on error
...
the format error already adds quotes.
2024-12-15 21:04:26 +01:00
Jörg Thalheim
df3eb4f3f6
mergify: updated required tests
2024-12-15 18:45:03 +01:00
Jörg Thalheim
6162e1220e
installer: make sure we can always test the installer in ci and locally
...
Just now there is a dependency on cachix, which means we cannot test
the installer in CI if forks do not have the necessary secrets set up.
We replace this with a simple http server that serves the installer and
can be both used in CI and locally.
2024-12-15 18:17:15 +01:00
Jörg Thalheim
da7f7ba810
functional-tests: skip tests if the kernel restricts unprivileged user namespaces
...
Update tests/functional/common/functions.sh
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-12-15 16:07:27 +01:00
mergify[bot]
6a23803066
Merge pull request #12044 from roberth/c-api-nix-store
...
C API: nix_store_open doc, add storedir, real_path
2024-12-14 17:48:08 +00:00
Robert Hensing
2a98168942
C API: Add nix_store_real_path
2024-12-14 17:25:41 +00:00
Robert Hensing
472912f7ca
C API: Add nix_store_get_storedir
2024-12-14 17:25:41 +00:00
Robert Hensing
80ee736b02
C API: document nix_store_open NULL URI
...
tl;dr NULL is better than "auto"
2024-12-14 17:25:40 +00:00
Robert Hensing
7d1c41f74c
C API: typo
2024-12-14 17:25:40 +00:00
mergify[bot]
bf24092bca
Merge pull request #12020 from elikoga/ssh-opts-split-as-shell-args
...
Implement shellSplitString for proper handling of NIX_SSHOPTS with spaces and quotes
2024-12-14 16:44:33 +00:00
mergify[bot]
77e391b39d
Merge pull request #12012 from wh0/patch-1
...
tests: derivation-advanced-attributes unset NIX_STORE
2024-12-14 16:11:16 +00:00
Eli Kogan-Wang
366611391e
Implement shellSplitString for proper handling of NIX_SSHOPTS with spaces and quotes
2024-12-14 15:54:16 +00:00
mergify[bot]
44bc4c6365
Merge pull request #12023 from mightyiam/head-called-on-empty-list
...
Improve `builtins.{head,elemAt}` error messages
2024-12-14 15:46:28 +00:00
Greg Curtis
4f831e2be5
Fix nix upgrade-nix
profile search
...
Commit cfe66dbec
updated `nix upgrade-nix` to use
`ExecutablePath::load().find`, which broke the logic for finding the
profile associated with the nix executable. The error looks something
like:
```
$ sudo -i nix upgrade-nix --debug
found Nix in '"/nix/store/46p1z0w9ad605kky62dr53z4h24k2a5r-nix-2.25.2/bin/nix"'
found profile '/nix/store/46p1z0w9ad605kky62dr53z4h24k2a5r-nix-2.25.2/bin'
error: directory '"/nix/store/46p1z0w9ad605kky62dr53z4h24k2a5r-nix-2.25.2/bin/nix"' does not appear to be part of a Nix profile
```
This seems to happen for two reasons:
1. The original PATH search resulted in a directory, but `find` returns
the path to the executable. Fixed by getting the path's parent.
2. The profile symlink cannot be found because
`ExecutablePath::load().find` canonicalizes the executable path. I
updated find to normalize the path instead, which seems more in line
with how other programs resolve paths. I'm not sure if this affects
other callers though.
I manually tested this on macOS and Linux, and it seemed to fix
upgrading from 2.25.2 to 2.25.3.
2024-12-14 15:28:34 +00:00