image: debian/bookworm
packages:
  - wget
  - tar
  - zstd
  - gpg
  - clang
  - lld
  - xz-utils
  - wine
  - automake
  - autoconf
  - libtool
  - ncurses-bin
  - qtbase5-dev
  - qttools5-dev
sources:
  - https://hg.sr.ht/~mrpapersonic/minori
tasks:
  - get-wine: |
      sudo dpkg --add-architecture i386

      sudo mkdir -pm755 /etc/apt/keyrings
      sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

      sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources

      sudo apt update

      sudo apt install -y --install-recommends winehq-devel
  - autoreconf: |
      cd minori
      autoreconf -i
  - install-win64-deps: |
      export WINEARCH=win64
      git clone https://github.com/holyblackcat/quasi-msys2 quasi-msys2-win64
      cd quasi-msys2-win64
      echo MINGW64 >msystem.txt
      make install _gcc _qt5-base _qt5-tools _curl
      sudo ln -nfs $(realpath ./root/mingw64) /mingw64
  - build-win64: |
      export WINEARCH=win64
      mkdir -p minori/build64
      cd minori/build64
      sudo bash -c 'echo -n 1 >/proc/sys/fs/binfmt_misc/status'
      bash -c 'source ../../quasi-msys2-win64/env/all.src && ../configure && make'
  - install-win32-deps: |
      export WINEARCH=win32
      export WINEPREFIX="$HOME/.wine32"
      git clone https://github.com/holyblackcat/quasi-msys2 quasi-msys2-win32
      cd quasi-msys2-win32
      echo MINGW32 >msystem.txt
      make install _gcc _qt5-base _qt5-tools _curl
  - build-win32: |
      export WINEARCH=win32
      export WINEPREFIX="$HOME/.wine32"
      mkdir -p ../minori/build32
      cd ../minori/build32
      sudo bash -c 'echo -n 1 >/proc/sys/fs/binfmt_misc/status'
      bash -c 'source ../../quasi-msys2-win32/env/all.src && ../configure && make'
triggers:
  - action: email
    condition: failure
    to: Paper <mrpapersonic@gmail.com>
