Merge branch 'ps/meson-cleanups'

Meson-based build update.

* ps/meson-cleanups:
  ci: use Meson's new `--slice` option
  meson: update subproject wrappers
  meson: fix lookup of shell on MINGW64
  meson: clean up unnecessary variables
  meson: improve summary of auto-detected features
  meson: stop printing 'https' option twice in our summaries
  meson: stop discovering native version of Python
maint
Junio C Hamano 2025-07-21 09:14:26 -07:00
commit 867d9b19be
6 changed files with 36 additions and 36 deletions

View File

@ -298,7 +298,7 @@ jobs:
path: build
- name: Test
shell: pwsh
run: meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % 10 } | Where-Object Name -EQ ${{ matrix.nr }} | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group }
run: meson test -C build --no-rebuild --print-errorlogs --slice "$(1+${{ matrix.nr }})/10"

regular:
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})

View File

@ -178,7 +178,7 @@ test:msvc-meson:
- job: "build:msvc-meson"
artifacts: true
script:
- meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % $Env:CI_NODE_TOTAL + 1 } | Where-Object Name -EQ $Env:CI_NODE_INDEX | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group; if (!$?) { exit $LASTEXITCODE } }
- meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
parallel: 10

test:fuzz-smoke-tests:

View File

@ -375,8 +375,7 @@ foreach manpage, category : manpages
output: fs.stem(manpage) + '.xml',
)

manpage_path = fs.stem(manpage) + '.' + category.to_string()
manpage_target = custom_target(
custom_target(
command: [
xmlto,
'-m', '@INPUT0@',
@ -392,7 +391,7 @@ foreach manpage, category : manpages
'manpage-normal.xsl',
'manpage-bold-literal.xsl',
],
output: manpage_path,
output: fs.stem(manpage) + '.' + category.to_string(),
install: true,
install_dir: get_option('mandir') / 'man' + category.to_string(),
)

View File

@ -245,7 +245,7 @@ time = find_program('time', dirs: program_path, required: get_option('benchmarks
# "/bin/sh" over a PATH-based lookup, which provides a working shell on most
# supported systems. This path is also the default shell path used by our
# Makefile. This lookup can be overridden via `program_path`.
target_shell = find_program('sh', dirs: program_path + [ '/bin' ], native: false)
target_shell = find_program('/bin/sh', 'sh', dirs: program_path, native: false)

# Sanity-check that programs required for the build exist.
foreach tool : ['cat', 'cut', 'grep', 'sort', 'tr', 'uname']
@ -866,9 +866,11 @@ if host_machine.system() == 'cygwin' or host_machine.system() == 'windows'
endif
build_options_config.set_quoted('X', executable_suffix)

python = import('python').find_installation('python3', required: get_option('python'))
target_python = find_program('python3', native: false, required: python.found())
if python.found()
# Python is not used for our build system, but exclusively for git-p4.
# Consequently we only need to determine whether Python is available for the
# build target.
target_python = find_program('python3', native: false, required: get_option('python'))
if target_python.found()
build_options_config.set('NO_PYTHON', '')
else
libgit_c_args += '-DNO_PYTHON'
@ -1970,7 +1972,7 @@ if perl_features_enabled
subdir('perl')
endif

if python.found()
if target_python.found()
scripts_python = [
'git-p4.py'
]
@ -2197,16 +2199,15 @@ meson.add_dist_script(

summary({
'benchmarks': get_option('tests') and perl.found() and time.found(),
'curl': curl.found(),
'expat': expat.found(),
'gettext': intl.found(),
'curl': curl,
'expat': expat,
'gettext': intl,
'gitweb': gitweb_option.allowed(),
'https': https_backend,
'iconv': iconv.found(),
'pcre2': pcre2.found(),
'iconv': iconv,
'pcre2': pcre2,
'perl': perl_features_enabled,
'python': python.found(),
}, section: 'Auto-detected features')
'python': target_python.found(),
}, section: 'Auto-detected features', bool_yn: true)

summary({
'csprng': csprng_backend,

View File

@ -1,13 +1,13 @@
[wrap-file]
directory = expat-2.6.3
source_url = https://github.com/libexpat/libexpat/releases/download/R_2_6_3/expat-2.6.3.tar.xz
source_filename = expat-2.6.3.tar.bz2
source_hash = 274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc
patch_filename = expat_2.6.3-1_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.6.3-1/get_patch
patch_hash = cf017fbe105e31428b2768360bd9be39094df4e948a1e8d1c54b6f7c76460cb1
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/expat_2.6.3-1/expat-2.6.3.tar.bz2
wrapdb_version = 2.6.3-1
directory = expat-2.7.1
source_url = https://github.com/libexpat/libexpat/releases/download/R_2_7_1/expat-2.7.1.tar.xz
source_filename = expat-2.7.1.tar.bz2
source_hash = 354552544b8f99012e5062f7d570ec77f14b412a3ff5c7d8d0dae62c0d217c30
patch_filename = expat_2.7.1-1_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.7.1-1/get_patch
patch_hash = fe28cbbc427a7c9787d08b969ad54d19f59d8dd18294b4a18651cecfc789d4ef
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/expat_2.7.1-1/expat-2.7.1.tar.bz2
wrapdb_version = 2.7.1-1

[provide]
expat = expat_dep

View File

@ -1,13 +1,13 @@
[wrap-file]
directory = pcre2-10.44
source_url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/pcre2-10.44.tar.bz2
source_filename = pcre2-10.44.tar.bz2
source_hash = d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96
patch_filename = pcre2_10.44-2_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/pcre2_10.44-2/get_patch
patch_hash = 4336d422ee9043847e5e10dbbbd01940d4c9e5027f31ccdc33a7898a1ca94009
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/pcre2_10.44-2/pcre2-10.44.tar.bz2
wrapdb_version = 10.44-2
directory = pcre2-10.45
source_url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.bz2
source_filename = pcre2-10.45.tar.bz2
source_hash = 21547f3516120c75597e5b30a992e27a592a31950b5140e7b8bfde3f192033c4
patch_filename = pcre2_10.45-2_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/pcre2_10.45-2/get_patch
patch_hash = 7c6f34b703708652a404f9dc2769c67658c437b6043573295fa3428a9b7a6807
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/pcre2_10.45-2/pcre2-10.45.tar.bz2
wrapdb_version = 10.45-2

[provide]
libpcre2-8 = libpcre2_8