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