~nektro/wifilylinux

An attempt at making a fully declarative system package manager for Linux.
README: add loc badge
packages/elfutils: fix enabling libdebuginfod
wif-pkgdir: fix depending on non-bin packages

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~nektro/wifilylinux
read/write
git@git.sr.ht:~nektro/wifilylinux

You can also use your local clone with git send-email.

#Wifily Linux

loc justforfunnoreally.dev badge nektro @ github sponsors

name generated by https://codepen.io/semibran/pen/wazzaj

(previously) documenting my follow along of https://www.linuxfromscratch.org/lfs/view/11.1/

The registered trademark Linux(R) is used pursuant to a sublicense from The Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.

An attempt at making a fully declarative system package manager for Linux.

The main tenants of this package manager are: Maintainable, Bootstrappable, Reproducible.

Note: currently this is only verified to work on x86_64.

Future plans are to support x86_64, arm64, riscv64.

Projects that currently pull in from a binary seed (eg Nixpkgs):

At present many GNU packages are needed to bootstrap, but this will be eliminated entirely once the full source bootstrap is implemented. x86_64 support in Mes is still in progress.

  • bootstrap/000_bootstrap-seeds
  • gnu/make
  • gnu/gcc
  • gnu/sed
  • gnu/grep
  • gnu/automake
  • gnu/autoconf
  • gnu/coreutils
  • gnu/binutils
  • gnu/diffutils

Additionally a small selection of tools is used by the Wifily build system itself: zig, git, jq, curl, tar, gunzip, unxz, find, unshare.

The list of known-working packages can be found at ./notes/all_packages.txt

Request new ones here: https://todo.sr.ht/~nektro/wifilylinux

#Built With

[meghan@nixos:~]$ zig version
0.11.0

#Getting Started

$ git clone https://git.sr.ht/~nektro/wifilylinux
$ cd wifilylinux
$ ./scripts/load_seed.sh
$ zigmod fetch

Note: load_seed.sh will pull in the necessary binaries to bootstrap the build process from your system, so all the dependencies must be installed for it to complete successfully.

To ensure everything needed is installed, those on NixOS may run nix-shell.

And then once that is loaded, you may run at any time:

$ ./scripts/build.sh <package>

#License

AGPL-3.0

Source code in this repo and derivatives are required to be AGPL.

External packages deployed using the Wifily manifest format or package manager to manage dependencies are not required to be AGPL.

#Support

If you'd like to financially support this work and others, the easiest way to do that is through GitHub Sponsors: https://github.com/sponsors/nektro

Do not follow this link