bundle dylibs and improve build workflow#3
bundle dylibs and improve build workflow#3zenfinityy merged 15 commits intomythic-crossover-24.0.7-previewfrom
Conversation
i might genuinely be stupid committed from iphone
use ditto instead of cp for build artifact copying
There was a problem hiding this comment.
Pull request overview
This PR enhances the build workflow for the Mythic Engine by bundling dynamic library dependencies and improving the build process. The key changes include creating a new dylib bundler script to handle library dependencies, adding Wine Mono and Gecko installations, and improving the compression of the final artifact.
- Adds a comprehensive dylib bundler script to automatically collect and bundle Homebrew dependencies
- Installs Wine Mono 8.1.0 and Wine Gecko 2.47.4 into the Engine
- Improves compression performance using multithreaded xz compression
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/build.yml | Adds wine64 wrapper script, Wine Mono/Gecko installation steps, integrates dylib bundler, and improves tar compression with multithreaded xz |
| .github/dylib_bundler.zsh | New script that bundles dylib dependencies from Homebrew formulae and GStreamer plugins, fixing install names for proper runtime loading |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
|
|
||
| normalize_path() { | ||
| python3 -c "import os; print(os.path.realpath('$1'))" 2>/dev/null || echo "$1" |
There was a problem hiding this comment.
The normalize_path function has a command injection vulnerability. The path argument is directly interpolated into a Python command string without proper escaping. If a file path contains special characters like single quotes, backticks, or dollar signs, it could lead to arbitrary command execution. Consider using a safer approach such as passing the path as a JSON-escaped string or using Python's sys.argv.
| python3 -c "import os; print(os.path.realpath('$1'))" 2>/dev/null || echo "$1" | |
| python3 -c 'import os, sys; print(os.path.realpath(sys.argv[1]))' -- "$1" 2>/dev/null || echo "$1" |
No description provided.