diff --git a/README.md b/README.md index 7c70bdc..15e1ec2 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,23 @@ In addition, this image contains [`linuxdeployqt`](https://github.com/probonopd/linuxdeployqt) to build the AppImage. +### `ubuntu-20.04-qt6.6` + +Based on Ubuntu 20.04, containing Qt 6.6.x from +[download.qt.io](https://download.qt.io) and OpenCascade OCCT from +[github/Open-Cascade-SAS/OCCT](https://github.com/Open-Cascade-SAS/OCCT). +This image is intended for deployment of official binary releases of LibrePCB, +which should be linked against an old version of `glibc` (for maximum +compatibility) but still using a recent Qt version (to get the latest +features/bugfixes of Qt). + +In addition, this image contains +[`linuxdeployqt`](https://github.com/probonopd/linuxdeployqt) to build the +AppImage. + +This image will deprecate `ubuntu-18.04-qt5.15.2` once we definitively +switch from Qt5 to Qt6. Currently we provide both Qt5 and Qt6 builds. + ### `ubuntu-20.04` Based on Ubuntu 20.04, containing Qt from the official Ubuntu package @@ -40,13 +57,19 @@ googletest). Based on Ubuntu 22.04, containing Qt and OpenCascade OCE from the official Ubuntu package repository. This image is intended to check if LibrePCB -compiles on a standard Ubuntu 18.04. +compiles on a standard Ubuntu 22.04. ### `windowsservercore-ltsc2019-qt5.15.2-32bit` Based on Windows Server Core LTSC2019 with Qt5.15.2, MinGW 8.1 32-bit -and OpenCascade OCCT 7.7.0. This image is intended for deployment of official -binary releases of LibrePCB for Windows. +and OpenCascade OCCT 7.7.2. This image is intended for deployment of official +32-bit binary releases of LibrePCB for Windows. + +### `windowsservercore-ltsc2019-qt6.6-64bit` + +Based on Windows Server Core LTSC2019 with Qt6.6.x, MinGW 11.2.0 64-bit +and OpenCascade OCCT 7.7.2. This image is intended for deployment of official +64-bit binary releases of LibrePCB for Windows. ### `webtools` diff --git a/ubuntu-20.04-qt6.6/Dockerfile b/ubuntu-20.04-qt6.6/Dockerfile new file mode 100644 index 0000000..753872a --- /dev/null +++ b/ubuntu-20.04-qt6.6/Dockerfile @@ -0,0 +1,189 @@ +FROM ubuntu:20.04 + +# Install APT packages +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update -q && apt-get -y -q install --no-install-recommends \ + bzip2 \ + ca-certificates \ + clang \ + cmake \ + curl \ + dbus \ + doxygen \ + file \ + g++ \ + git \ + graphviz \ + libc++-dev \ + libc++abi-dev \ + libcups2 \ + libegl1-mesa \ + libffi-dev \ + libfontconfig1 \ + libfreetype6 \ + libglu1-mesa-dev \ + libodbc1 \ + libpq5 \ + libxcb-cursor0 \ + libxcb-glx0 \ + libxcb-icccm4 \ + libxcb-icccm4 \ + libxcb-image0 \ + libxcb-keysyms1 \ + libxcb-randr0 \ + libxcb-render-util0 \ + libxcb-shape0 \ + libxcb-shm0 \ + libxcb-xfixes0 \ + libxcb-xinerama0 \ + libxcb1 \ + libxkbcommon-x11-0 \ + make \ + ninja-build \ + p7zip-full \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-wheel \ + software-properties-common \ + wget \ + xvfb \ + zlib1g \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +# Set Python3 as default Python version +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 100 +RUN update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 100 + +# Allow installing pip packages system-wide since there's no risk in a container +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +# Install OpenCascade +ARG OCC_VERSION="7_7_2" +ARG OCC_URL="https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V$OCC_VERSION.tar.gz" +RUN wget -c "${OCC_URL}" -O /tmp.tar.gz \ + && tar -xzf /tmp.tar.gz -C /opt \ + && rm /tmp.tar.gz \ + && cd "/opt/OCCT-$OCC_VERSION" \ + && cmake . -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + -DINSTALL_DIR=/usr \ + -DBUILD_LIBRARY_TYPE=Shared \ + -DBUILD_MODULE_ApplicationFramework=0 \ + -DBUILD_MODULE_DataExchange=1 \ + -DBUILD_MODULE_Draw=0 \ + -DBUILD_MODULE_FoundationClasses=0 \ + -DBUILD_MODULE_ModelingAlgorithms=0 \ + -DBUILD_MODULE_ModelingData=0 \ + -DBUILD_MODULE_Visualization=0 \ + -DUSE_DRACO=0 \ + -DUSE_FREEIMAGE=0 \ + -DUSE_FREETYPE=0 \ + -DUSE_GLES2=0 \ + -DUSE_OPENGL=0 \ + -DUSE_OPENVR=0 \ + -DUSE_RAPIDJSON=0 \ + -DUSE_TBB=0 \ + -DUSE_TK=0 \ + -DUSE_VTK=0 \ + && ninja && ninja install \ + && cd / && rm -rf "/opt/OCCT-$OCC_VERSION" + +# Install Qt Tools +ARG QT_VERSION="6.6.2" +ARG QT_BASEURL="https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_662" +ARG QT_URL="$QT_BASEURL/qt.qt6.662.gcc_64/6.6.2-0-202402121133" +ENV QTDIR="/opt/qt/$QT_VERSION/gcc_64" \ + PATH="/opt/qt/$QT_VERSION/gcc_64/bin:$PATH" \ + LD_LIBRARY_PATH="/opt/qt/$QT_VERSION/gcc_64/lib:$LD_LIBRARY_PATH" \ + PKG_CONFIG_PATH="/opt/qt/$QT_VERSION/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH" +RUN mkdir /opt/qt \ + && wget -c "${QT_URL}qttools-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z \ + # The AppImage deployment tools might read some paths from the Qt libraries, + # but they are wrong so let's create a symlink to make them working anyway: + && mkdir -p "/home/qt/work" \ + && ln -s "/opt/qt/$QT_VERSION/gcc_64" "/home/qt/work/install" + +# Install Qt Base +ARG QT_PRI="/opt/qt/$QT_VERSION/gcc_64/mkspecs/qconfig.pri" +RUN wget -c "${QT_URL}qtbase-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && sed -i 's/Enterprise/OpenSource/' "$QT_PRI" \ + && sed -i 's/licheck64//' "$QT_PRI" \ + # Allow removing unneeded SQL plugins during CI job to fix deployment issue: + # https://forum.qt.io/topic/151452/what-qt-specific-files-exactly-do-i-need-to-add-when-deploying + && chmod 777 $QTDIR/plugins/sqldrivers \ + && rm /tmp.7z + +# Install Qt SVG +RUN wget -c "${QT_URL}qtsvg-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install Qt Declarative +RUN wget -c "${QT_URL}qtdeclarative-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install Qt Translations +RUN wget -c "${QT_URL}qttranslations-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install Qt5 Compat +RUN wget -c "${QT_BASEURL}/qt.qt6.662.qt5compat.gcc_64/6.6.2-0-202402121133qt5compat-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install Qt Image Formats Plugin +RUN wget -c "${QT_BASEURL}/qt.qt6.662.addons.qtimageformats.gcc_64/6.6.2-0-202402121133qtimageformats-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install libicu +RUN wget -c "${QT_URL}icu-linux-Rhel7.2-x64.7z" -O /tmp.7z \ + && 7za x /tmp.7z -o/opt/qt \ + && rm /tmp.7z + +# Install linuxdeployqt +ARG LINUXDEPLOYQT_URL="https://github.com/probonopd/linuxdeployqt/releases/download/10/linuxdeployqt-continuous-x86_64.AppImage" +RUN wget -c "$LINUXDEPLOYQT_URL" -O /linuxdeployqt.AppImage \ + && chmod a+x /linuxdeployqt.AppImage \ + && /linuxdeployqt.AppImage --appimage-extract \ + && chmod -R 755 /squashfs-root \ + && mv /squashfs-root /opt/linuxdeployqt \ + && ln -s /opt/linuxdeployqt/AppRun /usr/local/bin/linuxdeployqt \ + && rm /linuxdeployqt.AppImage + +# Install beta appimagetool which should not depend on any system libraries +# anymore, and should therefore run on Ubuntu 22.04 which doesn't provide +# libfuse2 anymore (see https://github.com/LibrePCB/LibrePCB/issues/980). +# However, since there are no official releases yet, the binary is downloaded +# from the nightly build and added to the repository. Download URL: +# https://github.com/probonopd/go-appimage/releases/download/continuous/appimagetool-765-x86_64.AppImage +COPY appimagetool-x86_64.AppImage /appimagetool-x86_64.AppImage +RUN /appimagetool-x86_64.AppImage --appimage-extract \ + && chmod -R 755 /squashfs-root \ + && mv /squashfs-root /opt/appimagetool \ + && ln -s /opt/appimagetool/AppRun /usr/local/bin/appimagetool \ + && rm /appimagetool-x86_64.AppImage + +# Install latest OpenSSL to avoid possible issues if servers some day stop +# working with an old OpenSSL library (as already happened in the past). +ARG OPENSSL_VERSION="3.2.1" +RUN wget -c "https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz" -O /tmp.tar.gz \ + && tar -zxf /tmp.tar.gz \ + && cd "./openssl-$OPENSSL_VERSION" \ + && ./config --prefix=/usr --libdir=lib --openssldir=/etc/ssl '-Wl,--enable-new-dtags,-rpath,$(LIBRPATH)' \ + && make -s -j8 \ + && make install \ + && ldconfig \ + && cd .. \ + && rm -rf "./openssl-$OPENSSL_VERSION" \ + && rm /tmp.tar.gz + +# LibrePCB's unittests expect that there is a USERNAME environment variable +ENV USERNAME="root" diff --git a/ubuntu-20.04-qt6.6/appimagetool-x86_64.AppImage b/ubuntu-20.04-qt6.6/appimagetool-x86_64.AppImage new file mode 100755 index 0000000..0492f4b --- /dev/null +++ b/ubuntu-20.04-qt6.6/appimagetool-x86_64.AppImage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a40a596ffb7892c33cef161fcdb545cf7de6a7760ef4cfc577563ab9453dff88 +size 8958296 diff --git a/ubuntu-22.04/Dockerfile b/ubuntu-22.04/Dockerfile index a504f18..ad0abda 100644 --- a/ubuntu-22.04/Dockerfile +++ b/ubuntu-22.04/Dockerfile @@ -22,6 +22,11 @@ RUN apt-get update -q && apt-get -y -q install --no-install-recommends \ libqt5opengl5-dev \ libqt5sql5-sqlite \ libqt5svg5-dev \ + libqt6core5compat6-dev \ + libqt6opengl6-dev \ + libqt6openglwidgets6 \ + libqt6sql6-sqlite \ + libqt6svg6-dev \ make \ ninja-build \ openssl \ @@ -30,6 +35,12 @@ RUN apt-get update -q && apt-get -y -q install --no-install-recommends \ python3-setuptools \ python3-wheel \ qt5-image-formats-plugins \ + qt6-base-dev \ + qt6-declarative-dev \ + qt6-image-formats-plugins \ + qt6-l10n-tools \ + qt6-tools-dev \ + qt6-tools-dev-tools \ qtbase5-dev \ qtdeclarative5-dev \ qtquickcontrols2-5-dev \ diff --git a/windowsservercore-ltsc2019-qt6.6-64bit/Dockerfile b/windowsservercore-ltsc2019-qt6.6-64bit/Dockerfile new file mode 100644 index 0000000..a13591e --- /dev/null +++ b/windowsservercore-ltsc2019-qt6.6-64bit/Dockerfile @@ -0,0 +1,197 @@ +FROM mcr.microsoft.com/windows/servercore:ltsc2019 + +# Add OpenGL DLLs from a Windows desktop to allow running unit tests within the container +ADD *.dll C:/Windows/System32/ + +# Install Microsoft Visual C++ Redistributable for Visual Studio 2015-2022 +ARG VCREDIST_URL="https://download.visualstudio.microsoft.com/download/pr/6ba404bb-6312-403e-83be-04b062914c98/1AD7988C17663CC742B01BEF1A6DF2ED1741173009579AD50A94434E54F56073/VC_redist.x64.exe" +RUN powershell -Command Invoke-WebRequest $env:VCREDIST_URL -OutFile 'C:/tmp.exe' -UseBasicParsing ; \ + && C:/tmp.exe /quiet /norestart \ + && del C:\tmp.exe + +# Install 7-Zip +ARG 7ZIP_URL="https://7-zip.org/a/7z2301-x64.exe" +RUN powershell -Command Invoke-WebRequest $env:7ZIP_URL -OutFile 'C:/tmp.exe' -UseBasicParsing ; \ + && C:/tmp.exe /S /D="C:/7zip" \ + && setx PATH "%PATH%;C:\7zip" \ + && del C:\tmp.exe + +# Install Git +ARG GIT_URL="https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe" +RUN powershell -Command Invoke-WebRequest $env:GIT_URL -OutFile 'C:/tmp.exe' -UseBasicParsing ; \ + && C:/tmp.exe /VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS \ + /COMPONENTS="gitlfs" /o:PathOption="CmdTools" /o:CRLFOption="LFOnly" \ + && del C:\tmp.exe + +# Install Python +# - Set PIP_BREAK_SYSTEM_PACKAGES to allow installing pip packages system-wide +# since there's no risk in a container +# - Put Python user site in PATH to allow installing packages with --user +ARG PYTHON_URL="https://www.python.org/ftp/python/3.12.2/python-3.12.2-amd64.exe" +RUN powershell -Command Invoke-WebRequest $env:PYTHON_URL -OutFile 'C:/tmp.exe' -UseBasicParsing ; \ + && C:/tmp.exe /quiet InstallAllUsers=1 PrependPath=1 Include_doc=0 Include_tcltk=0 TargetDir="C:\python" \ + && setx PYTHONIOENCODING "UTF-8" \ + && setx PIP_BREAK_SYSTEM_PACKAGES 1 \ + && cmd /c "FOR /F %i IN ('C:\python\python.exe -m site --user-base') DO setx PATH "%PATH%;%i\bin"" \ + && del C:\tmp.exe + +# Install CMake +ARG CMAKE_URL="https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-windows-x86_64.zip" +RUN powershell -Command Invoke-WebRequest $env:CMAKE_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/ -bsp1 \ + && rename cmake-3.28.3-windows-x86_64 cmake \ + && setx PATH "%PATH%;C:\cmake\bin" \ + && del C:\tmp.7z + +# Install Ninja +ARG NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" +RUN powershell -Command Invoke-WebRequest $env:NINJA_URL -OutFile 'C:/tmp.zip' -UseBasicParsing ; \ + && 7z x C:/tmp.zip -oC:/ninja -bsp1 \ + && setx PATH "%PATH%;C:\ninja" \ + && del C:\tmp.zip + +# Install CCache +ARG CCACHE_URL="https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1-windows-x86_64.zip" +RUN powershell -Command Invoke-WebRequest $env:CCACHE_URL -OutFile 'C:/tmp.zip' -UseBasicParsing ; \ + && 7z x C:/tmp.zip -oC:/ -bsp1 \ + && rename ccache-4.9.1-windows-x86_64 ccache \ + && setx PATH "%PATH%;C:\ccache" \ + && del C:\tmp.zip + +# Install MinGW +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" +RUN powershell -Command Invoke-WebRequest $env:MINGW_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && setx PATH "%PATH%;C:\Qt\Tools\mingw1120_64\bin" \ + && del C:\tmp.7z + +# Install ZLib +ARG ZLIB_VERSION="1.3.1" +ARG ZLIB_URL="https://github.com/madler/zlib/releases/download/v$ZLIB_VERSION/zlib131.zip" +RUN powershell -Command Invoke-WebRequest $env:ZLIB_URL -OutFile 'C:/tmp.zip' -UseBasicParsing ; \ + && 7z x C:/tmp.zip -oC:/ -bsp1 \ + && cd C:/zlib-%ZLIB_VERSION% \ + && cmake . -G "Ninja" -DCMAKE_INSTALL_PREFIX=C:/zlib \ + && ninja \ + && ninja install \ + && setx ZLIB_ROOT "C:/zlib" \ + && setx PATH "%PATH%;C:\zlib\bin" \ + && cd .. \ + && rmdir C:\zlib-%ZLIB_VERSION% /s /q \ + && del C:\tmp.zip + +# Install OpenCascade +ARG OCC_VERSION="7_7_2" +ARG OCC_URL="https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V$OCC_VERSION.zip" +RUN powershell -Command Invoke-WebRequest $env:OCC_URL -OutFile 'C:/tmp.zip' -UseBasicParsing ; \ + && 7z x C:/tmp.zip -oC:/ -bsp1 \ + && cd C:\OCCT-%OCC_VERSION% \ + && cmake . -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + -DINSTALL_DIR=C:/OpenCascade \ + -DBUILD_LIBRARY_TYPE=Shared \ + -DBUILD_MODULE_ApplicationFramework=0 \ + -DBUILD_MODULE_DataExchange=1 \ + -DBUILD_MODULE_Draw=0 \ + -DBUILD_MODULE_FoundationClasses=0 \ + -DBUILD_MODULE_ModelingAlgorithms=0 \ + -DBUILD_MODULE_ModelingData=0 \ + -DBUILD_MODULE_Visualization=0 \ + -DUSE_DRACO=0 \ + -DUSE_FREEIMAGE=0 \ + -DUSE_FREETYPE=0 \ + -DUSE_GLES2=0 \ + -DUSE_OPENGL=0 \ + -DUSE_OPENVR=0 \ + -DUSE_RAPIDJSON=0 \ + -DUSE_TBB=0 \ + -DUSE_TK=0 \ + -DUSE_VTK=0 \ + && cmake --build . \ + && cmake --install . \ + && setx OpenCASCADE_DIR C:/OpenCascade/cmake \ + && setx PATH "%PATH%;C:\OpenCascade\win64\gcc\bin" \ + && cd .. \ + && rmdir C:\OCCT-%OCC_VERSION% /s /q \ + && del C:\tmp.zip + +# Install Qt whatever DLLs +ARG QT_VERSION="6.6.2" +ARG QT_BASEURL="https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_662" +ARG QT_URL="${QT_BASEURL}/qt.qt6.662.win64_mingw/6.6.2-0-202402121135" +ARG QT_DLLS_URL="${QT_URL}MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev1-runtime.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_DLLS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt Tools +ARG QT_TOOLS_URL="${QT_URL}qttools-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_TOOLS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && setx PATH "%PATH%;C:\Qt\%QT_VERSION%\mingw_64\bin" \ + && del C:\tmp.7z + +# Install Qt Base +ARG QT_BASE_URL="${QT_URL}qtbase-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z" +ARG QT_PRI="C:\\Qt\\$QT_VERSION\\mingw_64\\mkspecs\\qconfig.pri" +RUN powershell -Command Invoke-WebRequest $env:QT_BASE_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z \ + && powershell -Command "((Get-Content -path $env:QT_PRI -Raw) -replace 'Enterprise', 'OpenSource') | Set-Content -Path $env:QT_PRI" \ + && powershell -Command "((Get-Content -path $env:QT_PRI -Raw) -replace 'licheck.exe', '') | Set-Content -Path $env:QT_PRI" + +# Install Qt SVG +ARG QT_SVG_URL="${QT_URL}qtsvg-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_SVG_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt Declarative +ARG QT_DECLARATIVE_URL="${QT_URL}qtdeclarative-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_DECLARATIVE_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt OpenGL (not sure if needed) +ARG QT_QT5OPENGL_URL="${QT_URL}opengl32sw-64-mesa_11_2_2-signed_sha256.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_QT5OPENGL_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt D3D (not sure if needed) +ARG QT_QT5D3D_URL="${QT_URL}d3dcompiler_47-x64.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_QT5D3D_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt Translations +ARG QT_TRANSLATIONS_URL="${QT_URL}qttranslations-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64.7z" +RUN powershell -Command Invoke-WebRequest $env:QT_TRANSLATIONS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt5 Compat +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" +RUN powershell -Command Invoke-WebRequest $env:QT_QT5COMPAT_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Qt Image Formats Plugin +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" +RUN powershell -Command Invoke-WebRequest $env:QT_IMAGEFORMATS_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && del C:\tmp.7z + +# Install Inno Setup +ARG INNOSETUP_URL="https://files.jrsoftware.org/is/6/innosetup-6.2.2.exe" +RUN powershell -Command Invoke-WebRequest $env:INNOSETUP_URL -OutFile 'C:/tmp.exe' -UseBasicParsing ; \ + && C:/tmp.exe /NOICONS /VERYSILENT /DIR=C:\innosetup \ + && setx PATH "%PATH%;C:\innosetup" \ + && del C:\tmp.exe + +# Install OpenSSL (last one in Dockerfile because it should be updated regularly) +ARG OPENSSL_URL="https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/tools_opensslv3_x64/qt.tools.opensslv3.win_x64/3.0.12-1openssl_3.0.12_prebuild_x64.7z" +RUN powershell -Command Invoke-WebRequest $env:OPENSSL_URL -OutFile 'C:/tmp.7z' -UseBasicParsing ; \ + && 7z x C:/tmp.7z -oC:/Qt -bsp1 \ + && setx OPENSSL_ROOT "C:/Qt/Tools/OpenSSLv3/Win_x64" \ + && del C:\tmp.7z diff --git a/windowsservercore-ltsc2019-qt6.6-64bit/QtIFW-3.2.2.tar.bz2 b/windowsservercore-ltsc2019-qt6.6-64bit/QtIFW-3.2.2.tar.bz2 new file mode 100644 index 0000000..f052ee8 --- /dev/null +++ b/windowsservercore-ltsc2019-qt6.6-64bit/QtIFW-3.2.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:546f6aa4ed2710a81e1fd7e5978b244f1b6c74741bce07b732e3859a6ba081a2 +size 60056016 diff --git a/windowsservercore-ltsc2019-qt6.6-64bit/glu32.dll b/windowsservercore-ltsc2019-qt6.6-64bit/glu32.dll new file mode 100644 index 0000000..4906026 Binary files /dev/null and b/windowsservercore-ltsc2019-qt6.6-64bit/glu32.dll differ diff --git a/windowsservercore-ltsc2019-qt6.6-64bit/opengl32.dll b/windowsservercore-ltsc2019-qt6.6-64bit/opengl32.dll new file mode 100644 index 0000000..8fe41ef Binary files /dev/null and b/windowsservercore-ltsc2019-qt6.6-64bit/opengl32.dll differ