summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/texinfo')
-rw-r--r--sys-apps/texinfo/Manifest4
-rw-r--r--sys-apps/texinfo/files/7.1/0001-tp-Texinfo-XS-xspara.c-get_utf8_codepoint.patch103
-rw-r--r--sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch44
-rw-r--r--sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch51
-rw-r--r--sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch53
-rw-r--r--sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch221
-rw-r--r--sys-apps/texinfo/metadata.xml6
-rw-r--r--sys-apps/texinfo/texinfo-6.3.ebuild40
-rw-r--r--sys-apps/texinfo/texinfo-6.6-r1.ebuild45
-rw-r--r--sys-apps/texinfo/texinfo-6.6-r3.ebuild60
-rw-r--r--sys-apps/texinfo/texinfo-7.1-r1.ebuild99
-rw-r--r--sys-apps/texinfo/texinfo-7.1.0.90.ebuild94
-rw-r--r--sys-apps/texinfo/texinfo-9999.ebuild94
13 files changed, 766 insertions, 148 deletions
diff --git a/sys-apps/texinfo/Manifest b/sys-apps/texinfo/Manifest
index ea91c7c29890..57957bf83f2c 100644
--- a/sys-apps/texinfo/Manifest
+++ b/sys-apps/texinfo/Manifest
@@ -1,2 +1,2 @@
-DIST texinfo-6.3.tar.xz 4468048 BLAKE2B ef255225e1f66dc5e6646761d78dcf3e7ba9c79aa2654dbb527ef10db54b8417af9e1a58a270683956624049c2fb624b29bc2f22763c79bab9858cdcf5e2edce SHA512 ef6c5878d9db497d7963bd9138418b30c39a5605c215bf2f4e8f1f083d93c3c99f8c459aa675f7da3b78da6189cb6bbf3cf19a2ee1d52e569de2f6ce82762bf4
-DIST texinfo-6.6.tar.xz 4946900 BLAKE2B bd33297549d5285d7a4a65041b6025c489c6b436e9591eaf5187ef34f6e869bf7a2a82a00ebe11adc1c4b2904119e9e3f25d2496b5507f91f4b9ba548ba98604 SHA512 96e0764d0808152d3662e65c3287fb0f86ed918912cdc036380637dbadaacd6a489b516543c07b08105686575e8d495a945f73e23ff0909d5a0f12026e4131e0
+DIST texinfo-7.1.0.90.tar.xz 5551856 BLAKE2B b014bc6be130466cf2431339574e8fa02182b10638045e51d78a3cf5fe8ec402b28d758cba77c3a9a8780c62a48d5d471b88ded2c1ce0e800834c111c7d402b2 SHA512 2049a797472967bcb8955ea856916fb355b4b79b20f38c95841b2dc48c58f5d2d9d438582ed1a4a3dffad79af2f16d473276fdcae6ffc4dcb8eba09b997b743d
+DIST texinfo-7.1.tar.xz 5545720 BLAKE2B 4385ca6250daeaa4f6bfedd9ab41f25993613031bcb8da55360365701213f4f3cf786d958749c59dc1c9dda328eca42f028aa051a7062313142aa92f55a96ecd SHA512 ceab03e8422d800b08c7b44e8263b0a1f35bb7758d83a81136df6f3304a14daecda98a12a282afb85406d2ca2f665b2295e10b6f4064156ea1285d80d5d355db
diff --git a/sys-apps/texinfo/files/7.1/0001-tp-Texinfo-XS-xspara.c-get_utf8_codepoint.patch b/sys-apps/texinfo/files/7.1/0001-tp-Texinfo-XS-xspara.c-get_utf8_codepoint.patch
new file mode 100644
index 000000000000..8aed47b7bc24
--- /dev/null
+++ b/sys-apps/texinfo/files/7.1/0001-tp-Texinfo-XS-xspara.c-get_utf8_codepoint.patch
@@ -0,0 +1,103 @@
+From c76bcd0feed005aaf9db28a76f4883f3ae98295b Mon Sep 17 00:00:00 2001
+From: Gavin Smith <gavinsmith0123@gmail.com>
+Date: Mon, 23 Oct 2023 19:51:00 +0100
+Subject: [PATCH 1/5] * tp/Texinfo/XS/xspara.c (get_utf8_codepoint): Wrapper
+ for mbrtowc/btowc. [_WIN32]: Do not call btowc, as it was tested to be very
+ slow on MinGW. Report from Eli Zaretskii.
+
+---
+ ChangeLog | 7 ++++++
+ tp/Texinfo/XS/xspara.c | 48 +++++++++++++++++++++++-------------------
+ 2 files changed, 33 insertions(+), 22 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index e619109f5b..c4379ec56b 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,10 @@
++2023-10-23 Gavin Smith <gavinsmith0123@gmail.com>
++
++ * tp/Texinfo/XS/xspara.c (get_utf8_codepoint):
++ Wrapper for mbrtowc/btowc.
++ [_WIN32]: Do not call btowc, as it was tested to be very slow
++ on MinGW. Report from Eli Zaretskii.
++
+ 2023-10-18 Gavin Smith <gavinsmith0123@gmail.com>
+
+ Texinfo 7.1
+diff --git a/tp/Texinfo/XS/xspara.c b/tp/Texinfo/XS/xspara.c
+index 7c6895a7ff..e1cddcdc2a 100644
+--- a/tp/Texinfo/XS/xspara.c
++++ b/tp/Texinfo/XS/xspara.c
+@@ -684,6 +684,30 @@ xspara_end (void)
+ /* characters triggering an end of sentence */
+ #define end_sentence_characters ".?!"
+
++/* Wrapper for mbrtowc. Set *PWC and return length of codepoint in bytes. */
++size_t
++get_utf8_codepoint (wchar_t *pwc, const char *mbs, size_t n)
++{
++#ifdef _WIN32
++ /* Use the above implementation of mbrtowc. Do not use btowc as
++ does not exist as standard on MS-Windows, and was tested to be
++ very slow on MinGW. */
++ return mbrtowc (pwc, mbs, n, NULL);
++#else
++ if (!PRINTABLE_ASCII(*mbs))
++ {
++ return mbrtowc (pwc, mbs, n, NULL);
++ }
++ else
++ {
++ /* Functionally the same as mbrtowc but (tested) slightly quicker. */
++ *pwc = btowc (*mbs);
++ return 1;
++ }
++#endif
++}
++
++
+ /* Add WORD to paragraph in RESULT, not refilling WORD. If we go past the end
+ of the line start a new one. TRANSPARENT means that the letters in WORD
+ are ignored for the purpose of deciding whether a full stop ends a sentence
+@@ -730,18 +754,7 @@ xspara__add_next (TEXT *result, char *word, int word_len, int transparent)
+ if (!strchr (end_sentence_characters
+ after_punctuation_characters, *p))
+ {
+- if (!PRINTABLE_ASCII(*p))
+- {
+- wchar_t wc = L'\0';
+- mbrtowc (&wc, p, len, NULL);
+- state.last_letter = wc;
+- break;
+- }
+- else
+- {
+- state.last_letter = btowc (*p);
+- break;
+- }
++ get_utf8_codepoint (&state.last_letter, p, len);
+ }
+ }
+ }
+@@ -1013,16 +1026,7 @@ xspara_add_text (char *text, int len)
+ }
+
+ /************** Not a white space character. *****************/
+- if (!PRINTABLE_ASCII(*p))
+- {
+- char_len = mbrtowc (&wc, p, len, NULL);
+- }
+- else
+- {
+- /* Functonally the same as mbrtowc but (tested) slightly quicker. */
+- char_len = 1;
+- wc = btowc (*p);
+- }
++ char_len = get_utf8_codepoint (&wc, p, len);
+
+ if ((long) char_len == 0)
+ break; /* Null character. Shouldn't happen. */
+--
+2.42.1
+
diff --git a/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch b/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch
new file mode 100644
index 000000000000..242f90add70d
--- /dev/null
+++ b/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch
@@ -0,0 +1,44 @@
+From f038d3f13f95b5494d5523f2af9dec59ff89b79d Mon Sep 17 00:00:00 2001
+From: Eli Zaretskii <eliz@gnu.org>
+Date: Wed, 25 Oct 2023 22:35:37 +0100
+Subject: [PATCH 2/5] * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass
+ pointer to wint_t as a pointer to wchar_t, as the two types may be of
+ different sizes.
+
+---
+ ChangeLog | 6 ++++++
+ tp/Texinfo/XS/xspara.c | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index c4379ec56b..3d13a15517 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,9 @@
++2023-10-25 Eli Zaretskii <eliz@gnu.org>
++
++ * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass
++ pointer to wint_t as a pointer to wchar_t, as the two types
++ may be of different sizes.
++
+ 2023-10-23 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * tp/Texinfo/XS/xspara.c (get_utf8_codepoint):
+diff --git a/tp/Texinfo/XS/xspara.c b/tp/Texinfo/XS/xspara.c
+index e1cddcdc2a..130e43a4db 100644
+--- a/tp/Texinfo/XS/xspara.c
++++ b/tp/Texinfo/XS/xspara.c
+@@ -754,7 +754,9 @@ xspara__add_next (TEXT *result, char *word, int word_len, int transparent)
+ if (!strchr (end_sentence_characters
+ after_punctuation_characters, *p))
+ {
+- get_utf8_codepoint (&state.last_letter, p, len);
++ wchar_t wc;
++ get_utf8_codepoint (&wc, p, len);
++ state.last_letter = wc;
+ }
+ }
+ }
+--
+2.42.1
+
diff --git a/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch b/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch
new file mode 100644
index 000000000000..b3fbc85f461b
--- /dev/null
+++ b/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch
@@ -0,0 +1,51 @@
+https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00001.html
+
+From 12ad80f3a1cfa78c8a7b3a45458df7e07251317d Mon Sep 17 00:00:00 2001
+From: Gavin Smith <gavinsmith0123@gmail.com>
+Date: Sat, 4 Nov 2023 10:38:48 +0000
+Subject: [PATCH 3/5] * info/scan.c (write_tag_contents): Check if added text
+ is of zero length in order to avoid subsequently calling memcpy with a null
+ source argument. Report with -fsanitize=undefined on amd64 from Sam James
+ <sam@gentoo.org>.
+
+---
+ ChangeLog | 7 +++++++
+ info/scan.c | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 3d13a15517..efbb3b22d1 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,10 @@
++2023-11-04 Gavin Smith <gavinsmith0123@gmail.com>
++
++ * info/scan.c (write_tag_contents): Check if added text is of
++ zero length in order to avoid subsequently calling memcpy with
++ a null source argument. Report with -fsanitize=undefined on amd64
++ from Sam James <sam@gentoo.org>.
++
+ 2023-10-25 Eli Zaretskii <eliz@gnu.org>
+
+ * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass
+diff --git a/info/scan.c b/info/scan.c
+index d6183ae9ae..bdf272f9bf 100644
+--- a/info/scan.c
++++ b/info/scan.c
+@@ -925,11 +925,11 @@ write_extra_bytes_to_output (char *input, long n)
+ }
+
+ /* Like write_extra_bytes_to_output, but writes bytes even when
+- preprocess_nodes=Off. */
++ preprocess_nodes=Off. Note n could be 0 for an index tag. */
+ static void
+ write_tag_contents (char *input, long n)
+ {
+- if (rewrite_p)
++ if (rewrite_p && n > 0)
+ {
+ text_buffer_add_string (&output_buf, input, n);
+ output_bytes_difference -= n;
+--
+2.42.1
+
diff --git a/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch b/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch
new file mode 100644
index 000000000000..6f57363fc435
--- /dev/null
+++ b/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch
@@ -0,0 +1,53 @@
+https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00000.html
+https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00016.html
+https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00073.html
+
+From 81a854e22ca2449f2351436a863e5262935f5dc0 Mon Sep 17 00:00:00 2001
+From: Gavin Smith <gavinsmith0123@gmail.com>
+Date: Mon, 13 Nov 2023 18:43:40 +0000
+Subject: [PATCH 4/5] * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks): Call
+ obstack_alignment_mask to use 8-byte alignment. Needed for Debian on
+ sparc64. Report of "Bus error" from John Paul Adrian Glaubitz
+ <glaubitz@physik.fu-berlin.de>.
+
+---
+ ChangeLog | 7 +++++++
+ tp/Texinfo/XS/parsetexi/tree.c | 7 ++++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index efbb3b22d1..a146820671 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,10 @@
++2023-11-13 Gavin Smith <gavinsmith0123@gmail.com>
++
++ * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks):
++ Call obstack_alignment_mask to use 8-byte alignment. Needed
++ for Debian on sparc64. Report of "Bus error" from
++ John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>.
++
+ 2023-11-04 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * info/scan.c (write_tag_contents): Check if added text is of
+diff --git a/tp/Texinfo/XS/parsetexi/tree.c b/tp/Texinfo/XS/parsetexi/tree.c
+index f2d69e0454..09db6fc151 100644
+--- a/tp/Texinfo/XS/parsetexi/tree.c
++++ b/tp/Texinfo/XS/parsetexi/tree.c
+@@ -43,7 +43,12 @@ reset_obstacks (void)
+ if (obs_element_first)
+ obstack_free (&obs_element, obs_element_first);
+ else
+- obstack_init (&obs_element);
++ {
++ /* Specify 8-byte alignment. Needed for SPARC. */
++ obstack_alignment_mask (&obs_element) = 7;
++
++ obstack_init (&obs_element);
++ }
+
+ obs_element_first = obstack_alloc (&obs_element, sizeof (int));
+ }
+--
+2.42.1
+
diff --git a/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch b/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch
new file mode 100644
index 000000000000..59b590617964
--- /dev/null
+++ b/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch
@@ -0,0 +1,221 @@
+From f1f8920d798dbcb20cb775b46a54cd81847295fd Mon Sep 17 00:00:00 2001
+From: Gavin Smith <gavinsmith0123@gmail.com>
+Date: Tue, 14 Nov 2023 21:53:49 +0000
+Subject: [PATCH 5/5] * tp/Texinfo/command_data.txt (item_LINE, itemx,
+ defblock, defline, deftypeline): Remove contain_basic_inline flag. There is
+ no reason an @anchor should not occur inside @item, inside @table, or the
+ other commands, as no index entry is being created with the @anchor.
+
+Report from Ihor Radchenko <yantar92@posteo.net> for Org mode manual.
+---
+ ChangeLog | 10 +++
+ tp/Texinfo/command_data.txt | 10 +--
+ tp/t/results/invalid_nestings/in_table.pl | 90 -------------------
+ .../invalid_nestings/table_on_item_line.pl | 9 --
+ 4 files changed, 15 insertions(+), 104 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index a146820671..0dcdb1a904 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,13 @@
++2023-11-14 Gavin Smith <gavinsmith0123@gmail.com>
++
++ * tp/Texinfo/command_data.txt
++ (item_LINE, itemx, defblock, defline, deftypeline):
++ Remove contain_basic_inline flag. There is no reason an @anchor
++ should not occur inside @item, inside @table, or the other
++ commands, as no index entry is being created with the @anchor.
++
++ Report from Ihor Radchenko <yantar92@posteo.net> for Org mode manual.
++
+ 2023-11-13 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks):
+diff --git a/tp/Texinfo/command_data.txt b/tp/Texinfo/command_data.txt
+index bcda173e2c..c9b5f51569 100644
+--- a/tp/Texinfo/command_data.txt
++++ b/tp/Texinfo/command_data.txt
+@@ -253,8 +253,8 @@ printindex line,formattable_line,close_paragraph,global,contain_pla
+ listoffloats line,formattable_line,close_paragraph,global,contain_basic_inline LINE_line
+ exdent line,formatted_line,close_paragraph LINE_line
+ # or nobrace skipspace, depending on the context
+-item_LINE line,formatted_line,close_paragraph,contain_basic_inline LINE_line
+-itemx line,formatted_line,close_paragraph,contain_basic_inline LINE_line
++item_LINE line,formatted_line,close_paragraph LINE_line
++itemx line,formatted_line,close_paragraph LINE_line
+ nodedescription line,close_paragraph LINE_line
+ # in index entries
+ subentry line,in_index,contain_basic_inline LINE_line
+@@ -494,9 +494,9 @@ defmethod block,def,contain_basic_inline,def_alias,close_paragraph
+ deftypemethod block,def,contain_basic_inline,def_alias,close_paragraph BLOCK_def
+
+ # generic, no automatic index
+-defblock block,contain_basic_inline,close_paragraph BLOCK_def
+-defline line,def,contain_basic_inline,close_paragraph LINE_line
+-deftypeline line,def,contain_basic_inline,close_paragraph LINE_line
++defblock block,close_paragraph BLOCK_def
++defline line,def,close_paragraph LINE_line
++deftypeline line,def,close_paragraph LINE_line
+
+ # def*x
+ deffnx line,def,contain_basic_inline,close_paragraph LINE_line
+diff --git a/tp/t/results/invalid_nestings/in_table.pl b/tp/t/results/invalid_nestings/in_table.pl
+index f4dcef1141..76eea8b3b4 100644
+--- a/tp/t/results/invalid_nestings/in_table.pl
++++ b/tp/t/results/invalid_nestings/in_table.pl
+@@ -1107,42 +1107,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@indent should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @indent should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 9,
+- 'macro' => '',
+- 'text' => '@indent should not appear on @item line',
+- 'type' => 'warning'
+- },
+- {
+- 'error_line' => 'warning: @titlefont should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 9,
+- 'macro' => '',
+- 'text' => '@titlefont should not appear on @item line',
+- 'type' => 'warning'
+- },
+- {
+- 'error_line' => 'warning: @anchor should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 9,
+- 'macro' => '',
+- 'text' => '@anchor should not appear on @item line',
+- 'type' => 'warning'
+- },
+- {
+- 'error_line' => 'warning: @footnote should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 9,
+- 'macro' => '',
+- 'text' => '@footnote should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'warning: @exdent should only appear at the beginning of a line
+ ',
+@@ -1161,24 +1125,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@exdent should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @exdent should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 9,
+- 'macro' => '',
+- 'text' => '@exdent should not appear on @item line',
+- 'type' => 'warning'
+- },
+- {
+- 'error_line' => 'warning: @ref should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 11,
+- 'macro' => '',
+- 'text' => '@ref should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => '@ref missing closing brace
+ ',
+@@ -1206,15 +1152,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@center should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @center should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 13,
+- 'macro' => '',
+- 'text' => '@center should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'warning: @cindex should not appear in @item
+ ',
+@@ -1224,15 +1161,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@cindex should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @cindex should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 14,
+- 'macro' => '',
+- 'text' => '@cindex should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'warning: @cindex should not appear in @item
+ ',
+@@ -1242,15 +1170,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@cindex should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @cindex should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 18,
+- 'macro' => '',
+- 'text' => '@cindex should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'warning: @cindex should not appear in @item
+ ',
+@@ -1260,15 +1179,6 @@ $result_errors{'in_table'} = [
+ 'text' => '@cindex should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @cindex should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 21,
+- 'macro' => '',
+- 'text' => '@cindex should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'warning: empty index key in @item
+ ',
+diff --git a/tp/t/results/invalid_nestings/table_on_item_line.pl b/tp/t/results/invalid_nestings/table_on_item_line.pl
+index b1184ba915..51ba523fd7 100644
+--- a/tp/t/results/invalid_nestings/table_on_item_line.pl
++++ b/tp/t/results/invalid_nestings/table_on_item_line.pl
+@@ -273,15 +273,6 @@ $result_errors{'table_on_item_line'} = [
+ 'text' => '@table should not appear in @item',
+ 'type' => 'warning'
+ },
+- {
+- 'error_line' => 'warning: @table should not appear on @item line
+-',
+- 'file_name' => '',
+- 'line_nr' => 2,
+- 'macro' => '',
+- 'text' => '@table should not appear on @item line',
+- 'type' => 'warning'
+- },
+ {
+ 'error_line' => 'no matching `@end table\'
+ ',
+--
+2.42.1
+
diff --git a/sys-apps/texinfo/metadata.xml b/sys-apps/texinfo/metadata.xml
index b4920fb24a29..17375d23a84f 100644
--- a/sys-apps/texinfo/metadata.xml
+++ b/sys-apps/texinfo/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -12,4 +12,8 @@
<use>
<flag name="standalone">Build standalone version that survives all Portage bugs</flag>
</use>
+<upstream>
+ <remote-id type="cpe">cpe:/a:gnu:texinfo</remote-id>
+ <remote-id type="savannah">texinfo</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sys-apps/texinfo/texinfo-6.3.ebuild b/sys-apps/texinfo/texinfo-6.3.ebuild
deleted file mode 100644
index 1fea0ca9b2dd..000000000000
--- a/sys-apps/texinfo/texinfo-6.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: if your package uses the texi2dvi utility, it must depend on the
-# virtual/texi2dvi package to pull in all the right deps. The tool is not
-# usable out-of-the-box because it requires the large tex packages.
-
-EAPI="5"
-
-inherit flag-o-matic
-
-DESCRIPTION="The GNU info program and utilities"
-HOMEPAGE="https://www.gnu.org/software/texinfo/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="nls static"
-
-RDEPEND="
- !=app-text/tetex-2*
- >=sys-libs/ncurses-5.2-r2:0=
- dev-lang/perl:=
- dev-perl/libintl-perl
- dev-perl/Unicode-EastAsianWidth
- dev-perl/Text-Unidecode
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- nls? ( >=sys-devel/gettext-0.19.6 )"
-
-src_configure() {
- use static && append-ldflags -static
- econf \
- --with-external-libintl-perl \
- --with-external-Unicode-EastAsianWidth \
- --with-external-Text-Unidecode \
- $(use_enable nls)
-}
diff --git a/sys-apps/texinfo/texinfo-6.6-r1.ebuild b/sys-apps/texinfo/texinfo-6.6-r1.ebuild
deleted file mode 100644
index f18a2d3c771c..000000000000
--- a/sys-apps/texinfo/texinfo-6.6-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: if your package uses the texi2dvi utility, it must depend on the
-# virtual/texi2dvi package to pull in all the right deps. The tool is not
-# usable out-of-the-box because it requires the large tex packages.
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="The GNU info program and utilities"
-HOMEPAGE="https://www.gnu.org/software/texinfo/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ~ppc ~ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="nls static"
-
-RDEPEND="
- !=app-text/tetex-2*
- >=sys-libs/ncurses-5.2-r2:0=
- dev-lang/perl:=
- dev-perl/libintl-perl
- dev-perl/Unicode-EastAsianWidth
- dev-perl/Text-Unidecode
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- nls? ( >=sys-devel/gettext-0.19.6 )"
-
-src_configure() {
- # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions. #622576
- local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}" PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}"
-
- use static && append-ldflags -static
- local myeconfargs=(
- --with-external-libintl-perl
- --with-external-Unicode-EastAsianWidth
- --with-external-Text-Unidecode
- $(use_enable nls)
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/sys-apps/texinfo/texinfo-6.6-r3.ebuild b/sys-apps/texinfo/texinfo-6.6-r3.ebuild
deleted file mode 100644
index a7c47ef6f93a..000000000000
--- a/sys-apps/texinfo/texinfo-6.6-r3.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: if your package uses the texi2dvi utility, it must depend on the
-# virtual/texi2dvi package to pull in all the right deps. The tool is not
-# usable out-of-the-box because it requires the large tex packages.
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="The GNU info program and utilities"
-HOMEPAGE="https://www.gnu.org/software/texinfo/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="nls +standalone static"
-
-RDEPEND="
- !=app-text/tetex-2*
- >=sys-libs/ncurses-5.2-r2:0=
- standalone? ( dev-lang/perl )
- !standalone? (
- dev-lang/perl:=
- dev-perl/libintl-perl
- dev-perl/Unicode-EastAsianWidth
- dev-perl/Text-Unidecode
- )
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- nls? ( >=sys-devel/gettext-0.19.6 )"
-
-src_configure() {
- # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions. #622576
- local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}" PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}"
-
- use static && append-ldflags -static
- local myeconfargs
- if use standalone ; then
- myeconfargs=(
- --without-external-libintl-perl
- --without-external-Unicode-EastAsianWidth
- --without-external-Text-Unidecode
- $(use_enable nls)
- --disable-perl-xs
- )
- else
- myeconfargs=(
- --with-external-libintl-perl
- --with-external-Unicode-EastAsianWidth
- --with-external-Text-Unidecode
- $(use_enable nls)
- --enable-perl-xs
- )
- fi
- econf "${myeconfargs[@]}"
-}
diff --git a/sys-apps/texinfo/texinfo-7.1-r1.ebuild b/sys-apps/texinfo/texinfo-7.1-r1.ebuild
new file mode 100644
index 000000000000..e6539767a6c5
--- /dev/null
+++ b/sys-apps/texinfo/texinfo-7.1-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: if your package uses the texi2dvi utility, it must depend on the
+# virtual/texi2dvi package to pull in all the right deps. The tool is not
+# usable out-of-the-box because it requires the large tex packages.
+
+# Keep an eye on the release/$(ver_cut 1-2) branch upstream for backports.
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU info program and utilities"
+HOMEPAGE="https://www.gnu.org/software/texinfo/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/texinfo.git"
+ REGEN_BDEPEND="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ dev-build/libtool
+ "
+elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
+ SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ REGEN_BDEPEND=""
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="nls +standalone static"
+
+RDEPEND="
+ !=app-text/tetex-2*
+ >=sys-libs/ncurses-5.2-r2:=
+ virtual/perl-Data-Dumper
+ virtual/perl-Encode
+ virtual/perl-Unicode-Collate
+ standalone? ( >=dev-lang/perl-5.8.1 )
+ !standalone? (
+ >=dev-lang/perl-5.8.1:=
+ dev-libs/libunistring:=
+ )
+ nls? ( virtual/libintl )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${REGEN_BDEPEND}
+ nls? ( >=sys-devel/gettext-0.19.6 )
+"
+
+PATCHES=(
+ # Backports from the release/7.1 branch
+ "${FILESDIR}"/7.1
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # Needed if a patch touches install-info.c
+ #touch man/install-info.1 || die
+
+ if use prefix ; then
+ sed -i -e '1c\#!/usr/bin/env sh' util/texi2dvi util/texi2pdf || die
+ touch {doc,man}/{texi2dvi,texi2pdf,pdftexi2dvi}.1 || die
+ fi
+}
+
+src_configure() {
+ # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions
+ # bug #622576
+ local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}"
+ local -x PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}"
+
+ use static && append-ldflags -static
+
+ # TODO:
+ # --with-external-Unicode-EastAsianWidth
+ # --with-external-Text-Unidecode
+ #
+ # Also, 7.0.91 seemed to introduce a included-libunistring w/ USE=-standalone
+ # but it doesn't seem to do anything?
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+ $(use_enable nls)
+ $(use_enable !standalone perl-xs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/sys-apps/texinfo/texinfo-7.1.0.90.ebuild b/sys-apps/texinfo/texinfo-7.1.0.90.ebuild
new file mode 100644
index 000000000000..69014441481c
--- /dev/null
+++ b/sys-apps/texinfo/texinfo-7.1.0.90.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: if your package uses the texi2dvi utility, it must depend on the
+# virtual/texi2dvi package to pull in all the right deps. The tool is not
+# usable out-of-the-box because it requires the large tex packages.
+
+# Keep an eye on the release/$(ver_cut 1-2) branch upstream for backports.
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU info program and utilities"
+HOMEPAGE="https://www.gnu.org/software/texinfo/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/texinfo.git"
+ REGEN_BDEPEND="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ dev-build/libtool
+ "
+elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
+ SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ REGEN_BDEPEND=""
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="nls +standalone static"
+
+RDEPEND="
+ !=app-text/tetex-2*
+ >=sys-libs/ncurses-5.2-r2:=
+ virtual/perl-Data-Dumper
+ virtual/perl-Encode
+ virtual/perl-Unicode-Collate
+ standalone? ( >=dev-lang/perl-5.8.1 )
+ !standalone? (
+ >=dev-lang/perl-5.8.1:=
+ dev-libs/libunistring:=
+ )
+ nls? ( virtual/libintl )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${REGEN_BDEPEND}
+ nls? ( >=sys-devel/gettext-0.19.6 )
+"
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # Needed if a patch touches install-info.c
+ #touch man/install-info.1 || die
+
+ if use prefix ; then
+ sed -i -e '1c\#!/usr/bin/env sh' util/texi2dvi util/texi2pdf || die
+ touch {doc,man}/{texi2dvi,texi2pdf,pdftexi2dvi}.1 || die
+ fi
+}
+
+src_configure() {
+ # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions
+ # bug #622576
+ local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}"
+ local -x PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}"
+
+ use static && append-ldflags -static
+
+ # TODO:
+ # --with-external-Unicode-EastAsianWidth
+ # --with-external-Text-Unidecode
+ #
+ # Also, 7.0.91 seemed to introduce a included-libunistring w/ USE=-standalone
+ # but it doesn't seem to do anything?
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+ $(use_enable nls)
+ $(use_enable !standalone perl-xs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/sys-apps/texinfo/texinfo-9999.ebuild b/sys-apps/texinfo/texinfo-9999.ebuild
new file mode 100644
index 000000000000..69014441481c
--- /dev/null
+++ b/sys-apps/texinfo/texinfo-9999.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: if your package uses the texi2dvi utility, it must depend on the
+# virtual/texi2dvi package to pull in all the right deps. The tool is not
+# usable out-of-the-box because it requires the large tex packages.
+
+# Keep an eye on the release/$(ver_cut 1-2) branch upstream for backports.
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU info program and utilities"
+HOMEPAGE="https://www.gnu.org/software/texinfo/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/texinfo.git"
+ REGEN_BDEPEND="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ dev-build/libtool
+ "
+elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
+ SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ REGEN_BDEPEND=""
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="nls +standalone static"
+
+RDEPEND="
+ !=app-text/tetex-2*
+ >=sys-libs/ncurses-5.2-r2:=
+ virtual/perl-Data-Dumper
+ virtual/perl-Encode
+ virtual/perl-Unicode-Collate
+ standalone? ( >=dev-lang/perl-5.8.1 )
+ !standalone? (
+ >=dev-lang/perl-5.8.1:=
+ dev-libs/libunistring:=
+ )
+ nls? ( virtual/libintl )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${REGEN_BDEPEND}
+ nls? ( >=sys-devel/gettext-0.19.6 )
+"
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # Needed if a patch touches install-info.c
+ #touch man/install-info.1 || die
+
+ if use prefix ; then
+ sed -i -e '1c\#!/usr/bin/env sh' util/texi2dvi util/texi2pdf || die
+ touch {doc,man}/{texi2dvi,texi2pdf,pdftexi2dvi}.1 || die
+ fi
+}
+
+src_configure() {
+ # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions
+ # bug #622576
+ local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}"
+ local -x PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}"
+
+ use static && append-ldflags -static
+
+ # TODO:
+ # --with-external-Unicode-EastAsianWidth
+ # --with-external-Text-Unidecode
+ #
+ # Also, 7.0.91 seemed to introduce a included-libunistring w/ USE=-standalone
+ # but it doesn't seem to do anything?
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+ $(use_enable nls)
+ $(use_enable !standalone perl-xs)
+ )
+
+ econf "${myeconfargs[@]}"
+}