From 7d8aef1dd9231cdce191c7bd6fb65d0393a7c9c0 Mon Sep 17 00:00:00 2001 From: SomeoneSerge Date: Sun, 7 Jul 2024 20:10:43 +0000 Subject: build: record the nix-eval-jobs path in the binary, rm the wrapper --- src/jobs.c | 16 ++++++++++++++-- src/meson.build | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/jobs.c b/src/jobs.c index c65de63..096c97d 100644 --- a/src/jobs.c +++ b/src/jobs.c @@ -10,6 +10,15 @@ #include "jobs.h" #include "util.h" +#ifndef NIX_EVAL_JOBS_PATH +#warning "NIX_EVAL_JOBS_PATH not defined, evanix will rely on PATH instead" +#define NIX_EVAL_JOBS_PATH nix-eval-jobs +#endif + +#define XSTR(x) STR(x) +#define STR(x) #x +#pragma message "NIX_EVAL_JOBS_PATH=" XSTR(NIX_EVAL_JOBS_PATH) + static void output_free(struct output *output); static int job_new(struct job **j, char *name, char *drv_path, char *attr, struct job *parent); @@ -443,7 +452,9 @@ int jobs_init(FILE **stream, char *expr) int ret; argindex = 0; - args[argindex++] = "nix-eval-jobs"; + + args[argindex++] = XSTR(NIX_EVAL_JOBS_PATH); + args[argindex++] = "--check-cache-status"; args[argindex++] = "--force-recurse"; if (evanix_opts.isflake) @@ -452,7 +463,8 @@ int jobs_init(FILE **stream, char *expr) args[argindex++] = NULL; /* the package is wrapProgram-ed with nix-eval-jobs */ - ret = vpopen(stream, "nix-eval-jobs", args); + ret = vpopen(stream, XSTR(NIX_EVAL_JOBS_PATH), args); + return ret; } diff --git a/src/meson.build b/src/meson.build index 5e6e2de..2578b51 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,3 +1,4 @@ +NIX_EVAL_JOBS_PATH = get_option('NIX_EVAL_JOBS_PATH') e = executable( 'evanix', [ @@ -14,6 +15,7 @@ e = executable( include_directories: evanix_inc, dependencies: [ cjson_dep, highs_dep ], install: true, + c_args: [f'-DNIX_EVAL_JOBS_PATH=@NIX_EVAL_JOBS_PATH@'], ) test('evanix', e) -- cgit v1.2.3