aboutsummaryrefslogtreecommitdiff
path: root/fetchReleases.py
diff options
context:
space:
mode:
Diffstat (limited to 'fetchReleases.py')
-rw-r--r--fetchReleases.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/fetchReleases.py b/fetchReleases.py
index cca8f9b..0945c43 100644
--- a/fetchReleases.py
+++ b/fetchReleases.py
@@ -162,12 +162,42 @@ def fetch_gcrypt():
+def fetch_mbedtls():
+ # Mbed-TLS/mbedtls
+ pkg = "mbedtls"
+ owner = "Mbed-TLS"
+ repo = "mbedtls"
+ release_url = f"https://api.github.com/repos/{owner}/{repo}/releases"
+ resp = requests.get(release_url)
+
+ single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone {
+ {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; };
+ };""")
+ renders = []
+ for release in resp.json():
+ if not release['draft'] and not release['prerelease']:
+ version = release['tag_name']
+ print(version)
+ flat_version = version.replace('.', '')
+ download_url = f"https://github.com/{owner}/{repo}/archive/{version}.tar.gz"
+ digest = get_source_hash(download_url, unpack=True)
+
+
+ rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=version).strip()
+ renders.append(rendered)
+
+ all_versions = all_versions_template.render(pkg_versions=renders).strip()
+ with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle:
+ handle.write(all_versions)
+
def main():
parser = argparse.ArgumentParser()
parser.add_argument("lib")
args = parser.parse_args()
+ print(f"Fetching versions and source hashes for: {args.lib}")
+
match args.lib:
case "botan":
fetch_botan()
@@ -177,6 +207,10 @@ def main():
fetch_openssl()
case "gcrypt":
fetch_gcrypt()
+ case "mbedtls":
+ fetch_mbedtls()
+ case _:
+ print("Unknown library")
if __name__ == '__main__':