gh-37319: `build/pkgs/meson`: Update to 1.3.1, require >= 1.2.3 for Python 3.12 support, reject meson installed in inaccessible user schemes
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes #1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->
As reported in https://groups.google.com/g/sage-
devel/c/9ETciH8efTE/m/UfUO7xmsAQAJ, our `configure` script currently
accepts "system" meson that will not be functional in our venv.
```
$ pip install --user meson
Collecting meson
Using cached meson-1.3.1-py3-none-any.whl.metadata (1.8 kB)
Using cached meson-1.3.1-py3-none-any.whl (976 kB)
Installing collected packages: meson
Successfully installed meson-1.3.1
$ python3 -c 'import sysconfig; print(sysconfig.get_path("scripts",
"posix_user"))'
/Users/mkoeppe/Library/Python/3.11/bin
$ /Users/mkoeppe/Library/Python/3.11/bin/meson --version
1.3.1
$ ./sage -sh -c '/Users/mkoeppe/Library/Python/3.11/bin/meson --version'
Traceback (most recent call last):
File "/Users/mkoeppe/Library/Python/3.11/bin/meson", line 5, in
<module>
from mesonbuild.mesonmain import main
ModuleNotFoundError: No module named 'mesonbuild'
```
Also tightening the version requirement. Only needed for Python 3.12
support (https://github.com/mesonbuild/meson-
python/blob/main/pyproject.toml#L36), but we do this unconditionally for
simplicity.
Also updating meson to latest and changing to a wheel package.
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->
### :memo: Checklist
<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->
- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
URL: https://github.com/sagemath/sage/pull/37319
Reported by: Matthias Köppe
Reviewer(s):