aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-02-13 16:21:27 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-02-13 16:24:11 -0500
commit6dd938bad2a88adf28bd3fd15cbb71076065081d (patch)
tree0155a59f06815799bc64ca8bafda24e3f9ef8dd3 /src
parent301815e7532aa3828fd3c6aa0688adac3509297d (diff)
downloadstasis-6dd938bad2a88adf28bd3fd15cbb71076065081d.tar.gz
Tentative solution for building wheels on modern OSes
Diffstat (limited to 'src')
-rw-r--r--src/lib/delivery/delivery_build.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/delivery/delivery_build.c b/src/lib/delivery/delivery_build.c
index c5093d4..5edcb6d 100644
--- a/src/lib/delivery/delivery_build.c
+++ b/src/lib/delivery/delivery_build.c
@@ -168,10 +168,9 @@ struct StrList *delivery_build_wheels(struct Delivery *ctx) {
if (!pushd(srcdir)) {
char dname[NAME_MAX];
char outdir[PATH_MAX];
- char cmd[PATH_MAX * 2];
+ char *cmd = NULL;
memset(dname, 0, sizeof(dname));
memset(outdir, 0, sizeof(outdir));
- memset(cmd, 0, sizeof(outdir));
const int dep_status = check_python_package_dependencies(".");
if (dep_status) {
@@ -194,11 +193,18 @@ struct StrList *delivery_build_wheels(struct Delivery *ctx) {
return NULL;
}
- sprintf(cmd, "-m build -w -o %s", outdir);
+ if (!strcmp(ctx->system.platform[DELIVERY_PLATFORM], "Linux")) {
+ asprintf(&cmd, "-m cibuildwheel --output-dir %s --only cp%s-manylinux_%s", outdir, ctx->meta.python_compact, ctx->system.arch);
+ } else {
+ asprintf(&cmd, "-m cibuildwheel --output-dir %s", outdir);
+ }
+
+ //sprintf(cmd, "-m build -w -o %s", outdir);
if (python_exec(cmd)) {
fprintf(stderr, "failed to generate wheel package for %s-%s\n", ctx->tests[i].name,
ctx->tests[i].version);
guard_strlist_free(&result);
+ guard_free(cmd);
return NULL;
}
popd();