mirror of
https://github.com/irssi/irssi.git
synced 2026-08-08 19:30:15 +02:00
Merge 6ad1581b3e into bcf07a2546
This commit is contained in:
commit
8abd86943b
6 changed files with 46 additions and 31 deletions
22
.github/workflows/abicheck.yml
vendored
22
.github/workflows/abicheck.yml
vendored
|
|
@ -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:
|
||||
|
|
@ -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
|
||||
|
|
@ -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@v4
|
||||
with:
|
||||
name: base.inst
|
||||
path: base
|
||||
|
|
@ -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
|
||||
|
|
@ -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@v4
|
||||
with:
|
||||
name: merge.inst
|
||||
path: merge
|
||||
|
|
@ -87,14 +87,14 @@ 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@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: base.inst
|
||||
path: base
|
||||
- name: fetch merge build
|
||||
uses: actions/download-artifact@v2
|
||||
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@v2
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
path: abipkgdiff.out
|
||||
- run: |
|
||||
|
|
|
|||
14
.github/workflows/check.yml
vendored
14
.github/workflows/check.yml
vendored
|
|
@ -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}
|
||||
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
# make dist
|
||||
./autogen.sh $build_options_configure
|
||||
make dist
|
||||
- uses: actions/upload-artifact@v2
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
path: irssi-*.tar.gz
|
||||
retention-days: 1
|
||||
|
|
@ -38,24 +38,24 @@ 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
|
||||
steps:
|
||||
- name: fetch dist
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
- name: set PATH
|
||||
run: |
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
|
|
|
|||
2
.github/workflows/cifuzz.yml
vendored
2
.github/workflows/cifuzz.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/clangformat.yml
vendored
2
.github/workflows/clangformat.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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, "");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@
|
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
#include <wchar.h>
|
||||
|
||||
#define NEED_PERL_H
|
||||
#define PERL_NO_GET_CONTEXT
|
||||
#include "module.h"
|
||||
|
|
@ -111,27 +116,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 +498,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.. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue