@@ -6,215 +6,3 @@ ADD *.dll C:/Windows/System32/
6
6
# Add Arial font since Slint requires it, see
7
7
# https://github.com/slint-ui/slint/issues/2556#issuecomment-2995413102
8
8
ADD arial.ttf C:/Windows/Fonts/
9
-
10
- # Install Microsoft Visual C++ Redistributable for Visual Studio 2015-2022
11
- ARG VCREDIST_URL="https://download.visualstudio.microsoft.com/download/pr/6ba404bb-6312-403e-83be-04b062914c98/1AD7988C17663CC742B01BEF1A6DF2ED1741173009579AD50A94434E54F56073/VC_redist.x64.exe"
12
- RUN curl -o "C:/tmp.exe" -L "%VCREDIST_URL%" \
13
- && C:/tmp.exe /quiet /norestart \
14
- && del C:\t mp.exe
15
-
16
- # Install 7-Zip
17
- # Attention: I observed issues with version 2409, thus better keep the old version
18
- ARG 7ZIP_URL="https://7-zip.org/a/7z2301-x64.exe"
19
- RUN curl -o "C:/tmp.exe" -L "%7ZIP_URL%" \
20
- && C:/tmp.exe /S /D="C:/7zip" \
21
- && setx PATH "%PATH%;C:\7 zip" \
22
- && del C:\t mp.exe
23
-
24
- # Install Git
25
- # Attention: Version 2.50 breaks our CI in a strange way!
26
- ARG GIT_VERSION="2.44.0"
27
- ARG GIT_URL="https://github.com/git-for-windows/git/releases/download/v$GIT_VERSION.windows.1/Git-$GIT_VERSION-64-bit.exe"
28
- RUN curl -o "C:/tmp.exe" -L "%GIT_URL%" \
29
- && C:/tmp.exe /VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS \
30
- /COMPONENTS="gitlfs" /o:PathOption="CmdTools" /o:CRLFOption="LFOnly" /DIR:"C:/git" \
31
- && del C:\t mp.exe
32
-
33
- # Install UV
34
- ARG UV_URL="https://github.com/astral-sh/uv/releases/download/0.7.13/uv-x86_64-pc-windows-msvc.zip"
35
- RUN curl -o "C:/tmp.zip" -L "%UV_URL%" \
36
- && 7z x C:/tmp.zip -oC:/uv -bsp1 \
37
- && setx PYTHONIOENCODING "UTF-8" \
38
- && setx PATH "%PATH%;C:\u v" \
39
- && del C:\t mp.zip
40
-
41
- # Install CMake
42
- ARG CMAKE_VERSION="4.0.3"
43
- ARG CMAKE_URL="https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-windows-x86_64.zip"
44
- RUN curl -o "C:/tmp.zip" -L "%CMAKE_URL%" \
45
- && 7z x C:/tmp.zip -oC:/ -bsp1 \
46
- && rename cmake-%CMAKE_VERSION%-windows-x86_64 cmake \
47
- && setx PATH "%PATH%;C:\c make\b in" \
48
- && del C:\t mp.zip
49
-
50
- # Install Ninja
51
- ARG NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip"
52
- RUN curl -o "C:/tmp.zip" -L "%NINJA_URL%" \
53
- && 7z x C:/tmp.zip -oC:/ninja -bsp1 \
54
- && setx PATH "%PATH%;C:\n inja" \
55
- && del C:\t mp.zip
56
-
57
- # Install CCache
58
- ARG CCACHE_VERSION="4.11.3"
59
- ARG CCACHE_URL="https://github.com/ccache/ccache/releases/download/v$CCACHE_VERSION/ccache-$CCACHE_VERSION-windows-x86_64.zip"
60
- RUN curl -o "C:/tmp.zip" -L "%CCACHE_URL%" \
61
- && 7z x C:/tmp.zip -oC:/ -bsp1 \
62
- && rename ccache-%CCACHE_VERSION%-windows-x86_64 ccache \
63
- && setx PATH "%PATH%;C:\c cache" \
64
- && del C:\t mp.zip
65
-
66
- # Install MinGW
67
- ARG MINGW_URL="https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/tools_mingw90/qt.tools.win64_mingw900/9.0.0-1-202203221220mingw-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3.7z"
68
- RUN powershell -Command Invoke-WebRequest $env:MINGW_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
69
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
70
- && setx PATH "%PATH%;C:\Q t\T ools\m ingw1120_64\b in" \
71
- && del C:\t mp.7z
72
-
73
- # Install Rust
74
- ARG RUST_VERSION="1.87.0"
75
- ENV RUSTUP_HOME="C:\r ustup" \
76
- CARGO_HOME="C:\c argo"
77
- RUN curl -o "C:/rustup-init.exe" -L "https://win.rustup.rs/x86_64" \
78
- && C:/rustup-init.exe -y -v \
79
- --profile minimal \
80
- --default-host x86_64-pc-windows-gnu \
81
- --default-toolchain none \
82
- && C:\c argo\b in\r ustup install %RUST_VERSION% \
83
- && del C:\r ustup-init.exe
84
-
85
- # Install ZLib
86
- ARG ZLIB_VERSION="1.3.1"
87
- ARG ZLIB_URL="https://github.com/madler/zlib/releases/download/v$ZLIB_VERSION/zlib131.zip"
88
- RUN curl -o "C:/tmp.zip" -L "%ZLIB_URL%" \
89
- && 7z x C:/tmp.zip -oC:/ -bsp1 \
90
- && cd C:/zlib-%ZLIB_VERSION% \
91
- && cmake . -G "Ninja" -DCMAKE_INSTALL_PREFIX=C:/zlib \
92
- && ninja \
93
- && ninja install \
94
- && setx ZLIB_ROOT "C:/zlib" \
95
- && setx PATH "%PATH%;C:\z lib\b in" \
96
- && cd .. \
97
- && rmdir C:\z lib-%ZLIB_VERSION% /s /q \
98
- && del C:\t mp.zip
99
-
100
- # Install OpenCascade
101
- ARG OCC_VERSION="7_9_1"
102
- ARG OCC_URL="https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V$OCC_VERSION.zip"
103
- RUN curl -o "C:/tmp.zip" -L "%OCC_URL%" \
104
- && 7z x C:/tmp.zip -oC:/ -bsp1 \
105
- && cd C:\O CCT-%OCC_VERSION% \
106
- && cmake . -G "Ninja" \
107
- -DCMAKE_BUILD_TYPE=Release \
108
- -DINSTALL_DIR=C:/OpenCascade \
109
- -DBUILD_LIBRARY_TYPE=Shared \
110
- -DBUILD_DOC_Overview=0 \
111
- -DBUILD_MODULE_ApplicationFramework=0 \
112
- -DBUILD_MODULE_DataExchange=1 \
113
- -DBUILD_MODULE_Draw=0 \
114
- -DBUILD_MODULE_FoundationClasses=0 \
115
- -DBUILD_MODULE_ModelingAlgorithms=0 \
116
- -DBUILD_MODULE_ModelingData=0 \
117
- -DBUILD_MODULE_Visualization=0 \
118
- -DUSE_DRACO=0 \
119
- -DUSE_FREEIMAGE=0 \
120
- -DUSE_FREETYPE=0 \
121
- -DUSE_GLES2=0 \
122
- -DUSE_OPENGL=0 \
123
- -DUSE_OPENVR=0 \
124
- -DUSE_RAPIDJSON=0 \
125
- -DUSE_TBB=0 \
126
- -DUSE_TK=0 \
127
- -DUSE_VTK=0 \
128
- && cmake --build . \
129
- && cmake --install . \
130
- && setx OpenCASCADE_DIR C:/OpenCascade/cmake \
131
- && setx PATH "%PATH%;C:\O penCascade\w in64\g cc\b in" \
132
- && cd .. \
133
- && rmdir C:\O CCT-%OCC_VERSION% /s /q \
134
- && del C:\t mp.zip
135
-
136
- # Install Qt Runtime DLLs
137
- ARG QT_VERSION="6.6.2"
138
- ARG QT_BASEURL="https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_662"
139
- ARG QT_URL="${QT_BASEURL}/qt.qt6.662.win64_mingw/6.6.2-0-202402121135"
140
- ARG QT_DLLS_URL="${QT_URL}MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev1-runtime.7z"
141
- RUN powershell -Command Invoke-WebRequest $env:QT_DLLS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
142
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
143
- && del C:\t mp.7z
144
-
145
- # Install Qt Tools
146
- ARG QT_TOOLS_URL="${QT_URL}qttools-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
147
- RUN powershell -Command Invoke-WebRequest $env:QT_TOOLS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
148
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
149
- && setx PATH "%PATH%;C:\Q t\% QT_VERSION%\m ingw_64\b in" \
150
- && del C:\t mp.7z
151
-
152
- # Install Qt Base
153
- ARG QT_BASE_URL="${QT_URL}qtbase-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
154
- ARG QT_PRI="C:\\ Qt\\ $QT_VERSION\\ mingw_64\\ mkspecs\\ qconfig.pri"
155
- RUN powershell -Command Invoke-WebRequest $env:QT_BASE_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
156
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
157
- && del C:\t mp.7z \
158
- && powershell -Command "((Get-Content -path $env:QT_PRI -Raw) -replace 'Enterprise', 'OpenSource') | Set-Content -Path $env:QT_PRI" \
159
- && powershell -Command "((Get-Content -path $env:QT_PRI -Raw) -replace 'licheck.exe', '') | Set-Content -Path $env:QT_PRI"
160
-
161
- # Install Qt SVG
162
- ARG QT_SVG_URL="${QT_URL}qtsvg-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
163
- RUN powershell -Command Invoke-WebRequest $env:QT_SVG_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
164
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
165
- && del C:\t mp.7z
166
-
167
- # Install Qt Declarative
168
- ARG QT_DECLARATIVE_URL="${QT_URL}qtdeclarative-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
169
- RUN powershell -Command Invoke-WebRequest $env:QT_DECLARATIVE_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
170
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
171
- && del C:\t mp.7z
172
-
173
- # Install Qt OpenGL (not sure if needed)
174
- ARG QT_QT5OPENGL_URL="${QT_URL}opengl32sw-64-mesa_11_2_2-signed_sha256.7z"
175
- RUN powershell -Command Invoke-WebRequest $env:QT_QT5OPENGL_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
176
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
177
- && del C:\t mp.7z
178
-
179
- # Install Qt D3D (not sure if needed)
180
- ARG QT_QT5D3D_URL="${QT_URL}d3dcompiler_47-x64.7z"
181
- RUN powershell -Command Invoke-WebRequest $env:QT_QT5D3D_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
182
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
183
- && del C:\t mp.7z
184
-
185
- # Install Qt Translations
186
- ARG QT_TRANSLATIONS_URL="${QT_URL}qttranslations-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
187
- RUN powershell -Command Invoke-WebRequest $env:QT_TRANSLATIONS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
188
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
189
- && del C:\t mp.7z
190
-
191
- # Install Qt5 Compat
192
- ARG QT_QT5COMPAT_URL="${QT_BASEURL}/qt.qt6.662.qt5compat.win64_mingw/6.6.2-0-202402121135qt5compat-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
193
- RUN powershell -Command Invoke-WebRequest $env:QT_QT5COMPAT_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
194
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
195
- && del C:\t mp.7z
196
-
197
- # Install Qt Image Formats Plugin
198
- ARG QT_IMAGEFORMATS_URL="${QT_BASEURL}/qt.qt6.662.addons.qtimageformats.win64_mingw/6.6.2-0-202402121135qtimageformats-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z"
199
- RUN powershell -Command Invoke-WebRequest $env:QT_IMAGEFORMATS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \
200
- && 7z x C:/tmp.7z -oC:/Qt -bsp1 \
201
- && del C:\t mp.7z
202
-
203
- # Install Inno Setup
204
- # Note: 6.4.3 emits some warnings when generating the LibrePCB installer,
205
- # should be reviewed when upgrading
206
- ARG INNOSETUP_URL="https://files.jrsoftware.org/is/6/innosetup-6.2.2.exe"
207
- RUN curl -o "C:/tmp.exe" -L "%INNOSETUP_URL%" \
208
- && C:/tmp.exe /NOICONS /VERYSILENT /DIR=C:\i nnosetup \
209
- && setx PATH "%PATH%;C:\i nnosetup" \
210
- && del C:\t mp.exe
211
-
212
- # Pre-install a Python version
213
- RUN uv python install 3.13
214
-
215
- # Install OpenSSL (last one in Dockerfile because it should be updated regularly)
216
- ARG OPENSSL_URL="https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/tools_opensslv3_x64/qt.tools.opensslv3.win_x64/3.0.16-1openssl_3.0.16_prebuild_x64.7z"
217
- RUN curl -o "C:/tmp.7z" -L "%OPENSSL_URL%" \
218
- && 7z x C:/tmp.7z -oC:/Qt/Tools/OpenSSLv3 -bsp1 \
219
- && setx OPENSSL_ROOT "C:/Qt/Tools/OpenSSLv3/Win_x64" \
220
- && del C:\t mp.7z
0 commit comments