diff options
| author | forever2k38 <forever2k38@noreply.codeberg.org> | 2026-09-04 12:45:43 +0200 |
|---|---|---|
| committer | forever2k38 <forever2k38@noreply.codeberg.org> | 2026-09-04 12:45:43 +0200 |
| commit | 7bf3c5b692f34bd6d9467ac3c651692c885a1d90 (patch) | |
| tree | ea2d9abb30b1e4ce5451b52c11d782f6d14e5686 /src/build.c | |
| parent | ed979ea2b7cc0caf3abb47dce94e02ef16c73e65 (diff) | |
filesystem fuckery
Diffstat (limited to 'src/build.c')
| -rw-r--r-- | src/build.c | 46 |
1 files changed, 44 insertions, 2 deletions
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; +} |
