Skip to content

Commit 1439113

Browse files
committed
add full wine test
1 parent f67429e commit 1439113

1 file changed

Lines changed: 42 additions & 22 deletions

File tree

projects/winehq.org/package.yml

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,21 @@ platforms:
5151

5252
build:
5353
dependencies:
54-
gnu.org/bison: '^3'
55-
github.com/westes/flex: '*'
56-
perl.org: '^5'
57-
gnu.org/gettext: '*'
58-
freetype.org: '*'
59-
gnutls.org: '*'
60-
zlib.net: '*'
61-
gnu.org/gcc: '*'
62-
gnu.org/binutils: '*'
54+
gnu.org/bison: "^3"
55+
github.com/westes/flex: "*"
56+
perl.org: "^5"
57+
gnu.org/gettext: "*"
58+
freetype.org: "*"
59+
gnutls.org: "*"
60+
zlib.net: "*"
61+
gnu.org/gcc: "*"
62+
gnu.org/binutils: "*"
6363
# Modern Wine compiles its built-in DLLs as real PE binaries, so it
6464
# needs a PE cross-compiler at build time — configure aborts with
6565
# "x86_64 PE cross-compiler not found" without one. llvm.org/mingw-w64
6666
# provides x86_64-w64-mingw32-{gcc,clang}. No build-dep cycle: the
6767
# mingw recipe uses Wine only in its *test* step, never its build.
68-
llvm.org/mingw-w64: '*'
68+
llvm.org/mingw-w64: "*"
6969

7070
script:
7171
- ./configure $ARGS || (cat config.log && false)
@@ -75,14 +75,18 @@ build:
7575
env:
7676
ARGS:
7777
- --prefix={{ prefix }}
78-
- --enable-archs=x86_64 # 64-bit only — half the build, all we need
79-
- --disable-tests # skip wine's massive internal test suite
80-
- --with-mingw # build the win-side DLLs as PE with the
81-
# llvm.org/mingw-w64 cross-compiler (now a
82-
# build dep). Required: modern Wine has no
83-
# ELF-builtin fallback, so configure demands
84-
# a PE cross-compiler regardless.
85-
- --without-x # no X11
78+
# 64-bit only — half the build, all we need
79+
- --enable-archs=x86_64
80+
# skip wine's massive internal test suite
81+
- --disable-tests
82+
# build the win-side DLLs as PE with the
83+
# llvm.org/mingw-w64 cross-compiler (now a
84+
# build dep). Required: modern Wine has no
85+
# ELF-builtin fallback, so configure demands
86+
# a PE cross-compiler regardless.
87+
- --with-mingw
88+
# no X11
89+
- --without-x
8690
- --without-opengl
8791
- --without-osmesa
8892
- --without-vulkan
@@ -104,10 +108,26 @@ build:
104108
- --without-krb5
105109

106110
test:
107-
# `wine64 --version` returns "wine-X.Y" on stable, "wine-X.Y (Staging)"
108-
# on staging. We just check that it ran and printed a sane version.
109-
- wine64 --version 2>&1 | tee out
110-
- grep "wine-{{version.marketing}}" out
111+
dependencies:
112+
llvm.org/mingw-w64: "*"
113+
env:
114+
WINEDEBUG: "-all"
115+
WINEDLLOVERRIDES: "mscoree=;mshtml="
116+
WINEPREFIX: $PWD/.wine
117+
script:
118+
- wine64 --version | grep {{version.raw}}
119+
# cross-compile a console .exe and actually run it through wine
120+
- run: x86_64-w64-mingw32-clang -o hello.exe $FIXTURE
121+
fixture:
122+
extname: c
123+
content: |
124+
#include <stdio.h>
125+
int main(void) {
126+
printf("hello from wine\n");
127+
return 0;
128+
}
129+
# strip the Windows CR; wine prints "hello from wine\r\n"
130+
- test "$(wine64 hello.exe | tr -d '\r')" = "hello from wine"
111131

112132
provides:
113133
- bin/wine

0 commit comments

Comments
 (0)