aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap
AgeCommit message (Collapse)AuthorFilesLines
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-13Add wrap mode to disable auto promoteXavier Claessens1-0/+2
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 Mensinger3-34/+40
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-27Always disable interpolation for ini parsers.Jussi Pakkanen1-1/+1
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 Brockus2-10/+10
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
2019-12-05lgtm: Fix insecure SSL/TLS version by removing dead codeDaniel Mensinger1-10/+4
2019-12-05lgtm: fix Incomplete URL substring sanitizationDaniel Mensinger1-1/+3
2019-11-28wrap: Resolver.get_git: Factor out --depth argument generation and make sure ↵Martin Hostettler1-5/+9
not to pass None as parameter 507cf47507cf47 broke the combination of clone-recursive without depth. Because it passed depth (as None) to git. To fix this the depth option is now generated once as a list when depth is set and else set to an empty list and unpacked into the argument this when needed. This reduces duplication and allows code to work the same for both cases.
2019-11-07wrap.py: catch connection error with WrapExceptionMichael Hirsch, Ph.D2-7/+13
fixes #6130 wrap: more error verbosity
2019-11-07wrap.py: apply type annotation, modernize syntaxMichael Hirsch, Ph.D3-59/+61
correct syntax issues, missing imports revealed by type annotation checking
2019-10-06wrap: Rework `depth` support for git.Martin Hostettler1-18/+47
Don't manually emulate a partial `git clone` when `depth` option is not used. This keeps `git describe` working as before and generally supports workflows that depend on tags and branches to exist in a wrap downloaded subproject. This also fixes downloading via git not working at all on CentOS 7 (git version 1.8.3.1). For the `depth` case use `git clone --branch=... --depth=...` when possible and only fall back to manual emulation wraps that specify a full commit id, because for some reason that does not work with the clone based workflow. Fixes: #5991 (Regression in wrap support with git)
2019-09-29Add support for `depth` option in wrap-gitChristoph Weiss1-7/+12
This allows cloning subprojects shallowly. It works recursively for a subproject's submodules in case `clone-recursive` is set to `true`.