mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 14:05:33 +00:00
[#3731] Add version check and fallback to meson.sh
This commit is contained in:
committed by
Francis Dupont
parent
24be7f045e
commit
57514e5879
43
meson.sh
43
meson.sh
@@ -6,13 +6,46 @@
|
||||
# Usage: just like meson
|
||||
# Example: ./meson.sh setup build
|
||||
|
||||
# Check if ${1} < ${2}.
|
||||
lt() {
|
||||
# Sort numerically and check the first item.
|
||||
lesser=$(printf '%s\n%s\n' "${1}" "${2}" | sort -V | head -n 1)
|
||||
if test "${lesser}" = "${2}"; then
|
||||
# ${1} >= ${2}
|
||||
return 1
|
||||
fi
|
||||
|
||||
# ${1} < ${2}
|
||||
return 0
|
||||
}
|
||||
|
||||
if test ! -d venv; then
|
||||
python3 -m venv ./venv
|
||||
./venv/bin/pip install --upgrade pip
|
||||
# When meson 1.8 will be released, we can pin the versions.
|
||||
./venv/bin/pip install git+https://github.com/mesonbuild/meson.git
|
||||
./venv/bin/pip install ninja
|
||||
# Starting with Meson 0.62, Python 3.7 is required.
|
||||
python3=python3
|
||||
v=$(python3 -c 'import platform; print(platform.python_version())')
|
||||
if lt "${v}" 3.7.0; then
|
||||
# Search for a newer Python.
|
||||
if command -V compgen >/dev/null; then
|
||||
# shellcheck disable=SC3044
|
||||
# SC3044 (warning): In POSIX sh, 'compgen' is undefined.
|
||||
newer=$(compgen -c python3 | sort -V | tail -n 1)
|
||||
if test -n "${newer}"; then
|
||||
python3="${newer}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
v=$("${python3}" -c 'import platform; print(platform.python_version())')
|
||||
printf 'Python version: %s\n' "${v}"
|
||||
|
||||
"${python3}" -m venv ./venv
|
||||
./venv/bin/pip install --upgrade pip
|
||||
|
||||
# When meson 1.8 will be released, we can pin the versions.
|
||||
./venv/bin/pip install git+https://github.com/mesonbuild/meson.git
|
||||
./venv/bin/pip install ninja
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
# SC1091: Not following: ... was not specified as input (see shellcheck -x).
|
||||
. ./venv/bin/activate
|
||||
|
Reference in New Issue
Block a user