diff options
author | ng0 <ng0@n0.is> | 2019-10-28 13:32:12 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2019-10-28 13:32:12 +0000 |
commit | 591ce257f8c8f08d9609471e860349322d10c4a7 (patch) | |
tree | ce8bec2cfd3d7f661dfa64bfeb7e87e4a5db3b3b /talerbuildconfig.py | |
parent | dd8a253d1a3cc778410eeca48a763d106a396c44 (diff) | |
download | build-common-591ce257f8c8f08d9609471e860349322d10c4a7.tar.gz build-common-591ce257f8c8f08d9609471e860349322d10c4a7.tar.bz2 build-common-591ce257f8c8f08d9609471e860349322d10c4a7.zip |
Add PythonTool(). Contrary the code in sh/, it is limited to
python3.7 - python4.0 right now.
Diffstat (limited to 'talerbuildconfig.py')
-rw-r--r-- | talerbuildconfig.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/talerbuildconfig.py b/talerbuildconfig.py index 647a0a1..f0e6d92 100644 --- a/talerbuildconfig.py +++ b/talerbuildconfig.py @@ -213,6 +213,42 @@ class PyBabelTool(Tool): return True +class PythonTool(Tool): + # This exists in addition to the files in sh, so that + # the Makefiles can use this value instead. + name = "python" + + def args(self, parser): + parser.add_argument( + "--with-python", type=str, help="name of the python executable" + ) + + def check(self, buildconfig): + # No suffix. Would probably be cheaper to do this in + # the dict as well. + if existence("python"): + buildconfig._set_tool("python", "python") + return True + else: + # Has suffix, try suffix. We know the names in advance, + # so use a dictionary and iterate over it. Use enough names + # to safe updating this for another couple of years. + # + # Food for thought: If we only accept python 3.7 or higher, + # is checking pybabel + pybabel-3.[0-9]* too much and could + # be broken down to pybabel + pybabel-3.7 and later names? + version_dict = { + "3.7": "python3.7", + "3.8": "python3.8", + "3.9": "python3.9", + "4.0": "python4.0", + } + for value in version_dict.values(): + if existence(value): + buildconfig._set_tool("python", value) + return True + + class BrowserTool(Tool): name = "browser" |