diff options
| author | J08nY | 2024-08-12 22:41:22 +0200 |
|---|---|---|
| committer | J08nY | 2024-08-12 22:41:22 +0200 |
| commit | e0bc60f3257039e9cfcbaa9312c6e40664989646 (patch) | |
| tree | 0c819985713b68e612a22d83621dc74fb9d75216 | |
| parent | b170ce52826b8e82c6278de980772ed73cb3ea6e (diff) | |
| download | ECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.tar.gz ECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.tar.zst ECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.zip | |
Fix mbedTLS and Botan default builds.
| -rw-r--r-- | fetchReleases.py | 19 | ||||
| -rw-r--r-- | flake.nix | 11 | ||||
| -rw-r--r-- | nix/botan_pkg_versions.json | 35 | ||||
| -rw-r--r-- | nix/mbedtls_pkg_versions.json | 98 | ||||
| -rw-r--r-- | standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 8 |
5 files changed, 91 insertions, 80 deletions
diff --git a/fetchReleases.py b/fetchReleases.py index 5ced814..2de5437 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -66,6 +66,9 @@ def fetch_botan(): download_link = download_url.format(version=link['href']) match = re.match(r"Botan-(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\.(?P<ext>.*)", link.text) + if match['major'] == "3": + # TODO: Handle Botan-3 + continue version = f"{match['major']}.{match['minor']}.{match['patch']}" ext = f"{match['ext']}" @@ -235,11 +238,16 @@ def fetch_mbedtls(): versions = {} for release in resp.json(): if not release['draft'] and not release['prerelease']: - version = release['tag_name'] - sort_version = version.replace("mbedtls-", "v") + tag = release["tag_name"] + version = tag.replace("mbedtls-", "v") flat_version = version.replace('.', '') - download_url = f"https://github.com/{owner}/{repo}/archive/{version}.tar.gz" - digest = get_source_hash(download_url, unpack=True) + download_url = f"https://github.com/{owner}/{repo}/archive/{tag}.tar.gz" + if version == "v3.6.0": + # TODO: Special case for the time being + digest = "sha256-tCwAKoTvY8VCjcTPNwS3DeitflhpKHLr6ygHZDbR6wQ=" + else: + digest = get_source_hash(download_url, unpack=True) + print(f"{version}:{digest}") rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=version).strip() @@ -247,7 +255,8 @@ def fetch_mbedtls(): versions[flat_version] = { "version": version, "hash": digest, - "sort": parse_version(sort_version) + "tag": tag, + "sort": parse_version(version) } serialize_versions(pkg, renders, versions) @@ -156,6 +156,7 @@ { version ? null, hash ? null, + tag ? null, }: if version == null then pkgs.mbedtls @@ -163,10 +164,11 @@ pkgs.mbedtls.overrideAttrs ( final: prev: { inherit version; + inherit tag; src = pkgs.fetchFromGitHub { owner = "Mbed-TLS"; repo = "mbedtls"; - rev = "mbedtls-${version}"; + rev = tag; inherit hash; # mbedtls >= 3.6.0 uses git submodules fetchSubmodules = true; @@ -465,10 +467,10 @@ libgcrypt = libgcryptBuilder { inherit version hash; }; }; mbedtlsShimBuilder = - { version, hash }: + { version, hash, tag }: import ./nix/mbedtlsshim.nix { inherit pkgs; - mbedtls = (mbedtlsBuilder { inherit version hash; }); + mbedtls = (mbedtlsBuilder { inherit version hash tag; }); }; ippcpShimBuilder = { version, hash }: @@ -529,6 +531,7 @@ mbedtls ? { version = null; hash = null; + tag = null; }, ippcp ? { version = null; @@ -557,7 +560,7 @@ cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; boringsslShim = boringsslShimBuilder { inherit (boringssl) rev hash; }; gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; - mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; + mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash tag; }; ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; }; nettleShim = nettleShimBuilder { inherit (nettle) version tag hash; }; libresslShim = libresslShimBuilder { inherit (libressl) version hash; }; diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json index cd09209..7d283bf 100644 --- a/nix/botan_pkg_versions.json +++ b/nix/botan_pkg_versions.json @@ -1,39 +1,4 @@ { - "v350": { - "version": "3.5.0", - "source_extension": "tar.xz", - "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8=" - }, - "v340": { - "version": "3.4.0", - "source_extension": "tar.xz", - "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc=" - }, - "v330": { - "version": "3.3.0", - "source_extension": "tar.xz", - "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk=" - }, - "v320": { - "version": "3.2.0", - "source_extension": "tar.xz", - "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=" - }, - "v311": { - "version": "3.1.1", - "source_extension": "tar.xz", - "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms=" - }, - "v310": { - "version": "3.1.0", - "source_extension": "tar.xz", - "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4=" - }, - "v300": { - "version": "3.0.0", - "source_extension": "tar.xz", - "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc=" - }, "v2195": { "version": "2.19.5", "source_extension": "tar.xz", diff --git a/nix/mbedtls_pkg_versions.json b/nix/mbedtls_pkg_versions.json index c0e7b49..000efd5 100644 --- a/nix/mbedtls_pkg_versions.json +++ b/nix/mbedtls_pkg_versions.json @@ -1,122 +1,152 @@ { "v360": { "version": "v3.6.0", - "hash": "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg=" + "hash": "sha256-tCwAKoTvY8VCjcTPNwS3DeitflhpKHLr6ygHZDbR6wQ=", + "tag": "v3.6.0" }, "v352": { "version": "v3.5.2", - "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=" + "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=", + "tag": "v3.5.2" }, "v351": { "version": "v3.5.1", - "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=" + "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=", + "tag": "v3.5.1" }, - "mbedtls-350": { - "version": "mbedtls-3.5.0", - "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU=" + "v350": { + "version": "v3.5.0", + "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU=", + "tag": "mbedtls-3.5.0" }, "v341": { "version": "v3.4.1", - "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts=" + "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts=", + "tag": "v3.4.1" }, "v340": { "version": "v3.4.0", - "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg=" + "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg=", + "tag": "v3.4.0" }, "v330": { "version": "v3.3.0", - "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE=" + "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE=", + "tag": "v3.3.0" }, "v321": { "version": "v3.2.1", - "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc=" + "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc=", + "tag": "v3.2.1" }, "v320": { "version": "v3.2.0", - "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ=" + "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ=", + "tag": "v3.2.0" }, "v310": { "version": "v3.1.0", - "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs=" + "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs=", + "tag": "v3.1.0" }, "v300": { "version": "v3.0.0", - "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s=" + "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s=", + "tag": "v3.0.0" }, "v2288": { "version": "v2.28.8", - "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=" + "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=", + "tag": "v2.28.8" }, "v2287": { "version": "v2.28.7", - "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=" + "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=", + "tag": "v2.28.7" }, "v2286": { "version": "v2.28.6", - "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=" + "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=", + "tag": "v2.28.6" }, - "mbedtls-2285": { - "version": "mbedtls-2.28.5", - "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=" + "v2285": { + "version": "v2.28.5", + "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=", + "tag": "mbedtls-2.28.5" }, "v2284": { "version": "v2.28.4", - "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=" + "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=", + "tag": "v2.28.4" }, "v2283": { "version": "v2.28.3", - "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=" + "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=", + "tag": "v2.28.3" }, "v2282": { "version": "v2.28.2", - "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=" + "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=", + "tag": "v2.28.2" }, "v2281": { "version": "v2.28.1", - "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=" + "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=", + "tag": "v2.28.1" }, "v2280": { "version": "v2.28.0", - "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=" + "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=", + "tag": "v2.28.0" }, "v2270": { "version": "v2.27.0", - "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M=" + "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M=", + "tag": "v2.27.0" }, "v2260": { "version": "v2.26.0", - "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk=" + "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk=", + "tag": "v2.26.0" }, "v2250": { "version": "v2.25.0", - "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ=" + "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ=", + "tag": "v2.25.0" }, "v2240": { "version": "v2.24.0", - "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=" + "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=", + "tag": "v2.24.0" }, "v21612": { "version": "v2.16.12", - "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=" + "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=", + "tag": "v2.16.12" }, "v21611": { "version": "v2.16.11", - "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=" + "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=", + "tag": "v2.16.11" }, "v21610": { "version": "v2.16.10", - "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=" + "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=", + "tag": "v2.16.10" }, "v2169": { "version": "v2.16.9", - "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c=" + "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c=", + "tag": "v2.16.9" }, "v2719": { "version": "v2.7.19", - "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=" + "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=", + "tag": "v2.7.19" }, "v2718": { "version": "v2.7.18", - "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg=" + "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg=", + "tag": "v2.7.18" } }
\ No newline at end of file diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile index 74d1a93..1393f82 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -141,13 +141,17 @@ tomcrypt.o: tomcrypt.c # Botan-2 shim +BOTAN_NAME := "botan-2" +ifeq ($(shell pkg-config --exists $(BOTAN_NAME); echo $$?),1) + BOTAN_NAME := "botan-3" +endif botan: botan_provider.so botan_provider.so: botan.o cpp_utils.o | cpplibs - $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs botan-2) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs $(BOTAN_NAME)) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so botan.o: botan.cpp - $(CXX) $(shell pkg-config --cflags botan-2) $(BOTAN_CXXFLAGS) $(CXXFLAGS) -c $< + $(CXX) $(shell pkg-config --cflags $(BOTAN_NAME)) $(BOTAN_CXXFLAGS) $(CXXFLAGS) -c $< # Crypto++ shim |
