aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyril Roelandt <tipecaml@gmail.com>2013-10-16 03:47:56 +0200
committerCyril Roelandt <tipecaml@gmail.com>2013-12-15 23:37:22 +0100
commit503c5f6d5d5b61097731158e70ff598fe42d6345 (patch)
tree2deeff06b98d271d5b168cf70e1362a6a9037460
parent3e778ad3af53e343550f4ec3d0b56f9bfe1fa2e3 (diff)
downloadguix-503c5f6d5d5b61097731158e70ff598fe42d6345.tar.gz
guix-503c5f6d5d5b61097731158e70ff598fe42d6345.zip
gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
* gnu/packages/patches/gobject-introspection.patch: New file.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/glib.scm7
-rw-r--r--gnu/packages/patches/gobject-introspection-cc.patch14
3 files changed, 19 insertions, 3 deletions
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