-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graphical programs in Toolpacks. Roadmap/Plans #28
Comments
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Currently evaluating runimage, check https://t.me/VHSgroup/22859 for the progress. AppImages won't be created/supported (maybe a dozen here there) until at least NixOS/nixpkgs#9415 is fixed or https://github.com/nix-community/nixGL is itself added/merged to https://github.com/ralismark/nix-appimage AppBundles had similar issues & as confirmed by the author, it will be going through a major rewrite, so currently it's not suited. The potential solution, whatever it may be, must be portable (don't depend on the host) & cross-libc (musl & glibc). I recently read this blog: https://wiki.qt.io/QtCS2024_Compile_once._Run_everywhere |
Hi. Have you considered adding graphical programs to Toolpacks by means of using type II (their new Go runtime) AppImages? Or maybe even AppBundles (which are simpler than creating AppImages because you its literally as easy as executing a command to create one)?
Else, the other method would be to compile them statically, but the majority of graphical programs tend to have a lot of dependencies, and working around that will be problematic. Another solution would be to use the Nix package manager (their Musl repo, not the Glibc one) and then create a bundle of the executable using PELF or POX by u-root, AppImages could be considered as well, the problem with AppImages is the dependency on Squashfs.
The generation is not the biggest problem, you can generate a wezterm (graphical, not the mux thing) with a simple one-liner. Same for more complex programs like MPV, and if size is a constrain, there exists
pelf_small
, and also, I can create a new pelf "edition" that contains zstd embedded within it, or a multi-threaded solution likepigz
.doas apk add wezterm && dbin run --transparent pelf --main-bin /usr/bin/wezterm --output-to ./wezterm.AppBundle --add-binary /usr/bin/wezterm-gui --add-metadata /usr/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png --add-metadata /usr/share/applications/org.wezfurlong.wezterm.desktop ; doas apk del wezterm
To make the generated bundle also work on Glibc when created from a Musl system, it is simply a matter of adding:
--add-ld-and-libc /lib/ld-musl-x86_64.so.1 /lib/libc.musl-x86_64.so.1
.I hope you give this idea a try, a new subdirectory named Bundles could be added, and it could be subdivided as
Bundles/*
andBundles/Graphical/*
. I have no problem providing one-liners that useapk
from Alpine and PELF for this purpose :)just imagine the possibilities, a completely static Linux generated parting from Toybox's mkroot, and then using
dbin
to add a WM such assway
(with libudev-zero contained within it, even pipewire and such)... Its certainly possible, because I've done it before, but manually generating the bundles myself.Thanks!
The text was updated successfully, but these errors were encountered: