On 11/30/2013 10:59 PM, Ludovic Courtès wrote:
Hello!

Thanks for looking into this!

Cyril Roelandt <tipec...@gmail.com> skribis:

@@ -192,8 +193,8 @@ dynamic loading, and an object system.")
           'configure
           (lambda* (#:key #:allow-other-keys #:rest args)
            (let ((configure (assoc-ref %standard-phases 'configure)))
-           ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
-           (setenv "CC" "gcc")
+           (substitute* "giscanner/sourcescanner.py"
+             (("GUIX_GCC_PATH") (which "gcc")))
             (apply configure args)))
           %standard-phases)))
      (home-page "https://wiki.gnome.org/GObjectIntrospection";)
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch 
b/gnu/packages/patches/gobject-introspection-cc.patch
new file mode 100644
index 0000000..280c5d3
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-cc.patch
@@ -0,0 +1,15 @@
+Try $CC, 'cc', and finally 'gcc'.
+--- a/giscanner/sourcescanner.py.orig  2013-10-16 03:41:25.381719000 +0200
++++ b/giscanner/sourcescanner.py       2013-10-16 03:43:35.533719000 +0200
+@@ -277,6 +277,11 @@
+         defines = ['__GI_SCANNER__']
+         undefs = []
+         cpp_args = os.environ.get('CC', 'cc').split()  # support CC="ccache 
gcc"
++        if (cpp_args == ['cc'] and
++            not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
++                        os.environ.get('PATH')))):
++            cpp_args = ['GUIX_GCC_PATH']

Wouldn’t it work to just do:

   (substitute* "giscanner/sourcescanner.py"
     (("'cc'") (which "gcc")))

That way the patch wouldn’t even be needed.

WDYT?


As I was saying in https://lists.gnu.org/archive/html/guix-devel/2013-10/msg00167.html , I'd rather stick to what the program is supposed to do before trying alternatives. I first try to use $CC, then 'cc', and finally (which "gcc").

Cyril.

Reply via email to