Jade Lovelace
b67c46d320
lix: deal with util.hh removal
2024-05-29 19:17:54 -07:00
Jade Lovelace and Lunaphied
30cf61fd26
fix: don't crash on startup on macOS
...
This is caused, through several layers of absurdity, by runtime type
information of Nix things being invisible due to -fvisibility=hidden
inside n-e-j.
We don't have any idea why n-e-j has -fvisibility=hidden, since blame
says it's from the initial commit. It is plausible that it was some
ill-advised optimization but it's not sound.
The crash is caused by dynamic_cast<RootArgs *>(MyArgs *) failing, which
is in turn caused by the RTTI being invisible.
See: https://www.qt.io/blog/quality-assurance/one-way-dynamic_cast-across-library-boundaries-can-fail-and-how-to-fix-it
Fixes: https://git.lix.systems/lix-project/nix-eval-jobs/issues/2
2024-05-27 18:23:13 -06:00
Jade Lovelace
a94f80e512
nixexpr -> lixexpr
2024-05-23 16:23:45 -07:00
Jörg Thalheim and Raito Bezarius
52e96bd421
fix crash in worker when opening the store
2024-05-11 17:41:27 +02:00
eldritch horrors
793841a9b7
fix drv.cc invalid output throw
...
EvalState::error does not return an exception instance in lix, but an
exception *builder*. throwing this thing will not trigger any catches,
which then causes the worker process to die without reporting an error
to the collector. this confuses the collector and causes *it* to exit,
effectively breaking nix-eval-jobs for anything that has broken attrs.
2024-04-18 18:05:33 +02:00
Linus Heckemann
c3d8ca19b3
EvalError needs to reference an eval state now
2024-04-15 19:35:05 +02:00
Linus Heckemann
c1ee00bf7c
ProcessOptions: remove allowVfork field
...
This was removed in Lix 1f8b85786e
2024-04-15 19:30:56 +02:00
Linus Heckemann
14e4308346
parseCmdline: no allowShebang arg
...
This arg was only introduced in Nix 2.19 (commit ffd414eb756dcb3c64348551d5dbaf674c0d4900)
2024-04-15 19:30:32 +02:00
Linus Heckemann
a2bd945259
hasPrefix -> starts_with
...
hasPrefix was removed in lix commit 61e21b2557
2024-04-15 19:28:36 +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 and mergify[bot]
e3d71921c3
buffered-io: also check for interrupts in readline
...
This allows us to more reliable interrupt nix-eval-jobs
2023-12-17 12:15:15 +00: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
89927c434c
make sure we also define HAVE_STRUCT_DIRENT_D_TYPE outside of autotools
2023-12-16 09:24:42 +01:00
Jörg Thalheim
1f4bbded61
optimize imports with "include-what-you-use"
2023-12-16 09:20:53 +01:00
Jörg Thalheim and mergify[bot]
521380076d
release proc.pid properly before calling waitpid()
2023-12-10 20:36:24 +00:00
Jörg Thalheim and mergify[bot]
e1ad62cef1
include orignal json in worker error message
2023-12-10 20:36:24 +00:00
Jörg Thalheim and mergify[bot]
d48cfadb3d
fix catching eval errors on macOS
2023-12-10 20:36:24 +00:00
Jörg Thalheim and mergify[bot]
c00fcbba8d
drop obsolete compiler warning suppression
2023-12-10 20:36:24 +00:00
Jörg Thalheim and mergify[bot]
b6ec7d2ecf
make MyArgs non-copyable
...
this seems to have weird effects
2023-12-10 20:36:24 +00:00
Jörg Thalheim and mergify[bot]
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 and mergify[bot]
e7c30b306d
don't fail nix-eval-jobs on eval errors
...
This error handling was copied by accident in https://github.com/nix-community/nix-eval-jobs/pull/277/commits/5c764d4a67feceae1848414fd9434e79120884e6#diff-a79ded172fd76747492a417a39848b6c25c14238e65971e6a05fe81706d5048fR622
2023-12-10 15:57:18 +00:00
Jörg Thalheim and mergify[bot]
36a5368dfc
include missing filesystem header
2023-12-10 14:52:52 +00:00
Jörg Thalheim and mergify[bot]
3be8c48f54
fix format
2023-12-10 14:52:52 +00:00
Jörg Thalheim and mergify[bot]
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 and mergify[bot]
00d3f014e7
print error if worker receives invalid command
2023-12-10 10:25:15 +00:00
Jörg Thalheim and mergify[bot]
93972c0c18
handle broken evaluation worker pipes on write
2023-12-10 10:25:15 +00:00
Jörg Thalheim and mergify[bot]
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 and mergify[bot]
fad244725f
print which derivation failed to evaluate
2023-12-10 08:31:27 +00:00
Jörg Thalheim and mergify[bot]
d4eeecf6b2
fix commandline parsing for nix 2.19
2023-12-06 08:30:10 +00:00
Jörg Thalheim and mergify[bot]
c240e61481
fix missing includes for nix 2.19
2023-12-06 08:30:10 +00:00
adisbladis and mergify[bot]
cb9c7cac6b
Fix iterating over input derivation outputs
2023-11-03 03:07:37 +00:00
adisbladis and mergify[bot]
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 and mergify[bot]
15ec2c4663
print derivation name if system attribute is missing
2023-09-12 07:07:07 +00:00
Andrea Bedini and mergify[bot]
f88571cfc9
Fix formatting
2023-07-14 07:09:40 +00:00
Andrea Bedini and mergify[bot]
15e5f5f7c8
Add --override-input
2023-07-14 07:09:40 +00:00
Andrea Bedini and mergify[bot]
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
cace652bff
fix build on darwin
2023-06-10 13:50:23 +02:00
Jörg Thalheim
7130e84e9e
fix build
2023-06-10 13:34:42 +02:00
adisbladis and GitHub
73ee1712fa
Merge pull request #207 from RaitoBezarius/input-drvs
...
feat: add inputDrvs to the JSON
2023-04-26 15:36:28 +12:00
Raito Bezarius
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