I'm tired of manually installing dependencies on all my machines and keeping them up to date. This is what tooling is for.
This repository serves as an example for fetching Genode dependencies via Nix.
The actual packaging happens in my genode-nix
repo. Check out shell.nix
in
this repo as well.
Note: There are probably still some impurities in Goa's dependencies. If you find that it cannot find some dependency, open an issue on in genode-nix.
Install Nix.
~/src/hello % nix-shell
nix-shell:~/src/hello]$ goa run
download nfeske/api/base/2019-11-23.tar.xz
download nfeske/api/base/2019-11-23.tar.xz.sig
[...]
Genode 19.08-191-g951271a2b2 <local changes>
17592186044415 MiB RAM and 8997 caps assigned to init
[init -> hello] Hello
Install lorri. Then do nothing to
install dependencies, because they are automatically installed when
you enter the directory. (You may need to do direnv allow
when asked
to.)
~/src % cd hello
direnv: loading .envrc
[...]
~/src/hello % goa run
download nfeske/api/base/2019-11-23.tar.xz
download nfeske/api/base/2019-11-23.tar.xz.sig
[...]
Genode 19.08-191-g951271a2b2 <local changes>
17592186044415 MiB RAM and 8997 caps assigned to init
[init -> hello] Hello
There are pre-compiled binaries in my
Cachix repo: cachix use blitz