Hi! Manolis Ragkousis <manolis...@gmail.com> skribis:
> The previous version of my patch was not using target to correctly > determine which glibc to inherit. It was using %current-target-system > which caused me many problems. > > With this version I modified it to use cross-libc-for-target so there > will not be any problems in case %current-target-system is not set. “Problems” is a bit vague, but I’m glad you’ve overcome them. :-) > From 92689506f1969ac67631f77024511a5c96f341e8 Mon Sep 17 00:00:00 2001 > From: Manolis Ragkousis <manolis...@gmail.com> > Date: Wed, 8 Jun 2016 17:15:00 +0300 > Subject: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd > systems. > > * gnu/packages/cross-base.scm (cross-libc): Add xgnumach-headers, xmig, > xhurd-headers, xglibc/hurd-headers, xhurd-minimal, xhurd-core-headers, > cross-kernel-headers and cross-libc-for-target. Use "cross-libc-for-target" > to determine the correct libc to use. > [arguments]: Set "CROSS_LIBRARY_PATH". > [propagated-inputs]: Use "cross-kernel-headers" to determine the correct > headers. > [native-inputs]: Use "cross-mig" when target is GNU/Hurd. [...] > + (define (cross-kernel-headers target) > + "Return headers depending on TARGET." > + (match target > + ((or "i586-pc-gnu" "i586-gnu") xhurd-core-headers) > + (_ xlinux-headers))) Could you move this procedure, as well as xgnumach-headers and co., to the top level? That way there’d be less “clutter” in the definition of ‘cross-libc’ itself. WDYT? Other than that it LGTM, but if, and only if, you can verify that this does not cause any regression for other cross-compilation targets. Normally this should not change derivations at all so you don’t even need to build them. Just run this: ./pre-inst-env guix build gcc --target=mips64el-linux-gnu -d both before and after the change, and the result should be the same .drv file name. Thanks! Ludo’.