Hello everyone,
I don't have suggestions for devs, but I would like to share my goals for 2015 and solicit some suggestions on how to prioritize my own work.
This summer I started converting the Make build system to a Nix build system, which seemed dubious at times to even me, but I have reached a point where I think things will get exciting.
I would like to emphasize that this isn't a criticism of the current system, I just find the properties of Nix very interesting and this is an effort to fold the Genode into the way I have been composing my legacy OS. I have not been modifying any Genode code, and I have no intentions of writing new components without Make rules.
I have a few directions that I could and would like to go with this, and I'd like to know which path of investigation sounds most interesting to any of you.
* Formally benchmark Nix performance against Make.
* Generate binary packages using existing Nix continuous integration tools and Make rules for fetching them.
* Adapt the Nix packages collection to build its existing packages for Noux. This similar to how packages may be built for Darwin or BSD, Â Â I would abort converting Make rules for anything not required for bootstrapping a Noux toolchain.
* Work towards running virtualizing instances of NixOS, building the Genode host and the NixOS guest concurrently.
I have had success related to virtualizing, I have managed to integrate my build expressions with the NixOS system expression on my host machine, installing a NOVA scenario to my boot partition and GRUB menu. One could obviously do this with a set of scripts calling make, but in this way the Genode components are treated as system dependencies just as my linux host would treat its system services.
I think the next logical step in this line of thought would be to build my Linux host system as an image optimized for Seoul, but I am traveling at the moment and virtualizing Seoul scenarios has been slow going with only a single laptop.
Emery
(I apologize if this email does not thread properly.)[1]