From 7bf3c5b692f34bd6d9467ac3c651692c885a1d90 Mon Sep 17 00:00:00 2001 From: forever2k38 Date: Fri, 4 Sep 2026 12:45:43 +0200 Subject: filesystem fuckery --- src/build.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'src/build.c') diff --git a/src/build.c b/src/build.c index d680cf7..855b38b 100644 --- a/src/build.c +++ b/src/build.c @@ -1,5 +1,47 @@ #include "build.h" - #include "package.h" +#include "paths.h" + +#include "lauxlib.h" +#include "lua.h" +#include "lualib.h" +#include "stdio.h" +#include "unistd.h" + +int pow_package_build(pow_package *pkg) { + if (pkg->pkg_ref == LUA_NOREF) { + printf("error! pkg_ref is equal to LUA_NOREF\n"); + + return 1; + } + + lua_rawgeti(pkg->L, LUA_REGISTRYINDEX, pkg->pkg_ref); + + char *tmp_path = NULL; + + int err = pow_create_dir_for_package(&tmp_path); + + if (err) { + printf("error creating temp dir for package\n"); + + return 1; + } + + printf("%s\n", tmp_path); + + if ((err = chdir(tmp_path))) { + printf("uh oh oops %d\n", err); + } + + lua_getfield(pkg->L, -1, "build"); + + if (lua_pcall(pkg->L, 0, 0, 0) != LUA_OK) { + printf("error running script: %s\n", lua_tostring(pkg->L, -1)); + + return 1; + } + + fflush(stdout); -int pow_package_build(pow_package *pkg) { return 0; } + return 0; +} -- cgit v1.3