Subject: bug#25908: [PATCH, WIP] Add godot.

From: Kei Kebreau <[email-masked]>
Date: Sat, 18 Mar 2017 12:59:56 -0400

[email-masked] (Ludovic Courtès) writes:

> Hi Chris!
>
> Christopher Allan Webber <[email-masked]> skribis:
>
>> This is still WIP, and unfortunately it doesn't work.  Here's the error
>> I got:
>>
>>                  from ./drivers/pulseaudio/audio_driver_pulseaudio.h:36,
>>                  from platform/x11/os_x11.h:46,
>>                  from platform/x11/godot_x11.cpp:30:
>>   /gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory
>>   #include <linux/limits.h>
>
> This is because, by default, SCons unsets environment variables (!), in
> this case C_INCLUDE_PATH.
>
> However:
>
>> +             ;; By design, SCons does not, by default, propagate
>> +             ;; environment variables to subprocesses.  See:
>> +             ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
>> +             ;; Here, we modify the SConstruct file to arrange for
>> +             ;; environment variables to be propagated.
>> +             (substitute* "SConstruct"
>> +               (("env = Environment\\(\\)")
>> +                "env = Environment(ENV=os.environ)")
>
> this should definitely take care of that.
>
> Could it be that the regexp doesn’t match or something?
>
> HTH!
>
> Ludo’.

Ah, the crucial clue! I replaced the above regexp with the following:

(substitute* "SConstruct"
  (("env_base = Environment\\(tools=custom_tools\\)")
   "env_base = Environment(ENV=os.environ)"))

Though I don't know what the meaning of "tools=custom_tools" is, this
substitution let me complete the build phase without an issue.

Just two other things:

Throughout the build I saw "-Ithirdparty/glew" as a CFLAG. Is this
necessary for a successful build or can we use our own copy of glew?

Is there a check target for this build system? If not we can just leave
a #:tests? #f with a note in the arguments section.

Thanks for the help, Ludovic!