forked from mstorsjo/msvc-wine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.fedora
More file actions
76 lines (61 loc) · 2.28 KB
/
Dockerfile.fedora
File metadata and controls
76 lines (61 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# vim: noet sw=4 ts=4
FROM registry.fedoraproject.org/fedora-minimal:44 AS wine
COPY <<-'EOF' /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:mochaa:wine.repo
[copr:copr.fedorainfracloud.org:mochaa:wine]
name=Copr repo for wine owned by mochaa
baseurl=https://download.copr.fedorainfracloud.org/results/mochaa/wine/fedora-$releasever-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/mochaa/wine/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
[copr:copr.fedorainfracloud.org:mochaa:wine:ml]
name=Copr repo for wine owned by mochaa (i386)
baseurl=https://download.copr.fedorainfracloud.org/results/mochaa/wine/fedora-$releasever-i386/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/mochaa/wine/pubkey.gpg
repo_gpgcheck=0
cost=1100
enabled=1
enabled_metadata=1
EOF
RUN <<-EOF
set -xeu
microdnf install -y wine-core wine-core.i686 wine-mono
microdnf clean all
EOF
# Initialize the wine environment. Wait until the wineserver process has
# exited before closing the session, to avoid corrupting the wine prefix.
RUN <<-EOF
set -xeu
wine wineboot -u
wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /t REG_SZ /d null
wineserver -w
EOF
WORKDIR /builddir
FROM wine AS fetch-wdk
COPY wdk-download.sh ./
RUN WINEDEBUG=1 bash -x ./wdk-download.sh --cache wdk https://go.microsoft.com/fwlink/?linkid=2335869
FROM python:3.14-slim AS fetch-msvc
WORKDIR /builddir
COPY vsdownload.py ./
RUN PYTHONUNBUFFERED=1 ./vsdownload.py --accept-license --only-download --cache cache --major=18 --msvc-version=18.0 --sdk-version=10.0.26100 --with-wdk-installer wdk/Installers
FROM wine AS builder
RUN <<-EOF
microdnf install -y msitools perl
microdnf clean all
EOF
COPY --from=fetch-msvc /builddir/cache/ ./cache/
COPY --from=fetch-wdk /builddir/wdk/Installers/ ./wdk/Installers/
COPY vsdownload.py ./
COPY patches/* ./patches/
RUN PYTHONUNBUFFERED=1 python3 ./vsdownload.py --accept-license --cache cache --dest /opt/msvc --msvc-version=18.0 --sdk-version=10.0.26100 --with-wdk-installer wdk/Installers
COPY lowercase fixinclude install.sh msvctricks.cpp ./
COPY wrappers/* ./wrappers/
RUN bash -x ./install.sh /opt/msvc
FROM scratch
COPY --from=builder /opt/msvc /