aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-12-07types: Add type annotations to mintro.pyDaniel Mensinger2-121/+94
2019-12-07run_project_tests: argparse(choices) for --only name checkMichael Hirsch, Ph.D1-7/+15
2019-12-07Merge pull request #6228 from scivision/scalapackJussi Pakkanen12-44/+514
deps: add Scalapack
2019-12-07catch malformed command line array option with helpful errorMichael Hirsch, Ph.D1-1/+4
fixes #6291
2019-12-07type annoMichael Hirsch, Ph.D1-2/+2
2019-12-06Update Python2 syntax to Python3 syntax in genrelnotes.pyMichael Brockus1-16/+26
2019-12-06Update Python2 syntax to Python3 syntax in WrapMichael Brockus2-10/+10
2019-12-06Update Python2 syntax to Python3 syntax in ghwt.pyMichael Brockus2-7/+7
2019-12-06Merge pull request #6238 from scivision/wrap_secJussi Pakkanen13-50/+111
wrap: working to improve security
2019-12-06mtest: document default MALLOC_PERTURB_=1..255 behavior [skip ci]Michael Hirsch, Ph.D2-12/+35
This default behavior can have surprising and time-consuming outcomes. I was wondering why certain tests using several external, fixed libraries would fail only with Meson and not with CMake or manual runs. It turned out mtest.py enables MALLOC_PERTURB_ by default, which is surprising--a topic for another Issue/PR. At least, this surprising default is documented with workarounds.
2019-12-05wrap: check whitelist subdomainMichael Hirsch, Ph.D5-18/+58
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-05rpm: update for host machine compiler API changeMichael Hirsch, Ph.D1-1/+1
2019-12-05wrap: raise WrapException instead of Python exception when program not availableMichael Hirsch, Ph.D1-23/+36
2019-12-05c/cpp: removed unused argsMichael Hirsch, Ph.D7-7/+7
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-05docs/users: Add libglvnd [skip ci]Dylan Baker1-0/+1
2019-12-05find_program(): Add 'dirs' keyword argumentXavier Claessens6-17/+56
Fixes: #1576
2019-12-05interpreter: Remove useless checkXavier Claessens1-2/+0
extract_required_kwarg() above already ensure that required is always boolean at that point.
2019-12-05Partially revert "lgtm: fix Missing call to __init__ during object ↵Dylan Baker1-19/+16
initialization" This partially reverts commit fe853ee516e1e7b392753a6e8f1f0b9cad6fb54f. In particular this reverts the changes to the DynamicLinker __init__ methods. Frankly this is *bad* because it allows a mixin class (which should not be directly instantiated) to be directly instantiated, and complicates the init process. It also increases the amount of code for zero gain, and makes the code less resilient to refactors.
2019-12-05compilers: Rework the CompilerArgs to be less awfulDylan Baker2-77/+75
There are two awful things about CompilerArgs, one is that it directly inherits from list, and there are a lot of subtle gotcahs with inheriting from builtin types. The second is that the class allows arguments to be passed in whatever order. That's bad. This also fully annotates the CompilerArgs class, so mypy can type check it for us.
2019-12-05compilers: use import typing instead of from typing importDylan Baker1-44/+47
`from foo import` should be used sparingly because of namespace pollution, especially since those names will be exported unconditionally. For typing this is extra annoying because anytime someone wants to use another symbol from the typing module they have to add it to the import line. Use `import typing` to avoid all of this.
2019-12-05build: Fix type signature of rich comparison dundersDylan Baker1-4/+12
There are three problems: 1) Dunders like `__lt__` and `__gt__` don't return bool, they return either a bool or the NotImplemented singleton to signal that they don't know how to be compared. 2) The don't take type object, the take `typing.Any` 3) They need to return NotImplemented if the comparison is not implemented, this allows python to try the inverse dunder from the other object. If that object returns NotImplemented as well a TypeError is raised.
2019-12-05Fix 'meson subprojects foreach' when command returns non-zero exit codeAntonio Ospite1-4/+10
The 'output' field of the subprocess.CalledProcessError exception is valid only when subprocess.check_output() is called, trying to access it after calling subprocess.check_call() results in an unwanted exception when commands return non-zero exit code, e.g.: ----------------------------------------------------------------------- $ meson subprojects foreach false Executing command in ./subprojects/sqlite-amalgamation-3250100 -> Not downloaded yet Executing command in ./subprojects/gstreamer Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 177, in foreach subprocess.check_call([options.command] + options.args, cwd=repo_dir) File "/usr/lib/python3.7/subprocess.py", line 363, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/mesonmain.py", line 129, in run return options.run_func(options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 248, in run options.subprojects_func(wrap, repo_dir, options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 180, in foreach out = e.output.decode().strip() AttributeError: 'NoneType' object has no attribute 'decode' ----------------------------------------------------------------------- Use subprocess.check_output() instead and behave more like git commands in handling stderr. This makes it possible to actually run commands on all subprojects allowing them to fail on some subprojects and succeed on others. Also catch the case of missing commands and print an error message in this case as well.
2019-12-05Clean stray .o file that LDC creates during tests.Jussi Pakkanen1-0/+8
2019-12-05Update Users.mdAmit D1-0/+2
2019-12-05pytest: Fix test warningsDaniel Mensinger1-1/+4
2019-12-05lgtm: ignore Iterator does not return self from __iter__ methodDaniel Mensinger1-2/+8
2019-12-05lgtm: fix Incomplete orderingDaniel Mensinger1-9/+12
2019-12-05lgtm: fix __eq__ not overridden when adding attributesDaniel Mensinger1-0/+10
2019-12-05lgtm: fix Multiple calls to __init__Daniel Mensinger4-13/+11
Some slight refactoring for the dependency classes and I switched the elbrus compiler to the GnuLikeCompiler. This is also the correct use according to the documentation of GnuLikeCompiler.
2019-12-05lgtm: Actually supress the Non-standard exception warningDaniel Mensinger2-10/+10
2019-12-05lgtm: Fix insecure SSL/TLS version by removing dead codeDaniel Mensinger1-10/+4
2019-12-05Add pkgconfig import in D documentationDanilo Spinella1-0/+2
2019-12-05lgtm: Fix redundant codeDaniel Mensinger7-12/+3
2019-12-05lgtm: fix Incomplete URL substring sanitizationDaniel Mensinger1-1/+3
2019-12-05lgtm: ignore all safe `__init__ method calls overridden method` warningsDaniel Mensinger2-3/+5
2019-12-05lgtm: fix Non-iterable used in for loopDaniel Mensinger1-3/+2
Not sure why LGTM is complaining about this, but moving this from a static to a local context should fix this.
2019-12-05lgtm: fix Missing call to __init__ during object initializationDaniel Mensinger3-19/+23
Either mark the missing calls as intentional, or explicetly call the right __init__ method and avoid mixing super() and explicit base calss calls.
2019-12-05lgtm: fix Mismatch between signature and use of an overridden methodDaniel Mensinger1-3/+6
by renaming process_kwargs to process_kwargs_base for the base target class.
2019-12-05lgtm: fix `Mismatch in multiple assignment` errorDaniel Mensinger1-1/+1
The old version is technically also correct, but this commit makes the intent more explicit (and schould make LGTM happy).
2019-12-05lgtm: fix missing raiseDaniel Mensinger1-1/+1
2019-12-05lgtm: fix format string numberingDaniel Mensinger1-1/+1
2019-12-05lgtm: fix Unreachable codeDaniel Mensinger1-1/+0
2019-12-05lgtm: ignore Non-standard exception raised in special methodDaniel Mensinger2-5/+5
2019-12-05lgtm: Fix unused variableDaniel Mensinger2-3/+1
2019-12-05lgtm: Fix Module imported with `import` and `import from`Daniel Mensinger6-88/+84
2019-12-04dict: Fully evaluate keysXavier Claessens6-61/+67
The only restriction is keys must be string after evaluation. This fix various inconsistencies.
2019-12-04intel/intel-cl: use appropriate buildtype optionsMichael Hirsch, Ph.D2-16/+40
This puts appropriate default options across buildtype for Intel and Intel-Cl compilers, for C, C++ and Fortran. Prior to this PR, the behavior of Intel compilers vs. GNUlike was not the same, in particular, debug traceback available by default for GNUlike compilers was not present with Intel compilers.
2019-12-04Update Users.mdAmit D1-0/+1