diff options
| author | quapka | 2024-08-06 17:12:23 +0200 |
|---|---|---|
| committer | quapka | 2024-08-06 17:12:23 +0200 |
| commit | 92393806db443a408fa78cf2753a4b88462e10d3 (patch) | |
| tree | 0fe147665662e1b3805a459ae068670f54786645 | |
| parent | 2ee39e74d80fe0812c6436b359a7a73ea4e30cc2 (diff) | |
| download | ECTester-92393806db443a408fa78cf2753a4b88462e10d3.tar.gz ECTester-92393806db443a408fa78cf2753a4b88462e10d3.tar.zst ECTester-92393806db443a408fa78cf2753a4b88462e10d3.zip | |
Build various version of Nettle
| -rw-r--r-- | fetchReleases.py | 35 | ||||
| -rw-r--r-- | flake.nix | 11 | ||||
| -rw-r--r-- | nix/nettle_pkg_versions.nix | 95 |
3 files changed, 139 insertions, 2 deletions
diff --git a/fetchReleases.py b/fetchReleases.py index 4d4c0c7..a0783df 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -218,6 +218,39 @@ def fetch_ippcp(): with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) +def fetch_nettle(): + # https://api.github.com/repos/intel/ipp-crypto/releases + pkg = "nettle" + owner = "gnutls" + repo = "nettle" + release_url = f"https://api.github.com/repos/{owner}/{repo}/tags" + resp = requests.get(release_url) + + single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { + {{ pkg }} = { version="{{ version }}"; tag="{{ tag }}"; hash="{{ digest }}"; }; + };""") + renders = [] + for tag in resp.json(): + if tag['name'] == 'release_nettle_0.2.20010617': + continue + version = tag['name'].split('_')[1] + # NOTE skip release candidates + if re.search(r'\drc\d', version): + continue + flat_version = "v" + version.replace('.', '_') + # download_url = f"https://github.com/{owner}/{repo}/archive/{tag['name']}.tar.gz" + download_url = f"mirror://gnu/nettle/nettle-{version}.tar.gz" + print(download_url) + digest = get_source_hash(download_url, unpack=False) + + rendered = single_version_template.render( + pkg=pkg, digest=digest, flat_version=flat_version, tag=tag['name'], 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() @@ -239,6 +272,8 @@ def main(): fetch_mbedtls() case "ippcp": fetch_ippcp() + case "nettle": + fetch_nettle() case _: print("Unknown library") @@ -164,8 +164,12 @@ ./nix/libtommath-pkgconfig-for-static-build.patch ]; }); - nettle = pkgs.nettle.overrideAttrs (final: prev: { + nettleBuilder = { version, tag, hash }: pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; + src = if version == null then prev.version else pkgs.fetchurl { + url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; + inherit hash; + }; }); cryptoppBuilder = { version, hash }: (pkgs.cryptopp.override { enableStatic = true; }).overrideAttrs (final: prev: { src = if version == null then prev.src else @@ -226,7 +230,7 @@ gcryptShimBuilder = { version, hash}: import ./nix/gcryptshim.nix { inherit pkgs libgpg-error; libgcrypt = libgcryptBuilder { inherit version hash; }; }; mbedtlsShimBuilder = { version, hash }: import ./nix/mbedtlsshim.nix { inherit pkgs; mbedtls = ( mbedtlsBuilder { inherit version hash; }); }; ippcpShimBuilder = { version, hash }: import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = ( ipp-cryptoBuilder { inherit version hash; }); }; - nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle gmp; }; + nettleShimBuilder = { version, tag, hash }: import ./nix/nettleshim.nix { inherit pkgs gmp; nettle = ( nettleBuilder { inherit version tag hash; }); }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; @@ -241,6 +245,7 @@ gcrypt ? { version = null; hash = null; }, mbedtls ? { version = null; hash = null; }, ippcp ? { version = null; hash = null; }, + nettle ? { version = null; tag = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -255,6 +260,7 @@ gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; }; + nettleShim = nettleShimBuilder { inherit (nettle) version tag hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -314,6 +320,7 @@ gcrypt = pkgs.callPackage ./nix/gcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; mbedtls = pkgs.callPackage ./nix/mbedtls_pkg_versions.nix { inherit buildECTesterStandalone; }; ippcp = pkgs.callPackage ./nix/ippcp_pkg_versions.nix { inherit buildECTesterStandalone; }; + nettle = pkgs.callPackage ./nix/nettle_pkg_versions.nix { inherit buildECTesterStandalone; }; fetchReleases = with pkgs.python3Packages; buildPythonApplication { pname = "fetchReleases"; diff --git a/nix/nettle_pkg_versions.nix b/nix/nettle_pkg_versions.nix new file mode 100644 index 0000000..9316040 --- /dev/null +++ b/nix/nettle_pkg_versions.nix @@ -0,0 +1,95 @@ +{ + buildECTesterStandalone +}: +{ + vnettle_0_2 = buildECTesterStandalone { + nettle = { version="nettle_0.2"; tag="release_nettle_0.2.20010617"; hash="sha256-8gdMfVF5yHEDeT6SPO8ouYM4o8hsCn3M1pIPQDX/fzQ="; }; + }; + v3_8_1 = buildECTesterStandalone { + nettle = { version="3.8.1"; tag="nettle_3.8.1_release_20220727"; hash="sha256-7ISLSvk0lwciqyIncZXNqrHyrMHIqJy+asDO9CXrBDg="; }; + }; + v3_8 = buildECTesterStandalone { + nettle = { version="3.8"; tag="nettle_3.8_release_20220602"; hash="sha256-jeKsfLmlokjrGxzcaP6Kl+IfmiHhh4GUvZKf6dVDknw="; }; + }; + v3_7_3 = buildECTesterStandalone { + nettle = { version="3.7.3"; tag="nettle_3.7.3_release_20210606"; hash="sha256-xeunS+6/xPa0QPcc4J2AMtSAQ5p2pVAorFUQ6TWXa4g="; }; + }; + v3_7_2 = buildECTesterStandalone { + nettle = { version="3.7.2"; tag="nettle_3.7.2_release_20210321"; hash="sha256-JVh5uBtJpbgXUQNphCfLjsUddWSMoLvW3X9tgr1hBEo="; }; + }; + v3_7_1 = buildECTesterStandalone { + nettle = { version="3.7.1"; tag="nettle_3.7.1_release_20210217"; hash="sha256-+C4W9juzJLCCxDdZPgBbT7DvUe7koIKnkTC/j0tsXJQ="; }; + }; + v3_7 = buildECTesterStandalone { + nettle = { version="3.7"; tag="nettle_3.7_release_20210104"; hash="sha256-GcVh88WuzJoPmWhbx2KQT6eviMKW5f8xlqgdktGKiB8="; }; + }; + v3_7rc1 = buildECTesterStandalone { + nettle = { version="3.7rc1"; tag="nettle_3.7rc1"; hash="sha256-5ynAU9+DyKt2d/qKD4wDWMvKms6AiZPAHvevQnGuVjw="; }; + }; + v3_6 = buildECTesterStandalone { + nettle = { version="3.6"; tag="nettle_3.6_release_20200429"; hash="sha256-rMxnCk8J6ow+hWLEz3iT3kOzfXP1WxkxoUgGsuDeD2I="; }; + }; + v3_6rc3 = buildECTesterStandalone { + nettle = { version="3.6rc3"; tag="nettle_3.6rc3"; hash="sha256-nQLBOoRpS6VEw5R4Q08uffqk3fiaR++xRMgWQ1xpLTE="; }; + }; + v3_6rc2 = buildECTesterStandalone { + nettle = { version="3.6rc2"; tag="nettle_3.6rc2"; hash="sha256-oVX9So1Wwu1gyntUwsUQBxIjYIq5+8WBDcKxkKUr22Q="; }; + }; + v3_6rc1 = buildECTesterStandalone { + nettle = { version="3.6rc1"; tag="nettle_3.6rc1"; hash="sha256-fpamfRYVfdvrXV+g7sujJSL+H6ApTjTBGoom7G4797I="; }; + }; + v3_5_1 = buildECTesterStandalone { + nettle = { version="3.5.1"; tag="nettle_3.5.1_release_20190627"; hash="sha256-/vENdrjJFL8M4vde388HfRee23lXLScn9wFF2oOP6tE="; }; + }; + v3_5 = buildECTesterStandalone { + nettle = { version="3.5"; tag="nettle_3.5_release_20190626"; hash="sha256-8TQ7UFWuV8wMAZDzmAwyL6OLuFrg+3p3uuaPMWet64Q="; }; + }; + v3_5rc1 = buildECTesterStandalone { + nettle = { version="3.5rc1"; tag="nettle_3.5rc1"; hash="sha256-VwN6Mptwo8UIi0VrMlL9HT9+qKY9b8MibNagD2/1gYI="; }; + }; + v3_4_1 = buildECTesterStandalone { + nettle = { version="3.4.1"; tag="nettle_3.4.1_release_20181204"; hash="sha256-xOJohqASNv1cyyZNnZmBivIaarA1x01kdJiAJ6KHZkQ="; }; + }; + v3_4_1rc1 = buildECTesterStandalone { + nettle = { version="3.4.1rc1"; tag="nettle_3.4.1rc1"; hash="sha256-xRTTCF9c9ftegjJaHUtyIkJwvXw7wv79yu6dJCTUwdw="; }; + }; + v3_4 = buildECTesterStandalone { + nettle = { version="3.4"; tag="nettle_3.4_release_20171119"; hash="sha256-FLLVm2XFeRxtwz8y4ZGsMFEENXVDvqD7YwJ414c3fTI="; }; + }; + v3_4rc2 = buildECTesterStandalone { + nettle = { version="3.4rc2"; tag="nettle_3.4rc2"; hash="sha256-G16UGcHypfEyVngjvUjQDwY5bWJp09BlldaAUPnZ3JY="; }; + }; + v3_4rc1 = buildECTesterStandalone { + nettle = { version="3.4rc1"; tag="nettle_3.4rc1"; hash="sha256-J5gj70gpYBY/+WkPQhtDqZvHbTFTHCypKGu/hOhz7Uk="; }; + }; + v3_3 = buildECTesterStandalone { + nettle = { version="3.3"; tag="nettle_3.3_release_20161001"; hash="sha256-TJRhYgPyHeiYsvYZ7L+XjxWFGZll/fJ+vVorWTB5W7c="; }; + }; + v3_2 = buildECTesterStandalone { + nettle = { version="3.2"; tag="nettle_3.2_release_20160128"; hash="sha256-vlCi3iReSN4sASl78jZ3u0/yO4CK8HH42cupdnxCWVU="; }; + }; + v3_1_1 = buildECTesterStandalone { + nettle = { version="3.1.1"; tag="nettle_3.1.1_release_20150424"; hash="sha256-lrpCg/u1ZJvsiTrwkTx6+8BVV/rdlaRw5do72crKoRg="; }; + }; + v3_1 = buildECTesterStandalone { + nettle = { version="3.1"; tag="nettle_3.1_release_20150407"; hash="sha256-WtiYNaMjTBMF37M0QLPjvan4dD/tzCfULp/06F9Z1vA="; }; + }; + v3_1rc3 = buildECTesterStandalone { + nettle = { version="3.1rc3"; tag="nettle_3.1rc3"; hash="sha256-ngoe/I8JSZXufA+3PVJSPsQ26KT2aOn5RzJjNezis3Q="; }; + }; + v3_1rc2 = buildECTesterStandalone { + nettle = { version="3.1rc2"; tag="nettle_3.1rc2"; hash="sha256-BJj+5paD+fG7gKyZ9KJXuWETB5yqQanWyj7Q3Tm18+4="; }; + }; + v3_1rc1 = buildECTesterStandalone { + nettle = { version="3.1rc1"; tag="nettle_3.1rc1"; hash="sha256-oR07+omPaltbiubGeeE8K7oysT0U8nr6KUizeo/pHmg="; }; + }; + v3_0 = buildECTesterStandalone { + nettle = { version="3.0"; tag="nettle_3.0_release_20140607"; hash="sha256-AxE+Eten1JodHj+InuMvs/FlWVsxzqr3spunUwvJxIQ="; }; + }; + v2_7_1 = buildECTesterStandalone { + nettle = { version="2.7.1"; tag="nettle_2.7.1_release_20130528"; hash="sha256-m28lItoyyuwmXr83YVlQluUyFN9ySWz6WnUtfr3DQkM="; }; + }; + v2_7 = buildECTesterStandalone { + nettle = { version="2.7"; tag="nettle_2.7_release_20130424"; hash="sha256-NubTzUzAYaPgZO1v8iwWPYa1PtHlAbzpHcPpGoaeabo="; }; + }; +} |
