From b51fffc371ebb19ce3b3be6e974f6b6651c5585c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Jun 2026 07:42:53 +0000 Subject: [PATCH 1/2] Initial plan From 8c3c12798ddbdfd85887dea4062d50ac677940b7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Jun 2026 07:47:44 +0000 Subject: [PATCH 2/2] Fix Windows modern package dependency bootstrap on clean CI runners --- BUILD.md | 7 ++--- docs/build/windows.md | 9 +++---- tests/test_renderer_font_build_lane_parity.py | 4 +++ tools/build_internal_deps.ps1 | 26 +++++++++++++++---- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/BUILD.md b/BUILD.md index e3f47ce1..5741420b 100644 --- a/BUILD.md +++ b/BUILD.md @@ -20,9 +20,10 @@ Requirements: Visual Studio 2017 `v141` toolset available - MSBuild on `PATH` - CMake on `PATH` for the repo-managed codec bootstrap -- Repo-managed third-party codec sources under `src/libs/_deps/` - The Windows projects now bootstrap `libogg`, `libvorbis`, `zlib`, and - `libpng` from that tree instead of probing system SDK or Vcpkg installs. +- Git on `PATH` so repo-managed codec source mirrors can be cloned into + `src/libs/_deps/` when missing + The Windows projects bootstrap `libogg`, `libvorbis`, `zlib`, and `libpng` + from that cache instead of probing system SDK or Vcpkg installs. Build the recovered native gameplay modules and helper executable with the retail-default toolset: diff --git a/docs/build/windows.md b/docs/build/windows.md index 38c671ff..a35ba95c 100644 --- a/docs/build/windows.md +++ b/docs/build/windows.md @@ -130,11 +130,10 @@ repo-managed `libogg`, `libvorbis`, `zlib`, and `libpng` trees through `tools/build_internal_deps.ps1`, staging the resulting headers and import libraries under `src/libs/vorbis/` and `src/libs/libpng/`. -That bootstrap expects the corresponding source trees to exist under -`src/libs/_deps/` and expects `cmake` to be available on `PATH`. Once those -repo-managed sources are present, solution or project builds can invoke MSBuild -directly and the codec prerequisites will be prepared automatically before the -normal validation steps run. +That bootstrap expects `cmake` and `git` on `PATH`. Missing dependency sources +under `src/libs/_deps/` are cloned automatically into that cache before MSBuild +continues, so solution or project builds can prepare codec prerequisites +without a manual pre-sync step. These staged codec trees are still build-time conveniences, not part of the retail runtime surface: the Steam install does not ship `vorbisfile.dll`, diff --git a/tests/test_renderer_font_build_lane_parity.py b/tests/test_renderer_font_build_lane_parity.py index 0036020c..55b5f329 100644 --- a/tests/test_renderer_font_build_lane_parity.py +++ b/tests/test_renderer_font_build_lane_parity.py @@ -54,6 +54,10 @@ def test_renderer_build_lane_uses_repo_managed_dependencies() -> None: assert "Ensure-Vorbis" in internal_deps_script assert "Ensure-Png" in internal_deps_script assert "Ensure-FreeType" in internal_deps_script + assert "Ensure-GitDependencySource -Name 'libogg'" in internal_deps_script + assert "Ensure-GitDependencySource -Name 'libvorbis'" in internal_deps_script + assert "Ensure-GitDependencySource -Name 'zlib'" in internal_deps_script + assert "Ensure-GitDependencySource -Name 'libpng'" in internal_deps_script assert "QL_ENABLE_FREETYPE ?= 0" in unix_makefile assert "pkg-config --cflags freetype2" in unix_makefile diff --git a/tools/build_internal_deps.ps1 b/tools/build_internal_deps.ps1 index 7d9d25bb..803018ae 100644 --- a/tools/build_internal_deps.ps1 +++ b/tools/build_internal_deps.ps1 @@ -39,7 +39,7 @@ function Get-GitPath { } } - throw 'git was not found on PATH. Install Git to bootstrap the repo-managed FreeType source cache.' + throw 'git was not found on PATH. Install Git to bootstrap the repo-managed dependency source cache.' } function Get-VswherePath { @@ -382,11 +382,19 @@ function Ensure-Vorbis { $oggSourceDir = Join-Path $depsRoot 'libogg' $vorbisSourceDir = Join-Path $depsRoot 'libvorbis' - Ensure-DependencySources -Name 'libogg' -RequiredPaths @( + Ensure-GitDependencySource -Name 'libogg' ` + -SourceDir $oggSourceDir ` + -RepositoryUrl 'https://github.com/xiph/ogg.git' ` + -Tag 'v1.3.5' ` + -RequiredPaths @( (Join-Path $oggSourceDir 'CMakeLists.txt'), (Join-Path $oggSourceDir 'include\ogg\ogg.h') ) - Ensure-DependencySources -Name 'libvorbis' -RequiredPaths @( + Ensure-GitDependencySource -Name 'libvorbis' ` + -SourceDir $vorbisSourceDir ` + -RepositoryUrl 'https://github.com/xiph/vorbis.git' ` + -Tag 'v1.3.7' ` + -RequiredPaths @( (Join-Path $vorbisSourceDir 'CMakeLists.txt'), (Join-Path $vorbisSourceDir 'lib\CMakeLists.txt') ) @@ -458,11 +466,19 @@ function Ensure-Png { $zlibSourceDir = Join-Path $depsRoot 'zlib' $pngSourceDir = Join-Path $depsRoot 'libpng' - Ensure-DependencySources -Name 'zlib' -RequiredPaths @( + Ensure-GitDependencySource -Name 'zlib' ` + -SourceDir $zlibSourceDir ` + -RepositoryUrl 'https://github.com/madler/zlib.git' ` + -Tag 'v1.3.1' ` + -RequiredPaths @( (Join-Path $zlibSourceDir 'CMakeLists.txt'), (Join-Path $zlibSourceDir 'zlib.h') ) - Ensure-DependencySources -Name 'libpng' -RequiredPaths @( + Ensure-GitDependencySource -Name 'libpng' ` + -SourceDir $pngSourceDir ` + -RepositoryUrl 'https://github.com/glennrp/libpng.git' ` + -Tag 'v1.6.43' ` + -RequiredPaths @( (Join-Path $pngSourceDir 'CMakeLists.txt'), (Join-Path $pngSourceDir 'png.h') )