Hello, l...@gnu.org (Ludovic Courtès) writes:
> Efraim Flashner <efr...@flashner.co.il> skribis: > >> I believe this would cause gcc-5 to be rebuilt, which would cause a >> world rebuild, so for the moment we also need a native-inputs entry for >> gcc-5 making sure that nothing changes, ie: that we're only using >> texinfo there, preferably with a note that it should be changed in the >> future. Also, you should take a look at gnu/packages/commencement and >> make sure that we're not adding perl as a native-input for gcc-boot0 or >> for libstdc++, wherever that happens to live (I don't remember off >> hand). > > I think this should go to ‘core-updates’. > >> I assume it is OK for us to build the man pages for gcc-final (if it >> happens) since this is the gcc used for actually building packages, and >> I believe the one pulled in for gcc-toolchain. > > More precisely, building man pages for ‘gcc-boot0’ is pointless and > possibly adds Perl on the graph for no good reason. So if we can > arrange to just have man pages in ‘gcc-final’, we’re good. > > Efraim, could you check whether that works for ‘core-updates’? > > Thanks, > Ludo’. I believe this is what is accomplished by the attached patch v3. Thanks to Efraim for the points raised. It turned out that the stack overflow I was getting attempting to test the previous version was caused by a circular dependency that was introduced by gcc-boot0 inheriting perl. This is now fixed. I spent the last couple hours rebuilding gcc but it failed due to lack of space on my side... Retrying now but it'll take a few hours before I can confirm that it works as intended. Thank you both!
>From fac707c34dcc04fcac7254a724cd4c45ae384400 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer <maxim.courno...@gmail.com> Date: Sun, 1 Oct 2017 09:27:31 -0400 Subject: [PATCH] gnu: gcc: Fix manual pages. Fixes bug #24069. * gnu/packages/gcc.scm (gcc-4.7)[native-inputs]: Add perl. (gcc-4.9)[native-inputs]: Likewise. * gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Filter out perl. (gcc-final)[native-inputs]: Add perl-boot0. --- gnu/packages/commencement.scm | 9 ++++++--- gnu/packages/gcc.scm | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ec7677814..194feda0a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -286,9 +286,11 @@ ("libc-native" ,@(assoc-ref %boot0-inputs "libc")) ,@(alist-delete "libc" %boot0-inputs))) - ;; No need for Texinfo at this stage. - (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc)))))) + ;; No need for the documentation native-inputs at this stage. + (native-inputs + (alist-delete "texinfo" + (alist-delete "perl" + (package-native-inputs gcc))))))) (define perl-boot0 (let ((perl (package @@ -779,6 +781,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; scripts such as 'mkheaders' and 'fixinc.sh' (XXX: who cares about these ;; scripts?). (native-inputs `(("texinfo" ,texinfo-boot0) + ("perl" ,perl-boot0) ;for manpages ("static-bash" ,static-bash-for-glibc) ,@(package-native-inputs gcc-boot0))) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 7870d4513..7089b420f 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -155,7 +155,8 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; GCC < 5 is one of the few packages that doesn't ship .info files. ;; Newer texinfos fail to build the manual, so we use an older one. - (native-inputs `(("texinfo" ,texinfo-5))) + (native-inputs `(("perl" ,perl) ;for manpages + ("texinfo" ,texinfo-5))) (arguments `(#:out-of-source? #t @@ -370,7 +371,9 @@ Go. It also includes runtime support libraries for these languages.") "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc")) (patches (search-patches "gcc-arm-bug-71399.patch" "gcc-libvtv-runpath.patch")))) - (native-inputs `(("texinfo" ,texinfo))))) + ;; Override inherited texinfo-5 with latest version. + (native-inputs `(("perl" ,perl) ;for manpages + ("texinfo" ,texinfo))))) (define-public gcc-5 ;; Note: GCC >= 5 ships with .info files but 'make install' fails to install -- 2.14.1