diff options
author | Sam James <sam@gentoo.org> | 2023-11-15 10:26:57 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-11-15 10:27:27 +0000 |
commit | 3a0ca774fca1ab04ccf249412328646abd686a29 (patch) | |
tree | f8795369986be82e13266e9909b4fe7725aab3b0 /sys-apps/texinfo | |
parent | sys-devel/mold: add 2.3.3 (diff) | |
download | gentoo-3a0ca774fca1ab04ccf249412328646abd686a29.tar.gz gentoo-3a0ca774fca1ab04ccf249412328646abd686a29.tar.bz2 gentoo-3a0ca774fca1ab04ccf249412328646abd686a29.zip |
sys-apps/texinfo: backport fixes from release/7.1 branch (sparc SIGBUS; UB fix; ...)
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps/texinfo')
7 files changed, 573 insertions, 0 deletions
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/texinfo-7.1-r1.ebuild b/sys-apps/texinfo/texinfo-7.1-r1.ebuild new file mode 100644 index 000000000000..22c42c1ad707 --- /dev/null +++ b/sys-apps/texinfo/texinfo-7.1-r1.ebuild @@ -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[@]}" +} diff --git a/sys-apps/texinfo/texinfo-9999.ebuild b/sys-apps/texinfo/texinfo-9999.ebuild index 7c36a9271893..4f348154302b 100644 --- a/sys-apps/texinfo/texinfo-9999.ebuild +++ b/sys-apps/texinfo/texinfo-9999.ebuild @@ -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 |