Add support for new versions of upstream toolchain packages

Resolves #1092, resolves #1093
This commit is contained in:
Valerii Koval
2023-05-08 12:34:12 +03:00
parent da133384b5
commit d9939d93c3
+18 -5
View File
@@ -288,11 +288,24 @@ class Espressif32Platform(PlatformBase):
def extract_toolchain_versions(tool_deps):
def _parse_version(original_version):
assert original_version
match = re.match(r"^gcc(\d+)_(\d+)_(\d+)\-esp\-(.+)$", original_version)
if not match:
raise ValueError("Bad package version `%s`" % original_version)
assert len(match.groups()) == 4
return "%s.%s.%s+%s" % (match.groups())
version_patterns = (
r"^gcc(?P<MAJOR>\d+)_(?P<MINOR>\d+)_(?P<PATCH>\d+)-esp-(?P<EXTRA>.+)$",
r"^esp-(?P<EXTRA>.+)-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.?(?P<PATCH>\d+)$",
r"^esp-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.(?P<PATCH>\d+)(_(?P<EXTRA>.+))?$",
)
for pattern in version_patterns:
match = re.search(pattern, original_version)
if match:
result = "%s.%s.%s" % (
match.group("MAJOR"),
match.group("MINOR"),
match.group("PATCH"),
)
if match.group("EXTRA"):
result = result + "+%s" % match.group("EXTRA")
return result
raise ValueError("Bad package version `%s`" % original_version)
if not tool_deps:
raise ValueError(