mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-14 20:36:32 +00:00
5c5a226457
We need diff_files support for Meson wraps on the Windows CI for the libpsl wrap which is only available since Meson 0.63. We leave the Fedora Meson version on 0.62 so that we still cover that too since it's our minimum requirement. Only the image prepare script is updated for now, but the image tag is not bumped on purpose, since the 1.22 branch has very low activity and building and uploading/distributing a new image is fairly expensive. For now we just update the meson version in the Windows jobs directly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4890>
66 lines
2.9 KiB
Docker
66 lines
2.9 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 --installargs 'AssociateFiles=1 PrependPath=1 Include_pip=1 Include_dev=1'
|
|
RUN choco install -y msys2 --params '/NoPath /NoUpdate /InstallDir:C:\\msys64'
|
|
|
|
# Remove MAX_PATH limit of 260 characters
|
|
RUN New-ItemProperty -Path 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem' `
|
|
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
|
|
RUN git config --system core.longpaths true
|
|
|
|
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\
|
|
RUN Invoke-WebRequest -Uri https://aka.ms/vscollect.exe -OutFile C:\TEMP\collect.exe
|
|
# Download channel for fixed install.
|
|
RUN Invoke-WebRequest -Uri https://aka.ms/vs/16/release/channel -OutFile C:\TEMP\VisualStudio.chman
|
|
# Download and install Build Tools for Visual Studio 2017 for native desktop workload.
|
|
RUN Invoke-WebRequest -Uri https://aka.ms/vs/16/release/vs_buildtools.exe -OutFile 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==1.1.1
|
|
|
|
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"
|