Remove lzma path workaround for MacOS (#30053)

Now that the new version of GStreamer fixes this issue, we can remove
the workarounds for this problem as well as all of the homebrew
bootstrapping logic.
This commit is contained in:
Martin Robinson 2023-08-01 13:11:46 +02:00 committed by GitHub
parent e153bcb40b
commit 6f4f237fbd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 4 additions and 35 deletions

View file

@ -49,6 +49,7 @@ jobs:
run: |
python3 -m pip install --upgrade pip virtualenv
python3 ./mach bootstrap
brew install gnu-tar
- name: Release build
run: |
python3 ./mach build --release
@ -124,7 +125,6 @@ jobs:
# run: |
# gtar -xzf target.tar.gz
# python3 -m pip install --upgrade pip virtualenv
# brew bundle install --verbose --no-upgrade --file=etc/homebrew/Brewfile
# - name: Smoketest
# run: python3 ./mach smoketest
# - name: Run tests

3
.gitignore vendored
View file

@ -58,8 +58,5 @@ Sessionx.vim
# Layout debugger trace files
layout_trace*
# Package managers
etc/homebrew/Brewfile.lock.json
# direnv
.envrc

View file

@ -1,4 +0,0 @@
# Runtime dependencies
brew "xz"
brew "gnu-tar"

View file

@ -1 +0,0 @@
brew "jq"

View file

@ -460,17 +460,6 @@ def copy_dependencies(binary_path, lib_path, gst_root):
if is_system_library(f):
continue
full_path = resolve_rpath(f, gst_root)
# fixme(mukilan): this is a temporary solution to a bug
# in the official gstreamer packages. Few gstreamer dylibs
# like 'libavcodec.59.dylib' have absolute paths to liblzma
# instead of @rpath based to be relocatable. The homebrew
# prefix is configurable in general and is /opt/homebrew
# on Apple Silicon
if full_path == "/usr/local/opt/xz/lib/liblzma.5.dylib" and (
not path.exists("/usr/local/opt/xz")
and path.exists("/opt/homebrew/")):
full_path = "/opt/homebrew/lib/liblzma.5.dylib"
need_relinked = set(otool(full_path))
new_path = path.join(lib_path, path.basename(full_path))
if not path.exists(new_path):

View file

@ -16,8 +16,8 @@ from .. import util
from .base import Base
URL_BASE = "https://github.com/servo/servo-build-deps/releases/download/macOS"
GSTREAMER_URL = f"{URL_BASE}/gstreamer-1.0-1.22.2-universal.pkg"
GSTREAMER_DEVEL_URL = f"{URL_BASE}/gstreamer-1.0-devel-1.22.2-universal.pkg"
GSTREAMER_URL = f"{URL_BASE}/gstreamer-1.0-1.22.3-universal.pkg"
GSTREAMER_DEVEL_URL = f"{URL_BASE}/gstreamer-1.0-devel-1.22.3-universal.pkg"
GSTREAMER_ROOT = "/Library/Frameworks/GStreamer.framework/Versions/1.0"
@ -55,19 +55,7 @@ class MacOS(Base):
return True
def _platform_bootstrap(self, _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
return self._platform_bootstrap_gstreamer(False)
def _platform_bootstrap_gstreamer(self, force: bool) -> bool:
if not force and self.is_gstreamer_installed(cross_compilation_target=None):