diff options
| author | quapka | 2024-08-06 14:16:26 +0200 |
|---|---|---|
| committer | quapka | 2024-08-06 14:16:26 +0200 |
| commit | b5b4f69fb751b9b781dd2c46fa1a4091676b80cc (patch) | |
| tree | 107dfcfe43382ba904bfb86adfb1a863cad8f0d0 | |
| parent | 66c239e0ef9e12c705d8004f4b341ee57c610bed (diff) | |
| download | ECTester-b5b4f69fb751b9b781dd2c46fa1a4091676b80cc.tar.gz ECTester-b5b4f69fb751b9b781dd2c46fa1a4091676b80cc.tar.zst ECTester-b5b4f69fb751b9b781dd2c46fa1a4091676b80cc.zip | |
| -rw-r--r-- | fetchReleases.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/fetchReleases.py b/fetchReleases.py index b462e1e..cca8f9b 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -119,6 +119,47 @@ def fetch_openssl(): with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) +def fetch_tomcrypt(): + # fetch libtomcrypt + pass + +def fetch_gcrypt(): + + pkg = "gcrypt" + release_list = "https://gnupg.org/ftp/gcrypt/libgcrypt/" + download_url = "https://gnupg.org/ftp/gcrypt/libgcrypt/{version}" + resp = requests.get(release_list) + soup = BeautifulSoup(resp.content, 'html.parser') + + single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { + {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; + };""") + + renders = [] + for link in soup.find_all("a"): + if link.text.startswith("libgcrypt") and link.text.endswith("tar.bz2"): + download_link = download_url.format(version=link['href']) + + match = re.match(r"libgcrypt-(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?P<dont>_do_not_use)?\.(?P<ext>.*)", link.text) + version = f"{match['major']}.{match['minor']}.{match['patch']}" + print(version) + + digest = get_source_hash(download_link) + print(digest) + + flat_version = f"v{match['major']}{match['minor']}{match['patch']}" + if match['dont']: + flat_version += "_do_not_use" + + + 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("./nix/gcrypt_pkg_versions.nix", "w") as handle: + handle.write(all_versions) + + @@ -134,6 +175,8 @@ def main(): fetch_cryptopp() case "openssl": fetch_openssl() + case "gcrypt": + fetch_gcrypt() if __name__ == '__main__': |
