You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add libepoxy, virglrenderer, and MoltenVK to the macOS dylib bundling
pipeline alongside libkrun/libkrunfw. All dylibs get LC_ID_DYLIB
rewritten to @loader_path, cross-library references patched, stale
Homebrew rpaths removed, and ad-hoc codesigned. A verification step
ensures no /opt/homebrew references remain.
Extend RuntimeBundle() with a variadic extraLibs parameter so the
extract layer can handle additional dylibs without breaking existing
callers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Remove stale Homebrew rpaths (ignore errors if none exist)
127
+
- for f in bin/libkrun.{{.LIBKRUN_MAJOR}}.dylib bin/libkrunfw.{{.LIBKRUNFW_MAJOR}}.dylib bin/libepoxy.0.dylib bin/libvirglrenderer.1.dylib bin/libMoltenVK.dylib; do
128
+
for rp in $(otool -l "$f" 2>/dev/null | grep -A2 LC_RPATH | grep 'path /opt/homebrew' | awk '{print $2}'); do
# Verify no Homebrew references remain in bundled files
140
+
- |
141
+
for f in bin/{{.RUNNER_NAME}} bin/libkrun.{{.LIBKRUN_MAJOR}}.dylib bin/libkrunfw.{{.LIBKRUNFW_MAJOR}}.dylib bin/libepoxy.0.dylib bin/libvirglrenderer.1.dylib bin/libMoltenVK.dylib; do
142
+
if otool -L "$f" | grep -q /opt/homebrew; then
143
+
echo "FAIL: $f still references /opt/homebrew"
144
+
otool -L "$f" | grep /opt/homebrew
145
+
exit 1
146
+
fi
147
+
done
96
148
generates:
97
149
- bin/{{.RUNNER_NAME}}
98
150
- bin/libkrun.{{.LIBKRUN_MAJOR}}.dylib
99
151
- bin/libkrunfw.{{.LIBKRUNFW_MAJOR}}.dylib
152
+
- bin/libepoxy.0.dylib
153
+
- bin/libvirglrenderer.1.dylib
154
+
- bin/libMoltenVK.dylib
100
155
101
156
build-dev-race:
102
157
desc: Build runner with race detector (requires libkrun-devel)
0 commit comments