aboutsummaryrefslogtreecommitdiff
path: root/config/init.lua
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 /config/init.lua
parentfa9e048dc65f246c165d820b983baf62d201c264 (diff)
fixed configindev
Diffstat (limited to 'config/init.lua')
-rw-r--r--config/init.lua65
1 files changed, 35 insertions, 30 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,
}