summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sebastian@pipping.org>2022-04-02 15:07:49 +0200
committerSebastian Pipping <sebastian@pipping.org>2022-04-02 17:04:28 +0200
commitd3da9a182b97a2c8914fb0dce15f42dbc669dd78 (patch)
tree674df70f8f8beb51f5916c7dcb4bd7d8d6edb77b
parent8b8f04d8fdb41fa8c2e194493ead492539be3cf1 (diff)
downloaduriparser-d3da9a182b97a2c8914fb0dce15f42dbc669dd78.tar.gz
Actions: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
-rw-r--r--.github/workflows/build-and-test.yml21
1 files changed, 18 insertions, 3 deletions
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index de09745..6e6b6a9 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -28,9 +28,8 @@ jobs:
ldflags: >-
-fsanitize=address
- name: MingGW on Linux
- # NOTE: This is avoiding 20.04 for libwine:i386 conflicts
- runs-on: ubuntu-18.04
- qhelpgenerator_package: qttools5-dev-tools
+ runs-on: ubuntu-20.04
+ qhelpgenerator_package: qhelpgenerator-qt5
cmake_args: >-
-DCMAKE_C_COMPILER=i686-w64-mingw32-gcc
-DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++
@@ -64,6 +63,22 @@ jobs:
- name: Install build dependencies (MinGW)
if: "${{ contains(matrix.cmake_args, 'mingw') }}"
run: |-
+ set -x -u -o pipefail
+ source /etc/os-release
+
+ # Get rid of packages installed from ppa:ondrej/php so that we will be able to install wine32:i386 without conflicts
+ # (see issue https://github.com/actions/virtual-environments/issues/4589)
+ # In detail we:
+ # 1. Remove all packages that ppa:ondrej/php has but plain Ubuntu doesn't, i.e. libzip4 and everything PHP
+ # 2. Revert (remaining) packages that ppa:ondrej/php and plain Ubuntu share, back to the plain Ubuntu version
+ # 3. Assert that no packages from ppa:ondrej/php are left installed
+ dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | grep '^php' \
+ | xargs -r -t sudo apt-get remove --yes libzip4
+ dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
+ | xargs -r -t sudo apt-get install --yes --no-install-recommends --allow-downgrades -V
+ ! dpkg -l | grep '^ii' | fgrep deb.sury.org
+
+ # Install 32bit Wine
sudo dpkg --add-architecture i386 # for wine32
sudo apt-get update # again, due to new architecture
sudo apt-get install --yes --no-install-recommends -V \