mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
02c277258b
In order to do this, we need to switch to the Server container image, instead of the ServerCore we were using till now. This image also only has Server2022 base variants. This is a continuation of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1783 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
62 lines
2.6 KiB
Docker
62 lines
2.6 KiB
Docker
# escape=`
|
|
|
|
FROM 'mcr.microsoft.com/windows/server:ltsc2022'
|
|
|
|
# Make sure any failure in PowerShell is fatal
|
|
ENV ErrorActionPreference='Stop'
|
|
SHELL ["powershell","-NoLogo", "-NonInteractive", "-Command"]
|
|
|
|
RUN Install-WindowsFeature -Name Server-Media-Foundation
|
|
|
|
# Install Chocolatey
|
|
RUN iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
|
# Install required packages
|
|
RUN choco install -y vcredist140
|
|
RUN choco install -y cmake --installargs 'ADD_CMAKE_TO_PATH=System'
|
|
RUN choco install -y git --params '/NoAutoCrlf /NoCredentialManager /NoShellHereIntegration /NoGuiHereIntegration /NoShellIntegration'
|
|
RUN choco install -y git-lfs
|
|
RUN choco install -y 7zip
|
|
RUN choco install -y python3
|
|
RUN choco install -y msys2 --params '/NoPath /NoUpdate /InstallDir:C:\\msys64'
|
|
|
|
RUN c:\msys64\usr\bin\bash -lc 'pacman -S --noconfirm mingw-w64-ucrt-x86_64-toolchain ninja'
|
|
# Visual Studio can't be installed with choco.
|
|
# It depends on dotnetfx v4.8.0.20190930, which requires a reboot: dotnetfx (exit code 3010)
|
|
# https://github.com/microsoft/vs-dockerfiles/blob/main/native-desktop/
|
|
# Set up environment to collect install errors.
|
|
COPY Install.cmd C:\TEMP\
|
|
ADD https://aka.ms/vscollect.exe C:\TEMP\collect.exe
|
|
# Download channel for fixed install.
|
|
ARG CHANNEL_URL=https://aka.ms/vs/16/release/channel
|
|
ADD ${CHANNEL_URL} C:\TEMP\VisualStudio.chman
|
|
# Download and install Build Tools for Visual Studio 2017 for native desktop workload.
|
|
ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
|
|
RUN C:\TEMP\Install.cmd C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
|
|
--channelUri C:\TEMP\VisualStudio.chman `
|
|
--installChannelUri C:\TEMP\VisualStudio.chman `
|
|
--add Microsoft.VisualStudio.Workload.VCTools `
|
|
--add Microsoft.VisualStudio.Workload.UniversalBuildTools `
|
|
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 `
|
|
--add Microsoft.VisualStudio.Component.VC.Tools.ARM `
|
|
--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 `
|
|
--includeRecommended `
|
|
--installPath C:\BuildTools
|
|
|
|
RUN Get-ChildItem C:\BuildTools
|
|
RUN Get-ChildItem C:\BuildTools\VC\Tools\MSVC
|
|
RUN Get-ChildItem 'C:\Program Files (x86)\Windows Kits\10\lib'
|
|
|
|
RUN pip3 install meson==0.60.3
|
|
|
|
RUN 'git config --global user.email "cirunner@gstreamer.freedesktop.org"; git config --global user.name "GStreamer CI system"'
|
|
|
|
COPY install_mingw.ps1 C:\
|
|
RUN C:\install_mingw.ps1
|
|
|
|
ARG DEFAULT_BRANCH="main"
|
|
|
|
COPY prepare_gst_env.ps1 C:\
|
|
RUN C:\prepare_gst_env.ps1
|
|
|
|
COPY prepare_cerbero_env.sh C:\
|
|
RUN C:\MinGW\msys\1.0\bin\bash.exe --login -c "C:/prepare_cerbero_env.sh"
|