diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rwxr-xr-x | pkgit | bin | 221712 -> 284000 bytes | |||
| -rw-r--r-- | src/add_repo.cc | 16 | ||||
| -rw-r--r-- | src/lua_build.cc | 8 | ||||
| -rw-r--r-- | src/setup_repo.cc | 9 |
5 files changed, 23 insertions, 12 deletions
@@ -1,7 +1,7 @@ CC = clang++ RM = rm -f PREFIX ?= /usr/local -CXXFLAGS += $(shell pkg-config --cflags --libs luajit ) -I./include +CXXFLAGS += $(shell pkg-config --cflags --libs luajit ) -I./include -L/usr/lib default: pkgit diff --git a/src/add_repo.cc b/src/add_repo.cc index 3de06dc..f2a4910 100644 --- a/src/add_repo.cc +++ b/src/add_repo.cc @@ -5,16 +5,22 @@ #include "vars.hh" void add_repo(std::string repo, std::string repo_name) { - std::ifstream rfile(repo_file); + bool is_previous_repos = false; std::string rfile_line; std::string rfile_contents; - while (getline(rfile, rfile_line)) { - rfile_contents += rfile_line + "\n"; + if (std::filesystem::exists(repo_file)) { + std::ifstream rfile(repo_file); + while (getline(rfile, rfile_line)) { + rfile_contents += rfile_line + "\n"; + } + rfile.close(); + is_previous_repos = true; } - rfile.close(); + + std::string previous_repos = is_previous_repos ? rfile_contents : ""; std::ofstream wfile; wfile.open(repo_file); - wfile << rfile_contents << "repos[\"" << repo_name << "\"] = \"" << repo << "\"" << std::endl; + wfile << previous_repos << "repos[\"" << repo_name << "\"] = \"" << repo << "\"" << std::endl; wfile.close(); } diff --git a/src/lua_build.cc b/src/lua_build.cc index 7d89450..bf21f66 100644 --- a/src/lua_build.cc +++ b/src/lua_build.cc @@ -1,9 +1,11 @@ #include <iostream> #include <filesystem> #include <map> -#include <lua5.1/lua.h> -#include <lua5.1/lauxlib.h> -#include <lua5.1/lualib.h> +extern "C" { +#include <luajit-2.1/lua.h> +#include <luajit-2.1/lauxlib.h> +#include <luajit-2.1/lualib.h> +} #include "lua_build.hh" #include "vars.hh" diff --git a/src/setup_repo.cc b/src/setup_repo.cc index 402238f..99ca451 100644 --- a/src/setup_repo.cc +++ b/src/setup_repo.cc @@ -1,7 +1,9 @@ #include <iostream> -#include <lua5.1/lua.h> -#include <lua5.1/lauxlib.h> -#include <lua5.1/lualib.h> +extern "C" { +#include <luajit-2.1/lua.h> +#include <luajit-2.1/lauxlib.h> +#include <luajit-2.1/lualib.h> +} #include "setup_repo.hh" #include "ensure_repo.hh" @@ -15,6 +17,7 @@ void setup_repo() { if (luaL_loadfile(L, config_file.c_str()) || lua_pcall(L, 0, 0, 0)){ std::cout << print_error << "cannot run configuration script: " << lua_tostring(L, -1) << "\n"; + return; } lua_getglobal(L, "repos"); |
