Add support for new versions of upstream toolchain packages
Resolves #1092, resolves #1093
This commit is contained in:
+18
-5
@@ -288,11 +288,24 @@ class Espressif32Platform(PlatformBase):
|
|||||||
def extract_toolchain_versions(tool_deps):
|
def extract_toolchain_versions(tool_deps):
|
||||||
def _parse_version(original_version):
|
def _parse_version(original_version):
|
||||||
assert original_version
|
assert original_version
|
||||||
match = re.match(r"^gcc(\d+)_(\d+)_(\d+)\-esp\-(.+)$", original_version)
|
version_patterns = (
|
||||||
if not match:
|
r"^gcc(?P<MAJOR>\d+)_(?P<MINOR>\d+)_(?P<PATCH>\d+)-esp-(?P<EXTRA>.+)$",
|
||||||
raise ValueError("Bad package version `%s`" % original_version)
|
r"^esp-(?P<EXTRA>.+)-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.?(?P<PATCH>\d+)$",
|
||||||
assert len(match.groups()) == 4
|
r"^esp-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.(?P<PATCH>\d+)(_(?P<EXTRA>.+))?$",
|
||||||
return "%s.%s.%s+%s" % (match.groups())
|
)
|
||||||
|
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:
|
if not tool_deps:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
|
|||||||
Reference in New Issue
Block a user