diff options
author | Sebastian Pipping <sebastian@pipping.org> | 2022-04-02 17:57:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-02 17:57:42 +0200 |
commit | 49fffa3203ec746c1e0add666535dc705d9d5cec (patch) | |
tree | 96a8f3f7c4dd7c02cc25904832f1b2723b764855 | |
parent | 8b8f04d8fdb41fa8c2e194493ead492539be3cf1 (diff) | |
parent | e22d18fab2c15f9b4fef087973d786635b991498 (diff) | |
download | uriparser-49fffa3203ec746c1e0add666535dc705d9d5cec.tar.gz |
Merge pull request #144 from uriparser/mingw-ubuntu-20-04
Actions: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
-rw-r--r-- | .github/workflows/build-and-test.yml | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index de09745..5bc732b 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -16,8 +16,6 @@ jobs: matrix: include: - name: Native Linux - runs-on: ubuntu-20.04 - qhelpgenerator_package: qhelpgenerator-qt5 cmake_args: >- -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 @@ -28,16 +26,13 @@ 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 cmake_args: >- -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++ -DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON - runs-on: ${{ matrix.runs-on }} + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3.0.0 @@ -58,12 +53,28 @@ jobs: doxygen \ graphviz \ lzip \ - ${{ matrix.qhelpgenerator_package }} \ + qhelpgenerator-qt5 \ qtchooser - 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 \ |