guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: address@hidden: Fix building with address@hidden


From: Efraim Flashner
Subject: 01/02: gnu: address@hidden: Fix building with address@hidden
Date: Thu, 18 Jan 2018 02:00:31 -0500 (EST)

efraim pushed a commit to branch core-updates
in repository guix.

commit 809b0a90446ccae1a7d79165962f4e377f6342fe
Author: Efraim Flashner <address@hidden>
Date:   Wed Jan 17 22:08:01 2018 +0200

    gnu: address@hidden: Fix building with address@hidden
    
    * gnu/packages/gcc.scm (address@hidden)[source]: Add snippet to adjust
    linux-unwind.h to changes in glibc.
    * gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
    (libstdc++-boot0): Inherit from gcc-for-libstdc++, update note.
---
 gnu/packages/commencement.scm | 22 +++++++++++++++++++---
 gnu/packages/gcc.scm          | 15 +++++++++++++--
 2 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index aeacade..e21d58e 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Andreas Enge <address@hidden>
 ;;; Copyright © 2012 Nikita Karetnikov <address@hidden>
 ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <address@hidden>
-;;; Copyright © 2017 Efraim Flashner <address@hidden>
+;;; Copyright © 2017, 2018 Efraim Flashner <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -173,12 +173,28 @@
                     ,cf)))))
      (inputs %boot0-inputs))))
 
+;; gcc-4.9 was fixed late in the core-update cycle and so this GCC is only
+;; needed to prevent a full world rebuild, and can be replaced with gcc-4.9.
+(define gcc-for-libstdc++
+  (package (inherit gcc-4.9)
+    (version "4.9.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gcc/gcc-"
+                                  version "/gcc-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc"))
+              (patches (search-patches "gcc-arm-bug-71399.patch"
+                                       "gcc-libvtv-runpath.patch"
+                                       "gcc-fix-texi2pod.patch"))))))
+
 (define libstdc++-boot0
   ;; GCC's libcc1 is always built as a shared library (the top-level
   ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
   ;; to libstdc++.so.  We cannot build libstdc++-5.3 because it relies on
-  ;; C++14 features missing in our bootstrap compiler.
-  (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9))))
+  ;; C++14 features missing in some of our bootstrap compilers.
+  (let ((lib (package-with-bootstrap-guile (make-libstdc++ 
gcc-for-libstdc++))))
     (package
       (inherit lib)
       (name "libstdc++-boot0")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 350a9bd..302064f 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <address@hidden>
 ;;; Copyright © 2015 Andreas Enge <address@hidden>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <address@hidden>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <address@hidden>
 ;;; Copyright © 2016 Carlos Sánchez de La Lama <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -394,7 +394,18 @@ Go.  It also includes runtime support libraries for these 
languages.")
                 "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc"))
               (patches (search-patches "gcc-arm-bug-71399.patch"
                                        "gcc-libvtv-runpath.patch"
-                                       "gcc-fix-texi2pod.patch"))))
+                                       "gcc-fix-texi2pod.patch"))
+              (modules '((guix build utils)))
+              ;; This is required for building with glibc-2.26.
+              ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
+              (snippet
+               '(for-each
+                  (lambda (dir)
+                    (substitute* (string-append "libgcc/config/"
+                                                dir "/linux-unwind.h")
+                      (("struct ucontext") "ucontext_t")))
+                  '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
+                    "pa" "sh" "tilepro" "xtensa")))))
     ;; Override inherited texinfo-5 with latest version.
     (native-inputs `(("perl" ,perl)   ;for manpages
                      ("texinfo" ,texinfo)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]