>From 7229d7887289316031847893f8ad020ff07bdcdd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 1 Oct 2017 09:27:31 -0400 Subject: [PATCH] gnu: gcc: Fix manual pages. Fixes bug #24069. perl is made a native input to all of the gcc-* packages except for gcc-boot0; perl-boot0 is made a native input to gcc-final. * gnu/packages/patches/gcc-fix-texi2pod.patch: Add patch file to fix texi2pod. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gcc.scm (gcc-4.7, gcc-4.8, gcc-4.9, gcc-5): Use it. (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/local.mk | 1 + gnu/packages/commencement.scm | 9 ++++++--- gnu/packages/gcc.scm | 19 +++++++++++++------ gnu/packages/patches/gcc-fix-texi2pod.patch | 19 +++++++++++++++++++ 4 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/gcc-fix-texi2pod.patch diff --git a/gnu/local.mk b/gnu/local.mk index edd6d8237..06b059341 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -626,6 +626,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-arm-link-spec-fix.patch \ %D%/packages/patches/gcc-asan-powerpc-missing-include.patch \ %D%/packages/patches/gcc-cross-environment-variables.patch \ + %D%/packages/patches/gcc-fix-texi2pod.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ %D%/packages/patches/gcc-4.6-gnu-inline.patch \ 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 \"address@hidden"~%" ;; 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..1079a3e14 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -138,7 +138,8 @@ where the OS part is overloaded to denote a specific ABI---into GCC version "/gcc-" version ".tar.bz2")) (sha256 (base32 - "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj")))) + "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj")) + (patches (search-patches "gcc-fix-texi2pod.patch")))) (build-system gnu-build-system) ;; Separate out the run-time support libraries because all the @@ -155,7 +156,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 @@ -351,7 +353,8 @@ Go. It also includes runtime support libraries for these languages.") (sha256 (base32 "08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2")) - (patches (search-patches "gcc-arm-link-spec-fix.patch")))) + (patches (search-patches "gcc-arm-link-spec-fix.patch" + "gcc-fix-texi2pod.patch")))) (supported-systems %supported-systems) (inputs `(("isl" ,isl-0.11) @@ -369,8 +372,11 @@ Go. It also includes runtime support libraries for these languages.") (base32 "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc")) (patches (search-patches "gcc-arm-bug-71399.patch" - "gcc-libvtv-runpath.patch")))) - (native-inputs `(("texinfo" ,texinfo))))) + "gcc-libvtv-runpath.patch" + "gcc-fix-texi2pod.patch")))) + ;; 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 @@ -389,7 +395,8 @@ Go. It also includes runtime support libraries for these languages.") "gcc-asan-powerpc-missing-include.patch" "gcc-5.0-libvtv-runpath.patch" "gcc-5-source-date-epoch-1.patch" - "gcc-5-source-date-epoch-2.patch")))))) + "gcc-5-source-date-epoch-2.patch" + "gcc-fix-texi2pod.patch")))))) ;; TODO: gcc-5 doesn't need cloog. ;;(inputs ;; `(("isl" ,isl) diff --git a/gnu/packages/patches/gcc-fix-texi2pod.patch b/gnu/packages/patches/gcc-fix-texi2pod.patch new file mode 100644 index 000000000..28bd56a38 --- /dev/null +++ b/gnu/packages/patches/gcc-fix-texi2pod.patch @@ -0,0 +1,19 @@ +This patch was taken from the official GCC git repository. +X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=contrib%2Ftexi2pod.pl;h=91bdbb5cea933d0381f2924ab94490fca31d5800;hp=eba1bcaa3cffa78b46030b219d04fe7d68367658;hb=67b56c905078d49d3e4028085e5cb1e1fb87a8aa;hpb=2f508a78310caab123e9794d3dcfe41f2769449b + +It fixes a defect in the contrib/texi2pod.pl script that prevented generating +manual pages. It was corrected in the GCC 6.X series. + +diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl +index eba1bca..91bdbb5 100755 +--- a/contrib/texi2pod.pl ++++ b/contrib/texi2pod.pl +@@ -316,7 +316,7 @@ while(<$inf>) { + @columns = (); + for $column (split (/address@hidden/, $1)) { + # @strong{...} is used a @headitem work-alike +- $column =~ s/address@hidden(.*)}$/$1/; ++ $column =~ s/address@hidden(.*)\}$/$1/; + push @columns, $column; + } + $_ = "\n=item ".join (" : ", @columns)."\n"; -- 2.14.1