Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
682 commits
Select commit Hold shift + click to select a range
600d84e
backend/xcode: Use immutable type annotations for constants
dcbaker Jun 1, 2026
70e7059
Mark all backends as fully type safe
dcbaker Jun 1, 2026
aa3e952
Update brew command to check for installed libomp only
dimpase Jun 2, 2026
5754c9b
add typing for munstable_coredata.py
bonzini Dec 17, 2025
2c63b42
pathlib: Use WindowsPath directly instead of messing with Path for su…
dcbaker Jun 3, 2026
ad432c5
simplify run_mypy.py
bonzini Jun 4, 2026
44c3b9c
cmake: fix typo in documentation
kvog-git Jun 4, 2026
4f527bb
Revert "nasm: use the correct flag for response file support"
amyspark Jun 2, 2026
fa6bdea
nasm: disable response file support
amyspark Jun 2, 2026
9e2abd0
test cases: test recursive xgettext
bonzini May 27, 2026
db76725
Fix recursion for i18n.xgettext
bruchar1 Dec 2, 2025
7756459
compilers: clike: move `-fuse-ld=` to compiler args
mochaaP Dec 9, 2025
1e50fe1
ninjabackend: msvc: make detect_vs_dep_prefix independent of stdlib
mochaaP Dec 9, 2025
3b7c81d
clang-cl: add c++23 support via /clang:-std= and remove CPP11AsCPP14M…
koushik717 May 28, 2026
915a847
use VC_VERSION_MAP as base for cpp_stds list
koushik717 May 28, 2026
5c8df00
Add initial detection for Fuchsia
gurchetansingh May 13, 2026
2344a2e
compilers: clike: Fix cc.get_define() on MSVC with -std:c11, on Unix
mstorsjo Jan 4, 2026
546e47e
automatically tag files installed under sbindir
aydinmercan Jun 5, 2026
ac3ee31
docs: update release info for my secondary PGP signing key
eli-schwartz Jun 5, 2026
97d7e60
windows: disable the RC dependency detection script for Microsoft clang
amyspark Jun 1, 2026
31a1a87
mformat: Make --recursive recurse subprojects with --subprojects flag
Grillo-0 May 16, 2026
6719b6e
xcodebackend: fix expected type of "children" key
bonzini Jun 8, 2026
cf48eed
add clippy-json target
Jturnerusa Nov 30, 2025
9f46673
interpreter: create build_subdir at include time
bonzini Jun 8, 2026
6e19d67
Revert "compilers: Deduplicate OpenMP linker arguments"
bonzini Jun 8, 2026
e7a2400
compilers: Don't use -I=path in TI toolchain
gpollo Apr 9, 2026
8e9c69c
build: Delete dead kwargs lists
dcbaker Jun 8, 2026
c5d43af
envconfig: allow running executables if subsystem is not set
bonzini Jun 9, 2026
89847a5
docs: Qt6 module: document main kwarg
meator Jun 7, 2026
9dae782
interpreter: do not warn for intentional ALLOW_BUILD_DIR_FILE_REFERENCES
bonzini Jun 6, 2026
54e32a5
interpreter: do not create files with absolute fname
bonzini Jun 4, 2026
9a07a66
ninjabackend: catch bad files with an absolute fname part
bonzini Jun 4, 2026
3eaf128
Implement language_stdlib_only_link_flags() for ElbrusFortranCompiler
arrowd Jun 10, 2026
9e94d0c
Misspellings: add closest match for function and method kwargs
amcn Mar 14, 2025
fd7426f
Misspellings: add closest match for function names
amcn Mar 14, 2025
19922d7
Misspellings: add closest match for object method names
amcn Mar 14, 2025
81b19eb
Misspellings: add closest match for module method names
amcn Mar 14, 2025
0816c4a
Misspellings: add closest match for variable names
amcn Mar 14, 2025
a3f4ccb
Misspellings: add closest match for module names
bonzini Jun 10, 2026
d648f82
Misspellings: add closest match for subproject names
amcn Mar 25, 2025
4dee8ca
wraptool: support installing wraps for multiple projects
bonzini Jun 12, 2026
80bc12f
mtest: allow ignore reasons in rust unittests
kloenk Jun 13, 2026
185e86c
remove defensive asserts on arguments
bonzini Jun 11, 2026
61b9f19
build: remove dead function
bonzini Jun 11, 2026
a8e60b0
dependencies: remove bogus StructuredSources annotation
bonzini Jun 5, 2026
4eaa4a5
interpreter: narrow input to check_for_jar_sources
bonzini Jun 11, 2026
66d84ab
backends: split caching part of get_target_dir
bonzini Jun 10, 2026
995d431
build: remove str from ObjectTypes
bonzini Jun 11, 2026
96948af
build: remove GeneratedTypes from ObjectTypes
bonzini Jun 11, 2026
d710074
build, interpreter: do not pass str for link_depends
bonzini Jun 11, 2026
7f7ed26
build, interpreter: do not pass string to extract_objects
bonzini Jun 11, 2026
3d84d92
qt: standardize types in kwarg TypedDicts
bonzini Jun 11, 2026
5f283fa
qt: allow CustomTargetIndex and generators for preprocess
bonzini Jun 13, 2026
4af0860
build: introduce TargetSources
bonzini Jun 11, 2026
fb2c53d
build: remove unnecessary str occurrences around target sources
bonzini Jun 11, 2026
60f1f0a
backends: remove FileOrString from object_filename_from_source
bonzini Jun 11, 2026
1217fae
build: never pass str to Generator.process_files
bonzini Jun 11, 2026
580588a
vs2010backend: remove AnyTargetType from get_target_deps
bonzini Jun 10, 2026
932f0ba
fs: introduce FilePathTypes
bonzini Jun 11, 2026
4f6d4e8
build: introduce CommandTypes
bonzini Jun 11, 2026
2d87b25
pkgconfig: cleanup TypeAliases
bonzini Jun 11, 2026
5b9f61f
utils: do not use Sequence[str]
bonzini Jun 11, 2026
01678d4
build: add get_target()
bonzini Jun 11, 2026
5d590c8
compilers: assume MSVC supports C++ Modules if VSCMD_VER not set
mochaaP Dec 9, 2025
1e2cbc3
Add win_subsystem to SharedLibrary and SharedModule
mochaaP Mar 18, 2026
4595afe
vs2010backend: better handling of win_subsystem
mochaaP May 27, 2026
a3fe58f
docs: mention win_subsystem support in release notes
mochaaP May 27, 2026
dea8d2d
mtest: fix tap tests with nonzero exit code reported as passed
wyu71 Jun 11, 2026
ef3dff3
i18n module: add msgfmt_args argument to i18n.gettext
bonzini Jun 10, 2026
88bc1f3
codegen: do not use Programs.for_machine
bonzini Jan 19, 2026
c91907f
build: simplify rel_string_list
bonzini Jan 8, 2026
0a19f25
Revert "build: move find_overrides away"
bonzini Jan 8, 2026
f33474e
test cases: expand test for nonexisting property
bonzini Jun 9, 2026
a63debe
utils: add indexing to PerThreeMachine
bonzini Jun 9, 2026
c24754b
pkgconfig: do not map machine in PkgConfigInterface._cli
bonzini Jun 9, 2026
a8b9740
environment, build: store which machines are in use
bonzini Jun 9, 2026
288763a
interpreter: introduce apply_machine_map
bonzini Jun 9, 2026
c27e417
interpreter: apply machine map when decorator can't be used
bonzini Jan 19, 2026
0b4c3ca
pkgconfig: do not map machine in PkgConfigInterface.instance
bonzini Jun 9, 2026
3799c88
build: add subproject to BuildProject
bonzini Jun 9, 2026
d7bedd8
build: replace SubProject with BuildProject for target
bonzini Jun 9, 2026
c561bd8
build, interpreter: make project-related fields per machine
bonzini May 27, 2026
b74736b
interpreter: block install_* commands for build subprojects
bonzini Dec 16, 2025
3cba9ee
interpreter: add native argument to override_find_program()
bonzini Jun 9, 2026
499f73d
build: differentiate build directory according to a subproject's buil…
bonzini Jan 20, 2026
a75c360
build: keep host/build separate when merging from a build-only subpro…
bonzini Jun 9, 2026
2631a5e
interpreter: allow subprojects to be requested for the build machine
bonzini Jun 9, 2026
bff2e58
tests for native subprojects
dcbaker Feb 7, 2026
26e4e7d
tests: add test that native subprojects have different introspection ids
bonzini Jun 9, 2026
192ac47
interpreter, cmake: add native argument to subproject()
bonzini Dec 16, 2025
dc559de
interpreter, rust: add native argument to workspace object
bonzini Mar 7, 2026
65ffb1d
cargo: store machine-specific configuration
bonzini May 19, 2026
e6bb057
cargo: implement machine-specific dependency tracking
bonzini Oct 23, 2025
891f276
cargo: assert that proc-macro crates are built once
bonzini Apr 15, 2026
142f44a
cargo: vary crate names per machine
bonzini Sep 12, 2025
b6f1863
internaltests: Fix test_program_version type (and use subtests)
dcbaker Jun 11, 2026
46c4034
compilers: Add a method to get a static linker or error
dcbaker Jun 10, 2026
f387715
compilers/rust: Use `get_linker_id()` instead of .linker.id
dcbaker Jun 16, 2026
6f52381
utils: make get_meson_command return a list[str] or error
dcbaker Jun 10, 2026
9151be0
backend: Don't return none from backend getters
dcbaker Jun 16, 2026
f302ad4
backends/ninja: refactor RustrCrate to remove is_proc_macro
dcbaker Jun 10, 2026
4ed8ded
cmake/interpreter: ConverterCustomTarget.get_ref cannot return None
dcbaker Jun 16, 2026
28f3dbb
interpreter: Project(version) cannot be None
dcbaker Jun 16, 2026
43b301f
utils/universal: Fix typing of PerThreeMachine.miss_defaulting
dcbaker Jun 9, 2026
f22f674
utils/universal: Use ParamSpec for decorators
dcbaker Jun 17, 2026
ba83434
utils/universal: Add a late_property
dcbaker Jun 17, 2026
7779810
interpreter: Use the late_property for Interpreter.backend
dcbaker Jun 17, 2026
55321d5
compilers/compilers: Use wallrus operator for exe_wrapper
dcbaker Jun 17, 2026
d075ba3
utils/universal: Add unwrap functions for removing None values from u…
dcbaker Jun 9, 2026
7498aa1
make use of the unwrap function
dcbaker Jun 9, 2026
9e31ba0
tooldetect: use strict optional
dcbaker Jun 9, 2026
cc21ae3
depfile: Turn on mypy strict optional
dcbaker Jun 9, 2026
4098ece
machinefile: Turn on mypy strict optional
dcbaker Jun 9, 2026
73bb614
mlog: Turn on mypy strict optional
dcbaker Jun 9, 2026
7cd66d3
coredata: Turn on mypy strict optional
dcbaker Jun 9, 2026
da834ea
cmdline: Turn on mypy strict optional
dcbaker Jun 9, 2026
91fd982
envconfig: Turn on mypy strict optional
dcbaker Jun 9, 2026
e3b1eca
environment: Turn on mypy strict optional
dcbaker Jun 9, 2026
a4492c2
mcompile: Turn on mypy strict optional
dcbaker Jun 9, 2026
4e27217
mconf: Turn on mypy strict optional
dcbaker Jun 9, 2026
b458846
mdevenv: Turn on mypy strict optional
dcbaker Jun 9, 2026
6f956ac
mdist: Turn on mypy strict optional
dcbaker Jun 9, 2026
0c106b2
mesondata: Turn on mypy strict optional
dcbaker Jun 9, 2026
7b6de79
mesonmain: Turn on mypy strict optional
dcbaker Jun 9, 2026
feee3a3
minit: Turn on mypy strict optional
dcbaker Jun 9, 2026
de69a6e
backend/backends: Make TargetInstallData.install_mode non-optional
dcbaker Jun 16, 2026
e52dafe
minstall: Turn on mypy strict optional
dcbaker Jun 9, 2026
8cd27e2
programs: Fix strict-null issues
dcbaker Jun 10, 2026
e4c7e61
ninjabackend: add should_use_rspfile() method to NinjaRule
bonzini Jun 7, 2026
d23570a
ninjabackend: extract NinjaBuild object
bonzini Jun 7, 2026
739e86f
nasm: use the correct flag for response file support, try 2
amyspark Jun 5, 2026
5461ecf
find_program: Respect --force-fallback-for
sp1ritCS Jun 10, 2026
dba7929
Make cython generated targets less nested
lesteve Nov 1, 2025
4146c44
Improve error messages for wrap-redirect file
benjamin-otte Apr 16, 2021
a5562ce
Add to_list() method to include_directories objects
Apr 2, 2024
a7adffa
windows: Implement RC depfile generation for clang targeting MSVC
amyspark Jun 7, 2026
ea5af50
ci: Disable git repository ownership checks
mgorny Jun 22, 2026
82c2598
docs: accept 429 status for github search and topic pages
bonzini Jun 23, 2026
1b4a649
docs: fix incorrect return type
bonzini Jun 23, 2026
bcd5dd4
docs: correct dep.as_system() default value
Wramberg Jun 23, 2026
e0e728d
msetup: Create CACHEDIR.TAG file in build dir
Vanadiae Apr 25, 2023
462758d
install: Delay install script errors to install time
sp1ritCS Jun 15, 2026
a3de7ea
backend/ninja: clean meson-dist directory during ninja clean
mayank-dev-15 Jun 23, 2026
f31d6f5
cargo: force "native: false" when building Cargo packages in non-cros…
bonzini Jun 23, 2026
4c664ad
cargo: ignore doc-scrape-examples field
bonzini Jun 23, 2026
a076653
cargo: do minimal validation of [patch.crates-io]
bonzini Jun 23, 2026
b300d95
cargo: do not warn for [profile] in dependencies
bonzini Jun 24, 2026
32e2b6b
interpreter: Fix KwargInfo.evolve return type
dcbaker Jun 8, 2026
d7ced03
Add OpenHarmony (OHOS) support as an Android subsystem
jobor Jun 23, 2026
b16053c
unittests: split template tests per language
dcbaker Jun 10, 2026
16a4cd6
rewriter: rewriter functions are not TV_Func types
dcbaker Jun 30, 2026
dcb6d37
Look up valac in cross file.
jpakkane Apr 23, 2026
fe75baf
Test removal of valac fallback.
jpakkane Jul 4, 2026
002de1e
Add valac to cross file.
jpakkane Jul 4, 2026
15231ce
Add snippet for Vala cross.
jpakkane Jul 4, 2026
e4b644b
interpreter: Add a default() function
dcbaker Jun 2, 2026
25395cc
interpreter: deprecate passing `[]` to build_target(*_prefix: ...)
dcbaker Jun 2, 2026
f99d3c0
Renumber test case directories for rc1.
jpakkane Jul 5, 2026
0334fa4
symbolextractor: check the validity of stderr output on OS/2
komh Jul 5, 2026
da76d46
tests: Set encoding for several `open()` calls
dcbaker Jun 2, 2026
6a04534
rust: Add wrapper for cbindgen
dcbaker Apr 15, 2024
f81fdea
_typing: mark ImmutableListProtocol method arguemnts as position only
dcbaker Jul 6, 2026
89670f9
platform: implement path_has_root() on OS/2
komh Jul 5, 2026
f2d0d08
Link against the latest Boost Python version.
jpakkane Jul 6, 2026
b0c0413
Bump version number for rc1.
jpakkane Jul 7, 2026
2b4f5dc
compilers/cpp: add vc++23 to ALL_STDS
gistrec Jul 7, 2026
22675c6
mconf: fix crash printing list-valued option augments
MaxandreOgeret Jul 9, 2026
802e552
move /showIncludes from always_args to get_show_dep_args
peterh Jun 26, 2026
b8b9519
adjust minimum version for external program as DEPENDS and INPUT
bonzini Jul 13, 2026
afd2f89
interpreter: add FeatureNew for generated non-.pyx sources
bonzini Jul 13, 2026
e4cc4d2
Revert "linkers: apple: do not pass -object_path_lto to dyld"
bonzini Jul 13, 2026
97f2986
linkers: apple: -object_path_lto was added in ld 123.2
bonzini Jul 13, 2026
a60c478
linker: apple: fix xtools version detection
bonzini Jul 13, 2026
16fe37e
Fix formatting for man page test --slice option
Jakuje Jul 16, 2026
ce35439
python: switch (again) default rust_abi for extension modules to C
bonzini Feb 17, 2026
11f88f3
vs2010backend: use Build.get_global_args
bonzini Jul 14, 2026
ef574de
build: pass target to get_global_*args
bonzini Jul 14, 2026
9c03a12
build, interpreter: handle per-machine project arguments in BuildTarget
bonzini Jul 14, 2026
743ad95
add testcase for 1.12 regression - add_project_arguments version
bonzini Jul 13, 2026
a1f12bb
build: store original "native: true" setting for subprojects
bonzini Jul 14, 2026
79837e7
build, interpreter: handle per-machine global arguments in BuildTarget
bonzini Jul 14, 2026
9387915
add testcase for 1.12 regression - add_global_arguments version
bonzini Jul 14, 2026
dde29f2
python: fix application of machine map
bonzini Jul 15, 2026
14143be
tests: common: respect PKG_CONFIG in handwritten configure script
thesamesam Jul 19, 2026
8a95b31
Condense directory names for rc2.
jpakkane Jul 20, 2026
1ad6388
Update version number for rc2.
jpakkane Jul 20, 2026
b5305c7
cmake: omit CMAKE_<LANG>_COMPILER_LOADED from generated toolchain files
rbberger Jul 20, 2026
d60a509
test cases: disable werror=true for python/12 rust extmodule
bonzini Jul 22, 2026
bb531f0
type_checking: mark first available version for vs_module_defs in bui…
bonzini Jul 22, 2026
9c868d3
Unset IFS in external project test
tristan957 Jul 27, 2026
0b5b32e
ast/printer: fix list of nonassociative operators
bonzini Jul 29, 2026
cd852f1
cargo: use new endpoint for downloads
thesamesam Aug 3, 2026
3bf88eb
Update example cross files for emscripten/wasm
sbc100 Aug 2, 2026
f004d10
Bump version number for rc3.
jpakkane Aug 4, 2026
01c123c
qt: use source_strings_to_files for the Qt module's generators
bonzini Aug 9, 2026
ab4508e
Bump version number for release.
jpakkane Aug 10, 2026
b04f7f0
Add 'objc' and 'objcpp' suffixes to fix #16063
iccir Aug 4, 2026
e4cf933
options.py: fix f-string formatting in warning message.
Gottox Aug 10, 2026
712b3f3
cargo: Also allow proc_macro in addition to proc-macro
lbaudin Aug 5, 2026
80ef2fd
gnome: Fix dependency between gir and sources
Srushti750 Aug 4, 2026
fcdb7ac
Handle invalid CMake skip compiler test values
LunaMeerkats Jul 26, 2026
94c0255
mtest: warn on TAP unknown lines instead of erroring
mayank-dev-15 Jun 23, 2026
e9f8708
introspection: drop dependencies with unknown name from output
bonzini Aug 6, 2026
e4c1e78
wrap, mdist: require a resolver for get_directory
bonzini Aug 10, 2026
0700e6b
wrap: load Cargo.lock when Resolver is created
bonzini Aug 10, 2026
c3a5856
unittests: add test for --include-subprojects with Cargo.lock
bonzini Aug 10, 2026
5cdd1b4
cargo: remove Optional from load_cargo_lock return value
bonzini Aug 11, 2026
aec31df
Add enum WrapType
bonzini Aug 11, 2026
1ebf9db
Fix meson dist --include-subprojects with redirected wraps
tristan957 Aug 11, 2026
c54d67c
baseplatformtests: Don't specify "/" in os.path.join
moi15moi Aug 4, 2026
616040c
Build a shared library for find_library link tests
thesamesam Mar 11, 2026
0d33866
universal.py: search_version: make the version regex a bit more robust
jmarcoscosta Jul 2, 2026
ff17e7e
Fix dep dependency prefix detection
bruchar1 Aug 11, 2026
14933d4
Ensure coverage info is not empty.
jpakkane Aug 13, 2026
f5dda9a
msetup: fix misleading error message about directories
Trim Aug 20, 2026
8f83a46
python module: support pypy without distutils
mattip Aug 15, 2026
f93e40a
ElbrusCompiler: Remove the lchmod hack
arrowd Aug 20, 2026
978ba5e
interpreterobjects: Fix typo in error message
Aug 24, 2026
69e5964
Stop depending on libwmf-config to run test
tristan957 Aug 25, 2026
8d13bff
Fix racy wine prefix initialization in ubuntu-rolling cross CI
tristan957 Aug 24, 2026
ab28057
Migrate envcheck.py test to C
tristan957 Aug 27, 2026
fa6a193
Detect Java home directory by asking the compiler
tristan957 Aug 25, 2026
49a852f
Account for pre-JDK9 java.home behavior
tristan957 Aug 27, 2026
62d3bd5
interpreter: allow attaching a feature check to a relaxation
bonzini Aug 25, 2026
881a5f2
interpreter: allow sandbox violations for custom target depend_files
bonzini Aug 25, 2026
3fa2726
build, backends: move get_all_linked_targets to Backend
bonzini Aug 25, 2026
21913cd
backends: include objects of linked targets into the depscan phase
bonzini Aug 25, 2026
a77806c
backends: include target's own object sources in get_all_linked_targets
bonzini Aug 25, 2026
f863950
build: ExtractedObjects are non-recursive by default
bonzini Aug 25, 2026
55a69fc
backends: remove unused argument
bonzini Aug 25, 2026
854409c
remove exponential worst case in _flatten_object_list
bonzini Aug 25, 2026
881da62
Add libclang-rt-dev to ubuntu-rolling
tristan957 Aug 28, 2026
9375d10
compilers(MSVC): use `/Fe` for `.dll` too
lucascolley Aug 28, 2026
d46cea4
Add LLVM 23 version suffixes
tristan957 Aug 28, 2026
11a4ffa
Revert "cargo: Use --env-set when we have nightly rustc"
bonzini Aug 31, 2026
594b12f
backends/vs: fix potential infinite loop
dcbaker Sep 4, 2026
b66a1a8
Stop passing link arguments to compile-only sanity checks
tristan957 Aug 24, 2026
c74b7b1
unittests: check that linker always args reach compile checks
bonzini Aug 28, 2026
59129dc
compilers: introduce _sanity_check_mode
bonzini Aug 28, 2026
991ee94
clike: do not add external arguments twice in the sanity check
bonzini Aug 28, 2026
1a28432
unittests: add test that find_library receives the link_always_args
bonzini Aug 28, 2026
ade542a
compilers: pass linker always args as linker, not compiler arguments
bonzini Aug 28, 2026
3bc8ff4
d: pass link arguments through unix_args_to_native
bonzini Aug 28, 2026
18b394b
compilers: add get_external_compile/link_args
bonzini Aug 28, 2026
aadc006
rust: pass rust_args and rust_link_args to sanity check
bonzini Aug 28, 2026
3c4fb2b
compilers: move -fpermissive from CPPCompiler to individual superclas…
bonzini Sep 10, 2026
f1b329d
compilers: add /permissive to cl/clang-cl compiler checks
bonzini Sep 10, 2026
01ad3d0
Bump versions to 1.12.1 for stable release
nirbheek Sep 22, 2026
70598bb
ci: Move fastjsonschema to pip for msys2 jobs
nirbheek Sep 22, 2026
11ed55a
merge upstream 1.12.1 into the branch
mattip Sep 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 7 additions & 10 deletions .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,23 +57,20 @@ jobs:
gcc-fortran
gcc-objc++
gcc-objc
gcovr
git
gobject-introspection
gtk-doc
libboost-devel
libglib2.0-devel
libgtk3-devel
libxml2-devel
libxslt-devel
make
ninja
python2-devel
python3-devel
python3-libxml2
python3-libxslt
python3-gi
python39-pip
python39-wheel
python312-devel
python312-fastjsonschema
python312-pefile
python312-pip
python312-wheel
vala
zlib-devel

Expand All @@ -94,7 +91,7 @@ jobs:
- name: Run pip
run: |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist
python3 -m pip --disable-pip-version-check install pytest pytest-subtests pytest-xdist
shell: bash --noprofile --norc -o igncr -eo pipefail '{0}'

- uses: actions/cache/save@v4
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,9 @@ jobs:
- { name: Fedora, id: fedora }
- { name: Gentoo, id: gentoo }
- { name: OpenSUSE, id: opensuse }
- { name: Ubuntu Bionic, id: bionic }
- { name: Ubuntu Rolling, id: ubuntu-rolling }
steps:
# Need v3 because of bionic
- uses: actions/checkout@v3
- uses: actions/checkout@v6

# Login to dockerhub
- name: Docker login
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.x'
# Pin mypy to version 1.8, so we retain the ability to lint for Python 3.7
- run: python -m pip install "mypy==1.8" strictyaml truststore types-PyYAML types-tqdm types-chevron
# Pin mypy to version 1.19, so we retain the ability to lint for Python 3.10
- run: python -m pip install "mypy==1.19" strictyaml truststore types-PyYAML types-tqdm types-chevron types-lxml
- run: python run_mypy.py --allver
env:
PYTHONUNBUFFERED: 1
Expand Down
34 changes: 22 additions & 12 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,21 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: |
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
/usr/bin/python3 -m pip install --upgrade pip
/usr/bin/python3 -m pip install pytest pytest-xdist pytest-subtests fastjsonschema
- run: brew install pkg-config ninja llvm qt@5
- run: brew update
# github actions overwrites brew's python. Force it to reassert itself, by running in a separate step.
- name: unbreak python in github actions
run: |
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
sudo rm -rf /Library/Frameworks/Python.framework/
brew install --force python3 && brew unlink python3 && brew unlink python3 && brew link --overwrite python3
# Delete nonsensical PEP 668 breakage. It is the wrong solution to the problem and isn't designed to be
# productive -- only victim blaming -- however it bites particularly badly because this is a container/VM
# See commit 5c479d7a13a518c18ccb4dc3b6bdd7bfc2a9bdb5 for a more thorough analysis.
find /opt/homebrew/Cellar/python* -name EXTERNALLY-MANAGED -print0 | xargs -0 rm -vf
- name: Install Python dependencies
run: |
python3 -m pip install pytest pytest-xdist pytest-subtests fastjsonschema
- run: brew install pkg-config ninja llvm qt@6
- env:
CPPFLAGS: "-I/opt/homebrew/include"
LDFLAGS: "-L/opt/homebrew/lib"
Expand All @@ -46,9 +56,9 @@ jobs:
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
run: |
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
export PATH="$HOME/Library/Python/3.9/bin:$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:$PATH"
export PKG_CONFIG_PATH="/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/Current/lib/pkgconfig:/opt/homebrew/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
/usr/bin/python3 ./run_unittests.py
export PATH="$HOME/tools:/opt/homebrew/opt/qt@6/bin:/opt/homebrew/opt/llvm/bin:$PATH"
export PKG_CONFIG_PATH="/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/Current/lib/pkgconfig:/opt/homebrew/opt/qt@6/lib/pkgconfig:$PKG_CONFIG_PATH"
python3 ./run_unittests.py


project-tests-appleclang:
Expand Down Expand Up @@ -83,7 +93,7 @@ jobs:
find /opt/homebrew/Cellar/python* -name EXTERNALLY-MANAGED -print0 | xargs -0 rm -vf
# use python3 from homebrew because it is a valid framework, unlike the actions one:
# https://github.com/actions/setup-python/issues/58
- run: brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc zstd ncurses objfw libomp
- run: brew install pkg-config ninja llvm qt@6 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc zstd ncurses objfw libomp
- run: |
python3 -m pip install cython
- env:
Expand All @@ -97,6 +107,6 @@ jobs:
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
# Append LLVM's bin directory to PATH to prioritise Apple Clang over Homebrew Clang.
# We need this to avoid objfw test failures.
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/ncurses/bin:$PATH:/opt/homebrew/opt/llvm/bin"
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"
./run_project_tests.py --backend=ninja
export PATH="$HOME/tools:/opt/homebrew/opt/qt@6/bin:/opt/homebrew/opt/ncurses/bin:$PATH:/opt/homebrew/opt/llvm/bin"
export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@6/lib/pkgconfig:/opt/homebrew/opt/lapack/lib/pkgconfig:/opt/homebrew/opt/ncurses/lib/pkgconfig:$PKG_CONFIG_PATH"
./run_project_tests.py --backend=ninja -- $MESON_ARGS
3 changes: 1 addition & 2 deletions .github/workflows/msys2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,13 @@ jobs:
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-fastjsonschema
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYSTEM != 'MINGW32' && 'objfw' || 'ninja' }}
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYSTEM != 'MINGW32' && 'llvm' || 'ninja' }}
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }}

- name: Install dependencies
run: |
python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist
python3 -m pip --disable-pip-version-check install fastjsonschema gcovr pefile pytest pytest-subtests pytest-xdist

- name: Install pypy3 on x86_64
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nonnative.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ permissions:
jobs:
cross-only-armhf:
runs-on: ubuntu-latest
container: mesonbuild/eoan:latest
container: mesonbuild/ubuntu-rolling:latest
env:
MESON_CI_JOBNAME: ubuntu-${{ github.job }}

Expand Down
15 changes: 3 additions & 12 deletions .github/workflows/os_comp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,13 @@ jobs:
- { name: Fedora, id: fedora }
- { name: Gentoo, id: gentoo }
- { name: OpenSUSE, id: opensuse }
- { name: Ubuntu Bionic, id: bionic }
container:
image: mesonbuild/${{ matrix.cfg.id }}:latest
volumes:
- ${{ matrix.cfg.id == 'bionic' && '/node20217:/node20217:rw,rshared' || ' ' }}
- ${{ matrix.cfg.id == 'bionic' && '/node20217:/__e/node20:ro,rshared' || ' ' }}
env:
MESON_CI_JOBNAME: linux-${{ matrix.cfg.id }}-gcc

steps:
- name: install nodejs20glibc2.17
if: ${{ matrix.cfg.id == 'bionic' }}
run: |
apt install curl -y
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
ldd /__e/node20/bin/node
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Run tests
# All environment variables are stored inside the docker image in /ci/env_vars.sh
Expand All @@ -72,6 +61,8 @@ jobs:

source /ci/env_vars.sh
cd $GITHUB_WORKSPACE
# disable git ownership checks
git config --global safe.directory '*'
./run_tests.py $CI_ARGS

pypy:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
- 'mesonbuild/**'
- 'test cases/**'
- 'unittests/**'
- '.github/workflows/*.yml'
- '.github/workflows/windows.yml'
- 'ci/run.ps1'
- 'run_project_tests.py'
- 'run_tests.py'
Expand All @@ -20,7 +20,7 @@ on:
- 'mesonbuild/**'
- 'test cases/**'
- 'unittests/**'
- '.github/workflows/*.yml'
- '.github/workflows/windows.yml'
- 'ci/run.ps1'
- 'run_project_tests.py'
- 'run_tests.py'
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.7'
python-version: '3.10'

- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
Expand Down Expand Up @@ -98,9 +98,9 @@ jobs:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mesonbuild/cidata/refs/heads/master/win32/pkg-config.exe" -OutFile "$pkgconfigDir\pkg-config.exe"
echo "$pkgconfigDir" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Install NASM
- name: Install Chocolatey Dependencies
shell: pwsh
run: choco install -y nasm
run: choco install -y nasm winflexbison3

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
Expand Down
51 changes: 51 additions & 0 deletions .mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,54 @@ check_untyped_defs = True
# future default behaviors
allow_redefinition_new = True
local_partial_types = True

[mypy-mesonbuild.cmdline]
strict_optional = True

[mypy-mesonbuild.coredata]
strict_optional = True

[mypy-mesonbuild.depfile]
strict_optional = True

[mypy-mesonbuild.envconfig]
strict_optional = True

[mypy-mesonbuild.environment]
strict_optional = True

[mypy-mesonbuild.machinefile]
strict_optional = True

[mypy-mesonbuild.mcompile]
strict_optional = True

[mypy-mesonbuild.mconf]
strict_optional = True

[mypy-mesonbuild.mdevenv]
strict_optional = True

[mypy-mesonbuild.mdist]
strict_optional = True

[mypy-mesonbuild.mesondata]
strict_optional = True

[mypy-mesonbuild.mesonmain]
strict_optional = True

[mypy-mesonbuild.minit]
strict_optional = True

[mypy-mesonbuild.minstall]
strict_optional = True

[mypy-mesonbuild.mlog]
strict_optional = True

[mypy-mesonbuild.programs]
strict_optional = True

[mypy-mesonbuild.tooldetect]
strict_optional = True
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ build system.

#### Dependencies

- [Python](https://python.org) (version 3.7 or newer)
- [Python](https://python.org) (version 3.10 or newer)
- [Ninja](https://ninja-build.org) (version 1.8.2 or newer)

Latest Meson version supporting previous Python versions:
Expand Down
6 changes: 3 additions & 3 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ jobs:
- bash: ci/intel-scripts/cache_exclude_windows.sh
displayName: exclude unused files from cache
condition: and(ne(variables.CACHE_RESTORED, 'true'), eq(variables.ifort, 'true'))
- script: choco install -y nasm
displayName: install NASM
- script: choco install -y nasm winflexbison3
displayName: install Chocolatey Dependencies
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
versionSpec: '3.10'
addToPath: true
architecture: 'x64'
- task: BatchScript@1
Expand Down
8 changes: 5 additions & 3 deletions ci/ciimage/arch/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ pkgs=(
python python-pip pypy3
ninja make git sudo fakeroot autoconf automake patch
libelf gcc gcc-fortran gcc-objc vala rust byacc flex cython go dlang-dmd
mono boost qt5-base gtkmm3 gtest gmock protobuf gobject-introspection
mono boost boost-libs qt5-base gtkmm3 gtest gmock protobuf gobject-introspection
itstool glib2-devel gtk3 java-environment=8 gtk-doc llvm clang sdl2 graphviz
doxygen vulkan-headers vulkan-icd-loader vulkan-validation-layers openssh mercurial gtk-sharp-3 qt5-tools
libwmf cmake netcdf-fortran openmpi nasm gnustep-base gettext
python-lxml hotdoc rust-bindgen qt6-base qt6-tools qt6-declarative wayland wayland-protocols
intel-oneapi-mkl
intel-oneapi-mkl zlib-static
# cuda
)

Expand Down Expand Up @@ -61,4 +61,6 @@ su $AUR_USER -c "yay -S $PACMAN_OPTS ${aur_pkgs[*]}"

# cleanup
pacman -Rs --noconfirm "${cleanup_pkgs[@]}"
su $AUR_USER -c "yes | yay -Scc"
# clear the pacman cache first, since the yay user may not have permission
pacman -Sc --noconfirm
su $AUR_USER -c "yes | yay -Sc --aur"
8 changes: 0 additions & 8 deletions ci/ciimage/bionic/image.json

This file was deleted.

Loading
Loading