eldritch horrors
f8869bdcca
update for lix 2.91-dev
...
the api of nix::Pid changed, causing a build failure.
2024-06-25 23:57:51 +02:00
puck
11d467fecd
Use our own Thread struct instead of std::thread
...
We'd highly prefer using std::thread here; but this won't let us configure the stack
size. macOS uses 512KiB size stacks for non-main threads, and musl defaults to 128k.
While Nix configures a 64MiB size for the main thread, this doesn't propagate to the
threads we launch here. It turns out, running the evaluator under an anemic stack of
0.5MiB has it overflow way too quickly. Hence, we have our own custom Thread struct.
2024-06-12 22:39:53 +00:00
jade
b67c46d320
lix: deal with util.hh removal
2024-05-29 19:17:54 -07:00
jade
a94f80e512
nixexpr -> lixexpr
2024-05-23 16:23:45 -07:00
Jörg Thalheim
52e96bd421
fix crash in worker when opening the store
2024-05-11 17:41:27 +02:00
Linus Heckemann
c1ee00bf7c
ProcessOptions: remove allowVfork field
...
This was removed in Lix 1f8b85786eed623319e5c71a5341b15e3006f870
2024-04-15 19:30:56 +02:00
Linus Heckemann
733f3051b1
Fix include paths for Nix headers
...
While the previous style seems more sensible to me (the header names
are quite generic), the pkg-config definitions both from upstream Nix
and from Lix specify -I${includedir}/nix in CFLAGS rather than
-I${includedir}. This may be worth changing, but for now I want
nix-eval-jobs to work and this does what I want.
2024-04-15 19:20:21 +02:00
Jörg Thalheim
b73f7ceff4
classify SIGSEV/SIGBUS as infinite recursion errors
2023-12-16 11:58:01 +01:00
Jörg Thalheim
093b8ce5cc
apply treefmt
2023-12-16 11:44:08 +01:00
Jörg Thalheim
4d97e5a386
improve infinite recursion errors
2023-12-16 10:52:23 +01:00
Jörg Thalheim
83df9d4e24
fix exit status reporting when evaluation fails
2023-12-16 09:48:37 +01:00
Jörg Thalheim
1f4bbded61
optimize imports with "include-what-you-use"
2023-12-16 09:20:53 +01:00
Jörg Thalheim
521380076d
release proc.pid properly before calling waitpid()
2023-12-10 20:36:24 +00:00
Jörg Thalheim
e1ad62cef1
include orignal json in worker error message
2023-12-10 20:36:24 +00:00
Jörg Thalheim
c00fcbba8d
drop obsolete compiler warning suppression
2023-12-10 20:36:24 +00:00
Jörg Thalheim
b24c03e2de
simplify collector function
...
looks like the lambda doesn't buy us anything here.
2023-12-10 20:36:24 +00:00
Jörg Thalheim
e7c30b306d
don't fail nix-eval-jobs on eval errors
...
This error handling was copied by accident in 5c764d4a67 (diff-a79ded172fd76747492a417a39848b6c25c14238e65971e6a05fe81706d5048fR622)
2023-12-10 15:57:18 +00:00
Jörg Thalheim
36a5368dfc
include missing filesystem header
2023-12-10 14:52:52 +00:00
Jörg Thalheim
a03f039a56
split nix-eval-jobs further into smaller files
2023-12-10 14:52:52 +00:00
Jörg Thalheim
880c66a7d1
move drvs ot its own class
2023-12-10 15:07:38 +01:00
Jörg Thalheim
db3099bc8f
move argument parsing to new file
2023-12-10 14:22:32 +01:00
Jörg Thalheim
00d3f014e7
print error if worker receives invalid command
2023-12-10 10:25:15 +00:00
Jörg Thalheim
93972c0c18
handle broken evaluation worker pipes on write
2023-12-10 10:25:15 +00:00
Jörg Thalheim
5ad4e7266f
handle broken evaluation worker pipes more gracefully
...
writeLine will throw a SysError exception, which obfuscates out-of-memory events where the eval worker is killed by the OS.
readLine is suffering from the same problem and will be handled in a subsequent commit.
2023-12-10 10:25:15 +00:00
Jörg Thalheim
fad244725f
print which derivation failed to evaluate
2023-12-10 08:31:27 +00:00
Jörg Thalheim
d4eeecf6b2
fix commandline parsing for nix 2.19
2023-12-06 08:30:10 +00:00
Jörg Thalheim
c240e61481
fix missing includes for nix 2.19
2023-12-06 08:30:10 +00:00
adisbladis
cb9c7cac6b
Fix iterating over input derivation outputs
2023-11-03 03:07:37 +00:00
adisbladis
dd8affe264
Add missing include for eval-settings.hh
2023-11-03 03:07:37 +00:00
Jörg Thalheim
56f0464288
use platform instead of querySystem()
...
nix-build uses "system" from the derivation rather than the derivation attributes
2023-10-07 22:52:14 +02:00
Jörg Thalheim
15ec2c4663
print derivation name if system attribute is missing
2023-09-12 07:07:07 +00:00
Andrea Bedini
f88571cfc9
Fix formatting
2023-07-14 07:09:40 +00:00
Andrea Bedini
15e5f5f7c8
Add --override-input
2023-07-14 07:09:40 +00:00
Andrea Bedini
ab07651f74
Small refactor to avoid optional values
2023-07-14 07:09:40 +00:00
Jörg Thalheim
9e8320dbd6
fix c++20 warnings
2023-06-10 13:52:28 +02:00
Jörg Thalheim
7130e84e9e
fix build
2023-06-10 13:34:42 +02:00
adisbladis
73ee1712fa
Merge pull request #207 from RaitoBezarius/input-drvs
...
feat: add inputDrvs to the JSON
2023-04-26 15:36:28 +12:00
raito
469a68d5c1
feat: add inputDrvs to the JSON
...
Currently, not a lot of things expose inputDrvs (except
`show-derivation`), which is a showstopper whenever you want to compute
popularity ranking based on the dependency relation.
Having `inputsDrvs` in the reply enable downstream users to perform such
computations in an efficient way.
2023-04-24 19:35:45 +02:00
Julien Malka
4d674c352e
fix recurseForDerivations evaluation in force-recurse mode
2023-04-24 17:17:47 +02:00
Jörg Thalheim
e9c301bcbe
document the worker/memory tradeoff
2023-04-13 23:23:51 +02:00
Jörg Thalheim
54a9b26431
fix build with nix 2.14
2023-03-09 22:21:59 +01:00
Jörg Thalheim
205f05ac02
fix build with 2.13
2023-01-22 11:19:24 +01:00
Jörg Thalheim
9d516a72d7
fix double-free caused by usage of shared pointer
2023-01-22 10:37:17 +01:00
Tom Bereknyei
7110a1a6c7
fix: catch errors for invalid derivations
2023-01-02 08:06:06 +01:00
Timothy DeHerrera
c8b52f5836
fix: use InstallableFlake
type & methods
...
Fixes #134
Use the `InstallableFlake` type in order to make use of it's `toValue`
method. This fixes the functor auto-call by including the work from
nixos/nix#6404 .
Future work may make use of this object and its methods to employ the
flake based eval cache.
2022-11-04 09:37:54 -06:00
adisbladis
1af1893abe
Merge pull request #130 from nix-community/eval-store
...
Respect passed eval store
2022-10-18 14:51:11 +13:00
adisbladis
e0c27dc984
Respect passed eval store
2022-10-18 14:46:37 +13:00
adisbladis
b9836f2e06
Add parameter to force recursion (don't honour recurseIntoAttrs)
...
This can be useful when you are not in control over your expressions.
My use case is evaluating a Hydra jobset.
2022-10-18 14:42:26 +13:00
Jörg Thalheim
47a74fed83
also accept relative gc root directories
2022-09-20 20:12:55 +02:00
Jörg Thalheim
70afaeebca
avoid shadowing metaName
2022-09-17 10:48:25 +02:00