From adad0a2fa4e6b89fd5dfab2d4ba8cee3dfde0b21 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sat, 27 Jan 2024 17:42:42 +0000 Subject: [PATCH 1/8] Merge pull request #1510 from ailin-nemui/perl-again restore locale if perl breaks it (cherry picked from commit 504fd7bc609dfd9daee49f4eb9634338bdba1d81) --- src/perl/irssi-core.pl | 7 ------- src/perl/perl-core.c | 25 +++++++++++++++++++++---- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/perl/irssi-core.pl b/src/perl/irssi-core.pl index 0999de9e..46066a38 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 24f0218c..c0130612 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.. */ From 2d5bba391a203a23c3dfed7ee793c999bc2acd5d Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Tue, 29 Apr 2025 20:34:42 +0000 Subject: [PATCH 2/8] Merge pull request #1560 from ailin-nemui/wchar add missing include for wcwidth thread test (cherry picked from commit 4ec9d10904ace699cdda8c768a285246cbe448ab) --- src/perl/perl-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/perl/perl-core.c b/src/perl/perl-core.c index c0130612..5722a26f 100644 --- a/src/perl/perl-core.c +++ b/src/perl/perl-core.c @@ -18,6 +18,9 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#define _GNU_SOURCE +#include + #define NEED_PERL_H #define PERL_NO_GET_CONTEXT #include "module.h" From e5ea49652701097c03e6f363fea1a5d5dc2d6119 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sun, 13 Jul 2025 17:57:31 +0000 Subject: [PATCH 3/8] Merge pull request #1572 from ailin-nemui/perl-redefined fix _GNU_SOURCE redefined warning due to perl ccflags (cherry picked from commit aa285d45cde7e33cb8fac71a7b8e45ce93fe1a23) --- src/perl/perl-core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/perl/perl-core.c b/src/perl/perl-core.c index 5722a26f..5b669f93 100644 --- a/src/perl/perl-core.c +++ b/src/perl/perl-core.c @@ -18,7 +18,9 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include #define NEED_PERL_H From 2bb2f9579fff67de4a0661d44fb660aa10ff34e0 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Mon, 16 Dec 2024 19:56:05 +0000 Subject: [PATCH 4/8] Merge pull request #1545 from plundra/plundra/actions-upload-fix github workflows: Bump actions/upload-artifact from deprecated (defunct) v1 to v4. (cherry picked from commit 344dd0fbd4f39bb09c47d6441e226e67653c672d) --- .github/workflows/cifuzz.yml | 2 +- .github/workflows/clangformat.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 6325d671..3b20e427 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -44,7 +44,7 @@ jobs: dry-run: false sanitizer: ${{ matrix.sanitizer }} - name: Upload Crash - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 if: failure() && steps.build.outcome == 'success' with: name: ${{ matrix.sanitizer }}-artifacts diff --git a/.github/workflows/clangformat.yml b/.github/workflows/clangformat.yml index 9076edc2..a3ff8d6d 100644 --- a/.github/workflows/clangformat.yml +++ b/.github/workflows/clangformat.yml @@ -22,7 +22,7 @@ jobs: | CLANG_FORMAT=clang-format-14 git-clang-format-14 --diff FETCH_HEAD HEAD | tee git-clang-format.diff cmp -s <(echo no modified files to format) git-clang-format.diff || cmp -s <(echo -n) git-clang-format.diff - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v4 if: failure() with: name: git-clang-format.diff From 9c3aa0660ca54c3fb0d3f9321e47ae130b613d1e Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sun, 22 Jan 2023 16:49:20 +0100 Subject: [PATCH 5/8] Merge pull request #1441 from ailin-nemui/gh-actions chores: update for github workflows deprecations (cherry picked from commit 3fb147ec72727942acfb4cd8227df18f10b7a8d3) --- .github/workflows/abicheck.yml | 14 +++++++------- .github/workflows/check.yml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml index 4e14353d..d21d55cd 100644 --- a/.github/workflows/abicheck.yml +++ b/.github/workflows/abicheck.yml @@ -36,8 +36,8 @@ jobs: base_abi=$(getabidef base$prefix) echo base abi : $base_abi ./base$prefix/bin/irssi --version - echo "::set-output name=base_abi::$base_abi" - - uses: actions/upload-artifact@v2 + echo base_abi=$base_abi >> $GITHUB_OUTPUT + - uses: actions/upload-artifact@v3 with: name: base.inst path: base @@ -70,8 +70,8 @@ jobs: merge_abi=$(getabidef merge$prefix) echo merge abi : $merge_abi ./merge$prefix/bin/irssi --version - echo "::set-output name=merge_abi::$merge_abi" - - uses: actions/upload-artifact@v2 + echo merge_abi=$merge_abi >> $GITHUB_OUTPUT + - uses: actions/upload-artifact@v3 with: name: merge.inst path: merge @@ -89,12 +89,12 @@ jobs: run: | sudo apt install abigail-tools - name: fetch base build - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: base.inst path: base - name: fetch merge build - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: merge.inst path: merge @@ -103,7 +103,7 @@ jobs: abipkgdiff -l base merge >abipkgdiff.out && diff_ret=0 || diff_ret=$? echo "diff_ret=$diff_ret" >> $GITHUB_ENV cat abipkgdiff.out - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: path: abipkgdiff.out - run: | diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 3e324649..6b3b6cea 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,7 +25,7 @@ jobs: # make dist ./autogen.sh $build_options_configure make dist - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: path: irssi-*.tar.gz retention-days: 1 @@ -55,7 +55,7 @@ jobs: flags: meson-latest FAILURE-OK steps: - name: fetch dist - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 - name: set PATH run: | echo "$HOME/.local/bin" >> $GITHUB_PATH From 01d1816008ac94d1cd34db629d936cf47ae68d0b Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Mon, 1 Apr 2024 20:33:21 +0000 Subject: [PATCH 6/8] Merge pull request #1521 from ailin-nemui/nodejs github actions nodejs churn (cherry picked from commit bb4ed2b14fbb83fed59991cfabb229eea16bc816) --- .github/workflows/abicheck.yml | 10 +++++----- .github/workflows/check.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml index d21d55cd..3ac39146 100644 --- a/.github/workflows/abicheck.yml +++ b/.github/workflows/abicheck.yml @@ -37,7 +37,7 @@ jobs: echo base abi : $base_abi ./base$prefix/bin/irssi --version echo base_abi=$base_abi >> $GITHUB_OUTPUT - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: base.inst path: base @@ -71,7 +71,7 @@ jobs: echo merge abi : $merge_abi ./merge$prefix/bin/irssi --version echo merge_abi=$merge_abi >> $GITHUB_OUTPUT - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: merge.inst path: merge @@ -89,12 +89,12 @@ jobs: run: | sudo apt install abigail-tools - name: fetch base build - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: base.inst path: base - name: fetch merge build - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: merge.inst path: merge @@ -103,7 +103,7 @@ jobs: abipkgdiff -l base merge >abipkgdiff.out && diff_ret=0 || diff_ret=$? echo "diff_ret=$diff_ret" >> $GITHUB_ENV cat abipkgdiff.out - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: abipkgdiff.out - run: | diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 6b3b6cea..973f8a06 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,7 +25,7 @@ jobs: # make dist ./autogen.sh $build_options_configure make dist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: irssi-*.tar.gz retention-days: 1 @@ -55,7 +55,7 @@ jobs: flags: meson-latest FAILURE-OK steps: - name: fetch dist - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 - name: set PATH run: | echo "$HOME/.local/bin" >> $GITHUB_PATH From d30c3f4823177e416f5e40704ecbda1e8a96c625 Mon Sep 17 00:00:00 2001 From: Ailin Nemui Date: Mon, 16 Dec 2024 19:57:30 +0100 Subject: [PATCH 7/8] add glib dependency to github workflows (cherry picked from commit a775f50572bc7751b5ff01e7aa3e2e2d3ea5d262) --- .github/workflows/abicheck.yml | 2 +- .github/workflows/check.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml index 3ac39146..7f54450f 100644 --- a/.github/workflows/abicheck.yml +++ b/.github/workflows/abicheck.yml @@ -3,7 +3,7 @@ name: abicheck env: build_options: -Dbuildtype=debug -Denable-true-color=yes -Dwith-proxy=yes -Dc_args=-DPERL_EUPXS_ALWAYS_EXPORT prefix: /usr/local - apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev + apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev get_pip_build_deps: pip3 install setuptools; pip3 install wheel; pip3 install 'meson<0.59.0' getabidef_def: getabidef() { awk '$1=="#define" && $2=="IRSSI_ABI_VERSION" { print $3 }' "$1"/include/irssi/src/common.h; } jobs: diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 973f8a06..37103672 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -5,7 +5,7 @@ on: pull_request: name: Check Irssi env: - apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev + apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev apt_build_deps_meson: ninja-build apt_build_deps_autotools: autoconf automake libtool get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel; pip3 install meson${meson_ver} @@ -38,18 +38,18 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, ubuntu-latest] + os: [ubuntu-20.04, ubuntu-latest] builder: [meson, configure] compiler: [clang, gcc] flags: [regular] include: - - os: ubuntu-18.04 + - os: ubuntu-20.04 builder: meson - meson_ver: ==0.49.2 + meson_ver: ==0.53.2 setuptools_ver: <51 - os: ubuntu-latest builder: meson - meson_ver: <0.60.0 + meson_ver: <0.63.0 - os: ubuntu-latest builder: meson flags: meson-latest FAILURE-OK From 6ad1581b3ebd37370e1c407569da637a05a99aa5 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sat, 27 Dec 2025 21:46:19 +0000 Subject: [PATCH 8/8] Merge pull request #1600 from ailin-nemui/github github actions: update package lists (cherry picked from commit 97304bb7c012dff19a5276205bce2573e84dfdad) --- .github/workflows/abicheck.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml index 7f54450f..e01382b9 100644 --- a/.github/workflows/abicheck.yml +++ b/.github/workflows/abicheck.yml @@ -17,7 +17,7 @@ jobs: echo "$HOME/.local/bin" >> $GITHUB_PATH - name: prepare required software run: | - sudo apt install $apt_build_deps + sudo apt update; sudo apt install $apt_build_deps eval "$get_pip_build_deps" - name: checkout base ref uses: actions/checkout@main @@ -52,7 +52,7 @@ jobs: echo "$HOME/.local/bin" >> $GITHUB_PATH - name: prepare required software run: | - sudo apt install $apt_build_deps + sudo apt update; sudo apt install $apt_build_deps eval "$get_pip_build_deps" - name: checkout merge ref uses: actions/checkout@main @@ -87,7 +87,7 @@ jobs: steps: - name: prepare required software run: | - sudo apt install abigail-tools + sudo apt update; sudo apt install abigail-tools - name: fetch base build uses: actions/download-artifact@v4 with: