I love this, could we colaborate? I maintain https://github.com/xplshn/bigdl, currently, there are 1550 (statically linked) binaries in the repos of my package manager
BigDL is a "package" manager (not really, it manager binaries), its quite simple and small, I'd love us to collaborate (making universal, single file binaries, statically linked, against Musl if possible). I think both projects would benefit a lot from this!
Check out BigDL here: https://github.com/xplshn/bigdl
This is the help page of bigdl:
]@ bigdl -h
Usage:
[-v|-h] [list|install|remove|update|run|info|search|tldr] <-args->
Options:
-h, --help Show this help message
-v, --version Show the version number
Commands:
list List all available binaries
install, add Install a binary
remove, del Remove a binary
update Update binaries, by checking their SHA against the repo's SHA
run Run a specified binary from cache
info Show information about a specific binary OR display installed binaries
search Search for a binary - (not all binaries have metadata. Use list to see all binaries)
tldr Equivalent to "run --transparent --verbose tlrc" as argument
Variables:
BIGDL_PRBAR If present, and set to ZERO (0), the download progressbar will be disabled
BIGDL_TRUNCATION If present, and set to ZERO (0), string truncation will be disabled
BIGDL_CACHEDIR If present, it must contain a valid directory
INSTALL_DIR If present, it must contain a valid directory
Examples:
bigdl search editor
bigdl install micro
bigdl install lux kakoune aretext shfmt
bigdl install --silent bed && echo "[bed] was installed to $INSTALL_DIR/bed"
bigdl del bed
bigdl del orbiton tgpt lux
bigdl info
bigdl info jq
bigdl list --described
bigdl tldr gum
bigdl run --verbose curl -qsfSL "https://raw.githubusercontent.com/xplshn/bigdl/master/stubdl" | sh -
bigdl run --silent elinks -no-home "https://fatbuffalo.neocities.org/def"
bigdl run --transparent --silent micro ~/.profile
bigdl run btop
Version: 1.6.9p
Looks good, I think we can try to have nami install directly from the binaries you maintain and search. Do you have any other ideas?
That's all for now. I've been thinking of shipping toolchains as single-binary programs. I've already done that with Zig and Go, but never those, still. Once I get around to creating/abusing Github Actions as weekly builders that will maintain a large collection of single-binary programs, I'll probably adapt bigdl and notify you if you are interested. Thanks!
If it's possible to automate the upload of numerous binaries to GitHub release, or to some service on GitHub that can host binaries using GitHub Actions, and provide metadata in long json or other format file, that would be great. But this will also take quite a bit of time, looking forward to your solution.
If it's possible to automate the upload of numerous binaries to GitHub release, or to some service on GitHub that can host binaries using GitHub Actions, and provide metadata in long json or other format file, that would be great. But this will also take quite a bit of time, looking forward to your solution.
Bigdl already relies on this. The binaries used to be in Github itself, but my mate (who maintains the repo's build recipes) moved them to a bucket server, but the concept remains the same. GH builds every binary weekly, and, yes, Github Actions can create files in arbitrary repos, its not hard. The 'hard' part would be creating recipes that don't break overtime. I was thinking of using Alpine and Void Linux glibc to provide .AppBundles for both ABIs.
Here are the links to get you started if you plan on using the repos I mentioned:
- https://github.com/Azathothas/Toolpacks
- https://github.com/Azathothas/Static-Binaries
arch would be: x86_64_Linux/aarch64_arm64_Linux/arm64_v8a_Android/x64_Windows
- https://bin.ajam.dev/"+arch+"/METADATA.json
- https://bin.ajam.dev/"+arch+"/Baseutils/METADATA.json
:(