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.
Bump jpeg-decoder from 0.1.20 to 0.1.21
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.20 to 0.1.21.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md">jpeg-decoder's changelog</a>.</em></p>
<blockquote>
<h2>v0.1.21 (2021-01-23)</h2>
<ul>
<li>Fix incorrect order of MCUs in non-interleaved streams</li>
<li>DCT Progressive images with incomplete coefficient blocks are now rendered</li>
<li>Fix a panic on invalid dimensions</li>
<li>Reduce allocations and runtime of decoding</li>
<li>Rework multi-threading to run a thread per component</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="adc1bb346b"><code>adc1bb3</code></a> Update crate meta data for 0.1.21</li>
<li><a href="3bdaa07fe0"><code>3bdaa07</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/image-rs/jpeg-decoder/issues/177">#177</a> from quilan1/process-unfinished-progressive-data</li>
<li><a href="b022ad1575"><code>b022ad1</code></a> Progressive images now render incomplete coefficients</li>
<li><a href="9cb72e5202"><code>9cb72e5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/image-rs/jpeg-decoder/issues/168">#168</a> from Shnatsel/multithreading-poc</li>
<li><a href="92350c7321"><code>92350c7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/image-rs/jpeg-decoder/issues/175">#175</a> from okaneco/byteorder</li>
<li><a href="bc18ecf4b8"><code>bc18ecf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/image-rs/jpeg-decoder/issues/176">#176</a> from quilan1/bugfix-non-interleaved-mcus</li>
<li><a href="bc1a817fe6"><code>bc1a817</code></a> Added test case for non-interleaved MCU crash</li>
<li><a href="6d9fd3ef34"><code>6d9fd3e</code></a> The decoder now treats non-interleaved streams as blocks</li>
<li><a href="29b9c047ad"><code>29b9c04</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/image-rs/jpeg-decoder/issues/174">#174</a> from jrmuizel/icc</li>
<li><a href="7666d6dbd9"><code>7666d6d</code></a> Remove byteorder dep</li>
<li>Additional commits viewable in <a href="https://github.com/image-rs/jpeg-decoder/compare/v0.1.20...v0.1.21">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=jpeg-decoder&package-manager=cargo&previous-version=0.1.20&new-version=0.1.21)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Disallow duplicate taskcluster artifacts.
Taskcluster has started complaining if the task's payload contains duplicate artifacts. These changes strip them out and add automated tests that detect them in the future.
Fix bootstrap error on Ubuntu 20.10
<!-- Please describe your changes on the following line: -->
---
<!-- 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
- [x] These changes fix#28045
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- 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. -->
Bump smallvec from 1.5.1 to 1.6.1
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.5.1 to 1.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/servo/rust-smallvec/releases">smallvec's releases</a>.</em></p>
<blockquote>
<h2>v1.6.1</h2>
<ul>
<li>Fix a possible buffer overflow in <code>insert_many</code> (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/252">#252</a>, <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/254">#254</a>).</li>
</ul>
<h2>v1.6.0</h2>
<ul>
<li>The <code>"union"</code> feature is now compatible with stable Rust 1.49 (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/248">#248</a>, <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/247">#247</a>).</li>
<li>Fixed warnings when compiling with Rust 1.51 nightly (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/242">#242</a>, <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/246">#246</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4e53e07280"><code>4e53e07</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/254">#254</a> - mbrubeck:overflow, r=emilio</li>
<li><a href="9998ba0694"><code>9998ba0</code></a> Fix potential buffer overflow in <code>insert_many</code></li>
<li><a href="0b2b4e53a5"><code>0b2b4e5</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/249">#249</a> - mbrubeck:bump, r=jdm</li>
<li><a href="7ec5548c1b"><code>7ec5548</code></a> Version 1.6.0</li>
<li><a href="73a8953835"><code>73a8953</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/248">#248</a> - saethlin:master, r=mbrubeck</li>
<li><a href="2785548293"><code>2785548</code></a> make union feature work on 1.50</li>
<li><a href="f5f1a22c76"><code>f5f1a22</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/246">#246</a> - mbrubeck:warnings, r=jdm</li>
<li><a href="d00f4d4736"><code>d00f4d4</code></a> Silence warnings about deprecated LayoutErr</li>
<li><a href="e4c73e4cac"><code>e4c73e4</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/242">#242</a> - c410-f3r:patch-2, r=mbrubeck</li>
<li><a href="2964a8469b"><code>2964a84</code></a> Remove <code>min_const_generics</code> feature</li>
<li>See full diff in <a href="https://github.com/servo/rust-smallvec/compare/v1.5.1...v1.6.1">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=smallvec&package-manager=cargo&previous-version=1.5.1&new-version=1.6.1)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Bump byteorder from 1.3.4 to 1.4.2
Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.3.4 to 1.4.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="ca8c10a3f8"><code>ca8c10a</code></a> 1.4.2</li>
<li><a href="54ca336ec2"><code>54ca336</code></a> crates.io: no_std -> no-std</li>
<li><a href="5617f231eb"><code>5617f23</code></a> 1.4.1</li>
<li><a href="0ead1057d4"><code>0ead105</code></a> impl: fix read implementations</li>
<li><a href="cf0253a63e"><code>cf0253a</code></a> 1.4.0</li>
<li><a href="37daff6927"><code>37daff6</code></a> impl: use std endian conversion routines</li>
<li><a href="aa7c5b25ad"><code>aa7c5b2</code></a> msrv: bump to 1.41.1</li>
<li><a href="8061190ab6"><code>8061190</code></a> deps: update to quickcheck 0.9 and rand 0.7</li>
<li><a href="6dac6ebe13"><code>6dac6eb</code></a> crates.io: add no_std in categories</li>
<li><a href="74bb29a743"><code>74bb29a</code></a> changelog: backfill to 1.3.4</li>
<li>Additional commits viewable in <a href="https://github.com/BurntSushi/byteorder/compare/1.3.4...1.4.2">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=byteorder&package-manager=cargo&previous-version=1.3.4&new-version=1.4.2)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Bump linked-hash-map from 0.5.3 to 0.5.4
Bumps [linked-hash-map](https://github.com/contain-rs/linked-hash-map) from 0.5.3 to 0.5.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/contain-rs/linked-hash-map/commits">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=linked-hash-map&package-manager=cargo&previous-version=0.5.3&new-version=0.5.4)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Bump tendril from 0.4.1 to 0.4.2
Bumps [tendril](https://github.com/servo/tendril) from 0.4.1 to 0.4.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="548cfaab79"><code>548cfaa</code></a> Bump to 0.4.2</li>
<li><a href="9532724c32"><code>9532724</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/tendril/issues/46">#46</a> - xfix:resolve-ub, r=jdm</li>
<li><a href="e379f85472"><code>e379f85</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/tendril/issues/49">#49</a> - xfix:upgrade-futf, r=jdm</li>
<li><a href="3367e11208"><code>3367e11</code></a> Update futf to 0.1.2</li>
<li><a href="9e6da0d31d"><code>9e6da0d</code></a> Resolve UB found by miri</li>
<li><a href="08f7f292ab"><code>08f7f29</code></a> cargo fmt</li>
<li><a href="dc22ac0e1d"><code>dc22ac0</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/tendril/issues/43">#43</a> - xfix:use-non-zero-usize-from-standard-library, r=SimonSapin</li>
<li><a href="527347768b"><code>5273477</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/tendril/issues/45">#45</a> - servo:warnings, r=nox</li>
<li><a href="869dfbd22c"><code>869dfbd</code></a> Test a minimum Rust version on CI</li>
<li><a href="604caf6d13"><code>604caf6</code></a> New inclusive range syntax</li>
<li>Additional commits viewable in <a href="https://github.com/servo/tendril/compare/v0.4.1...v0.4.2">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=tendril&package-manager=cargo&previous-version=0.4.1&new-version=0.4.2)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>