meson: Support for both packaging and distutils

distutils was deprecated and is now gone on modern systems.
so the default behavior is to use the supported thing, which is packaging.version, and when on an old system, fallback to the old distutils.version.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9943

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26746>
This commit is contained in:
Yonggang Luo
2023-12-18 18:16:47 +08:00
committed by Marge Bot
parent b4cde1b2a6
commit 670a799ebf

View File

@@ -910,9 +910,12 @@ prog_python = import('python').find_installation('python3')
has_mako = run_command(
prog_python, '-c',
'''
from distutils.version import StrictVersion
try:
from packaging.version import Version
except:
from distutils.version import StrictVersion as Version
import mako
assert StrictVersion(mako.__version__) >= StrictVersion("0.8.0")
assert Version(mako.__version__) >= Version("0.8.0")
''', check: false)
if has_mako.returncode() != 0
error('Python (3.x) mako module >= 0.8.0 required to build mesa.')