mirror of
https://github.com/flatcar/scripts.git
synced 2026-03-09 23:41:25 +01:00
sys-apps/texinfo: Sync with Gentoo
It's from Gentoo commit 3a0ca774fca1ab04ccf249412328646abd686a29.
This commit is contained in:
parent
ab5a6b6c9f
commit
d7f72ae16c
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
99
sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1-r1.ebuild
vendored
Normal file
99
sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1-r1.ebuild
vendored
Normal file
@ -0,0 +1,99 @@
|
||||
# Copyright 1999-2023 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="
|
||||
>=sys-devel/autoconf-2.62
|
||||
>=sys-devel/automake-1.16
|
||||
sys-devel/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[@]}"
|
||||
}
|
||||
@ -5,6 +5,8 @@
|
||||
# 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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user