From 503c5f6d5d5b61097731158e70ff598fe42d6345 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Wed, 16 Oct 2013 03:47:56 +0200 Subject: gnu: gobject-introspection: look for 'gcc' when no compiler seems available. * gnu/packages/patches/gobject-introspection.patch: New file. --- gnu-system.am | 1 + gnu/packages/glib.scm | 7 ++++--- gnu/packages/patches/gobject-introspection-cc.patch | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/gobject-introspection-cc.patch diff --git a/gnu-system.am b/gnu-system.am index c5134740de..742a6135e0 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -244,6 +244,7 @@ dist_patch_DATA = \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/glibc-make-4.0.patch \ + gnu/packages/patches/gobject-introspection-cc.patch \ gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/gstreamer-0.10-bison3.patch \ gnu/packages/patches/gstreamer-0.10-silly-test.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 097a5d0f49..2ba1460444 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -176,7 +176,8 @@ dynamic loading, and an object system.") "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")))) + (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")) + (patches (list (search-patch "gobject-introspection-cc.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -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 0000000000..38b919a746 --- /dev/null +++ b/gnu/packages/patches/gobject-introspection-cc.patch @@ -0,0 +1,14 @@ +--- a/giscanner/sourcescanner.py 2013-12-15 23:03:54.002937000 +0100 ++++ b/giscanner/sourcescanner.py 2013-12-15 23:04:50.322937000 +0100 +@@ -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').split(':')))): ++ cpp_args = ['GUIX_GCC_PATH'] ++ + if 'cl' in cpp_args: + # The Microsoft compiler/preprocessor (cl) does not accept + # source input from stdin (the '-' flag), so we need -- cgit v1.2.3