mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Implement ./mach bootstrap
for MacOS
This commit is contained in:
parent
7aaad0aa7e
commit
a57c49a4bb
4 changed files with 20 additions and 6 deletions
3
.github/workflows/mac.yml
vendored
3
.github/workflows/mac.yml
vendored
|
@ -57,8 +57,7 @@ jobs:
|
|||
- name: Bootstrap
|
||||
run: |
|
||||
python3 -m pip install --upgrade pip virtualenv
|
||||
python3 ./mach bootstrap-gstreamer
|
||||
brew install gnu-tar
|
||||
python3 ./mach bootstrap
|
||||
- name: Release build
|
||||
run: |
|
||||
python3 ./mach build --release --with-${{ env.LAYOUT }}
|
||||
|
|
|
@ -23,12 +23,11 @@ manually, try the [manual build setup][manual-build].
|
|||
### macOS
|
||||
|
||||
- Install [Xcode](https://developer.apple.com/xcode/)
|
||||
- Install [Homebrew](https://brew.sh/)
|
||||
- Run `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
|
||||
- Run `./mach bootstrap-gstreamer`.
|
||||
*This will install the recommended version of GStreamer globally on your system.*
|
||||
- Run `brew bundle install --file=etc/homebrew/Brewfile`
|
||||
- Run `pip install virtualenv`
|
||||
|
||||
- Run `./mach bootstrap`<br/>
|
||||
*Note: This will install the recommended version of GStreamer globally on your system.*
|
||||
|
||||
### Linux
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# Runtime dependencies
|
||||
|
||||
brew "xz"
|
||||
brew "gnu-tar"
|
||||
|
|
|
@ -54,6 +54,21 @@ class MacOS(Base):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _platform_bootstrap(self, _cache_dir: str, force: bool) -> bool:
|
||||
installed_something = False
|
||||
try:
|
||||
brewfile = os.path.join(util.SERVO_ROOT, "etc", "homebrew", "Brewfile")
|
||||
output = subprocess.check_output(
|
||||
['brew', 'bundle', 'install', "--file", brewfile]
|
||||
).decode("utf-8")
|
||||
print(output)
|
||||
installed_something = "Installing" in output
|
||||
except subprocess.CalledProcessError as e:
|
||||
print("Could not run homebrew. Is it installed?")
|
||||
raise e
|
||||
installed_something |= self._platform_bootstrap_gstreamer(False)
|
||||
return installed_something
|
||||
|
||||
def _platform_bootstrap_gstreamer(self, force: bool) -> bool:
|
||||
if not force and self.is_gstreamer_installed(cross_compilation_target=None):
|
||||
return False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue