aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap/wrap.py
AgeCommit message (Collapse)AuthorFilesLines
2021-04-22Add trailing -- parameter to git checkouts.Dan1-3/+3
2021-03-29wrap: Tell which wrap-redirect file is missingSeungha Yang1-1/+1
Otherwise user cannot understand which wrap file is missing or wrong
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz1-17/+17
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz1-1/+1
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
2021-03-02wrap: sha256 digest is not case sensitiveXavier Claessens1-2/+2
Fixes: #8450.
2021-01-26do not require git installed in order to use wrapsEli Schwartz1-1/+3
It doesn't make sense to check for the presence of git every time we use it, but short-circuit any attempt to use a wrap right from the get-go because we are trying to be fancy with submodules. If git is not installed, simply do not try to figure out whether the wrap is a submodule that can potentially be checked out/updated for the user. Just take it on faith that it isn't one. Fixes #2623
2021-01-17Do not store config parser object in Wrap object. Closes: #7920.Jussi Pakkanen1-11/+11
2020-12-30Handle uppercase dependency names in wraps.Jussi Pakkanen1-2/+5
2020-11-20use real pathlib moduleDylan Baker1-1/+1
We added the _pathlib module to work around defeciencies in python 3.5's implementation, since we now rely on 3.6 lets drop this
2020-11-03wrap: fix type annotationsDylan Baker1-2/+2
2020-11-03wrap: Fix git exception not catched by interpreterXavier Claessens1-1/+11
This is a regression introduced in Meson 0.56.0, it was fatal error when optional dependencies fails to download their fallback subproject.
2020-10-19In text, betterer grammer usings.Jussi Pakkanen1-1/+1
2020-10-13wrap: Add 'redirect' type and use it when auto promoteXavier Claessens1-13/+39
2020-10-13wrap: Use sub-subproject packagefilesXavier Claessens1-5/+6
2020-10-13Merge wraps from subprojects into wraps from main projectXavier Claessens1-10/+37
wraps from subprojects are now merged into the list of wraps from main project, so they can be used to download dependencies of dependencies instead of having to promote wraps manually. If multiple projects provides the same wrap file, the first one to be configured wins. This also fix usage of sub-subproject that don't have wrap files. We can now configure B when its source tree is at `subprojects/A/subprojects/B/`. This has the implication that we cannot assume that subproject "foo" is at `self.subproject_dir / 'foo'` any more.
2020-10-04pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger1-1/+1
2020-09-18msubprojects: Stop trying to guess subproject typeXavier Claessens1-12/+0
It was done to include them in `meson subprojects foreach` without --types argument, but it's better to special case missing --types and include wraps that have type=None too. It was a bad idea because that was messing them in `meson subprojects update`, now they are ignored by that command.
2020-09-10msubprojects: Allow comma separated list of typesXavier Claessens1-0/+4
2020-09-10Move verbose_git() and quiet_git() to mesonlibXavier Claessens1-18/+1
2020-09-10msubprojects: Support git subprojects with no wrap fileXavier Claessens1-0/+12
User could have cloned manually a subproject.
2020-09-08typing: fix code reviewDaniel Mensinger1-1/+1
2020-09-08typing: fully annotate wrapDaniel Mensinger1-15/+15
2020-07-14wrap: Raise MesonException when git command failsXavier Claessens1-1/+4
This avoid printing long backtrace by default, the user already has the output of the git command printed for debugging purpose since we don't redirect stdout/stderr.
2020-07-04wrap: Add back filename member in PackageDefinitionXavier Claessens1-0/+1
It is still used by msubprojects.py and cause issues when updating wrapdb.
2020-07-01wrap: Abort if multiple wraps provide the same dep or programXavier Claessens1-11/+23
2020-07-01wrap: Refactor to split wraps dictionary into 3 separate dictsXavier Claessens1-50/+57
It makes the code cleaner to have 3 separate dictionaries for packagename, dependency and programs.
2020-07-01Fix typo: coma->commaXavier Claessens1-2/+2
2020-07-01find_program: Fallback if a wrap file provide the program nameXavier Claessens1-0/+14
We don't need the legacy variable name system as for dependency() fallbacks because meson.override_find_program() is largely used already, so we can just rely on it.
2020-07-01wrap: Add special 'dependency_names' key in [provide] sectionXavier Claessens1-1/+13
The value for that key must be a coma separated list of dependecy names provided by that subproject, when no variable name is needed because the subproject uses override_dependency().
2020-07-01wrap: Add 'provide' sectionXavier Claessens1-4/+44
2020-06-30wrap: Apply patch even in VCS casesXavier Claessens1-1/+1
2020-06-26wrap: add user agent when downloading filesEli Schwartz1-1/+3
This lets servers know when they're being used by meson. It also avoids issues where the Independent JPEG Group decided to ban the "Python-urllib" default user agent. Fixes https://github.com/mesonbuild/libjpeg/issues/9
2020-06-21wrap: Add patch_directory supportXavier Claessens1-12/+20
Copy a tree instead of extracting an archive. Closes: #7216
2020-04-25wrap: Add support for local files via only `*_filename`Daniel Mensinger1-11/+27
2020-04-13wrap: Add fallback urlsXavier Claessens1-8/+17
It can happen that a server is temporaly down, tarballs often have many mirrors available so we should be able to add at least one fallback mirror in wrap files.
2020-01-25wrap: Fix git clone with commit id in revisionXavier Claessens1-1/+1
Fixes: #6505.
2020-01-22Move git helper out into mesonlib for reuseNirbheek Chauhan1-15/+1
Reuse the git helper for `meson wrap` and `meson subprojects` so we don't need to maintain the same git-colors-on-windows workarounds in multiple places.
2020-01-22wrap: Re-set the console mode after calling gitNirbheek Chauhan1-0/+6
`git submodule update --recursive` calls git clone recursively, and on Windows it will undo the console mode we set in mlog and cause ANSI colors to stop working. We could set it again only when we call that, but we will definitely miss other instances where this could happen in the future and regress.
2020-01-22wrap: Redirect stdin to DEVNULL when calling gitNirbheek Chauhan1-1/+4
Without this git messes up the console and ANSI colors stop working on Windows inside cmd.exe. This broke in https://github.com/mesonbuild/meson/pull/6139. Also add the same to all git calls. Missed this when I opened https://github.com/mesonbuild/meson/pull/6255
2020-01-22wrap: Always use a wrapper for running gitNirbheek Chauhan1-32/+28
We need this for the next commit.
2020-01-22wrap: Look for git only once at startupNirbheek Chauhan1-22/+20
No need to repeatedly call `shutil.which`.
2020-01-22wrap: Use uppercase for global constantsNirbheek Chauhan1-12/+12
This makes things much clearer and follows PEP8.
2020-01-17wrap: Fix support of file:// URLsXavier Claessens1-3/+1
Fixes: #6445
2020-01-08types: import typing as T (fixes #6333)Daniel Mensinger1-5/+5
2019-12-10dist: Fix --include-subprojects when .wrap file has directory valueXavier Claessens1-14/+18
2019-12-06Update Python2 syntax to Python3 syntax in WrapMichael Brockus1-2/+2
2019-12-05wrap: check whitelist subdomainMichael Hirsch, Ph.D1-18/+26
wrap: add imposter URL test this test shows that meson wrap subsystem historically allows imposter URLs like https://wrapdb.mesonwrap.com.evil/v1/foo.zip while the new code does no.
2019-12-05wrap: raise WrapException instead of Python exception when program not availableMichael Hirsch, Ph.D1-23/+36
2019-12-05use WrapDB domain whitelist, don't fallback to non-SSL when SSL availableMichael Hirsch, Ph.D1-12/+19
In my opinion, we should not fall back to http:// from the SSL HSTS WrapDB URL, **for systems that have Python SSL** as that is controverting the point of HSTS + SSL. For systems that do not have Python SSL, they continue to work with a colored mlog.warning instead of only a stderr console print. attempt to stop masquerade URLS containing wrapdb.mesonbuild.com.evil.stuff.com
2019-12-05doc: py35 deprecation commentsMichael Hirsch, Ph.D1-1/+2