commit:     c2de2cd3abdcb5beb7272ea27489d1b1bf5fcd55
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 30 09:18:02 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 30 09:18:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2de2cd3

sys-apps/texinfo: fix tests w/ perl-5.42

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/texinfo/files/texinfo-7.2-perl-5.42.patch | 60 +++++++++++++
 sys-apps/texinfo/texinfo-7.2-r1.ebuild             | 98 ++++++++++++++++++++++
 2 files changed, 158 insertions(+)

diff --git a/sys-apps/texinfo/files/texinfo-7.2-perl-5.42.patch 
b/sys-apps/texinfo/files/texinfo-7.2-perl-5.42.patch
new file mode 100644
index 000000000000..1afd25bb104b
--- /dev/null
+++ b/sys-apps/texinfo/files/texinfo-7.2-perl-5.42.patch
@@ -0,0 +1,60 @@
+https://lists.gnu.org/archive/html/bug-texinfo/2025-01/msg00114.html
+https://cgit.git.savannah.gnu.org/cgit/texinfo.git/commit/?id=f4ac5b857cf59a58d13e103fe5b7d0d5fe2a52a7
+
+From f4ac5b857cf59a58d13e103fe5b7d0d5fe2a52a7 Mon Sep 17 00:00:00 2001
+From: Patrice Dumas <[email protected]>
+Date: Thu, 30 Jan 2025 14:26:17 +0100
+Subject: * tp/Texinfo/Convert/Converter.pm (output_tree),
+ tp/Texinfo/Convert/LaTeX.pm (output), tp/Texinfo/Convert/IXIN.pm: fix
+ precedence problem between ! and string eq, which leads to a warning with
+ Perl 5.41.7.  Report from Igor Todorovski, details on:
+ https://github.com/Perl/perl5/issues/22954#issuecomment-2623408763
+
+---
+ ChangeLog                       | 8 ++++++++
+ tp/Texinfo/Convert/Converter.pm | 2 +-
+ tp/Texinfo/Convert/IXIN.pm      | 2 +-
+ tp/Texinfo/Convert/LaTeX.pm     | 2 +-
+ 4 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
+index a54e1f509e..c0d1359334 100644
+--- a/tp/Texinfo/Convert/Converter.pm
++++ b/tp/Texinfo/Convert/Converter.pm
+@@ -403,7 +403,7 @@ sub output_tree($$)
+ 
+   my $fh;
+   my $encoded_output_file;
+-  if (! $output_file eq '') {
++  if ($output_file ne '') {
+     my $path_encoding;
+     ($encoded_output_file, $path_encoding)
+       = $self->encoded_output_file_name($output_file);
+diff --git a/tp/Texinfo/Convert/IXIN.pm b/tp/Texinfo/Convert/IXIN.pm
+index e5d82a7851..71fa03fbeb 100644
+--- a/tp/Texinfo/Convert/IXIN.pm
++++ b/tp/Texinfo/Convert/IXIN.pm
+@@ -341,7 +341,7 @@ sub output_ixin($$)
+ 
+   my $fh;
+   my $encoded_output_file;
+-  if (! $output_file eq '') {
++  if ($output_file ne '') {
+     my $path_encoding;
+     ($encoded_output_file, $path_encoding)
+       = $self->encoded_output_file_name($output_file);
+diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
+index d4126d217f..9ddf3e0e59 100644
+--- a/tp/Texinfo/Convert/LaTeX.pm
++++ b/tp/Texinfo/Convert/LaTeX.pm
+@@ -1085,7 +1085,7 @@ sub output($$)
+ 
+   my $fh;
+   my $encoded_output_file;
+-  if (! $output_file eq '') {
++  if ($output_file ne '') {
+     my $path_encoding;
+     ($encoded_output_file, $path_encoding)
+       = $self->encoded_output_file_name($output_file);
+-- 
+cgit v1.2.3

diff --git a/sys-apps/texinfo/texinfo-7.2-r1.ebuild 
b/sys-apps/texinfo/texinfo-7.2-r1.ebuild
new file mode 100644
index 000000000000..4352121c1ef1
--- /dev/null
+++ b/sys-apps/texinfo/texinfo-7.2-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 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 ~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="
+       >=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=(
+       "${FILESDIR}"/${PN}-7.2-perl-5.42.patch
+)
+
+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
+       # --enable-xs-perl-libintl for musl (7.2)?
+       #
+       # 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[@]}"
+}

Reply via email to