aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordacctal <dacctal@symlinx.net>2026-05-02 08:38:13 +0000
committerdacctal <dacctal@symlinx.net>2026-05-02 08:38:13 +0000
commit44eb727dc537403be092326639a5b7c6d7182146 (patch)
tree1459603e69496400c22f53dcec67ec2c3348400a /include
parentc555d4c25b5526c37e94ee2c593f34bdf28b159e (diff)
fixed like half of everything idk, you can install stuff now
Diffstat (limited to 'include')
-rw-r--r--include/build.hh4
-rw-r--r--include/create_pkg.hh2
-rw-r--r--include/lua_build.hh2
-rw-r--r--include/lua_state.hh29
-rw-r--r--include/setup_repo.hh6
-rw-r--r--include/vars.hh2
6 files changed, 35 insertions, 10 deletions
diff --git a/include/build.hh b/include/build.hh
index 426f786..fb42ef1 100644
--- a/include/build.hh
+++ b/include/build.hh
@@ -1,7 +1,7 @@
#ifndef BUILD
#define BUILD
-#include <filesystem>
-void build(std::filesystem::path build_dir);
+#include "vars.hh"
+void build(Pkg pkg);
#endif
diff --git a/include/create_pkg.hh b/include/create_pkg.hh
index 0af5ccc..d7589f9 100644
--- a/include/create_pkg.hh
+++ b/include/create_pkg.hh
@@ -2,6 +2,6 @@
#define CREATE_PKG
#include "vars.hh"
-Pkg create_pkg(std::string arg);
+Pkg create_pkg(std::string arg, const char* target = "default");
#endif
diff --git a/include/lua_build.hh b/include/lua_build.hh
index a7cdf39..473d80e 100644
--- a/include/lua_build.hh
+++ b/include/lua_build.hh
@@ -5,6 +5,6 @@
#include <lauxlib.h>
#include <lualib.h>
-bool lua_build(const char *path);
+bool lua_build(const char* repository, const char* target, const char* path);
#endif
diff --git a/include/lua_state.hh b/include/lua_state.hh
index a8dfed8..5965093 100644
--- a/include/lua_state.hh
+++ b/include/lua_state.hh
@@ -1,17 +1,46 @@
#ifndef LUA_STATE
#define LUA_STATE
+#include <unordered_map>
+#include <string>
extern "C" {
#include <luajit-2.1/lua.h>
#include <luajit-2.1/lauxlib.h>
#include <luajit-2.1/lualib.h>
}
+typedef struct {
+ std::string key;
+ std::string value;
+} url;
+
+typedef struct {
+ std::string url;
+ std::string version;
+} dependency;
+
+typedef struct {
+ url source;
+ std::unordered_map<std::string, dependency> dependencies;
+ int build;
+ int pre_install;
+ int install;
+ int post_install;
+} repo;
+
+extern std::unordered_map<std::string, std::string> cached_install_directories;
+extern std::unordered_map<std::string, repo> cached_repos;
+extern std::unordered_map<std::string, int> cached_build_systems;
+
+
void init_lua_state();
void free_lua_state();
lua_State* get_lua_state();
void cache_install_directories();
+bool repo_build(const char* repoository);
+bool bldit(const char* target);
+bool config_build(const char* path);
void cache_repos();
void cache_build_systems();
diff --git a/include/setup_repo.hh b/include/setup_repo.hh
deleted file mode 100644
index d383351..0000000
--- a/include/setup_repo.hh
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef SETUP_REPO
-#define SETUP_REPO
-
-void setup_repo();
-
-#endif
diff --git a/include/vars.hh b/include/vars.hh
index b70615b..8c82155 100644
--- a/include/vars.hh
+++ b/include/vars.hh
@@ -15,6 +15,7 @@ extern bool config_exists;
struct Pkg {
std::string url;
std::string name;
+ const char* target;
std::string ver;
std::filesystem::path src;
};
@@ -76,6 +77,7 @@ extern const std::string color_reset;
extern const std::string print_pkgit;
extern const std::string print_skipped;
+extern const std::string print_warning;
extern const std::string print_error;
#endif