aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2017-10-01 09:27:31 -0400
committerEfraim Flashner <efraim@flashner.co.il>2017-10-05 21:15:21 +0300
commit19d27131968355a1da962e52163df51e0e03aba1 (patch)
treebaf524425f57848539be4a302c1fe22a91679b56
parent52fb2838e2b99c04c3b9a190bfa4f42ef3991325 (diff)
downloadguix-19d27131968355a1da962e52163df51e0e03aba1.tar
guix-19d27131968355a1da962e52163df51e0e03aba1.tar.gz
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 <efraim@flashner.co.il>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/commencement.scm6
-rw-r--r--gnu/packages/gcc.scm19
-rw-r--r--gnu/packages/patches/gcc-fix-texi2pod.patch19
4 files changed, 36 insertions, 9 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 12b279ea66..9e37e9bdd9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -625,6 +625,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 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";