stargazing/README.md

40 lines
1.5 KiB
Markdown
Raw Normal View History

2022-09-23 12:00:15 -07:00
# stargazing
this repository contains experiments
in building third-party software against
[cosmopolitan libc.](https://justine.lol/cosmopolitan/)
the provided scripts produce APEs
(Actually Portable Executables) that run on
Linux, Mac, Windows, FreeBSD, OpenBSD, and NetBSD.
**however,** despite *running* on all platforms,
not every feature is available on every platform.
cosmopolitan already does a tremendous job at
polyfilling missing features across platforms,
but pre-existing software still takes a lot of
tweaking to before becoming fully functional.
2022-09-23 12:04:33 -07:00
## notes
### Docker
2022-09-23 12:09:14 -07:00
this project uses [Dockerfiles][df] to allow for *mostly-reproducible* builds.
[podman][podman] is used instead of docker, because the official docker software
is commercial and obnoxious.
2022-09-23 12:04:33 -07:00
**neither docker nor podman is required for executing the binaries.**
2022-09-23 12:09:14 -07:00
binaries are to be isolated and extracted from the resulting containers.
those binaries can then be transferred across platforms, like any other APE.
[podman]: https://docs.podman.io/en/latest/markdown/podman-build.1.html
[df]: https://docs.docker.com/engine/reference/builder/
2022-09-23 12:04:33 -07:00
in the future, it would be nice to use something
2022-09-23 12:09:14 -07:00
like what [Void Linux][void] does for its packages,
2022-09-23 12:04:33 -07:00
which would entirely sidestep the clunkiness
of Dockerfiles and working with containers.
2022-09-23 12:09:14 -07:00
[void]: https://github.com/void-linux/void-packages
make no mistake, this project does *not* strive for reproducible builds
[in any way that nix does.](https://nixos.org/guides/how-nix-works.html)