aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap/wrap.py
AgeCommit message (Collapse)AuthorFilesLines
2017-05-29Whitespace tweaks to reduce Flake8 warningsAlistair Thomas1-1/+1
2017-05-26fix typoGoncalo Carvalho1-1/+1
2017-05-17Rearrange trys to avoid possible undefined vars.Elliott Sales de Andrade1-2/+3
2017-05-17Remove unused variables.Elliott Sales de Andrade1-1/+0
2017-04-25wrap: pass -C to git when resolving submodulesErnestas Kulik1-5/+6
Using Meson from outside a git repo results in an error when trying to resolve submodule subprojects. Running git from inside subproject root should be enough to fix it. Partially fixes #1679 Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
2017-04-25wrap: initialize submodules when updatingErnestas Kulik1-1/+1
After an initial checkout, submodules aren’t initialized and thus trying to update them fails. Partially fixes #1679 Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
2017-03-27wrap: Also capture stderr while running quiet_git()Nirbheek Chauhan1-1/+1
We want to return the stderr if the command failed.
2017-03-25wrap: Implement special wrap modes for use by packagersNirbheek Chauhan1-1/+9
Special wrap modes: nofallback: Don't download wraps for dependency() fallbacks nodownload: Don't download wraps for all subproject() calls Subprojects are used for two purposes: 1. To download and build dependencies by using .wrap files if they are not provided by the system. This is usually expressed via dependency(..., fallback: ...). 2. To download and build 'copylibs' which are meant to be used by copying into your project. This is always done with an explicit subproject() call. --wrap-mode=nofallback will never do (1) --wrap-mode=nodownload will do neither (1) nor (2) If you are building from a release tarball, you should be able to safely use 'nodownload' since upstream is expected to ship all required sources with the tarball. If you are building from a git repository, you will want to use 'nofallback' so that any 'copylib' wraps will be download as subprojects. Note that these options do not affect subprojects that are git submodules since those are only usable in git repositories, and you almost always want to download them.
2017-03-25wrap: Initialize subprojects that are git submodulesNirbheek Chauhan1-7/+43
This will benefit projects such as GNOME Recipes that prefer using submodules over wraps because it's easier to maintain since git is aware of it, and because it integrates with their existing workflow. Without this, these projects have to manually initialize the submodules which is completely unnecessary. Closes https://github.com/mesonbuild/meson/issues/1449
2017-03-25wrap: Check that the package dir contains 'meson'build'Nirbheek Chauhan1-13/+16
Also use a pathlib.Path object for the checks since it does I/O only once and is much more efficient anyway. Path objects are available since Python 3.4, so this is fine.
2017-02-27Fix directory context for git wrap checkMarc Becker1-1/+1
2017-01-11style: [E301] expected 1 blank line, found 0Mike Sinkovsky1-0/+1
2017-01-02style: fix E127 violationsIgor Gnatenko1-3/+3
E127: continuation line over-indented for visual indent Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E128 violationsIgor Gnatenko1-1/+1
E128: continuation line under-indented for visual indent Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E226 violationsIgor Gnatenko1-2/+2
E226: missing whitespace around arithmetic operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-19fix some of pylint's undefined-variableIgor Gnatenko1-1/+1
************* Module mesonbuild.modules.rpm E:106,29: Unsupported format character '{' (0x7b) at index 16 (bad-format-character) ************* Module mesonbuild.modules E: 12,14: Undefined variable 'MesonException' (undefined-variable) ************* Module mesonbuild.modules.gnome E:699,69: Undefined variable 'sargs' (undefined-variable) ************* Module mesonbuild.wrap.wrap E:103,25: Undefined variable 'checkoutdir' (undefined-variable) ************* Module mesonbuild.backend.backends E: 83,16: Undefined variable 'mlog' (undefined-variable) ************* Module mesonbuild.backend.ninjabackend E:254,105: Undefined variable 't' (undefined-variable) Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-15Revert "Merge pull request #1145 from AlexandreFoley/wrap-fix"Jussi Pakkanen1-20/+9
This reverts commit 541dd92ef7a10b0f657f3c8532ffb71a8d921f54, reversing changes made to 155617e539a9aeccda6bd186398123b9d5521ed4.
2016-12-06The “directory present and not empty” return condition was necessary for ↔Alexandre Foley1-1/+6
subproject to work without a wrap file. Put it back with that added condition that there mustn’t be a wrap file present for returning the package immediately.
2016-12-06Added a few missing whitespace as noted by Ignatenkobrain. Replaced a ↔Alexandre Foley1-5/+6
comment by the piece of code it said was needed.
2016-12-05Wrap.py: Made it so using an already downloaded subproject is only for the ↔Alexandre Foley1-10/+15
wrap-file case. Git and Mercurial can update the repository if it the wrap is one. Also did a bit of cleanup. interpreter.py: There’s a catch all except clause at the line 1928, it didn’t give the user any information whatsoever about the exception it caught. Now it at least print it to the log as a warning.
2016-12-01wrap: Fix getting push-urlThibault Saunier1-1/+1
2016-11-22wrap: Allow specifying push URL in wrap files using gitThibault Saunier1-0/+5
2016-11-22wrap: Make sure that the cloned git repo is properly clonedThibault Saunier1-3/+22
2016-10-20add support of mercurial repo for wrap,
 (#937)AlexandreFoley1-1/+25
* add support for wrap of mercurial repo, and a test with a clone of the sample subproject used for the git test into a mercuriel repo. * Added myself to author list, and switched the URL of the sample subproject in the wrap file to one under the control of the project's maintainers.
2016-09-14Download without status updates if server does not report file size. Closes ↔Jussi Pakkanen1-1/+7
#771.
2016-08-27Ensure URLs are closed with a context manager.Elliott Sales de Andrade1-20/+21
2016-08-27Use context manager for file I/O.Elliott Sales de Andrade1-18/+21
There are a few cases where a context manager cannot be used, such as the logger.
2016-08-25Do not error out if git pull fails on subprojects. Closes #720.Jussi Pakkanen1-1/+4
2016-05-05Created an emergency wraptool that downloads directly from Github.Jussi Pakkanen1-3/+4
2016-01-27Restore warning state variable that got lost in refactoring.Jussi Pakkanen1-0/+2
2016-01-16Renamed meson package to mesonbuild so that we can have a script named meson ↔Jussi Pakkanen1-0/+212
in the same toplevel dir.