diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml --- a/.github/workflows/release-linux.yml +++ b/.github/workflows/release-linux.yml @@ -14,9 +14,10 @@ jobs: runs-on: ubuntu-latest container: - # manylinux2014 is based on CentOS 7, but already has a lot of things + # manylinux_2_28 is based on AlmaLinux 8, and already has a lot of things # installed and preconfigured. It makes it easier to build OpenTTD. - image: quay.io/pypa/manylinux2014_x86_64 + # This distro is based on glibc 2.28, released in 2018. + image: quay.io/pypa/manylinux_2_28_x86_64 steps: - name: Download source @@ -28,29 +29,11 @@ jobs: run: | tar -xf source.tar.gz --strip-components=1 - # curl is too old for most of the tools to work properly. For example, - # rust-toolchain doesn't work properly, neither vcpkg caching. - # The easier solution here is to upgrade curl. - - name: Update curl - run: | - yum install -y \ - openssl-devel \ - # EOF - - mkdir /curl - cd /curl - curl -o curl-7.81.0.zip https://curl.se/download/curl-7.81.0.zip - unzip curl-7.81.0.zip - cd curl-7.81.0 - ./configure --with-ssl --with-zlib --prefix=/usr --libdir=/usr/lib64 - make -j $(nproc) - make install - - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Enable Rust cache - uses: Swatinem/rust-cache@v2.7.0 + uses: Swatinem/rust-cache@v2 - name: Setup vcpkg caching uses: actions/github-script@v6 @@ -99,22 +82,12 @@ jobs: cmake --install . ) - # The container we use is old enough, that it doesn't know SHF_COMPRESSED. - # But, breakpad needs this symbol to exist. So we patch it in our system - # libraries. - ( - cd / - patch -p1 < ${GITHUB_WORKSPACE}/os/linux/shf-compressed.patch - ) - echo "::endgroup::" - echo "::group::Install audio drivers" # These audio libs are to make sure the SDL version of vcpkg adds # sound-support; these libraries are not added to the resulting # binary, but the headers are used to enable them in SDL. yum install -y \ alsa-lib-devel \ - jack-audio-connection-kit-devel \ pulseaudio-libs-devel \ # EOF echo "::endgroup::" @@ -132,6 +105,11 @@ jobs: libxkbcommon-devel \ libXrandr-devel \ libXScrnSaver-devel \ + mesa-libEGL-devel \ + mesa-libGL-devel \ + mesa-libGLES-devel \ + wayland-devel \ + wayland-protocols-devel \ # EOF echo "::endgroup::" @@ -145,17 +123,6 @@ jobs: ./bootstrap-vcpkg.sh -disableMetrics ) - # Make Python3 available for other packages. This needs to be done - # first, as otherwise dependencies fail to build because Python3 is - # not available. - ( - cd / - - /vcpkg/vcpkg install python3 - ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3 - ) - echo "::endgroup::" - echo "::group::Install breakpad dependencies" cargo install dump_syms echo "::endgroup::"