Skip to content

perl: update to 5.40.0 #254

perl: update to 5.40.0

perl: update to 5.40.0 #254

Workflow file for this run

name: main
on: [pull_request]
jobs:
build:
if: "!startsWith(github.event.pull_request.title, 'i686:') && !contains(github.event.pull_request.title, 'msys2-runtime-3.3')"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed to determine which packages to build
- uses: git-for-windows/setup-git-for-windows-sdk@v1
with:
flavor: full
msys: true
- name: install pactoys (needed for `saneman`)
shell: bash
run: bash -lc "pacman -S --noconfirm pactoys"
- name: CI-Build
shell: bash
run: bash -l .ci/ci-build.sh
env:
MSYSTEM: MSYS
MAKEFLAGS: -j5
MSYS2_PATH_TYPE: minimal
- name: "Upload binaries"
uses: actions/upload-artifact@v4
with:
name: msys2-packages
path: artifacts/*.pkg.tar.*
build-i686:
if: "!contains(github.event.pull_request.title, 'msys2-runtime') || contains(github.event.pull_request.title, 'msys2-runtime-3.3')"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed to determine which packages to build
- uses: git-for-windows/setup-git-for-windows-sdk@v1
with:
flavor: full
architecture: i686
msys: true
- name: rebase `.dll` base addresses
shell: powershell
run: |
if (Test-Path D:\git-sdk-32-full -PathType Container) {
cd D:\git-sdk-32-full
} else {
cd C:\git-sdk-32-full
}
if (!$?) { exit(1); }
$env:MSYSTEM = "MINGW32"
$env:PATH = "$(Get-Location)\usr\bin;" + $env:PATH
$env:MSYS2_PATH_TYPE = "minimal"
# Disable pacman's post-transaction hook that would mess everything up, if it exists
sh.exe -lc "set -x && rm -f /usr/share/libalpm/hooks/rebase.hook"
sh.exe -lc "set -x && find /usr/lib/perl5/*_perl -name \*.dll >perl-dlls.txt"
type perl-dlls.txt
dash -x /usr/bin/rebaseall -p -T perl-dlls.txt
# Work around for:
# - address space needed by 'Cwd.dll' is already occupied
# - address space needed by 'Dumper.dll' is already occupied
# etc
bash -lc "set -x && rebase -b 0x61500000 /usr/lib/perl5/core_perl/auto/*/{*,*/*}.dll"
# Work around for:
# - address space needed by 'Cwd.dll' is already occupied
bash -lc "set -x && rebase -v -b 0x63f00000 /usr/lib/perl5/core_perl/auto/Cwd/Cwd.dll"
# verify the base address
bash -lc "set -x && rebase -v -i /usr/lib/perl5/core_perl/auto/Cwd/Cwd.dll"
- name: CI-Build (i686)
shell: bash
run: |
set -x &&
mkdir -p artifacts &&
err= &&
for dir in $(git diff --name-only \
${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} |
sed -n 's/^\([a-z][^/]*\)\/.*/\1/p' |
sort |
uniq)
do
case $dir in msys2-runtime) continue;; esac
(
cd $dir &&
../.ci/fetch-validpgpkeys.sh &&
makepkg -s --noconfirm &&
cp -v *.pkg.tar.* ../artifacts/
) ||
err="$err $dir"
done &&
test -z "$err" || {
echo "::error::Build failures in$err" >&2
exit 1
}
env:
MSYSTEM: MSYS
MAKEFLAGS: -j5
MSYS2_PATH_TYPE: minimal
GIT_CONFIG_PARAMETERS: "'user.name=ci' '[email protected]'"
- name: "Upload binaries"
uses: actions/upload-artifact@v4
with:
name: msys2-packages-i686
path: artifacts/*.pkg.tar.*