Skip to content

fix rebase of mouselock #45

fix rebase of mouselock

fix rebase of mouselock #45

Workflow file for this run

name: Build Wine
on:
push:
pull_request:
permissions:
contents: read
pull-requests: read
env:
WINE_VERSION: 9.18
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Setup environment'
run: |
echo "WINE_ARCHIVE=${{ github.workspace }}/wine-vinegarhq-build-${{ env.WINE_VERSION }}.tar.xz" >> $GITHUB_ENV
echo "WINE_PREFIX=${{ github.workspace }}/wine-vinegarhq-build-${{ env.WINE_VERSION }}" >> $GITHUB_ENV
echo "PATH=/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" >> $GITHUB_ENV
sudo apt update -y
sudo apt install \
git \
build-essential \
curl \
mingw-w64 \
libasound2-dev \
libpulse-dev \
libdbus-1-dev \
libfontconfig-dev \
libfreetype-dev \
libgl-dev \
libunwind-dev \
libx11-dev \
libxcomposite-dev \
libxcursor-dev \
libxfixes-dev \
libxi-dev \
libxrandr-dev \
libxrender-dev \
libxext-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libosmesa6-dev \
libudev-dev \
libvulkan-dev \
libkrb5-dev \
libusb-1.0-0-dev \
libv4l-dev \
libxkbcommon-dev \
libxkbregistry-dev \
libwayland-dev \
ccache
- name: 'Configure ccache'
uses: hendrikmuhs/ccache-action@v1.2
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Fetch Wine'
run: |
git clone https://gitlab.winehq.org/wine/wine.git --depth 1 \
--branch wine-${{ env.WINE_VERSION }}
- name: 'Apply Wine Staging patchset'
run: |
git clone https://gitlab.winehq.org/wine/wine-staging.git --depth 1 \
--branch v${{ env.WINE_VERSION }}
wine-staging/staging/patchinstall.py --destdir=wine --all
- name: 'Apply local patches'
working-directory: wine
run: |
for p in ../*.patch; do
echo $p
patch -p1 < $p
done
- name: 'Configure Wine'
working-directory: wine
run: |
mkdir -p ${{ env.WINE_PREFIX }}
./configure \
CC='ccache gcc' \
x86_64_CC='ccache x86_64-w64-mingw32-gcc' \
CFLAGS='-O3 -pipe -march=x86-64-v2 -mpclmul -mavx' \
CXXFLAGS='-O3 -pipe -march=x86-64-v2 -mpclmul -mavx' \
CROSSCFLAGS='-O3 -pipe -march=x86-64-v2 -mpclmul -mavx' \
--prefix=${{ env.WINE_PREFIX }} \
--enable-win64 \
--host=x86_64 \
--build=x86_64 \
--with-mingw=ccache x86_64-w64-mingw64-gcc \
--disable-win16 \
--disable-tests \
--with-alsa \
--with-pulse \
--with-dbus \
--with-fontconfig \
--with-freetype \
--with-opengl \
--with-wayland \
--with-x \
--with-xcomposite \
--with-xfixes \
--with-xinput2 \
--with-xrandr \
--with-xrender \
--with-gstreamer \
--with-vulkan \
--with-krb5 \
--with-usb \
--with-v4l2
- name: 'Build Wine'
working-directory: wine
run: make -j$(($(nproc) + 1))
- name: 'Install Wine'
working-directory: wine
run: make install LDCONFIG=/bin/true UPDATE_DESKTOP_DATABASE=/bin/true
- name: 'Strip Wine'
working-directory: ${{ env.WINE_PREFIX }}
run: |
x86_64-w64-mingw32-strip --strip-unneeded lib/wine/x86_64-windows/*.dll
- name: Make artifacts
run: |
cd $(dirname ${{ env.WINE_PREFIX }})
XZ_OPT=-9 tar -Jcf ${{ env.WINE_ARCHIVE }} $(basename ${{ env.WINE_PREFIX }})
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: wine-vinegarhq-build-${{ env.WINE_VERSION }}
path: ${{ env.WINE_ARCHIVE }}