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
|
|
|
|
|
|
|
|
this project uses Dockerfiles to allow for *mostly-reproducible* builds.
|
|
|
|
podman is used to substitute docker because docker is commercial and bloated.
|
|
|
|
**neither docker nor podman is required for executing the binaries.**
|
|
|
|
binaries are isolated and extracted from the resulting containers.
|
|
|
|
those binaries can be transferred across platforms, like any other APE.
|
|
|
|
|
|
|
|
in the future, it would be nice to use something
|
|
|
|
like what Void Linux does for its packages,
|
|
|
|
which would entirely sidestep the clunkiness
|
|
|
|
of Dockerfiles and working with containers.
|
|
|
|
|
|
|
|
this project does *not* strive for reproducible builds in the way
|
|
|
|
[that nix does.](https://nixos.org/guides/how-nix-works.html)
|