From 19d27131968355a1da962e52163df51e0e03aba1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 1 Oct 2017 09:27:31 -0400 Subject: 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]: Remove perl. (gcc-final)[native-inputs]: Add perl-boot0. Signed-off-by: Efraim Flashner --- gnu/packages/commencement.scm | 6 +++--- gnu/packages/gcc.scm | 19 +++++++++++++------ gnu/packages/patches/gcc-fix-texi2pod.patch | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/gcc-fix-texi2pod.patch (limited to 'gnu/packages') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d58c896971..c4f3bd3477 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -286,9 +286,8 @@ ("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 native-inputs to build the documentation at this stage. + (native-inputs `())))) (define perl-boot0 (let ((perl (package @@ -792,6 +791,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 f2f17009b5..164235b3f6 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")))) (inputs `(("isl" ,isl) ,@(package-inputs gcc-4.7))))) diff --git a/gnu/packages/patches/gcc-fix-texi2pod.patch b/gnu/packages/patches/gcc-fix-texi2pod.patch new file mode 100644 index 0000000000..28bd56a382 --- /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 (/\s*\@tab\s*/, $1)) { + # @strong{...} is used a @headitem work-alike +- $column =~ s/^\@strong{(.*)}$/$1/; ++ $column =~ s/^\@strong\{(.*)\}$/$1/; + push @columns, $column; + } + $_ = "\n=item ".join (" : ", @columns)."\n"; -- cgit v1.2.3