Rutherther <ruthert...@ditigal.xyz> writes:

> Hi all!

Hi Rutherther!

> There seems to be a procedure that is supposed to somewhat take care of
> this, 'package->development-maifest', but this procedure doesn't really
> do everything necessary. First of all, even if target is supplied, for
> whatever reason the inputs you get aren't cross compiled for the target
> system, and secondly, there aren't search paths necessary for the build.
> Maybe this is a bug that ought to be solved. When I began thinking of
> this idea, my skills definitely weren't enough for that and I had to
> iteratively make my initial ideas work.

Sometime ago I asked on the guix-help list [1] if there is a standard way to
solve this problem. I came up with a rather complicated solution. I
wrote a function which goes recursively through all manifest entries of
the wrapped dependency and resets the `target` to specified target aka
the architecture i want to cross-compile to (see the post fore more
details). This seems to be your `package->development-maifest` solution?
Note, that i did run into into the bug regarding the search pathes
(https://issues.guix.gnu.org/68058#1-lineno32). However, it seems like
this bug is already fixed.

This solution worked quite reliable, but is cumbersome to setup
manually. Imho what is missing is a flag per package which specify for
which target platform this package should be compiled for, when passed
to `guix shell`. Something like this (i made up the syntax on the spot):

> guix shell libpng#aarch64-linux 

This should trigger the machinery to replace `target` property in all
deps of libpng with `aarch64-linux`. If nothing is specified, the
default target is used. Imho this is all that is necessary to specify
cross-compile dev environments. At least that were my thoughts as i
stumpled upon this problem. 

Thanks for working on the problem. This is what is missing in order to
get rid of yocto :)

-- 
Best regards

Christoph Buck <d...@icepic.de>

GnuPG key: https://web.icepic.de/public_key.txt
FingerPrint: B43F 4D2B 2017 E715 36C0  03C6 B8BB BCDE CD00 3305


Reply via email to