Porting applications strategy

emery at ...261... emery at ...261...
Thu Feb 25 00:45:40 CET 2016


My take on this is that in the future it will be possible to construct 
Noux environments such that autotools can be run in Noux to produce a 
native Noux build (and maybe cross-compiling), but the practical thing 
to do will be to try to and fool existing autotools tests, and only 
inside Noux.

I do think that Nix can trick autotools into building on Noux, but first
Noux needs to be faster and I want to find out how far merging file 
systems can go before hitting the point of diminishing returns.

On Wed, Feb 24, 2016 at 09:49:01PM +0100, Tomasz Gajewski wrote:
> 
> What I think I understand about current Genode build system it consists
> of two layers:
> 
>  * a package manager like layer that maintains dependencies between
>    programs/libraries
> 
>  * build rules for building concrete programs/libraries
> 
> Both are implemented using make. I believe (although I haven't verified
> it) that work of Emery to port nix to Genode is an attempt to replace
> the former layer with nix.

Yes, I want to create an alternate layer for dependencies and locating
the required makefiles. When the package output specification is ready
then both build systems should produce cross-compatible packages.

> I think that using guix and guile could be a better approach due to
> using general purpose language (although not liked too much :-) ) and
> Genode specific requirements, which could be harder to achieve in a
> language dedicated specifically to build packages. But I have to check
> it myself first. If I'm able to have a proof of concept and know more
> about Emery's work I'll try to make some conclusions share them with you
> here.

You might be right, sometimes I think that Nix is a bit heavyweight for
simply generating text files like it often does, but I don't know much
about Guile.

As far as porting Guix, it might look like a good idea to try and 
make it work on top of Noux, but my experience with Nix was that to 
fix every required unix-ism will take more time and in the end you 
will loose some important potential features. It may be possible to 
reuse my Nix libraries for Guix, but I made some changes that break
compabality with upstream Nix for the sake of security and content 
addressing, which you might not agree with.

The build controller component I have actually contains no 'Nix' code
or libraries, so if Guix can produce the some low-level build recipe
files, that would deduplicate a lot of work.

Cheers,
Emery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.genode.org/pipermail/users/attachments/20160225/2e42b926/attachment.sig>


More information about the users mailing list