Hi David, David Craven <da...@craven.ch> skribis:
>>> So one issue that happens when cross building is for things that have >>> the #:no-substitutes #t enabled. This is mainly found in service >>> derivations for generating configuration files. >> >> I think there’s currently no easy way to cross build a full GuixSD >> anyway, like ‘guix system build --target=mips64el-linux-gnu’ (the >> --target flag doesn’t exist yet). Or did you experiment in this area? >> >> I’d be curious. It’s designed to allow this (in particular because >> gexps are cross-compilation-aware), but I’ve never tried. > > I'm currently not trying to cross-compile everything. The > --system=mips64el-linux gets us pretty far already. The missing parts > are only the ones where no substitutes are available. Aaah OK. That’s not cross-compilation though, so it works if and only if substitutes are available or builds can be offloaded to a machine of that architecture. Otherwise it cannot really work. Now, in most cases, the tiny Guile derivations created via ‘gexp->derivation’ et al. in GuixSD (e.g., the derivation that builds the initrd) could use, say, an x86_64 Guile, even if building for mips64el. However, it would be difficult to take advantage of this AFAICS. Ludo’.