image: debian/bookworm
packages:
  - cmake
  - pkg-config
  - libcurl4-openssl-dev
  - wget
  - tar
  - zstd
  - gpg
  - clang
  - lld
  - xz-utils
  - wine
  - ncurses-bin
  - qtbase5-dev
  - qttools5-dev
  - python3-pip
  - zip
sources:
  - hg+https://hg.paper.us.eu.org/minori
tasks:
  - build-win64: |
      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
      cd ../minori
      mkdir build64
      cd build64
      sudo bash -c 'echo -n 1 >/proc/sys/fs/binfmt_misc/status'
      python3 -m pip install --user --break-system-packages mingw-ldd
      sudo ln -nfs "$HOME/quasi-msys2-win64/root/mingw64" /mingw64
      bash -c 'export MSYSTEM=mingw64 && source ../../quasi-msys2-win64/env/all.src && cmake .. -G "Unix Makefiles" && make && env DIR=minori64 LDD="$HOME/.local/bin/mingw-ldd" sh ../scripts/win32/deploy_build.sh'
  - get-wine32: |
      sudo dpkg --add-architecture i386
      sudo apt-get update
      sudo apt-get -y install wine32:i386
  - build-win32: |
      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
      cd ../minori
      mkdir build32
      cd build32
      sudo bash -c 'echo -n 1 >/proc/sys/fs/binfmt_misc/status'
      sudo ln -nfs "$HOME/quasi-msys2-win64/root/mingw32" /mingw32
      bash -c 'export MSYSTEM=mingw32 && source ../../quasi-msys2-win32/env/all.src && cmake .. -G "Unix Makefiles" && make && env DIR=minori32 LDD="$HOME/.local/bin/mingw-ldd" sh ../scripts/win32/deploy_build.sh'
artifacts:
  - minori/build64/minori64.zip
  - minori/build32/minori32.zip
triggers:
  - action: email
    condition: failure
    to: Paper <mrpapersonic@gmail.com>