aboutsummaryrefslogtreecommitdiff
path: root/config/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/init.lua')
-rw-r--r--config/init.lua98
1 files changed, 48 insertions, 50 deletions
diff --git a/config/init.lua b/config/init.lua
index 2a9dce2..a6a2044 100644
--- a/config/init.lua
+++ b/config/init.lua
@@ -1,70 +1,68 @@
local pkgit = require("pkgit")
local cfg = {}
-local prefix = os.getenv("HOME") .. "/.local"
+local prefix = os.getenv("HOME").."/.local"
cfg.dirs = {
- prefix = prefix,
- src = prefix .. "/share/pkgit",
- bin = prefix .. "/bin",
- lib = prefix .. "/lib",
- include = prefix .. "/include",
+ prefix = prefix,
+ src = prefix.."/share/pkgit",
+ bin = prefix.."/bin",
+ lib = prefix.."/lib",
+ include = prefix.."/include",
}
-cfg.pkgs = {
- ["gmp"] = {},
- ["mpfr"] = {},
- ["mpc"] = {},
- ["gcc"] = {
- url = "https://ftp.gnu.org/gnu/gcc/gcc-16.1.0/gcc-16.1.0.tar.xz",
- version = "16.1.0",
- fetcher = cfg.fetchers.tarball,
- dependencies = {
- "gmp", "mpfr", "mpc"
- }
- },
- ["luajit"] = {
- url = "https://luajit.org/git/luajit.git",
- version = "v2.1",
- fetcher = cfg.fetchers.git,
- dependencies = {
- "gcc"
- },
- },
- ["pkgit"] = {
- url = "https://git.symlinx.net/pkgit",
- version = "HEAD",
- fetcher = cfg.fetchers.git,
- dependencies = {
- "luajit",
- },
- opts = {},
- recipe = cfg.recipes.make,
- }
-}
-
-cfg.fetchers = {
- git = {
- get_source = function(url, version, target_dir) return 0 end,
- get_version = function(url, target_dir) return "HEAD" end,
- },
- tarball = {
- get_source = function(url, version, target_dir) return 0 end,
- get_version = function(url, target_dir) return "" end,
- }
+cfg.fetchers = {}
+cfg.fetchers.git = {
+ get_source = function(url, version) return pkgit.run({
+ "git clone --branch "..version.." --recursive --depth 1 "..url
+ }) end,
+ 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"
+ ):read("*a") end,
}
cfg.fetchers.default = cfg.fetchers.git
cfg.recipes = {}
cfg.recipes.make = {
build = function(bldit_build)
- return pkgit.run({ "make" })
+ return pkgit.run({"make"})
end,
install = function(bldit_install)
- return pkgit.run({ "make install PREFIX=" .. prefix })
+ return pkgit.run({"make install PREFIX="..prefix})
end,
remove = function(bldit_remove)
- return pkgit.run({ "make uninstall PREFIX=" .. prefix })
+ return pkgit.run({"make uninstall PREFIX="..prefix})
end,
}
+local builds = {
+ make = {
+ files = {
+ "makefile",
+ "Makefile",
+ "Makefile.am",
+ },
+ recipe = cfg.recipes.make
+ }
+}
+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,
+ }
+ },
+ opts = {},
+ recipe = cfg.recipes.make,
+}
return cfg