Subject: Re: [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.

From: Maxime Devos <[email-masked]>
Date: Sun, 11 Apr 2021 17:51:32 +0200

On Sun, 2021-04-11 at 17:07 +0200, Hartmut Goebel wrote:
> Thanks for the review. I applied most of the changes and poushed as
> 03e80cf42240f65346713ff414eb2ca628ef0884
> 
> If did not apply
> 
> > Suggestion: replace (getenv "C_INCLUDE_PATH") with
> > (getenv ,(if (%current-target-system)
> >              "CROSS_C_INCLUDE_PATH"
> >              "C_INCLUDE_PATH")).
> > Likewise for LIBRARY_PATH.

I could be wrong about how/when "CROSS_C_INCLUDE_PATH" or "C_INCLUDE_PATH" should
be used.

I don't agree with the following reasoning however:
> since "CROSS_C" is used on 14 times in gnu/packages/*.scm and not at all
> in guix/build*. So I assume this is not the way to implement
> cross-compiling :-)

... as many (much more than 14) packages have cross-compilation bugs.
For example, try searching for "CC=gcc".  Practically all usages are incorrect,
they should use ,(string-append "CC=" (cc-for-target)) instead.

gcc = *not* the cross-compiler
(cc-for-target): when cross-compiling, something like "aarch64-linux-gnu-gcc",
  otherwise simply "gcc".

I've submitted a patch adding a linter, and a patch series fixing some of the
buggy packages (at least instances of "CC=gcc", there may be other bugs).

Links:
https://issues.guix.gnu.org/47676,
https://issues.guix.gnu.org/47693

Greetings,
Maxime.