summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2025-10-13 12:53:15 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2025-10-17 15:09:15 +0900
commit3dc620166bd3c914722c04120ec0b127294d66a7 (patch)
treea10a9342d458a5e26f9e5038ec81c1c025deebb1
parent2dc23c1ad84ee756ff678412636ae255e25d9176 (diff)
win32: Install the same packages as vcpkg even on msys
-rwxr-xr-xwin32/install-msys-packages.cmd29
1 files changed, 29 insertions, 0 deletions
diff --git a/win32/install-msys-packages.cmd b/win32/install-msys-packages.cmd
new file mode 100755
index 0000000000..d3adbaf595
--- /dev/null
+++ b/win32/install-msys-packages.cmd
@@ -0,0 +1,29 @@
+::- Install msys packages for rubygems
+::- The dependencies are taken from vcpkg.json to share the common info.
+
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b - 1
+@set PROMPT=$h$e[96m$g$e[39m$s
+@set script=%0
+@call set "srcdir=%%script:\win32\%~nx0=%%"
+
+@if not defined MINGW_PACKAGE_PREFIX (
+ ::- Enable msys environment by ridk (from RubyInstaller-DevKit)
+ where ridk >nul 2>&1 || (
+ (echo MINGW_PACKAGE_PREFIX is not set, you have to enable development environment.) 1>&2
+ exit /b 1
+ )
+ call ridk enable %*
+ echo:
+) else if not "%1" == "" (
+ ::- Switch msys environment by ridk (from RubyInstaller-DevKit)
+ call ridk enable %*
+ echo:
+)
+
+@set pkgs=
+@(
+ for /f %%I in ('powershell -c "(ConvertFrom-Json $input).dependencies"') do @(
+ call set "pkgs=%%pkgs%% %%MINGW_PACKAGE_PREFIX%%-%%%%I"
+ )
+) < "%srcdir%\vcpkg.json"
+pacman -S --needed --noconfirm %pkgs:~1%