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 Pythonmaint
commit
867d9b19be
|
@ -298,7 +298,7 @@ jobs:
|
||||||
path: build
|
path: build
|
||||||
- name: Test
|
- name: Test
|
||||||
shell: pwsh
|
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:
|
regular:
|
||||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
||||||
|
|
|
@ -178,7 +178,7 @@ test:msvc-meson:
|
||||||
- job: "build:msvc-meson"
|
- job: "build:msvc-meson"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
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
|
parallel: 10
|
||||||
|
|
||||||
test:fuzz-smoke-tests:
|
test:fuzz-smoke-tests:
|
||||||
|
|
|
@ -375,8 +375,7 @@ foreach manpage, category : manpages
|
||||||
output: fs.stem(manpage) + '.xml',
|
output: fs.stem(manpage) + '.xml',
|
||||||
)
|
)
|
||||||
|
|
||||||
manpage_path = fs.stem(manpage) + '.' + category.to_string()
|
custom_target(
|
||||||
manpage_target = custom_target(
|
|
||||||
command: [
|
command: [
|
||||||
xmlto,
|
xmlto,
|
||||||
'-m', '@INPUT0@',
|
'-m', '@INPUT0@',
|
||||||
|
@ -392,7 +391,7 @@ foreach manpage, category : manpages
|
||||||
'manpage-normal.xsl',
|
'manpage-normal.xsl',
|
||||||
'manpage-bold-literal.xsl',
|
'manpage-bold-literal.xsl',
|
||||||
],
|
],
|
||||||
output: manpage_path,
|
output: fs.stem(manpage) + '.' + category.to_string(),
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: get_option('mandir') / 'man' + category.to_string(),
|
install_dir: get_option('mandir') / 'man' + category.to_string(),
|
||||||
)
|
)
|
||||||
|
|
27
meson.build
27
meson.build
|
@ -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
|
# "/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
|
# supported systems. This path is also the default shell path used by our
|
||||||
# Makefile. This lookup can be overridden via `program_path`.
|
# 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.
|
# Sanity-check that programs required for the build exist.
|
||||||
foreach tool : ['cat', 'cut', 'grep', 'sort', 'tr', 'uname']
|
foreach tool : ['cat', 'cut', 'grep', 'sort', 'tr', 'uname']
|
||||||
|
@ -866,9 +866,11 @@ if host_machine.system() == 'cygwin' or host_machine.system() == 'windows'
|
||||||
endif
|
endif
|
||||||
build_options_config.set_quoted('X', executable_suffix)
|
build_options_config.set_quoted('X', executable_suffix)
|
||||||
|
|
||||||
python = import('python').find_installation('python3', required: get_option('python'))
|
# Python is not used for our build system, but exclusively for git-p4.
|
||||||
target_python = find_program('python3', native: false, required: python.found())
|
# Consequently we only need to determine whether Python is available for the
|
||||||
if python.found()
|
# build target.
|
||||||
|
target_python = find_program('python3', native: false, required: get_option('python'))
|
||||||
|
if target_python.found()
|
||||||
build_options_config.set('NO_PYTHON', '')
|
build_options_config.set('NO_PYTHON', '')
|
||||||
else
|
else
|
||||||
libgit_c_args += '-DNO_PYTHON'
|
libgit_c_args += '-DNO_PYTHON'
|
||||||
|
@ -1970,7 +1972,7 @@ if perl_features_enabled
|
||||||
subdir('perl')
|
subdir('perl')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if python.found()
|
if target_python.found()
|
||||||
scripts_python = [
|
scripts_python = [
|
||||||
'git-p4.py'
|
'git-p4.py'
|
||||||
]
|
]
|
||||||
|
@ -2197,16 +2199,15 @@ meson.add_dist_script(
|
||||||
|
|
||||||
summary({
|
summary({
|
||||||
'benchmarks': get_option('tests') and perl.found() and time.found(),
|
'benchmarks': get_option('tests') and perl.found() and time.found(),
|
||||||
'curl': curl.found(),
|
'curl': curl,
|
||||||
'expat': expat.found(),
|
'expat': expat,
|
||||||
'gettext': intl.found(),
|
'gettext': intl,
|
||||||
'gitweb': gitweb_option.allowed(),
|
'gitweb': gitweb_option.allowed(),
|
||||||
'https': https_backend,
|
'iconv': iconv,
|
||||||
'iconv': iconv.found(),
|
'pcre2': pcre2,
|
||||||
'pcre2': pcre2.found(),
|
|
||||||
'perl': perl_features_enabled,
|
'perl': perl_features_enabled,
|
||||||
'python': python.found(),
|
'python': target_python.found(),
|
||||||
}, section: 'Auto-detected features')
|
}, section: 'Auto-detected features', bool_yn: true)
|
||||||
|
|
||||||
summary({
|
summary({
|
||||||
'csprng': csprng_backend,
|
'csprng': csprng_backend,
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = expat-2.6.3
|
directory = expat-2.7.1
|
||||||
source_url = https://github.com/libexpat/libexpat/releases/download/R_2_6_3/expat-2.6.3.tar.xz
|
source_url = https://github.com/libexpat/libexpat/releases/download/R_2_7_1/expat-2.7.1.tar.xz
|
||||||
source_filename = expat-2.6.3.tar.bz2
|
source_filename = expat-2.7.1.tar.bz2
|
||||||
source_hash = 274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc
|
source_hash = 354552544b8f99012e5062f7d570ec77f14b412a3ff5c7d8d0dae62c0d217c30
|
||||||
patch_filename = expat_2.6.3-1_patch.zip
|
patch_filename = expat_2.7.1-1_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.6.3-1/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.7.1-1/get_patch
|
||||||
patch_hash = cf017fbe105e31428b2768360bd9be39094df4e948a1e8d1c54b6f7c76460cb1
|
patch_hash = fe28cbbc427a7c9787d08b969ad54d19f59d8dd18294b4a18651cecfc789d4ef
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/expat_2.6.3-1/expat-2.6.3.tar.bz2
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/expat_2.7.1-1/expat-2.7.1.tar.bz2
|
||||||
wrapdb_version = 2.6.3-1
|
wrapdb_version = 2.7.1-1
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
expat = expat_dep
|
expat = expat_dep
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = pcre2-10.44
|
directory = pcre2-10.45
|
||||||
source_url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/pcre2-10.44.tar.bz2
|
source_url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.bz2
|
||||||
source_filename = pcre2-10.44.tar.bz2
|
source_filename = pcre2-10.45.tar.bz2
|
||||||
source_hash = d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96
|
source_hash = 21547f3516120c75597e5b30a992e27a592a31950b5140e7b8bfde3f192033c4
|
||||||
patch_filename = pcre2_10.44-2_patch.zip
|
patch_filename = pcre2_10.45-2_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/pcre2_10.44-2/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/pcre2_10.45-2/get_patch
|
||||||
patch_hash = 4336d422ee9043847e5e10dbbbd01940d4c9e5027f31ccdc33a7898a1ca94009
|
patch_hash = 7c6f34b703708652a404f9dc2769c67658c437b6043573295fa3428a9b7a6807
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/pcre2_10.44-2/pcre2-10.44.tar.bz2
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/pcre2_10.45-2/pcre2-10.45.tar.bz2
|
||||||
wrapdb_version = 10.44-2
|
wrapdb_version = 10.45-2
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
libpcre2-8 = libpcre2_8
|
libpcre2-8 = libpcre2_8
|
||||||
|
|
Loading…
Reference in New Issue