From e5109374d89713268079dff9c0c6a154e2068f8f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Apr 2020 19:07:09 +0200 Subject: gnu: qt@4: Hide the default GCC from CPLUS_INCLUDE_PATH. * gnu/packages/qt.scm (qt-4)[native-inputs]: Distinguish GCC-5. [arguments]: Add phase to hide the default GCC from CPLUS_INCLUDE_PATH to fix conflicting headers. --- gnu/packages/qt.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 238caa117d..8338e5fcfc 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -223,7 +223,7 @@ (define-public qt-4 `(;; XXX: The JavaScriptCore engine does not build with the C++11 standard. ;; We could build it with -std=gnu++98, but then we'll get in trouble with ;; ICU later. Just keep using GCC 5 for now. - ("gcc" ,gcc-5) + ("gcc@5" ,gcc-5) ("bison" ,bison) ("flex" ,flex) ("gperf" ,gperf) @@ -240,6 +240,17 @@ (define-public qt-4 (arguments `(#:phases (modify-phases %standard-phases + (add-after 'set-paths 'hide-default-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent + ;; conflicts with the GCC 5 input. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3