diff options
| author | dacctal <dacctal@symlinx.net> | 2026-05-26 00:08:09 +0000 |
|---|---|---|
| committer | dacctal <dacctal@symlinx.net> | 2026-05-26 00:08:09 +0000 |
| commit | aa85786f999e252de6419087d936c2ff766d8699 (patch) | |
| tree | 61466628de38806083cc53f7877e565adf2407b9 | |
| parent | 21acbee45e420c3d501515fd13b25d3a20450b51 (diff) | |
bldit install functions work now
| -rw-r--r-- | src/lua_state.c | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/lua_state.c b/src/lua_state.c index fe7d94f..3418dde 100644 --- a/src/lua_state.c +++ b/src/lua_state.c @@ -188,7 +188,6 @@ bool bldit(const char *target) { lua_close(B); return false; } - if (lua_pcall(B, 0, 0, 0) != LUA_OK) { printf("build failed: %s\n", lua_tostring(B, -1)); lua_pop(B, 1); @@ -196,9 +195,38 @@ bool bldit(const char *target) { lua_close(B); return false; } + printf("%sbldit function 'build' ran successfully.\n", print_pkgit); + + lua_getfield(B, -1, "pre_install"); + if (!lua_isfunction(B, -1)) { + printf("%s'repositories' lua variable 'pre_install' is not a function.\n", print_warning); + } + if (lua_pcall(B, 0, 0, 0) != LUA_OK) { + printf("build failed: %s\n", lua_tostring(B, -1)); + } + printf("%sbldit function 'pre_install' ran successfully.\n", print_pkgit); + + lua_getfield(B, -1, "install"); + if (!lua_isfunction(B, -1)) { + printf("%s'repositories' lua variable 'install' is not a function.\n", print_warning); + } else { + is_auto_installed = false; + } + if (lua_pcall(B, 0, 0, 0) != LUA_OK) { + printf("build failed: %s\n", lua_tostring(B, -1)); + } + printf("%sbldit function 'install' ran successfully.\n", print_pkgit); + + lua_getfield(B, -1, "post_install"); + if (!lua_isfunction(B, -1)) { + printf("%s'repositories' lua variable 'post_install' is not a function.\n", print_warning); + } + if (lua_pcall(B, 0, 0, 0) != LUA_OK) { + printf("build failed: %s\n", lua_tostring(B, -1)); + } + printf("%sbldit function 'post_install' ran successfully.\n", print_pkgit); lua_pop(B, 2); - printf("%sbldit function 'build' ran successfully.\n", print_pkgit); lua_close(B); return true; } |
