Installing all listed dependencies on fedora results in
a compilation error, due to missing mesa-libGLU-devel dependency.
This dependency is part of some of the other distributions,
with other names of course.
Stop unconditionally collecting traversal statistics in nightly builds
The current code also makes us panic when DUMP_STYLE_STATISTICS=1 is
set. :-(
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20247)
<!-- Reviewable:end -->
Disable logging in bindgen to reduce code size
This disables bindgen's `logging` feature, which builds `env_logger`
with default features, including regex support. Disabling it allows
Gecko to build `env_logger` without the `regex` crate, reducing code
size.
Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1444097
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they only change unused build config
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20245)
<!-- Reviewable:end -->
This disables bindgen's `logging` feature, which builds `env_logger`
with default features, including regex support. Disabling it allows
Gecko to build `env_logger` without the `regex` crate, reducing code
size.
Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1444097
Fix `mach build` for Servo in Firefox tree
Running `mach build` in servo directory in Firefox tree currently doesn't work due to several errors when importing modules.
First error:
```text
Traceback (most recent call last):
File "mach", line 93, in <module>
main(sys.argv)
File "mach", line 23, in main
mach = mach_bootstrap.bootstrap(topdir)
File "servo/python/mach_bootstrap.py", line 280, in bootstrap
mach.load_commands_from_file(os.path.join(topdir, path))
File "servo/python/_virtualenv/Lib/site-packages/mach/main.py", line 265, in load_commands_from_file
imp.load_source(module_name, path)
File "servo/python/servo/testing_commands.py", line 42, in <module>
from update import updatecommandline
File "servo/../testing/web-platform/update/__init__.py", line 17, in <module>
from wptrunner.update import setup_logging, WPTUpdate
File "servo/../testing/web-platform/tests/tools/wptrunner/wptrunner/update/__init__.py", line 8, in <module>
from update import WPTUpdate
File "servo/../testing/web-platform/tests/tools/wptrunner/wptrunner/update/update.py", line 8, in <module>
from .. import environment as env
File "servo/../testing/web-platform/tests/tools/wptrunner/wptrunner/environment.py", line 12, in <module>
from wptserve.handlers import StringHandler
ImportError: No module named wptserve.handlers
```
Second error:
```text
Traceback (most recent call last):
File "mach", line 93, in <module>
main(sys.argv)
File "mach", line 23, in main
mach = mach_bootstrap.bootstrap(topdir)
File "servo/python/mach_bootstrap.py", line 291, in bootstrap
mach.load_commands_from_file(os.path.join(topdir, path))
File "servo/python/_virtualenv/Lib/site-packages/mach/main.py", line 265, in load_commands_from_file
imp.load_source(module_name, path)
File "servo/python/servo/testing_commands.py", line 43, in <module>
from servo_tidy import tidy
File "servo/python/tidy/servo_tidy/tidy.py", line 34, in <module>
from wptmanifest import parser, node
ImportError: No module named wptmanifest
```
The two commits fix these two errors respectively.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20227)
<!-- Reviewable:end -->
Add a --nightly | -n flag to mach run commands for linux
First tries to download and extract a specific nightly version to run mach commands against.
<!-- Please describe your changes on the following line: -->
I chose to split the Pull requests for each platform to avoid submitting a huge one, and to make sure I get the logic right.
I'm able to download / extract a nightly version, and I keep nightly versions in the target folder.
Windows and Mac OS support will be filed in separate PRs.
This is part of step two for #19505
The mentor on the issue is jdm
---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it is part of a ./mach command.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19947)
<!-- Reviewable:end -->