aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordacctal <donotcontactmevia@email.invalid>2026-08-26 02:01:45 +0000
committerdacctal <donotcontactmevia@email.invalid>2026-08-26 02:01:45 +0000
commit2e9448622883af3c5aacd233846d68202c76d708 (patch)
tree415d37af1745af9ac3b4e55dabcccaa1b37a910b
parentfa9e048dc65f246c165d820b983baf62d201c264 (diff)
fixed configindev
-rw-r--r--config/init.lua65
-rw-r--r--config/pkgit.lua3
2 files changed, 37 insertions, 31 deletions
diff --git a/config/init.lua b/config/init.lua
index a6a2044..dfaa68d 100644
--- a/config/init.lua
+++ b/config/init.lua
@@ -2,65 +2,70 @@ local pkgit = require("pkgit")
local cfg = {}
local prefix = os.getenv("HOME").."/.local"
-cfg.dirs = {
+cfg.dirs = { -- where everything is downloaded/installed to
prefix = prefix,
- src = prefix.."/share/pkgit",
+ src = prefix.."/share/pkgit", -- source code (before compile/install) is downloaded here
bin = prefix.."/bin",
lib = prefix.."/lib",
include = prefix.."/include",
}
-cfg.fetchers = {}
+cfg.fetchers = {} -- fetches the source code and newest version of any given package
cfg.fetchers.git = {
- get_source = function(url, version) return pkgit.run({
- "git clone --branch "..version.." --recursive --depth 1 "..url
+ -- returns the exit code. 0 is success, anything else is failure.
+ get_source = function(url, version, name) return pkgit.run({
+ "git clone --branch "..version.." --recursive --depth 1 "..url..
+ " "..cfg.dirs.src.."/"..name.."/"..version
}) end,
+
+ -- returns a string
get_version = function(url) return io.popen(
- "git -c 'versionsort.suffix=-' \
- ls-remote --exit-code --refs --sort='version:refname' \
- --tags "..url.." '*.*.*' \
- | tail --lines=1 \
- | cut --delimiter='/' --fields=3"
+ "git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags "..url.." '*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3"
):read("*a") end,
}
+-- the default fetch method (used when you don't provide one in pkgs)
cfg.fetchers.default = cfg.fetchers.git
cfg.recipes = {}
cfg.recipes.make = {
+ --setup = function()
+ -- return 0
+ --end,
build = function(bldit_build)
- return pkgit.run({"make"})
+ return pkgit.run({"make"}, true)
end,
install = function(bldit_install)
- return pkgit.run({"make install PREFIX="..prefix})
+ return pkgit.run({"make install PREFIX="..cfg.dirs.prefix}, true)
end,
remove = function(bldit_remove)
- return pkgit.run({"make uninstall PREFIX="..prefix})
+ return pkgit.run({"make uninstall PREFIX="..cfg.dirs.prefix}, true)
end,
}
-local builds = {
- make = {
- files = {
- "makefile",
- "Makefile",
- "Makefile.am",
- },
- recipe = cfg.recipes.make
- }
+cfg.recipes.meson = {
+ setup = function()
+ return pkgit.run({"meson setup build --prefix "..cfg.dirs.prefix}, true)
+ end,
+ build = function()
+ return pkgit.run({"meson compile -C build"}, true)
+ end,
+ install = function()
+ return pkgit.run({"cd build && meson install"}, true)
+ end,
+ remove = function()
+ return pkgit.run({"cd build && ninja uninstall"}, true)
+ end,
}
-cfg.recipes.default = function(final_dir) return pkgit.autodetect(builds, final_dir) end
cfg.pkgs = {}
cfg.pkgs.pkgit = {
url = "https://git.symlinx.net/pkgit",
version = "HEAD",
fetcher = cfg.fetchers.git,
- dependencies = {
- luajit = {
- url = "https://luajit.org/git/luajit.git",
- version = "v2.1",
- fetcher = cfg.fetchers.git,
- }
- },
+ dependencies = { luajit = {
+ url = "https://luajit.org/git/luajit.git",
+ version = "v2.1",
+ fetcher = cfg.fetchers.git,
+ }},
opts = {},
recipe = cfg.recipes.make,
}
diff --git a/config/pkgit.lua b/config/pkgit.lua
index 718e761..3cb894d 100644
--- a/config/pkgit.lua
+++ b/config/pkgit.lua
@@ -5,7 +5,8 @@ local M = {}
function M.run(items, verbose)
local cmd = io.popen('set -e &&\n'..table.concat(items,"&&\n"))
if cmd == nil then return 1 end
- if verbose then print(cmd:read("*a")) end
+ output = cmd:read("*a")
+ if verbose then print(output) end
local rc = {cmd:close()}
if rc[1] then return 0
else return 1