servo/python
bors-servo b7674fcec0
Auto merge of #29767 - mukilan:fix-slowness-in-macos-copy-dependencies, r=mrobinson
Fix slowness in macos copy_dependencies

The `copy_dependencies` logic is invoking `change_non_system_libraries_path` with absolute paths to gstreamer *plugin dylibs*.
`change_non_system_libraries_path` skips editing links in servo binary to relocatable dylibs, but the since the plugins have absolute paths, they are treated as 'non-relocable' and it will try to edit the *non-existent* link (since plugins are loaded dynamically) in servo bin . These unnecessary calls to change_link_name is the cause of the slowness identified in #29764

This PR fixes the issue by ensuring plugin dylibs are not passed to the first call to change_non_system_libraries_path that patches the links in the main servo binary.

With this fix, the time taken by copy_dependencies is reduced to ~3 seconds on my system.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29764

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they fix slowness in build step
2023-05-22 14:20:59 +02:00
..
mach Make mach work on Python 3.11 2023-01-22 05:13:30 +01:00
servo Auto merge of #29767 - mukilan:fix-slowness-in-macos-copy-dependencies, r=mrobinson 2023-05-22 14:20:59 +02:00
tidy Remove a print statement mistakenly added in a previous change 2023-03-28 09:42:35 +02:00
wpt Make WPT results output more useful 2023-04-26 10:13:00 +02:00
mach_bootstrap.py Start organizing platform-specific Python code 2023-05-19 13:08:43 +02:00
README.md Reorganize Servo's WPT Python scripts 2023-04-20 12:24:55 +02:00
requirements.txt Upgrade boto3 python module. 2023-05-05 15:19:47 +05:30
tox.ini Added tox.ini 2016-05-08 12:10:48 +02:00

This directory contains various Python modules used to support servo development.

servo

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

tidy

servo-tidy is used to check licenses, line lengths, whitespace, flake8 on Python files, lock file versions, and more.

wpt

servo-wpt is a module with support scripts for running, importing, exporting, updating manifests, and updating expectations for WPT tests.