add NixOS support to mach and automatically re-launch mach in nix-shell
<!-- Please describe your changes on the following line: -->
This is a followup for #28454 which adds nixos support directly to mach, saving the user from typing `nix-shell` everytime
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 they just extend mach
<!-- 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. -->
This includes a “Fix for changed rustc directory layout.” change:
https://github.com/japaric/xargo/blob/master/CHANGELOG.md#v0322---2020-07-29
We use Xargo to compile rust-std for Windows UWP targets.
I built `xargo.exe` on Taskcluster with task
https://community-tc.services.mozilla.com/tasks/IHwGq_ViRpGuomBx82XmpQ
created through https://community-tc.services.mozilla.com/tasks/create
with this definition:
```yaml
provisionerId: proj-servo
workerType: win2016
schedulerId: taskcluster-github
created: '2021-01-25T19:39:29.952Z'
deadline: '2021-01-26T19:39:29.952Z'
expires: '2022-01-25T19:39:29.952Z'
payload:
mounts:
- file: rustup-init.exe
content:
url: https://win.rustup.rs/x86_64
command:
- '%HOMEDRIVE%%HOMEPATH%\rustup-init.exe --profile=minimal -y'
- set PATH=%HOMEDRIVE%%HOMEPATH%\.cargo\bin;%PATH%
- |-
cargo install xargo --version 0.3.22
copy %HOMEDRIVE%%HOMEPATH%\.cargo\bin\xargo.exe .
artifacts:
- name: public/xargo.exe
path: xargo.exe
type: file
expires: '2022-01-25T15:07:23.782706Z'
maxRunTime: 5400
metadata:
name: Xargo build for Windows
description: ''
owner: infra@servo.org
source: https://community-tc.services.mozilla.com/tasks/create
```
(Note the "update timestamps" button in the bottom-right menu.)
I then created a ZIP file that contains `xargo-v0.3.22/xargo.exe` and
uploaded it with `aws s3 cp ./xargo-v0.3.22.zip s3://servo-deps-2/msvc-deps/`
where our build system can find it.
Add a copy of WebGPU CTS to wpt.
<!-- Please describe your changes on the following line: -->
The test suite is generated from `glsl-dependent` branch in https://github.com/gpuweb/cts
We already have 6/44 tests passing and a number of subtests in other tests also pass.
r?@jdm
cc @kvark
---
<!-- 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#27395 (GitHub issue number if applicable)
<!-- Either: -->
- [X] These changes do not require tests because we don't have tests for tests.
<!-- 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. -->
Handle apostrophes for whatwg URL tidy check
---
<!-- 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#27366
- [x] These changes do not require tests because it will improve the tidy check for WHATWG URL
<!-- 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. -->