From fef6ca0d3a5704ced249246a053be0307dabe90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Mairb=C3=B6ck?= Date: Sat, 6 Jul 2024 11:04:02 +0200 Subject: [PATCH] irssi: revbump for new perl version --- net-irc/irssi/irssi-1.4.5.recipe | 2 +- net-irc/irssi/patches/irssi-1.4.5.patchset | 97 +++++++++++++++++++++- 2 files changed, 94 insertions(+), 5 deletions(-) diff --git a/net-irc/irssi/irssi-1.4.5.recipe b/net-irc/irssi/irssi-1.4.5.recipe index f3b61c969..618675896 100644 --- a/net-irc/irssi/irssi-1.4.5.recipe +++ b/net-irc/irssi/irssi-1.4.5.recipe @@ -93,7 +93,7 @@ COPYRIGHT="1999-2019 Timo Sirainen xavierog" LICENSE="GNU GPL v2 OpenSSL GPL2 exception" -REVISION="3" +REVISION="4" SOURCE_URI="https://github.com/irssi/irssi/releases/download/$portVersion/irssi-$portVersion.tar.gz" CHECKSUM_SHA256="31653e8e0c5b1ef9b89905c330a0d77fe3f0592f88d163e504c1923dcd28ac47" PATCHES="irssi-$portVersion.patchset" diff --git a/net-irc/irssi/patches/irssi-1.4.5.patchset b/net-irc/irssi/patches/irssi-1.4.5.patchset index 238e324a4..e8182367a 100644 --- a/net-irc/irssi/patches/irssi-1.4.5.patchset +++ b/net-irc/irssi/patches/irssi-1.4.5.patchset @@ -1,4 +1,4 @@ -From b86c65509f98ba9c34025ac867de0dc53ddf2b8e Mon Sep 17 00:00:00 2001 +From 91df10665320f9054bb7d033495abef2806d36e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Mairb=C3=B6ck?= Date: Sat, 8 Jun 2024 18:16:07 +0200 Subject: add PREFIX to perl MakeMaker args @@ -19,10 +19,10 @@ index 9a5c252..77e55f5 100644 PERL_MM_PARAMS="INSTALLDIRS=perl PREFIX=`$perlpath -e 'use Config; print $Config{prefix}'`" fi -- -2.45.1 +2.45.2 -From 8304efffb2897588148747b1563248fff7e1f0f6 Mon Sep 17 00:00:00 2001 +From a315226251e2e8e4e0bdcfe849e7a63913bd8a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Mairb=C3=B6ck?= Date: Sat, 8 Jun 2024 18:41:09 +0200 Subject: use pure_install for the perl modules to not generate perllocal.pod @@ -42,5 +42,94 @@ index ca81d3c..32a35bf 100644 clean-generic: -- -2.45.1 +2.45.2 + + +From 727333c45f1e21436cde2ce6e6277f269875bd63 Mon Sep 17 00:00:00 2001 +From: ailin-nemui +Date: Sat, 27 Jan 2024 17:42:42 +0000 +Subject: Merge pull request #1510 from ailin-nemui/perl-again + +restore locale if perl breaks it + +(cherry picked from commit 504fd7bc609dfd9daee49f4eb9634338bdba1d81) + +diff --git a/src/perl/irssi-core.pl b/src/perl/irssi-core.pl +index 0999de9..46066a3 100644 +--- a/src/perl/irssi-core.pl ++++ b/src/perl/irssi-core.pl +@@ -52,10 +52,3 @@ sub eval_file { + die "cap_sasl has been unloaded from Irssi ".Irssi::version()." because it conflicts with the built-in SASL support. See /help network for configuring SASL or read the ChangeLog for more information."; + } + } +- +-if ( $] >= 5.037005 && $] <= 5.038000 ) { +- # https://github.com/Perl/perl5/issues/21366 +- print STDERR "\e7 \e[A Irssi: applying locale workaround for Perl 5.38.0 \e8"; +- require POSIX; +- POSIX::setlocale(&POSIX::LC_ALL, ""); +-} +diff --git a/src/perl/perl-core.c b/src/perl/perl-core.c +index 24f0218..c013061 100644 +--- a/src/perl/perl-core.c ++++ b/src/perl/perl-core.c +@@ -111,27 +111,44 @@ static void xs_init(pTHX) + void perl_scripts_init(void) + { + char *code, *use_code; ++ int broken_perl; + + perl_scripts = NULL; + perl_sources_start(); + perl_signals_start(); + + my_perl = perl_alloc(); ++ broken_perl = wcwidth(160); + perl_construct(my_perl); ++ broken_perl = broken_perl != wcwidth(160); + +- perl_parse(my_perl, xs_init, G_N_ELEMENTS(perl_args)-1, perl_args, NULL); ++ perl_parse(my_perl, xs_init, G_N_ELEMENTS(perl_args) - 1, perl_args, NULL); + #if PERL_STATIC_LIBS == 1 + perl_eval_pv("Irssi::Core::->boot_Irssi_Core(0.9);", TRUE); + #endif + +- perl_common_start(); ++ perl_common_start(); + + use_code = perl_get_use_list(); + code = g_strdup_printf(irssi_core_code, PERL_STATIC_LIBS, use_code); + perl_eval_pv(code, TRUE); ++ if (broken_perl) { ++ g_warning("applying locale workaround for Perl %d.%d, see " ++ "https://github.com/Perl/perl5/issues/21366", ++ PERL_REVISION, PERL_VERSION); ++ perl_eval_pv("package Irssi::Core;" ++ /* https://github.com/Perl/perl5/issues/21746 */ ++ "if ( $] == $] )" ++ "{" ++ "require POSIX;" ++ "POSIX::setlocale(&POSIX::LC_ALL, \"\");" ++ "}" ++ "1;", ++ TRUE); ++ } + + g_free(code); +- g_free(use_code); ++ g_free(use_code); + } + + /* Destroy all perl scripts and deinitialize perl interpreter */ +@@ -476,7 +493,7 @@ void perl_core_init(void) + char **argv = perl_args; + + PERL_SYS_INIT3(&argc, &argv, &environ); +- print_script_errors = 1; ++ print_script_errors = 1; + settings_add_str("perl", "perl_use_lib", PERL_USE_LIB); + + /*PL_perl_destruct_level = 1; - this crashes with some people.. */ +-- +2.45.2