Skip to content

Commit 31161ee

Browse files
committed
Merge remote-tracking branch 'upstream/master' into update-may2024
At commit 7d28ff2, 15 May 2024, version 1.4.99
2 parents 4e370ca + 7d28ff2 commit 31161ee

File tree

1,031 files changed

+18255
-10127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,031 files changed

+18255
-10127
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
* text eol=lf
44
*.png binary
55
*.icns binary
6+
data/shell-completions/bash/meson linguist-language=Shell
7+
data/shell-completions/zsh/_meson linguist-language=Shell

.github/workflows/cygwin.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ concurrency:
66

77
on:
88
push:
9+
branches:
10+
- master
11+
# Stable branches such as 0.56 or 1.0
12+
- '[0-9]+.[0-9]+'
913
paths:
1014
- "mesonbuild/**"
1115
- "test cases/**"
@@ -76,8 +80,7 @@ jobs:
7680
- name: Run pip
7781
run: |
7882
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
79-
# jsonschema is max capped because the new version depends on rust dependencies which are... hard to get on cygwin
80-
python3 -m pip --disable-pip-version-check install gcovr 'jsonschema<4.18' pefile pytest pytest-subtests pytest-xdist coverage
83+
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist coverage
8184
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'
8285

8386
- uses: actions/cache/save@v3

.github/workflows/images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ concurrency:
77
on:
88
push:
99
branches:
10-
- master
1110
paths:
1211
- 'ci/ciimage/**'
1312
- '.github/workflows/images.yml'
@@ -41,6 +40,7 @@ jobs:
4140
- { name: Arch Linux, id: arch }
4241
- { name: CUDA (on Arch), id: cuda }
4342
- { name: Fedora, id: fedora }
43+
- { name: Gentoo, id: gentoo }
4444
- { name: OpenSUSE, id: opensuse }
4545
- { name: Ubuntu Bionic, id: bionic }
4646
- { name: Ubuntu Rolling, id: ubuntu-rolling }

.github/workflows/lint.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
with:
2828
python-version: '3.x'
2929
- run: python -m pip install pylint
30-
- run: pylint mesonbuild
30+
- run: pylint --output-format colorized mesonbuild
3131

3232
flake8:
3333
runs-on: ubuntu-latest
@@ -37,7 +37,7 @@ jobs:
3737
with:
3838
python-version: '3.x'
3939
- run: python -m pip install flake8
40-
- run: flake8 mesonbuild/
40+
- run: flake8 --color always mesonbuild/
4141

4242
mypy:
4343
runs-on: ubuntu-latest
@@ -46,5 +46,10 @@ jobs:
4646
- uses: actions/setup-python@v4
4747
with:
4848
python-version: '3.x'
49-
- run: python -m pip install mypy types-PyYAML
50-
- run: python run_mypy.py
49+
# Pin mypy to version 1.8, so we retain the ability to lint for Python 3.7
50+
- run: python -m pip install "mypy==1.8" coverage strictyaml types-PyYAML types-tqdm types-chevron
51+
- run: python run_mypy.py --allver
52+
env:
53+
PYTHONUNBUFFERED: 1
54+
TERM: xterm-color
55+
MYPY_FORCE_COLOR: 1

.github/workflows/macos.yml

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,23 @@ concurrency:
66

77
on:
88
push:
9+
branches:
10+
- master
11+
# Stable branches such as 0.56 or 1.0
12+
- '[0-9]+.[0-9]+'
913
paths:
1014
- "mesonbuild/**"
1115
- "test cases/**"
1216
- "unittests/**"
1317
- ".github/workflows/macos.yml"
14-
- "run_unittests.py"
18+
- "run*tests.py"
1519
pull_request:
1620
paths:
1721
- "mesonbuild/**"
1822
- "test cases/**"
1923
- "unittests/**"
2024
- ".github/workflows/macos.yml"
21-
- "run_unittests.py"
25+
- "run*tests.py"
2226

2327
permissions:
2428
contents: read
@@ -33,18 +37,19 @@ jobs:
3337
python-version: '3.x'
3438
- run: |
3539
python -m pip install --upgrade pip
36-
python -m pip install pytest pytest-xdist pytest-subtests jsonschema coverage
40+
python -m pip install pytest pytest-xdist pytest-subtests fastjsonschema coverage
3741
- run: brew install pkg-config ninja llvm qt@5
3842
- env:
39-
CPPFLAGS: "-I/usr/local/include"
40-
LDFLAGS: "-L/usr/local/lib"
43+
CPPFLAGS: "-I/opt/homebrew/include"
44+
LDFLAGS: "-L/opt/homebrew/lib"
4145
MESON_CI_JOBNAME: unittests-appleclang
4246
MESON_UNIT_TEST_BACKEND: ninja
47+
HOMEBREW_NO_AUTO_UPDATE: 1
4348
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
4449
run: |
4550
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
46-
export PATH="$HOME/tools:/usr/local/opt/qt@5/bin:$PATH:$(brew --prefix llvm)/bin"
47-
export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
51+
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:$PATH"
52+
export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
4853
./tools/run_with_cov.py ./run_unittests.py
4954
5055
- name: Aggregate coverage reports
@@ -73,6 +78,7 @@ jobs:
7378
name: ${{ matrix.NAME }}
7479
env:
7580
MESON_CI_JOBNAME: ${{ matrix.NAME }}
81+
HOMEBREW_NO_AUTO_UPDATE: 1
7682

7783
steps:
7884
- uses: actions/checkout@v3
@@ -84,24 +90,28 @@ jobs:
8490
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
8591
sudo rm -rf /Library/Frameworks/Python.framework/
8692
brew install --force python3 && brew unlink python3 && brew unlink python3 && brew link --overwrite python3
93+
# Delete nonsensical PEP 668 breakage. It is the wrong solution to the problem and isn't designed to be
94+
# productive -- only victim blaming -- however it bites particularly badly because this is a container/VM
95+
# See commit 5c479d7a13a518c18ccb4dc3b6bdd7bfc2a9bdb5 for a more thorough analysis.
96+
find /opt/homebrew/Cellar/python* -name EXTERNALLY-MANAGED -print0 | xargs -0 rm -vf
8797
# use python3 from homebrew because it is a valid framework, unlike the actions one:
8898
# https://github.com/actions/setup-python/issues/58
89-
- run: brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc
99+
- run: brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc zstd ncurses objfw
90100
- run: |
91101
python3 -m pip install --upgrade setuptools
92102
python3 -m pip install --upgrade pip
93103
python3 -m pip install cython coverage
94104
- env:
95-
CPPFLAGS: "-I/usr/local/include"
96-
LDFLAGS: "-L/usr/local/lib"
105+
CPPFLAGS: "-I/opt/homebrew/include"
106+
LDFLAGS: "-L/opt/homebrew/lib"
97107
MESON_ARGS: --unity=${{ matrix.unity }}
108+
XML_CATALOG_FILES: "/opt/homebrew/etc/xml/catalog"
98109
CI: 1
99110
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
100111
run: |
101112
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
102-
export PATH="$HOME/tools:/usr/local/opt/qt@5/bin:$PATH:$(brew --prefix llvm)/bin"
103-
export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
104-
export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"
113+
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:/opt/homebrew/opt/ncurses/bin:$PATH"
114+
export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig:/opt/homebrew/opt/lapack/lib/pkgconfig:/opt/homebrew/opt/ncurses/lib/pkgconfig:$PKG_CONFIG_PATH"
105115
./tools/run_with_cov.py ./run_project_tests.py --backend=ninja
106116
107117
- name: Aggregate coverage reports
@@ -116,7 +126,11 @@ jobs:
116126
verbose: true
117127

118128
Qt4macos:
119-
runs-on: macos-latest
129+
# This job only works on Intel Macs, because OpenSSL 1.0 doesn't build on
130+
# Apple ARM
131+
runs-on: macos-13
132+
env:
133+
HOMEBREW_NO_AUTO_UPDATE: 1
120134
steps:
121135
- uses: actions/checkout@v3
122136
- uses: actions/setup-python@v4

.github/workflows/msys2.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,23 @@ concurrency:
66

77
on:
88
push:
9+
branches:
10+
- master
11+
# Stable branches such as 0.56 or 1.0
12+
- '[0-9]+.[0-9]+'
913
paths:
1014
- "mesonbuild/**"
1115
- "test cases/**"
1216
- "unittests/**"
1317
- ".github/workflows/msys2.yml"
14-
- "run_unittests.py"
18+
- "run*tests.py"
1519
pull_request:
1620
paths:
1721
- "mesonbuild/**"
1822
- "test cases/**"
1923
- "unittests/**"
2024
- ".github/workflows/msys2.yml"
21-
- "run_unittests.py"
25+
- "run*tests.py"
2226

2327
permissions:
2428
contents: read
@@ -80,7 +84,8 @@ jobs:
8084
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml
8185
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools
8286
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip
83-
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-jsonschema
87+
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-fastjsonschema
88+
mingw-w64-${{ matrix.MSYS2_ARCH }}-objfw
8489
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }}
8590
8691
- name: Install dependencies
@@ -100,7 +105,7 @@ jobs:
100105
- name: Run Tests
101106
run: |
102107
if [[ "${{ matrix.MSYS2_ARCH }}" == "x86_64" ]]; then
103-
# There apparently is no clean way to add to the PATH in the
108+
# There apparently is no clean way to add to the PATH in the
104109
# previous step?
105110
# See for instance https://github.com/msys2/setup-msys2/issues/171
106111
export PATH=$PATH:$PWD/pypy3local

.github/workflows/nonnative.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
push:
99
branches:
1010
- master
11-
# Stable branches such as 0.56 or the eventual 1.0
11+
# Stable branches such as 0.56 or 1.0
1212
- '[0-9]+.[0-9]+'
1313
paths:
1414
- "mesonbuild/**"

.github/workflows/os_comp.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@ on:
88
push:
99
branches:
1010
- master
11-
# Stable branches such as 0.56 or the eventual 1.0
11+
# Stable branches such as 0.56 or 1.0
1212
- '[0-9]+.[0-9]+'
1313
paths:
1414
- "mesonbuild/**"
1515
- "test cases/**"
1616
- "unittests/**"
1717
- ".github/workflows/images.yml"
1818
- ".github/workflows/os_comp.yml"
19-
- "run_unittests.py"
19+
- "run*tests.py"
2020
pull_request:
2121
paths:
2222
- "mesonbuild/**"
2323
- "test cases/**"
2424
- "unittests/**"
2525
- ".github/workflows/images.yml"
2626
- ".github/workflows/os_comp.yml"
27-
- "run_unittests.py"
27+
- "run*tests.py"
2828

2929
permissions:
3030
contents: read
@@ -40,6 +40,7 @@ jobs:
4040
- { name: Arch Linux, id: arch }
4141
- { name: CUDA (on Arch), id: cuda }
4242
- { name: Fedora, id: fedora }
43+
- { name: Gentoo, id: gentoo }
4344
- { name: OpenSUSE, id: opensuse }
4445
- { name: Ubuntu Bionic, id: bionic }
4546
container: mesonbuild/${{ matrix.cfg.id }}:latest

.github/workflows/website.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ on:
1010
branches:
1111
- master
1212
paths:
13+
- .github/workflows/website.yml
1314
- docs/**
1415
pull_request:
1516
paths:
17+
- .github/workflows/website.yml
1618
- docs/**
1719
workflow_dispatch:
1820
release:
@@ -31,10 +33,26 @@ jobs:
3133
runs-on: ubuntu-latest
3234
steps:
3335
- uses: actions/checkout@v3
36+
37+
- uses: actions/cache/restore@v3
38+
id: restore-cache
39+
with:
40+
# should use 'pip3 cache dir' to discover this path
41+
path: ~/.cache/pip
42+
key: website-pip-${{ github.run_number }}
43+
restore-keys: website-pip-
44+
3445
- name: Install package
3546
run: |
3647
sudo apt-get -y install python3-pip ninja-build libjson-glib-dev
3748
pip install hotdoc chevron strictyaml
49+
50+
- uses: actions/cache/save@v3
51+
with:
52+
# should use 'pip3 cache dir' to discover this path
53+
path: ~/.cache/pip
54+
key: website-pip-${{ github.run_number }}
55+
3856
- name: Setup SSH Keys and known_hosts
3957
env:
4058
SSH_AUTH_SOCK: /tmp/ssh_agent.sock

.mypy.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
strict_optional = False
33
show_error_context = False
44
show_column_numbers = True
5-
ignore_missing_imports = True
5+
ignore_missing_imports = False
6+
implicit_reexport = False
67

78
follow_imports = silent
89
warn_redundant_casts = True

0 commit comments

Comments
 (0)