appveyor.yml msys2/build.sh msys2/install.sh
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Mar 4 09:00:53 UTC 2025
appveyor.yml | 17 +++++++++++++++++
msys2/build.sh | 6 ++++++
msys2/install.sh | 10 ++++++++++
3 files changed, 33 insertions(+)
New commits:
commit f095b40ee7a31b10b7a4347007bbfbed8edca62c
Author: Akihiko Odaki <akihiko.odaki at daynix.com>
Date: Sat Mar 1 17:25:11 2025 +0900
CI: Build with MSYS2 on AppVeyor
MSYS2 is an alternative build environment.
MSYS2 has the following advantage compared to Microsoft Visual C++
that is already employed on AppVeyor:
- MSYS2 can pack MSI using autotools
MSYS2 has the following disadvantages compared to Microsoft Visual C++:
- MSYS2 cannot run tests because the autotools scripts currently require
Wine.
- MSYS2 no longer supports UCRT on the 32-bit platform.
MSYS2 has the following advantages compared to Fedora that is already
employed on GitLab CI:
- The build completely fails on Fedora because libpng tries to link
the __intrinsic_setjmpex function, which is not available.
- MSYS2 can employ UCRT instead of MSVCRT. For details of UCRT and
MSVCRT, see: https://www.msys2.org/docs/environments/#msvcrt-vs-ucrt
Fedora
MSYS2 has the following disadvantage compared to Fedora:
- MSYS2 cannot run tests.
Signed-off-by: Akihiko Odaki <akihiko.odaki at daynix.com>
diff --git a/appveyor.yml b/appveyor.yml
index 8fbd5ff..4668d9d 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -5,6 +5,8 @@ image: Visual Studio 2019
cache: c:\Tools\vcpkg\installed\
environment:
+ BASH: C:\msys64\usr\bin\bash
+ CHERE_INVOKING: yes
VCPKG_ROOT: c:\Tools\vcpkg
install:
@@ -13,6 +15,7 @@ install:
- mkdir build64
- choco install --timeout 600 -y imagemagick
+- '%BASH% -l msys2\install.sh'
- refreshenv
- cd %VCPKG_ROOT%
@@ -20,6 +23,14 @@ install:
build_script:
- set CTEST_OUTPUT_ON_FAILURE=1
+- cd %APPVEYOR_BUILD_FOLDER%
+- '%BASH% -lc "autoreconf -i"'
+
+- set MSYSTEM=MINGW32
+- '%BASH% -l msys2\build.sh buildmingw32'
+
+- set MSYSTEM=UCRT64
+- '%BASH% -l msys2\build.sh builducrt64'
- cd %APPVEYOR_BUILD_FOLDER%\build64
- cmake -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake -A x64 -DVCPKG_TARGET_TRIPLET=x64-windows-static ..
@@ -43,6 +54,12 @@ after_build:
- 7z a vdagent-win-x86.zip Release\*
artifacts:
+- path: buildmingw32/spice-vdagent-x86-*.msi
+ name: VdAgentWin-mingw32
+
+- path: builducrt64/spice-vdagent-x64-*.msi
+ name: VdAgentWin-ucrt64
+
- path: build64/vdagent-win-x64.zip
name: VdAgentWin-x64
diff --git a/msys2/build.sh b/msys2/build.sh
new file mode 100644
index 0000000..04f0ddf
--- /dev/null
+++ b/msys2/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+mkdir $1
+cd $1
+../configure
+make -j$(nproc) msi
diff --git a/msys2/install.sh b/msys2/install.sh
new file mode 100644
index 0000000..23dd8c1
--- /dev/null
+++ b/msys2/install.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+a=()
+for e in i686 ucrt-x86_64; do
+ for p in libpng msitools toolchain zlib; do
+ a+=(mingw-w64-$e-$p)
+ done
+done
+
+exec pacman --noconfirm -S autotools ${a[@]}
More information about the Spice-commits
mailing list