diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml index 3ac39146..d1387b82 100644 --- a/.github/workflows/abicheck.yml +++ b/.github/workflows/abicheck.yml @@ -3,8 +3,8 @@ 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 - get_pip_build_deps: pip3 install setuptools; pip3 install wheel; pip3 install 'meson<0.59.0' + apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev + get_pip_build_deps: pip3 install 'setuptools<66'; 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: build-base-ref: diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 2fee4b8b..67465f1a 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -5,18 +5,45 @@ on: pull_request: name: Check Irssi env: - apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev - apt_build_deps_meson: ninja-build + apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel; pip3 install meson${meson_ver} build_options_meson: -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes -Dwith-otr=yes prefix: ~/irssi-build jobs: dist: runs-on: ubuntu-latest + env: + meson_ver: <0.63.0 + setuptools_ver: <66 steps: - name: prepare required software run: | sudo apt update && sudo apt install $apt_build_deps + eval "$get_pip_build_deps_meson" + patch ~/.local/lib/python3.12/site-packages/pkg_resources/__init__.py <<- PATCH + --- __init__.py 2024-12-16 20:37:46.733230351 +0100 + +++ __init__.py 2024-12-16 20:38:42.479554540 +0100 + @@ -2188,7 +2188,8 @@ def resolve_egg_link(path): + return next(dist_groups, ()) + + + -register_finder(pkgutil.ImpImporter, find_on_path) + +if hasattr(pkgutil, 'ImpImporter'): + + register_finder(pkgutil.ImpImporter, find_on_path) + + if hasattr(importlib_machinery, 'FileFinder'): + register_finder(importlib_machinery.FileFinder, find_on_path) + @@ -2345,7 +2346,8 @@ def file_ns_handler(importer, path_item, + return subpath + + + -register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) + +if hasattr(pkgutil, 'ImpImporter'): + + register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) + register_namespace_handler(zipimport.zipimporter, file_ns_handler) + + if hasattr(importlib_machinery, 'FileFinder'): + PATCH - uses: actions/checkout@main - name: make dist run: | @@ -35,19 +62,16 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, ubuntu-latest] - builder: [meson] compiler: [clang, gcc] flags: [regular] + setuptools_ver: [<66] include: - os: ubuntu-20.04 - builder: meson meson_ver: ==0.53.2 setuptools_ver: <51 - os: ubuntu-latest - builder: meson meson_ver: <0.63.0 - os: ubuntu-latest - builder: meson flags: meson-latest FAILURE-OK steps: - name: fetch dist @@ -60,8 +84,8 @@ jobs: meson_ver: ${{ matrix.meson_ver }} setuptools_ver: ${{ matrix.setuptools_ver }} run: | - sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_${{ matrix.builder }} - eval "$get_pip_build_deps_${{ matrix.builder }}" + sudo apt update && sudo apt install $apt_build_deps + eval "$get_pip_build_deps_meson" curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl - name: unpack archive run: tar xaf artifact/irssi-*.tar.gz @@ -72,14 +96,12 @@ jobs: meson Build $build_options_meson --prefix=${prefix/\~/~} ninja -C Build ninja -C Build install - if: ${{ matrix.builder == 'meson' }} - name: run tests with Meson run: | # ninja test cd irssi-*/ ninja -C Build test find -name testlog.txt -exec sed -i -e '/Inherited environment:.* GITHUB/d' {} + -exec cat {} + - if: ${{ matrix.builder == 'meson' }} - name: run launch test env: TERM: xterm @@ -124,7 +146,7 @@ jobs: meson_ver: ${{ matrix.meson_ver }} setuptools_ver: ${{ matrix.setuptools_ver }} run: | - sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_meson + sudo apt update && sudo apt install $apt_build_deps eval "$get_pip_build_deps_meson" curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl - name: build and install with meson diff --git a/utils/make-dist.sh b/utils/make-dist.sh index 3ea56599..81d450d7 100755 --- a/utils/make-dist.sh +++ b/utils/make-dist.sh @@ -80,10 +80,11 @@ echo "Creating sdist..." python3 -W ignore -c 'from setuptools import *;setup()' --quiet sdist --formats=tar tar --delete --file "dist/$name-$version.tar" \ - "$name-$version/setup.cfg" \ - "$name-$version/pyproject.toml" \ - "$name-$version/$name.egg-info" \ - "$name-$version/PKG-INFO" + $(tar tf "dist/$name-$version.tar" | grep -F \ + "$name-$version/setup.cfg +$name-$version/pyproject.toml +$name-$version/$name.egg-info +$name-$version/PKG-INFO") echo "Zipping..." xz -k "dist/$name-$version.tar"