Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
from extracted source `tar.gz` files. Now, we should
be able to use the pip resolver against vendored
packages, which will be needed for future
mach virtualenv work.
* `./mach vendor python` takes far less time to execute.
Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.
`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.
Replace python packages with wheels where possible
This contains the vendoring changes caused by the
last patch.
For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
extracted wheel, so expect roughly 5 or
6 new files for each wheel'd package.
* There should be no source code changes other than
moves from package names changing from having
`-` to having `_`.
Differential Revision: https://phabricator.services.mozilla.com/D116512
This updates compare-locales to 8.0. The major version bump is due
to the changes to the json output.
This also updates fluent.syntax to 0.17.
Vendor in fluent.migrate 0.9. This is the first formal vendoring,
the version we had in-tree wasn't released on pypi before.
Differential Revision: https://phabricator.services.mozilla.com/D75127
Vendor the existing version of compare-locales via mach.
This also vendors in fluent.syntax, with the existing version.
Pin pytoml to the existing version in-tree, too.
This is all that's required to update compare-locales,
fluent.syntax and fluent.migrate via `mach vendor python`.
Depends on D70344
Differential Revision: https://phabricator.services.mozilla.com/D70345
We've used to install both fluent.syntax and fluent.migrate into fluent,
split them up to make the diff of the actual vendor changes smaller.
Differential Revision: https://phabricator.services.mozilla.com/D70344