From e256dd0b807d9f05a6d45c69bd551dad66b8b670 Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Tue, 26 Mar 2024 09:42:18 +0100 Subject: [PATCH 001/131] Add build with Nix flakes --- flake.lock | 61 +++++++++++++++++++++++++++ flake.nix | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..355cf24a --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..d9113b63 --- /dev/null +++ b/flake.nix @@ -0,0 +1,119 @@ +{ + description = "ECTester"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils, ... }: + flake-utils.lib.eachDefaultSystem (system: + let + overlays = [ ]; + pkgs = import nixpkgs { + inherit system overlays; + }; + # pythonPackages = with pkgs.python310Packages; [ + # venvShellHook + # pyyaml + # numpy + # jinja2 + # typing-extensions + # ]; + in + with pkgs; + { + devShells.default = mkShell rec { + buildInputs = [ + ant + jdk11 + pkg-config + global-platform-pro + # libraries to test + openssl + boringssl + libressl + libtomcrypt + libtommath + botan2 + cryptopp + + # libraries' dependencies + cmake + ninja + gawk + automake + go + gtest + libunwind + autoconf + libb64 + + clang + libgcrypt + mbedtls + nasm + libtool + perl + + wolfssl + nettle + libressl + ]; + + LD_LIBRARY_PATH = with pkgs; pkgs.lib.makeLibraryPath [ + libtomcrypt + cryptopp + ]; + + # NOTE: Mixing postVenvCreation aznd shellHook results in only shellHook being called + # shellHook = '' + # source ${venvDir}/bin/activate + # export PATH=$PATH:$HOME/projects/ts-spect-compiler/build/src/apps; + # export TS_REPO_ROOT=`pwd`; + # ''; + buildBoringSSL = '' + mkdir --parents build + pushd build + cmake -GNinja -DBUILD_SHARED_LIBS=1 .. + ninja + popd + ''; + + buildLibreSSL = '' + ./autogen.sh + mkdir --parents build + pushd build + cmake -GNinja -DBUILD_SHARED_LIBS=1 .. + ninja + popd + ''; + + buildIppCrypto = '' + CC=clang CXX=clang++ cmake CMakeLists.txt -GNinja -Bbuild -DARCH=intel64 # Does not work with GCC 12+ + mkdir --parents build + pushd build + ninja + popd + ''; + + # shellHook = '' + # git submodule update --init --recursive + + # pushd ext/boringssl + # ${buildBoringSSL} + # popd + + # pushd ext/ipp-crypto + # ${buildIppCrypto} + # popd + + # pushd ext/libressl + # ${buildLibreSSL} + # popd + # ''; + + }; + } + ); +} From 84c71b38c0c74cbb5bbdc85c8864118722f257a4 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 19 Jun 2024 12:52:30 +0200 Subject: [PATCH 002/131] Update Nix flake environment --- flake.nix | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d9113b63..d3662e26 100644 --- a/flake.nix +++ b/flake.nix @@ -25,10 +25,12 @@ { devShells.default = mkShell rec { buildInputs = [ + gdb ant jdk11 pkg-config global-platform-pro + gradle # libraries to test openssl boringssl @@ -59,11 +61,24 @@ wolfssl nettle libressl + + gmp + libgpg-error + wget + libconfig ]; LD_LIBRARY_PATH = with pkgs; pkgs.lib.makeLibraryPath [ + libtommath libtomcrypt + botan2 cryptopp + openssl + libgcrypt + nettle + gmp + libgpg-error + libconfig ]; # NOTE: Mixing postVenvCreation aznd shellHook results in only shellHook being called @@ -89,6 +104,11 @@ popd ''; + # TODO OpenJDK 64-Bit Server VM warning: You have loaded library + # /home/qup/.local/share/ECTesterStandalone/lib/lib_ippcp.so which + # might have disabled stack guard. The VM will try to fix the stack + # guard now. It's highly recommended that you fix the library with + # 'execstack -c ', or link it with '-z noexecstack'. buildIppCrypto = '' CC=clang CXX=clang++ cmake CMakeLists.txt -GNinja -Bbuild -DARCH=intel64 # Does not work with GCC 12+ mkdir --parents build @@ -97,7 +117,37 @@ popd ''; - # shellHook = '' + buildMbedTLS = '' + python -m venv virt + . virt/bin/activate + pip install -r scripts/basic.requirements.txt + cmake -GNinja -Bbuild -DUSE_SHARED_MBEDTLS_LIBRARY=On + cd build + ninja + ''; + + wolfCrypt-JNI = '' + mkdir junit + wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar + wget -P junit/ https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar + make -f makefile.linux + env JUNIT_HOME=junit/ ant build-jce-release + ''; + + # TODO add LD_LIB properly + shellHook = '' + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HOME/projects/ts-spect-compiler/build/src/cosim + + ''; + + # pushd ext/wolfcrypt-jni + # ${wolfCrypt-JNI} + # popd + + # pushd ext/mbedtls + # ${buildMbedTLS} + # popd + # ''; # git submodule update --init --recursive # pushd ext/boringssl From 456a6f920b7b97132dd8f875dd2971f7e899f32a Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 21 Jun 2024 16:50:07 +0200 Subject: [PATCH 003/131] Allow running different versions of OpenSSL Currently, only running different versions of OpenSSL is implemented as PoC to see if it would work. You can either build it or run it directly with: ``` $ nix run '.?submodules=1#openssl_316' list-libs # uses OpenSSL 3.1.6 $ nix run '.?submodules=1#openssl_322' list-libs # uses OpenSSL 3.2.2 $ nix run '.?submodules=1' list-libs # uses OpenSSL 3.3.1 ``` Adding new versions is possible, check `packages` part of `flake.nix`. To see the supported versions run: ``` $ nix flake show ``` --- flake.lock | 54 ++++- flake.nix | 204 ++++++++++++++-- gradle.lock | 662 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 902 insertions(+), 18 deletions(-) create mode 100644 gradle.lock diff --git a/flake.lock b/flake.lock index 355cf24a..fe1045ba 100644 --- a/flake.lock +++ b/flake.lock @@ -18,7 +18,58 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1605370193, + "narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5021eac20303a61fafe17224c087f5519baed54d", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gradle2nix": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1718325867, + "narHash": "sha256-UU9a/haXvr0qKo4noB40K7d47Zl9ZiigVE5rkeHBS7s=", + "owner": "tadfisher", + "repo": "gradle2nix", + "rev": "03c1b713ad139eb6dfc8d463b5bd348368125cf1", + "type": "github" + }, + "original": { + "owner": "tadfisher", + "repo": "gradle2nix", + "rev": "03c1b713ad139eb6dfc8d463b5bd348368125cf1", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1718530797, + "narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b60ebf54c15553b393d144357375ea956f89e9a9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1711001935, "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", @@ -37,7 +88,8 @@ "root": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "gradle2nix": "gradle2nix", + "nixpkgs": "nixpkgs_2" } }, "systems": { diff --git a/flake.nix b/flake.nix index d3662e26..d7c55c48 100644 --- a/flake.nix +++ b/flake.nix @@ -4,37 +4,207 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; + gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; + # FIXME how to add submodule declaratively? + # submodule = { + # url = ./ + # }; }; - outputs = { self, nixpkgs, flake-utils, ... }: + outputs = { self, nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let - overlays = [ ]; + openssl_3013 = pkgs.openssl.overrideAttrs (_old: rec { + version = "3.0.13"; + pname = "openssl"; + src = pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; + }; + # FIXME this might cause unwanted things + patches = []; + }); + openssl_315 = pkgs.openssl.overrideAttrs (_old: rec { + version = "3.1.5"; + pname = "openssl"; + src = pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; + }; + # FIXME this might cause unwanted things + patches = []; + }); + overlays = [ + # (final: prev: { + # openssl_01 = prev.openssl.overrideAttrs (old: rec{ + # version = "3.0.8"; + # pname = "openssl"; + # src = pkgs.fetchurl { + # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + # hash = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; + # }; + # # FIXME this might cause unwanted things + # patches = []; + # }); + # }) + ]; pkgs = import nixpkgs { inherit system overlays; }; - # pythonPackages = with pkgs.python310Packages; [ - # venvShellHook - # pyyaml - # numpy - # jinja2 - # typing-extensions - # ]; + buildECTesterStandalone = { opensslVersion, opensslHash }: ( + let + ov = opensslVersion; + patched_openssl = pkgs.openssl.overrideAttrs (_old: rec { + version = opensslVersion; + pname = "openssl"; + src = pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + hash = opensslHash; + }; + # FIXME this might cause unwanted things + patches = []; + }); + in + with pkgs; + gradle2nix.builders.${system}.buildGradlePackage rec { + pname = "ECTesterStandalone"; + version = "0.3.3"; + # gradleInstallFlags = [ "installDist" ]; + # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + lockFile = ./gradle.lock; + gradleBuildFlags = [ "libs" "-PlibName=openssl" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + src = ./.; + + nativeBuildInputs = [ + gdb + ant + jdk17 + pkg-config + global-platform-pro + gradle + patched_openssl + makeWrapper + + # libraries to test + # openssl_3013 + boringssl + # libressl + libtomcrypt + libtommath + botan2 + cryptopp + + # libraries' dependencies + # cmake + # ninja + gawk + automake + go + gtest + libunwind + autoconf + libb64 + + clang + libgcrypt + mbedtls + nasm + libtool + perl + + wolfssl + nettle + # libressl + + gmp + libgpg-error + wget + libconfig + ]; + + # preConfigure = '' + # pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni + # make lib_timing.so + # make lib_csignals.so + # make lib_cppsignals.so + # # make clean + # make openssl + # # openssl version + # popd + # ''; + + # buildPhase = '' + # ./gradlew clean build --offline + # ''; + + buildInputs = [ + jdk17_headless + patched_openssl + ]; + + LD_LIBRARY_PATH = lib.makeLibraryPath [ + libtommath + libtomcrypt + botan2 + cryptopp + libgcrypt + patched_openssl + ninja + nettle + gmp + libgpg-error + libconfig + ]; + + # FIXME more things to copy here + installPhase = '' + mkdir -p $out + cp -r standalone/build $out + echo ${opensslVersion} > $out/build/opensslVersion + ''; + + postFixup = '' + + makeWrapper \ + ${jdk17_headless}/bin/java $out/bin/${pname} \ + --add-flags "-jar $out/build/libs/${pname}.jar" \ + --set LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$LD_LIBRARY_PATH + ''; + + }); in - with pkgs; { - devShells.default = mkShell rec { + packages = { + default = buildECTesterStandalone { + opensslVersion="3.3.1"; opensslHash="sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; + }; + openssl_331 = buildECTesterStandalone { + opensslVersion="3.3.1"; opensslHash="sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; + }; + openssl_322 = buildECTesterStandalone { + opensslVersion="3.2.2"; opensslHash="sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="; + }; + openssl_316 = buildECTesterStandalone { + opensslVersion="3.1.6"; opensslHash="sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="; + }; + openssl_3014 = buildECTesterStandalone { + opensslVersion="3.0.14"; opensslHash="sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="; + }; + # openssl_111w = buildECTesterStandalone "1.1.1w" "sha256-zzCYlQy02FOtlcCEHx+cbT3BAtzPys1SHZOSUgi3asg="; + }; + devShells.default = with pkgs; mkShell rec { buildInputs = [ + # gradle2nix gdb ant - jdk11 + jdk17 pkg-config global-platform-pro gradle # libraries to test - openssl + openssl_3013 boringssl - libressl + # libressl libtomcrypt libtommath botan2 @@ -60,7 +230,7 @@ wolfssl nettle - libressl + # libressl gmp libgpg-error @@ -73,7 +243,7 @@ libtomcrypt botan2 cryptopp - openssl + openssl_3013 libgcrypt nettle gmp @@ -128,7 +298,7 @@ wolfCrypt-JNI = '' mkdir junit - wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar + wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar wget -P junit/ https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar make -f makefile.linux env JUNIT_HOME=junit/ ant build-jce-release diff --git a/gradle.lock b/gradle.lock new file mode 100644 index 00000000..fd605098 --- /dev/null +++ b/gradle.lock @@ -0,0 +1,662 @@ +{ + "com.adarshr:gradle-test-logger-plugin:4.0.0": { + "gradle-test-logger-plugin-4.0.0.jar": { + "url": "https://plugins.gradle.org/m2/com/adarshr/gradle-test-logger-plugin/4.0.0/gradle-test-logger-plugin-4.0.0.jar", + "hash": "sha256-5nhoOjPSvINWcb3U5YcQAErR2TFqqfmlTP4iQZpPbvk=" + }, + "gradle-test-logger-plugin-4.0.0.module": { + "url": "https://plugins.gradle.org/m2/com/adarshr/gradle-test-logger-plugin/4.0.0/gradle-test-logger-plugin-4.0.0.module", + "hash": "sha256-jERLLH/UQgDNSrMYJyJwHCCXWkOyPH6e35sCJgSavcI=" + }, + "gradle-test-logger-plugin-4.0.0.pom": { + "url": "https://plugins.gradle.org/m2/com/adarshr/gradle-test-logger-plugin/4.0.0/gradle-test-logger-plugin-4.0.0.pom", + "hash": "sha256-ienBpTqmJS2mx9fZscN/t/j8qQuysaNq+Ti8cNni3GE=" + } + }, + "com.adarshr.test-logger:com.adarshr.test-logger.gradle.plugin:4.0.0": { + "com.adarshr.test-logger.gradle.plugin-4.0.0.pom": { + "url": "https://plugins.gradle.org/m2/com/adarshr/test-logger/com.adarshr.test-logger.gradle.plugin/4.0.0/com.adarshr.test-logger.gradle.plugin-4.0.0.pom", + "hash": "sha256-sobTcqzS2uG4vHsg/ouoT49kiXMdiBpB83NqYCCFotc=" + } + }, + "com.github.martinpaljak:ant-javacard:20.03.25": { + "ant-javacard-20.03.25.jar": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/ant-javacard/20.03.25/ant-javacard-20.03.25.jar", + "hash": "sha256-AaeqhIfDXEcrMW2o0eO3sYdntwCnBIXvLKV2joXkfA8=" + }, + "ant-javacard-20.03.25.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/ant-javacard/20.03.25/ant-javacard-20.03.25.pom", + "hash": "sha256-5jjX7HmC23dhbeljE5XlDYpDlLca61MvltW/bs+0b5U=" + } + }, + "com.github.martinpaljak:apdu4j:20.08.12": { + "apdu4j-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/apdu4j/20.08.12/apdu4j-20.08.12.pom", + "hash": "sha256-ztab0pETf9vx4ekaLYezFS4W0piFmYaoV9vc3Zom+yk=" + } + }, + "com.github.martinpaljak:apdu4j:20.01.01": { + "apdu4j-20.01.01.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/apdu4j/20.01.01/apdu4j-20.01.01.pom", + "hash": "sha256-Zi8AnPGl2jp4p9A12FhQQ0+l6BGI0LTiuFje+OUNbsk=" + } + }, + "com.github.martinpaljak:apdu4j-core:2020b1": { + "apdu4j-core-2020b1.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/apdu4j-core/2020b1/apdu4j-core-2020b1.jar", + "hash": "sha256-12S0X1ZADPXjrS1XCF+FunWS7gBljBDu9ylirI9owh0=" + }, + "apdu4j-core-2020b1.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/apdu4j-core/2020b1/apdu4j-core-2020b1.pom", + "hash": "sha256-Xm3Nrs7cvsY1nxU+JCOAaJ0yoagC3PsoCK6ezYzqqkc=" + } + }, + "com.github.martinpaljak:apdu4j-jnasmartcardio:0.2.7+191107": { + "apdu4j-jnasmartcardio-0.2.7+191107.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/apdu4j-jnasmartcardio/0.2.7+191107/apdu4j-jnasmartcardio-0.2.7+191107.jar", + "hash": "sha256-DNtj+vB0ex1StCwd+5Nw0b7IvwbJKuWzAcm9reRl0c4=" + }, + "apdu4j-jnasmartcardio-0.2.7+191107.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/apdu4j-jnasmartcardio/0.2.7+191107/apdu4j-jnasmartcardio-0.2.7+191107.pom", + "hash": "sha256-POAMo0RFbpG74ZewZEXQkoAJUbAClNXGgXVReyHXrX4=" + } + }, + "com.github.martinpaljak:apdu4j-pcsc:20.08.12": { + "apdu4j-pcsc-20.08.12.jar": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/apdu4j-pcsc/20.08.12/apdu4j-pcsc-20.08.12.jar", + "hash": "sha256-U2vhSqUZkArMVkoU4+pvjjbwiqtsSIRfCqtxi4U7mik=" + }, + "apdu4j-pcsc-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/apdu4j-pcsc/20.08.12/apdu4j-pcsc-20.08.12.pom", + "hash": "sha256-oTNIxr5QdONqBCjd9xQGAqfArFtaCo17h8iYBZQvs4o=" + } + }, + "com.github.martinpaljak:capfile:20.08.12": { + "capfile-20.08.12.jar": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/capfile/20.08.12/capfile-20.08.12.jar", + "hash": "sha256-iGwgQJ76QTN11+QleUnDbqgkV/Bx37Gnb+slpgf+tIs=" + }, + "capfile-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/capfile/20.08.12/capfile-20.08.12.pom", + "hash": "sha256-EfZru+/lXlp/iMvjq7sTXcOZGeJxTVFnIv7+WBeG4Yo=" + } + }, + "com.github.martinpaljak:capfile:20.02.19": { + "capfile-20.02.19.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/capfile/20.02.19/capfile-20.02.19.pom", + "hash": "sha256-nS29stixt+TAE5K1r7IJudLA375GPNLCpNSsrv0w9WM=" + } + }, + "com.github.martinpaljak:globalplatformpro:20.08.12": { + "globalplatformpro-20.08.12.jar": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/globalplatformpro/20.08.12/globalplatformpro-20.08.12.jar", + "hash": "sha256-euZ78fN7Y1AUTBUAzAXXReaPrbxIGESH+gO5rlJv8Lw=" + }, + "globalplatformpro-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/globalplatformpro/20.08.12/globalplatformpro-20.08.12.pom", + "hash": "sha256-q+xw/3RFIh1UCDa6pCefSPQBkYftJBzjpVrFDqnyHoA=" + } + }, + "com.github.martinpaljak:gppro:20.08.12": { + "gppro-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/gppro/20.08.12/gppro-20.08.12.pom", + "hash": "sha256-Aa4sLUSVzPYw9BgSU5jBbafj0EtCUR7fZlB/+S/4YBE=" + } + }, + "com.github.martinpaljak:gptool:20.08.12": { + "gptool-20.08.12.jar": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/gptool/20.08.12/gptool-20.08.12.jar", + "hash": "sha256-DvjUqhj2flSdbZRLoROzgg1FJqr71jo0RzCoexoSC8k=" + }, + "gptool-20.08.12.pom": { + "url": "https://javacard.pro/maven/com/github/martinpaljak/gptool/20.08.12/gptool-20.08.12.pom", + "hash": "sha256-+phLgJ2Q3PSpq0dvA+6c68duDHxo0cgzKSurtKpcr3E=" + } + }, + "com.github.martinpaljak:metacard:20.08.07": { + "metacard-20.08.07.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/metacard/20.08.07/metacard-20.08.07.pom", + "hash": "sha256-yD2dp0zDBDK9u7aCTlTjCpMbKtOhaK8JbVUSsaNecYo=" + } + }, + "com.github.martinpaljak:metacard:20.02.19": { + "metacard-20.02.19.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/metacard/20.02.19/metacard-20.02.19.pom", + "hash": "sha256-3uB4lZGXY6Y61yHaUxMxmVDilkP0C8AFIZjOBrW9c64=" + } + }, + "com.github.martinpaljak:metacard:19.10.01": { + "metacard-19.10.01.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/martinpaljak/metacard/19.10.01/metacard-19.10.01.pom", + "hash": "sha256-CwVwywO0djSumPdr6KNyo9YJNanaYLiu7/NE8AJZ1d8=" + } + }, + "com.google.code.findbugs:jsr305:3.0.2": { + "jsr305-3.0.2.jar": { + "url": "https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", + "hash": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=" + }, + "jsr305-3.0.2.pom": { + "url": "https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.pom", + "hash": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4=" + } + }, + "com.google.code.gson:gson:2.9.1": { + "gson-2.9.1.jar": { + "url": "https://plugins.gradle.org/m2/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar", + "hash": "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=" + }, + "gson-2.9.1.pom": { + "url": "https://plugins.gradle.org/m2/com/google/code/gson/gson/2.9.1/gson-2.9.1.pom", + "hash": "sha256-5ZZjI9cUJXCzekvpeeIbwtroSBB+TcQW2PRNmqPwKQM=" + } + }, + "com.google.code.gson:gson-parent:2.9.1": { + "gson-parent-2.9.1.pom": { + "url": "https://plugins.gradle.org/m2/com/google/code/gson/gson-parent/2.9.1/gson-parent-2.9.1.pom", + "hash": "sha256-fKCEXnNoVhjePka9NDTQOko3PVIPq5OmgDGK1sjLKnk=" + } + }, + "com.google.osdetector:com.google.osdetector.gradle.plugin:1.7.3": { + "com.google.osdetector.gradle.plugin-1.7.3.pom": { + "url": "https://plugins.gradle.org/m2/com/google/osdetector/com.google.osdetector.gradle.plugin/1.7.3/com.google.osdetector.gradle.plugin-1.7.3.pom", + "hash": "sha256-gL7JV6QGQ/JKPyKKYq9qVrWPb6tzrWgsB1BkYj497q8=" + } + }, + "com.klinec:gradle-javacard:1.8.0": { + "gradle-javacard-1.8.0.jar": { + "url": "https://repo.maven.apache.org/maven2/com/klinec/gradle-javacard/1.8.0/gradle-javacard-1.8.0.jar", + "hash": "sha256-3BqW2ygiHAKAE5oqnRRTVvqdLn5ytfinlzU0ggxeTwQ=" + }, + "gradle-javacard-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/com/klinec/gradle-javacard/1.8.0/gradle-javacard-1.8.0.pom", + "hash": "sha256-acs7+60LOtrXFLKybmIuQkX8u9ivtwJXT6jy6VVGBdc=" + } + }, + "com.klinec:jcardsim:3.0.5.11": { + "jcardsim-3.0.5.11.jar": { + "url": "https://repo.maven.apache.org/maven2/com/klinec/jcardsim/3.0.5.11/jcardsim-3.0.5.11.jar", + "hash": "sha256-9sO2uBQEAaR88517nb/AUuOBR0xsOyIBgFECS+H8qXw=" + }, + "jcardsim-3.0.5.11.pom": { + "url": "https://repo.maven.apache.org/maven2/com/klinec/jcardsim/3.0.5.11/jcardsim-3.0.5.11.pom", + "hash": "sha256-pQ+boNGgeOswipNcHCmztjGzb7994xjXio9BijZ0WFU=" + } + }, + "com.klinec.gradle.javacard:com.klinec.gradle.javacard.gradle.plugin:1.8.0": { + "com.klinec.gradle.javacard.gradle.plugin-1.8.0.pom": { + "url": "https://plugins.gradle.org/m2/com/klinec/gradle/javacard/com.klinec.gradle.javacard.gradle.plugin/1.8.0/com.klinec.gradle.javacard.gradle.plugin-1.8.0.pom", + "hash": "sha256-Un2E9my/Evxt/nRe1QmLg6/ITxCD2VGfwnS4btfpj8I=" + } + }, + "com.payneteasy:ber-tlv:1.0-11": { + "ber-tlv-1.0-11.jar": { + "url": "https://repo.maven.apache.org/maven2/com/payneteasy/ber-tlv/1.0-11/ber-tlv-1.0-11.jar", + "hash": "sha256-pDXqu1JsfQbKrSDd3xZ3E2i6ZkDlUY/6yGFP3Kw9ioA=" + }, + "ber-tlv-1.0-11.pom": { + "url": "https://repo.maven.apache.org/maven2/com/payneteasy/ber-tlv/1.0-11/ber-tlv-1.0-11.pom", + "hash": "sha256-71UFphwg/y733c/62MYbVga5Aba0/zPnyCg6FGaZ9lw=" + } + }, + "commons-cli:commons-cli:1.5.0": { + "commons-cli-1.5.0.jar": { + "url": "https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar", + "hash": "sha256-vIuwH8D60lA4VwbiD5J93P9hc/Yzmzh9yHkjd1JWesY=" + }, + "commons-cli-1.5.0.pom": { + "url": "https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.pom", + "hash": "sha256-TuxDxPwoBMvrQ2mcq/qC+gYocfzB3P0QkCpdglIGdMA=" + } + }, + "gradle.plugin.com.google.gradle:osdetector-gradle-plugin:1.7.3": { + "osdetector-gradle-plugin-1.7.3.jar": { + "url": "https://plugins.gradle.org/m2/gradle/plugin/com/google/gradle/osdetector-gradle-plugin/1.7.3/osdetector-gradle-plugin-1.7.3.jar", + "hash": "sha256-a0aS+ROiGx+2Axae54uo8+SrKvnXYq+cqIt5EmwcCtE=" + }, + "osdetector-gradle-plugin-1.7.3.pom": { + "url": "https://plugins.gradle.org/m2/gradle/plugin/com/google/gradle/osdetector-gradle-plugin/1.7.3/osdetector-gradle-plugin-1.7.3.pom", + "hash": "sha256-gNpA8CGxqhjk0WqszV1o/J0iOs9qIEAfsNj8s1J7Hiw=" + } + }, + "gradle.plugin.com.klinec:gradle-javacard:1.8.0": { + "gradle-javacard-1.8.0.jar": { + "url": "https://plugins.gradle.org/m2/gradle/plugin/com/klinec/gradle-javacard/1.8.0/gradle-javacard-1.8.0.jar", + "hash": "sha256-3BqW2ygiHAKAE5oqnRRTVvqdLn5ytfinlzU0ggxeTwQ=" + }, + "gradle-javacard-1.8.0.pom": { + "url": "https://plugins.gradle.org/m2/gradle/plugin/com/klinec/gradle-javacard/1.8.0/gradle-javacard-1.8.0.pom", + "hash": "sha256-1naGr/W283OGw8RSCJGL2hu/xMjNNPfBQbn8uYQKH20=" + } + }, + "kr.motd.maven:os-maven-plugin:1.7.1": { + "os-maven-plugin-1.7.1.jar": { + "url": "https://plugins.gradle.org/m2/kr/motd/maven/os-maven-plugin/1.7.1/os-maven-plugin-1.7.1.jar", + "hash": "sha256-9Hru+Ggh5SsrGHWJeL0EXwPXIikuMudHCCEixiKJUuA=" + }, + "os-maven-plugin-1.7.1.pom": { + "url": "https://plugins.gradle.org/m2/kr/motd/maven/os-maven-plugin/1.7.1/os-maven-plugin-1.7.1.pom", + "hash": "sha256-S3WABEIrljPdMY8p54Tx0YC9ilkgzVCvGTCGH21qVHY=" + } + }, + "net.java.dev.jna:jna:5.5.0": { + "jna-5.5.0.jar": { + "url": "https://repo.maven.apache.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0.jar", + "hash": "sha256-swj66/5O1AnehBDgpjLRZLISawNfbqz/lo05CMr7TZ4=" + }, + "jna-5.5.0.pom": { + "url": "https://repo.maven.apache.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0.pom", + "hash": "sha256-pRrZTj90+Fo8362XU5KCkxZFJmn1iCA8e0nl+Beb5Tk=" + } + }, + "net.sf.jopt-simple:jopt-simple:5.0.4": { + "jopt-simple-5.0.4.jar": { + "url": "https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar", + "hash": "sha256-3ybMWPI19HfbB/dTulo6skPr5Xidn4ns9o3WLqmmbCg=" + }, + "jopt-simple-5.0.4.pom": { + "url": "https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.pom", + "hash": "sha256-amd2O3avzZyAuV5cXiR4LRjMGw49m0VK0/h1THa3aBU=" + } + }, + "org.apache:apache:23": { + "apache-23.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apache/apache/23/apache-23.pom", + "hash": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw=" + } + }, + "org.apache.commons:commons-parent:52": { + "commons-parent-52.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom", + "hash": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4=" + } + }, + "org.apiguardian:apiguardian-api:1.1.2": { + "apiguardian-api-1.1.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", + "hash": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=" + }, + "apiguardian-api-1.1.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.module", + "hash": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=" + }, + "apiguardian-api-1.1.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.pom", + "hash": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" + } + }, + "org.bouncycastle:bcpkix-jdk15on:1.66": { + "bcpkix-jdk15on-1.66.jar": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.66/bcpkix-jdk15on-1.66.jar", + "hash": "sha256-AtYSaDUv2zXbqZbJymij95PXuL+nV1Sqxm1pZRekIb0=" + }, + "bcpkix-jdk15on-1.66.pom": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.66/bcpkix-jdk15on-1.66.pom", + "hash": "sha256-kBX+SX7lth+nT71hCRnDqsBrQnlavO46IWCkuLvyGus=" + } + }, + "org.bouncycastle:bcpkix-jdk18on:1.77": { + "bcpkix-jdk18on-1.77.jar": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk18on/1.77/bcpkix-jdk18on-1.77.jar", + "hash": "sha256-Gsf+jv1bLzjNwWW+WgZ1c0/kSAjauScHIB8DpTXW8bg=" + }, + "bcpkix-jdk18on-1.77.pom": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk18on/1.77/bcpkix-jdk18on-1.77.pom", + "hash": "sha256-j7CSbwLixLLcUuR+uwk/kvHTu28UnCpcyl4qZI0sSY0=" + } + }, + "org.bouncycastle:bcprov-jdk15on:1.66": { + "bcprov-jdk15on-1.66.jar": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.66/bcprov-jdk15on-1.66.jar", + "hash": "sha256-G4YduhxURd6bOKF4nCEe8oudB+JtH6OL7nF+W1EWL/4=" + }, + "bcprov-jdk15on-1.66.pom": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.66/bcprov-jdk15on-1.66.pom", + "hash": "sha256-qk0WoZst+s6rlMZDbGQE6uWw+3U0n5/gYQNkZbQg8nA=" + } + }, + "org.bouncycastle:bcprov-jdk18on:1.77": { + "bcprov-jdk18on-1.77.jar": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk18on/1.77/bcprov-jdk18on-1.77.jar", + "hash": "sha256-2ruYwk1yybn1hWM9HfnFzVjZrTc9DNaBNn5qYDpJXVg=" + }, + "bcprov-jdk18on-1.77.pom": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk18on/1.77/bcprov-jdk18on-1.77.pom", + "hash": "sha256-rROCz80DvN2L4TkTwC9E/UadCnalPPLK71vhgK3DayM=" + } + }, + "org.bouncycastle:bcutil-jdk18on:1.77": { + "bcutil-jdk18on-1.77.jar": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcutil-jdk18on/1.77/bcutil-jdk18on-1.77.jar", + "hash": "sha256-lHZzvLxajd4tL6aIpbdZjQym4qdKfqMM2T8E9rOtaPg=" + }, + "bcutil-jdk18on-1.77.pom": { + "url": "https://repo.maven.apache.org/maven2/org/bouncycastle/bcutil-jdk18on/1.77/bcutil-jdk18on-1.77.pom", + "hash": "sha256-Fj36ZjL/uSinBcqDciNQys6knM1iPOc2RaXMOw+p5ug=" + } + }, + "org.fusesource:fusesource-pom:1.12": { + "fusesource-pom-1.12.pom": { + "url": "https://plugins.gradle.org/m2/org/fusesource/fusesource-pom/1.12/fusesource-pom-1.12.pom", + "hash": "sha256-xA2WDarc73sBwbHGZXr7rE//teUxaPj8sLKLhOb9zKE=" + } + }, + "org.fusesource.jansi:jansi:2.4.0": { + "jansi-2.4.0.jar": { + "url": "https://plugins.gradle.org/m2/org/fusesource/jansi/jansi/2.4.0/jansi-2.4.0.jar", + "hash": "sha256-bNkZkTI917L7KMqT16wSr1qGovUyeeKzWCezAxP9C58=" + }, + "jansi-2.4.0.pom": { + "url": "https://plugins.gradle.org/m2/org/fusesource/jansi/jansi/2.4.0/jansi-2.4.0.pom", + "hash": "sha256-rECp8tDB7mMfw7CO+OLwvRS6IgEcp2/xvPZftWnq3zU=" + } + }, + "org.gradle.toolchains:foojay-resolver:0.7.0": { + "foojay-resolver-0.7.0.jar": { + "url": "https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver/0.7.0/foojay-resolver-0.7.0.jar", + "hash": "sha256-k2crR0Cg/b+7W68INT24rpqbsl9rEKk8B4EmxxfbOsA=" + }, + "foojay-resolver-0.7.0.module": { + "url": "https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver/0.7.0/foojay-resolver-0.7.0.module", + "hash": "sha256-7WdGoJ8yv63bkLApECrmIybiSBKaaLdGYqSkM9VTFLg=" + }, + "foojay-resolver-0.7.0.pom": { + "url": "https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver/0.7.0/foojay-resolver-0.7.0.pom", + "hash": "sha256-iCa8+5Iq8MIR5BPTmwgWWRPAgwZkE+BzDNgrLgsKie4=" + } + }, + "org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.7.0": { + "org.gradle.toolchains.foojay-resolver-convention.gradle.plugin-0.7.0.pom": { + "url": "https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver-convention/org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.7.0/org.gradle.toolchains.foojay-resolver-convention.gradle.plugin-0.7.0.pom", + "hash": "sha256-yKRD4vrvh28zijkSM8IKka1bg/acHGuiDTmns5EGJAo=" + } + }, + "org.jacoco:org.jacoco.agent:0.8.11": { + "org.jacoco.agent-0.8.11.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.8.11/org.jacoco.agent-0.8.11.jar", + "hash": "sha256-0+2F3qeKntVYRqdzjjoMoVxwLGYe5LyMv+Aqi59KmcA=" + }, + "org.jacoco.agent-0.8.11.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.8.11/org.jacoco.agent-0.8.11.pom", + "hash": "sha256-FuBen0liG4fFPmk1AUDzxG1C2WbGepM730sGOiscj8U=" + } + }, + "org.jacoco:org.jacoco.ant:0.8.11": { + "org.jacoco.ant-0.8.11.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.ant/0.8.11/org.jacoco.ant-0.8.11.jar", + "hash": "sha256-gdfriJDZvjCpOWEsKVYDVBBjUpzdA6UyZaunRHS3C3w=" + }, + "org.jacoco.ant-0.8.11.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.ant/0.8.11/org.jacoco.ant-0.8.11.pom", + "hash": "sha256-ftED2VnQzue6v7Ewf6bkUbFpb/01JwYVU7VQ3lUgHYU=" + } + }, + "org.jacoco:org.jacoco.build:0.8.11": { + "org.jacoco.build-0.8.11.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.8.11/org.jacoco.build-0.8.11.pom", + "hash": "sha256-W4SxXPLu8+WeuRvCJ4SDMQCwnfmRHjMZAww7xki9iws=" + } + }, + "org.jacoco:org.jacoco.core:0.8.11": { + "org.jacoco.core-0.8.11.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.8.11/org.jacoco.core-0.8.11.jar", + "hash": "sha256-/NGIxohHP8jcwMbKrzVeeziVAiQ1J8M7lZej7Ch5H0c=" + }, + "org.jacoco.core-0.8.11.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.8.11/org.jacoco.core-0.8.11.pom", + "hash": "sha256-u2E18Qo2NJy4SlYA/Yz3P8EpahNbLxStzYPejPJMq7E=" + } + }, + "org.jacoco:org.jacoco.report:0.8.11": { + "org.jacoco.report-0.8.11.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.report/0.8.11/org.jacoco.report-0.8.11.jar", + "hash": "sha256-g5MpWuJGgO0QytgzOQcED5KLhxMySRWBylvHhOLLT74=" + }, + "org.jacoco.report-0.8.11.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.report/0.8.11/org.jacoco.report-0.8.11.pom", + "hash": "sha256-jjtzR3nV4/1oPsAVQT1S+WGYTFDLkEX9orI7/160I4E=" + } + }, + "org.junit:junit-bom:5.10.2": { + "junit-bom-5.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.2/junit-bom-5.10.2.module", + "hash": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo=" + }, + "junit-bom-5.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.2/junit-bom-5.10.2.pom", + "hash": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg=" + } + }, + "org.junit:junit-bom:5.9.2": { + "junit-bom-5.9.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.2/junit-bom-5.9.2.module", + "hash": "sha256-qxN7pajjLJsGa/kSahx23VYUtyS6XAsCVJdyten0zx8=" + }, + "junit-bom-5.9.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.2/junit-bom-5.9.2.pom", + "hash": "sha256-LtB9ZYRRMfUzaoZHbJpAVrWdC1i5gVqzZ5uw82819wU=" + } + }, + "org.junit-pioneer:junit-pioneer:2.2.0": { + "junit-pioneer-2.2.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.jar", + "hash": "sha256-gstBVfiCotbv88qS2WzOUmEqrVNFtltl4fyCg3u1304=" + }, + "junit-pioneer-2.2.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.module", + "hash": "sha256-OTy766Wk3fzMU0WXD7MRB12pGp4TVh+E344z8ROWBkY=" + }, + "junit-pioneer-2.2.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.pom", + "hash": "sha256-XKZOqAvyb+fysJlnDcPgPYHzZZ3EZOzQBtrwh2d/Buc=" + } + }, + "org.junit.jupiter:junit-jupiter:5.10.2": { + "junit-jupiter-5.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.10.2/junit-jupiter-5.10.2.jar", + "hash": "sha256-Jj5DRH9LQPEmrWsdy9ffN5RIQTve244NJAxby7p8ek8=" + }, + "junit-jupiter-5.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.10.2/junit-jupiter-5.10.2.module", + "hash": "sha256-cjF2bPGyuJLGehQsljkU5rc/u1BhpschROt/jnJ3DsE=" + }, + "junit-jupiter-5.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.10.2/junit-jupiter-5.10.2.pom", + "hash": "sha256-1bcMXC10Ui2mEM04d28iW6wDSsJZGEO+6Xl6urOIDqs=" + } + }, + "org.junit.jupiter:junit-jupiter-api:5.10.2": { + "junit-jupiter-api-5.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar", + "hash": "sha256-r/93wYbNMXJ1gDhy+lEzqoAf1qxAvZHHimz4AJtLF8w=" + }, + "junit-jupiter-api-5.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.module", + "hash": "sha256-QRtKlsKm2wmY1uWOiZNn8NElQWPzBBydmOeu38o3RBk=" + }, + "junit-jupiter-api-5.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.pom", + "hash": "sha256-u12jBgImsbPOtUCEldxptZRlv1DX6+Y+75TyWQnPGQA=" + } + }, + "org.junit.jupiter:junit-jupiter-engine:5.10.2": { + "junit-jupiter-engine-5.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.2/junit-jupiter-engine-5.10.2.jar", + "hash": "sha256-tt812nUKVGrpMjdvEbPA34QfDJDHyylEzTmttDKIbks=" + }, + "junit-jupiter-engine-5.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.2/junit-jupiter-engine-5.10.2.module", + "hash": "sha256-FD7yda5mlRGdeCEqkyRazrv5I1tTdbn0wdSvcy87Uwo=" + }, + "junit-jupiter-engine-5.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.2/junit-jupiter-engine-5.10.2.pom", + "hash": "sha256-q+csj7+anI+e55usKbpkedMrDf+quICApQKRHSTTlGM=" + } + }, + "org.junit.jupiter:junit-jupiter-params:5.10.2": { + "junit-jupiter-params-5.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.10.2/junit-jupiter-params-5.10.2.jar", + "hash": "sha256-7bHkP/C4BnYm/7VeXp7sodmrJHgUGnx/JT0RWynMfPI=" + }, + "junit-jupiter-params-5.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.10.2/junit-jupiter-params-5.10.2.module", + "hash": "sha256-IMLmXVKjnIVJbo4XDgjG7Sk1x/NeZRAT2WTcG7dcgns=" + }, + "junit-jupiter-params-5.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.10.2/junit-jupiter-params-5.10.2.pom", + "hash": "sha256-8n19CW20igXW56/YQalUVEJOVcUj167RZoF4szpjy9c=" + } + }, + "org.junit.platform:junit-platform-commons:1.10.2": { + "junit-platform-commons-1.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar", + "hash": "sha256-tWpewACked9Jc7GLuiTJj+Dbj6oUyJB9PvRR2Mcf2K4=" + }, + "junit-platform-commons-1.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.module", + "hash": "sha256-HoFCGmL4cryk0gIgs56hniexNfNre3gXBPkvrVQxlhg=" + }, + "junit-platform-commons-1.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.pom", + "hash": "sha256-8/glx8o72JcU1IlEfHfHbifqOPAoX195ahAAoX/KS+c=" + } + }, + "org.junit.platform:junit-platform-engine:1.10.2": { + "junit-platform-engine-1.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.10.2/junit-platform-engine-1.10.2.jar", + "hash": "sha256-kFy6m0mYzMKdEjkIWn+x/g4oAk11JhUjVtgQ7ewKSaM=" + }, + "junit-platform-engine-1.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.10.2/junit-platform-engine-1.10.2.module", + "hash": "sha256-4dG63P7cJyRFQeC+XV6EtyoicNevYWhrJvEc/Edw2kI=" + }, + "junit-platform-engine-1.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.10.2/junit-platform-engine-1.10.2.pom", + "hash": "sha256-EqqGyhwNZIoiXU58aWBUwfx26IeCxcOft983muI7728=" + } + }, + "org.junit.platform:junit-platform-launcher:1.10.2": { + "junit-platform-launcher-1.10.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.10.2/junit-platform-launcher-1.10.2.jar", + "hash": "sha256-rtT0L7kK2ps0fCMfE2VvwJEhuiDattxkamvZ1Nox5Ko=" + }, + "junit-platform-launcher-1.10.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.10.2/junit-platform-launcher-1.10.2.module", + "hash": "sha256-/1YhIQJQJSv9rbYiu+LqZuzsMahnc2zqSz1K3yGcp/8=" + }, + "junit-platform-launcher-1.10.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.10.2/junit-platform-launcher-1.10.2.pom", + "hash": "sha256-WjEXCOeQa7l0YpwayHC8EWV0ZbmJ2koHfkVBa9mHJeQ=" + } + }, + "org.opentest4j:opentest4j:1.3.0": { + "opentest4j-1.3.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", + "hash": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=" + }, + "opentest4j-1.3.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.module", + "hash": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=" + }, + "opentest4j-1.3.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.pom", + "hash": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U=" + } + }, + "org.ow2:ow2:1.5.1": { + "ow2-1.5.1.pom": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom", + "hash": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU=" + } + }, + "org.ow2.asm:asm:9.6": { + "asm-9.6.jar": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.jar", + "hash": "sha256-PG+sJCTbPUqFO2afTj0dnDxVIjXhmjGWc/iHCDwjA6E=" + }, + "asm-9.6.pom": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.pom", + "hash": "sha256-ku7iS8PIQ+SIHUbB3WUFRx7jFC+s+0ZrQoz+paVsa2A=" + } + }, + "org.ow2.asm:asm-bom:9.6": { + "asm-bom-9.6.pom": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-bom/9.6/asm-bom-9.6.pom", + "hash": "sha256-ig5fYk/ikwt6jWmVb0OORe9TKZa01kQJthbErvSxrE4=" + } + }, + "org.ow2.asm:asm-commons:9.6": { + "asm-commons-9.6.jar": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar", + "hash": "sha256-eu/Q1cCQFwHGn3UT/tp2X7a+M68s56oXxXgfyHZXxRE=" + }, + "asm-commons-9.6.pom": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.6/asm-commons-9.6.pom", + "hash": "sha256-qYrkiVM0uvj/hr1mUWIQ29mgPxpuFeR92oKvz2tT13w=" + } + }, + "org.ow2.asm:asm-tree:9.6": { + "asm-tree-9.6.jar": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar", + "hash": "sha256-xD7PF7U5x3fhXae1uGVTs3fi05poPeYoVWfVKDiI5+8=" + }, + "asm-tree-9.6.pom": { + "url": "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.6/asm-tree-9.6.pom", + "hash": "sha256-G8tIHX/Ba5VbtgygfIz6JCS87ni9xAW7oxx9b13C0RM=" + } + }, + "org.slf4j:slf4j-api:1.7.30": { + "slf4j-api-1.7.30.jar": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar", + "hash": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=" + }, + "slf4j-api-1.7.30.pom": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.pom", + "hash": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ=" + } + }, + "org.slf4j:slf4j-parent:1.7.30": { + "slf4j-parent-1.7.30.pom": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.30/slf4j-parent-1.7.30.pom", + "hash": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U=" + } + }, + "org.sonatype.oss:oss-parent:9": { + "oss-parent-9.pom": { + "url": "https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom", + "hash": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" + } + }, + "org.sonatype.oss:oss-parent:7": { + "oss-parent-7.pom": { + "url": "https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom", + "hash": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" + } + }, + "org.sonatype.oss:oss-parent:4": { + "oss-parent-4.pom": { + "url": "https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/4/oss-parent-4.pom", + "hash": "sha256-xROZXPAZ2SE9T9pmZYmTeyvxvqXEzdM35hcOgLGEBu4=" + } + }, + "org.yaml:snakeyaml:2.2": { + "snakeyaml-2.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/2.2/snakeyaml-2.2.jar", + "hash": "sha256-FGeTFEiggXaWrigFt7iyC/sIJlK/nE767VKJMNxJOJs=" + }, + "snakeyaml-2.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/2.2/snakeyaml-2.2.pom", + "hash": "sha256-6YLq3HiMac8uTeUKn2MrGCwx26UGEoMNNI/EtLqN19Y=" + } + }, + "org.yaml:snakeyaml:1.26": { + "snakeyaml-1.26.jar": { + "url": "https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.26/snakeyaml-1.26.jar", + "hash": "sha256-2H1gflAIhTVsA8HK5h6MLgXWl9+Hh9WroTSEwut2qEQ=" + }, + "snakeyaml-1.26.pom": { + "url": "https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.26/snakeyaml-1.26.pom", + "hash": "sha256-xVd6BoDYqN70GDqk1q7RwBICaz2JvaZc2g4YrhYTAVc=" + } + } +} \ No newline at end of file From 562263257560b06a0759972744ddbfbaa5bc81f8 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 18 Jul 2024 13:43:15 +0200 Subject: [PATCH 004/131] Don't build LibreSSL from submodule --- flake.nix | 230 ++++++++++++++---- .../ectester/standalone/libs/LibresslLib.java | 2 +- .../ectester/standalone/libs/jni/Makefile | 11 +- 3 files changed, 192 insertions(+), 51 deletions(-) diff --git a/flake.nix b/flake.nix index d7c55c48..7a622a70 100644 --- a/flake.nix +++ b/flake.nix @@ -14,25 +14,84 @@ outputs = { self, nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let - openssl_3013 = pkgs.openssl.overrideAttrs (_old: rec { - version = "3.0.13"; - pname = "openssl"; - src = pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; - }; - # FIXME this might cause unwanted things - patches = []; + libresslShim = with pkgs; stdenv.mkDerivation { + name = "LibreSSLShim"; + src = ./standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + libressl + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make libressl + ''; + + installPhase = '' + mkdir --parents $out/lib + cp libressl_provider.so $out/lib + ''; + }; + # openssl_3013 = pkgs.openssl.overrideAttrs (_old: rec { + # version = "3.0.13"; + # pname = "openssl"; + # src = pkgs.fetchurl { + # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + # hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; + # }; + # # FIXME this might cause unwanted things + # patches = []; + # }); + # openssl_315 = pkgs.openssl.overrideAttrs (_old: rec { + # version = "3.1.5"; + # pname = "openssl"; + # src = pkgs.fetchurl { + # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + # hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; + # }; + # # FIXME this might cause unwanted things + # patches = []; + # }); + boirngssl = pkgs.boringssl.overrideAttrs (_old: rec { + postFixup = '' + ls + ''; }); - openssl_315 = pkgs.openssl.overrideAttrs (_old: rec { - version = "3.1.5"; - pname = "openssl"; - src = pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; - }; - # FIXME this might cause unwanted things - patches = []; + libressl = pkgs.libressl.overrideAttrs (_old: rec { + # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; + # pname = "libressl"; + # version = "3.9.2"; + # includes = [ "tests/tlstest.sh" ]; + # src = pkgs.fetchurl { + # url = "mirror://openbsd/LibreSSL/${pname}-${version}.tar.gz"; + # hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; + # }; + # nativeBuildInputs = _old.nativeBuildInputs ++ (with pkgs; [ + # pkg-config + # ]); + + # Patched according to the previous versions: + # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/libraries/libressl/default.nix#L118 + # For unknown reasons the newer versions are not patched this way (yet?) + patches = [ + (pkgs.fetchpatch { + url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; + includes = [ "tests/tlstest.sh" ]; + hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; + }) + ]; + + # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. + postFixup = pkgs.lib.concatLines [ + _old.postFixup + '' + cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc + sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc + ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so + '' + ]; + }); overlays = [ # (final: prev: { @@ -43,7 +102,7 @@ # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; # hash = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; # }; - # # FIXME this might cause unwanted things + # FIXME Removing patches might cause unwanted things. # patches = []; # }); # }) @@ -53,7 +112,6 @@ }; buildECTesterStandalone = { opensslVersion, opensslHash }: ( let - ov = opensslVersion; patched_openssl = pkgs.openssl.overrideAttrs (_old: rec { version = opensslVersion; pname = "openssl"; @@ -61,9 +119,16 @@ url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; hash = opensslHash; }; - # FIXME this might cause unwanted things + # FIXME Removing patches might cause unwanted things. patches = []; }); + + # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; + # libressl = pkgs.libressl.overrideAttrs (_old: { + # fixupPhase = '' + # cp ${devLibPath}/openssl.pc ${devLibPath}/libressl.pc + # ''; + # }); in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -72,23 +137,33 @@ # gradleInstallFlags = [ "installDist" ]; # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" lockFile = ./gradle.lock; - gradleBuildFlags = [ "libs" "-PlibName=openssl" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + gradleBuildFlags = [ "standalone:libs" "-PlibName=libressl" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" src = ./.; + # cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + # ls -lat standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/libressl_provider.so + # exit 1 + preConfigure = '' + pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + make lib_timing.so lib_csignals.so lib_cppsignals.so + popd + ''; + nativeBuildInputs = [ + # libresslShim gdb ant jdk17 pkg-config global-platform-pro gradle - patched_openssl + # patched_openssl makeWrapper # libraries to test # openssl_3013 - boringssl - # libressl + # boringssl + libressl libtomcrypt libtommath botan2 @@ -114,7 +189,6 @@ wolfssl nettle - # libressl gmp libgpg-error @@ -122,33 +196,86 @@ libconfig ]; - # preConfigure = '' - # pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni - # make lib_timing.so - # make lib_csignals.so - # make lib_cppsignals.so - # # make clean - # make openssl - # # openssl version + # buildBoringSSL = '' + # pushd ext/boringssl + # mkdir --parents build + # pushd build + # cmake -GNinja -DBUILD_SHARED_LIBS=1 .. + # ninja + # popd + # ''; + + # buildLibreSSL = '' + # pushd ext/libressl + # ./autogen.sh + # mkdir --parents build + # pushd build + # cmake -GNinja -DBUILD_SHARED_LIBS=1 .. + # ninja # popd # ''; + # TODO OpenJDK 64-Bit Server VM warning: You have loaded library + # /home/qup/.local/share/ECTesterStandalone/lib/lib_ippcp.so which + # might have disabled stack guard. The VM will try to fix the stack + # guard now. It's highly recommended that you fix the library with + # 'execstack -c ', or link it with '-z noexecstack'. + # buildIppCrypto = '' + # pushd ext/ipp-crypto + # CC=clang CXX=clang++ cmake CMakeLists.txt -GNinja -Bbuild -DARCH=intel64 # Does not work with GCC 12+ + # mkdir --parents build + # pushd build + # ninja + # popd + # ''; + + # buildMbedTLS = '' + # pushd ext/mbedtls + # python -m venv virt + # . virt/bin/activate + # pip install -r scripts/basic.requirements.txt + # cmake -GNinja -Bbuild -DUSE_SHARED_MBEDTLS_LIBRARY=On + # cd build + # ninja + # ''; + + # wolfCrypt-JNI = '' + # pushd ext/wolfcrypt-jni + # mkdir junit + # wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar + # wget -P junit/ https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar + # make -f makefile.linux + # env JUNIT_HOME=junit/ ant build-jce-release + # ''; + + # preConfigure = lib.concatLines [ + # buildBoringSSL + # buildLibreSSL + # buildIppCrypto + # buildMbedTLS + # wolfCrypt-JNI + # ]; + # buildPhase = '' # ./gradlew clean build --offline # ''; buildInputs = [ jdk17_headless - patched_openssl + libressl + # patched_openssl ]; LD_LIBRARY_PATH = lib.makeLibraryPath [ + # libresslShim + libtommath libtomcrypt botan2 cryptopp libgcrypt patched_openssl + libressl ninja nettle gmp @@ -193,8 +320,19 @@ # openssl_111w = buildECTesterStandalone "1.1.1w" "sha256-zzCYlQy02FOtlcCEHx+cbT3BAtzPys1SHZOSUgi3asg="; }; devShells.default = with pkgs; mkShell rec { + nativeBuildInputs = [ + libresslShim + ]; + + preConfigure = '' + cp ${libresslShim.out}/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + ls standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni + ''; + + buildInputs = [ - # gradle2nix + # # gradle2nix + # libresslShim gdb ant jdk17 @@ -202,9 +340,10 @@ global-platform-pro gradle # libraries to test - openssl_3013 + # openssl + libressl + # glibc boringssl - # libressl libtomcrypt libtommath botan2 @@ -221,7 +360,7 @@ autoconf libb64 - clang + # clang libgcrypt mbedtls nasm @@ -243,7 +382,7 @@ libtomcrypt botan2 cryptopp - openssl_3013 + # openssl libgcrypt nettle gmp @@ -257,6 +396,9 @@ # export PATH=$PATH:$HOME/projects/ts-spect-compiler/build/src/apps; # export TS_REPO_ROOT=`pwd`; # ''; + + # NIX_CFLAGS_COMPILE=""; + buildBoringSSL = '' mkdir --parents build pushd build @@ -305,10 +447,10 @@ ''; # TODO add LD_LIB properly - shellHook = '' - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HOME/projects/ts-spect-compiler/build/src/cosim - - ''; + # shellHook = '' + # export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HOME/projects/ts-spect-compiler/build/src/cosim + # NIX_CFLAGS_COMPILE= + # ''; # pushd ext/wolfcrypt-jni # ${wolfCrypt-JNI} diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java index 2dba0491..a4038968 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java @@ -8,7 +8,7 @@ */ public class LibresslLib extends NativeECLibrary { public LibresslLib() { - super("LibreSSL", "libressl_provider", "lib_libressl.so"); + super("LibreSSL", "libressl_provider"); } @Override 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 62825742..0fc0ca60 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 @@ -189,15 +189,14 @@ nettle.o: nettle.c # LibreSSL shim libressl: libressl_provider.so -lib_libressl.so: - cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so +# lib_libressl.so: +# cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so -libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so lib_libressl.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_libressl.so -l:lib_timing.so -l:lib_csignals.so +libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libresslcrypto) -l:lib_timing.so -l:lib_csignals.so libressl.o: libressl.c - $(CC) -I$(PROJECT_ROOT_PATH)/ext/libressl/build/include/ $(CFLAGS) -c $< - + $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< help: @echo "# This makefile builds the JNI shims necessary to test native libraries." From 134ff1082d11bad6fb95692a999e8b9dbd19f827 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 18 Jul 2024 13:47:38 +0200 Subject: [PATCH 005/131] Build LibreSSLShim as a separate derivation --- flake.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 7a622a70..d7681112 100644 --- a/flake.nix +++ b/flake.nix @@ -137,13 +137,11 @@ # gradleInstallFlags = [ "installDist" ]; # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" lockFile = ./gradle.lock; - gradleBuildFlags = [ "standalone:libs" "-PlibName=libressl" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + gradleBuildFlags = [ ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" src = ./.; - # cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - # ls -lat standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/libressl_provider.so - # exit 1 preConfigure = '' + cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd From 556c45f5bd203ef79ae81687d4986fbbf4bd5f19 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 18 Jul 2024 14:00:11 +0200 Subject: [PATCH 006/131] Build LibreSSL alongside OpenSSL --- flake.nix | 4 ++-- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index d7681112..e4b92f93 100644 --- a/flake.nix +++ b/flake.nix @@ -338,7 +338,7 @@ global-platform-pro gradle # libraries to test - # openssl + openssl libressl # glibc boringssl @@ -380,7 +380,7 @@ libtomcrypt botan2 cryptopp - # openssl + openssl libgcrypt nettle gmp 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 0fc0ca60..1e67beb0 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 @@ -193,10 +193,10 @@ libressl: libressl_provider.so # cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libresslcrypto) -l:lib_timing.so -l:lib_csignals.so + NIX_CFLAGS_COMPILE= $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libresslcrypto) -l:lib_timing.so -l:lib_csignals.so libressl.o: libressl.c - $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< + NIX_CFLAGS_COMPILE= $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< help: @echo "# This makefile builds the JNI shims necessary to test native libraries." From 4fbc4542e007b6b8c3a49d6eb68a07985689477c Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:22:11 +0200 Subject: [PATCH 007/131] Set default for phase --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e4b92f93..12319ea7 100644 --- a/flake.nix +++ b/flake.nix @@ -84,7 +84,7 @@ # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. postFixup = pkgs.lib.concatLines [ - _old.postFixup + ( _old.postFixup or "" ) '' cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc From 156fcc306b5661ffb0b25929da1004bbc01e740e Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:23:21 +0200 Subject: [PATCH 008/131] Build shared libs for BoringSSL --- flake.nix | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 12319ea7..a1786fe7 100644 --- a/flake.nix +++ b/flake.nix @@ -14,23 +14,57 @@ outputs = { self, nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let - libresslShim = with pkgs; stdenv.mkDerivation { - name = "LibreSSLShim"; + patched_boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { + src = fetchgit { + url = "https://boringssl.googlesource.com/boringssl"; + # rev = "d274b1bacdca36f3941bf78e43dc38acf676a1a8"; # master at the time of writing + # hash = "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; + # NOTE + rev = "80a243e07ef77156af66efa7d22ac35aba44c1b3"; # ECTester submodule version at the time of writing + hash = "sha256-Sa1XjU7wi4umVQ6BUj9BxJMHYlXNg6xw9Cb/vBE+ScQ="; + }; + + # NOTE this build does not match upstream, but is what ECTester did at the time of writing + buildPhase = '' + cmake -GNinja -DBUILD_SHARED_LIBS=1 -Bbuild + pushd build + ninja crypto + popd + ''; + + installPhase = '' + mkdir --parents $bin/bin $dev $out/lib + mv include $dev + + pushd build + mv crypto/libcrypto.so $out/lib/lib_boringssl.so + popd + ''; + + }); + + boringsslShim = with pkgs; stdenv.mkDerivation { + name = "BoringSSLShim"; src = ./standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; buildInputs = [ - libressl + patched_boringssl pkg-config jdk11_headless ]; buildPhase = '' - make libressl + make boringssl ''; + BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + # LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ + # patched_boringssl + # ]; + installPhase = '' mkdir --parents $out/lib - cp libressl_provider.so $out/lib + cp boringssl_provider.so $out/lib ''; }; # openssl_3013 = pkgs.openssl.overrideAttrs (_old: rec { From 53126547ccdf7221dd0ac7c2f9d4a936d6203ec4 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:25:47 +0200 Subject: [PATCH 009/131] Build BoringSSL shim from packaged BoringSSL --- flake.nix | 110 +++++++++--------------------------------------------- 1 file changed, 17 insertions(+), 93 deletions(-) diff --git a/flake.nix b/flake.nix index a1786fe7..63ff8f63 100644 --- a/flake.nix +++ b/flake.nix @@ -19,7 +19,7 @@ url = "https://boringssl.googlesource.com/boringssl"; # rev = "d274b1bacdca36f3941bf78e43dc38acf676a1a8"; # master at the time of writing # hash = "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; - # NOTE + # NOTE rev = "80a243e07ef77156af66efa7d22ac35aba44c1b3"; # ECTester submodule version at the time of writing hash = "sha256-Sa1XjU7wi4umVQ6BUj9BxJMHYlXNg6xw9Cb/vBE+ScQ="; }; @@ -67,31 +67,7 @@ cp boringssl_provider.so $out/lib ''; }; - # openssl_3013 = pkgs.openssl.overrideAttrs (_old: rec { - # version = "3.0.13"; - # pname = "openssl"; - # src = pkgs.fetchurl { - # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - # hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; - # }; - # # FIXME this might cause unwanted things - # patches = []; - # }); - # openssl_315 = pkgs.openssl.overrideAttrs (_old: rec { - # version = "3.1.5"; - # pname = "openssl"; - # src = pkgs.fetchurl { - # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - # hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; - # }; - # # FIXME this might cause unwanted things - # patches = []; - # }); - boirngssl = pkgs.boringssl.overrideAttrs (_old: rec { - postFixup = '' - ls - ''; - }); + libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; @@ -176,6 +152,8 @@ preConfigure = '' cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${patched_boringssl.out}/lib/lib_boringssl.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd @@ -196,6 +174,7 @@ # openssl_3013 # boringssl libressl + patched_boringssl libtomcrypt libtommath botan2 @@ -228,78 +207,15 @@ libconfig ]; - # buildBoringSSL = '' - # pushd ext/boringssl - # mkdir --parents build - # pushd build - # cmake -GNinja -DBUILD_SHARED_LIBS=1 .. - # ninja - # popd - # ''; - - # buildLibreSSL = '' - # pushd ext/libressl - # ./autogen.sh - # mkdir --parents build - # pushd build - # cmake -GNinja -DBUILD_SHARED_LIBS=1 .. - # ninja - # popd - # ''; - - # TODO OpenJDK 64-Bit Server VM warning: You have loaded library - # /home/qup/.local/share/ECTesterStandalone/lib/lib_ippcp.so which - # might have disabled stack guard. The VM will try to fix the stack - # guard now. It's highly recommended that you fix the library with - # 'execstack -c ', or link it with '-z noexecstack'. - # buildIppCrypto = '' - # pushd ext/ipp-crypto - # CC=clang CXX=clang++ cmake CMakeLists.txt -GNinja -Bbuild -DARCH=intel64 # Does not work with GCC 12+ - # mkdir --parents build - # pushd build - # ninja - # popd - # ''; - - # buildMbedTLS = '' - # pushd ext/mbedtls - # python -m venv virt - # . virt/bin/activate - # pip install -r scripts/basic.requirements.txt - # cmake -GNinja -Bbuild -DUSE_SHARED_MBEDTLS_LIBRARY=On - # cd build - # ninja - # ''; - - # wolfCrypt-JNI = '' - # pushd ext/wolfcrypt-jni - # mkdir junit - # wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar - # wget -P junit/ https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar - # make -f makefile.linux - # env JUNIT_HOME=junit/ ant build-jce-release - # ''; - - # preConfigure = lib.concatLines [ - # buildBoringSSL - # buildLibreSSL - # buildIppCrypto - # buildMbedTLS - # wolfCrypt-JNI - # ]; - - # buildPhase = '' - # ./gradlew clean build --offline - # ''; - buildInputs = [ jdk17_headless - libressl + # libressl # patched_openssl ]; LD_LIBRARY_PATH = lib.makeLibraryPath [ # libresslShim + boringsslShim libtommath libtomcrypt @@ -308,6 +224,7 @@ libgcrypt patched_openssl libressl + patched_boringssl ninja nettle gmp @@ -315,6 +232,8 @@ libconfig ]; + BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + # FIXME more things to copy here installPhase = '' mkdir -p $out @@ -323,7 +242,6 @@ ''; postFixup = '' - makeWrapper \ ${jdk17_headless}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/build/libs/${pname}.jar" \ @@ -375,7 +293,7 @@ openssl libressl # glibc - boringssl + patched_boringssl libtomcrypt libtommath botan2 @@ -415,6 +333,7 @@ botan2 cryptopp openssl + patched_boringssl libgcrypt nettle gmp @@ -422,6 +341,11 @@ libconfig ]; + BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + # CFLAGS = with pkgs; [ + # patched_boringssl.dev + # ]; + # NOTE: Mixing postVenvCreation aznd shellHook results in only shellHook being called # shellHook = '' # source ${venvDir}/bin/activate From 20aee84cb5ba178965556245100941d97fcc0d9f Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:26:44 +0200 Subject: [PATCH 010/131] Clear overlays --- flake.nix | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/flake.nix b/flake.nix index 63ff8f63..370be640 100644 --- a/flake.nix +++ b/flake.nix @@ -103,20 +103,7 @@ ]; }); - overlays = [ - # (final: prev: { - # openssl_01 = prev.openssl.overrideAttrs (old: rec{ - # version = "3.0.8"; - # pname = "openssl"; - # src = pkgs.fetchurl { - # url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - # hash = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; - # }; - # FIXME Removing patches might cause unwanted things. - # patches = []; - # }); - # }) - ]; + overlays = []; pkgs = import nixpkgs { inherit system overlays; }; From 8f8d79757184c5cd6b79e3e174d480219c1e1240 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:27:23 +0200 Subject: [PATCH 011/131] Build MbedTLS shim with packaged MbedTLS --- flake.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/flake.nix b/flake.nix index 370be640..680085a7 100644 --- a/flake.nix +++ b/flake.nix @@ -103,6 +103,25 @@ ]; }); + mbedtlsShim = with pkgs; stdenv.mkDerivation rec { + name = "MbedTLSShim"; + src = ./standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + mbedtls + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make mbedtls + ''; + + installPhase = '' + mkdir --parents $out/lib + cp mbedtls_provider.so $out/lib + ''; + }; overlays = []; pkgs = import nixpkgs { inherit system overlays; @@ -141,6 +160,7 @@ cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${patched_boringssl.out}/lib/lib_boringssl.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${mbedtlsShim.out}/lib/mbedtls_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd From a6f468f0d33a324cce5daf6d48e7bcf6b80a4c4b Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:37:32 +0200 Subject: [PATCH 012/131] Build shims in separate files --- flake.nix | 46 +++---------------------------------------- nix/boringsslshim.nix | 28 ++++++++++++++++++++++++++ nix/libresslshim.nix | 23 ++++++++++++++++++++++ nix/mbedtlsshim.nix | 22 +++++++++++++++++++++ 4 files changed, 76 insertions(+), 43 deletions(-) create mode 100644 nix/boringsslshim.nix create mode 100644 nix/libresslshim.nix create mode 100644 nix/mbedtlsshim.nix diff --git a/flake.nix b/flake.nix index 680085a7..e0816303 100644 --- a/flake.nix +++ b/flake.nix @@ -43,30 +43,6 @@ }); - boringsslShim = with pkgs; stdenv.mkDerivation { - name = "BoringSSLShim"; - src = ./standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; - - buildInputs = [ - patched_boringssl - pkg-config - jdk11_headless - ]; - - buildPhase = '' - make boringssl - ''; - - BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; - # LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ - # patched_boringssl - # ]; - - installPhase = '' - mkdir --parents $out/lib - cp boringssl_provider.so $out/lib - ''; - }; libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; @@ -103,25 +79,9 @@ ]; }); - mbedtlsShim = with pkgs; stdenv.mkDerivation rec { - name = "MbedTLSShim"; - src = ./standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; - - buildInputs = [ - mbedtls - pkg-config - jdk11_headless - ]; - - buildPhase = '' - make mbedtls - ''; - - installPhase = '' - mkdir --parents $out/lib - cp mbedtls_provider.so $out/lib - ''; - }; + libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; + boringsslShim = import ./nix/boringsslshim.nix { pkgs = pkgs; boringssl = patched_boringssl; }; + mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; overlays = []; pkgs = import nixpkgs { inherit system overlays; diff --git a/nix/boringsslshim.nix b/nix/boringsslshim.nix new file mode 100644 index 00000000..1ed63d33 --- /dev/null +++ b/nix/boringsslshim.nix @@ -0,0 +1,28 @@ +{ + pkgs + , boringssl +}: +with pkgs; stdenv.mkDerivation { + name = "BoringSSLShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + boringssl + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make boringssl + ''; + + BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; + # LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ + # boringssl + # ]; + + installPhase = '' + mkdir --parents $out/lib + cp boringssl_provider.so $out/lib + ''; +} diff --git a/nix/libresslshim.nix b/nix/libresslshim.nix new file mode 100644 index 00000000..97bc3d9d --- /dev/null +++ b/nix/libresslshim.nix @@ -0,0 +1,23 @@ +{ + pkgs + , libressl +}: +with pkgs; stdenv.mkDerivation rec { + name = "LibreSSLShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + libressl + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make libressl + ''; + + installPhase = '' + mkdir --parents $out/lib + cp libressl_provider.so $out/lib + ''; +} diff --git a/nix/mbedtlsshim.nix b/nix/mbedtlsshim.nix new file mode 100644 index 00000000..2dff2f07 --- /dev/null +++ b/nix/mbedtlsshim.nix @@ -0,0 +1,22 @@ +{ + pkgs +}: +with pkgs; stdenv.mkDerivation rec { + name = "MbedTLSShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + mbedtls + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make mbedtls + ''; + + installPhase = '' + mkdir --parents $out/lib + cp mbedtls_provider.so $out/lib + ''; +} From af299ba4547319a2bcd6a0e035e2fd5cfadd47a7 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:38:29 +0200 Subject: [PATCH 013/131] Remove unnecessary dependency since MbedTLS package is now used --- .../main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java index e44598c8..26b4d094 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java @@ -9,7 +9,7 @@ public class MbedTLSLib extends NativeECLibrary { public MbedTLSLib() { - super("mbedTLS", "mbedtls_provider", "lib_mbedtls.so"); + super("mbedTLS", "mbedtls_provider"); } @Override From f27f67cbab4323816b830c0ffe5f3cfe2331bdc0 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:38:53 +0200 Subject: [PATCH 014/131] Fix build instruction for BoringSSL and MbedTLS --- .../ectester/standalone/libs/jni/Makefile | 27 ++++++++++++------- .../ectester/standalone/libs/jni/boringssl.c | 3 ++- 2 files changed, 19 insertions(+), 11 deletions(-) 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 1e67beb0..5c71f871 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 @@ -96,14 +96,14 @@ openssl.o: openssl.c # BoringSSL shim boringssl: boringssl_provider.so -lib_boringssl.so: - cp $(PROJECT_ROOT_PATH)/ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so +# lib_boringssl.so: +# cp $(PROJECT_ROOT_PATH)/ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so -boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_csignals.so lib_boringssl.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_boringssl.so -l:lib_timing.so -l:lib_csignals.so +boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_csignals.so + NIX_CFLAGS_COMPILE= $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -l:lib_boringssl.so -l:lib_timing.so -l:lib_csignals.so boringssl.o: boringssl.c - $(CC) -I$(PROJECT_ROOT_PATH)/ext/boringssl/include/ $(CFLAGS) -c $< + NIX_CFLAGS_COMPILE= $(CC) -I$(BORINGSSL_CFLAGS) $(CFLAGS) -c $< # libgcrypt shim @@ -153,14 +153,21 @@ cryptopp.o: cryptopp.cpp # mbedTLS shim mbedtls: mbedtls_provider.so -lib_mbedtls.so: - cp $(PROJECT_ROOT_PATH)/ext/mbedtls/build/library/libmbedcrypto.so lib_mbedtls.so +# lib_mbedtls.so: +# cp $(PROJECT_ROOT_PATH)/ext/mbedtls/build/library/libmbedcrypto.so lib_mbedtls.so -mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so lib_mbedtls.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_mbedtls.so -l:lib_timing.so -l:lib_csignals.so +# mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so lib_mbedtls.so +# $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_mbedtls.so -l:lib_timing.so -l:lib_csignals.so + +# mbedtls.o: mbedtls.c +# $(CC) -I$(PROJECT_ROOT_PATH)/ext/mbedtls/build/include/ $(CFLAGS) -c $< + +mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -lmbedcrypto -l:lib_timing.so -l:lib_csignals.so mbedtls.o: mbedtls.c - $(CC) -I$(PROJECT_ROOT_PATH)/ext/mbedtls/build/include/ $(CFLAGS) -c $< + $(CC) $(CFLAGS) -c $< + # Intel Performance Primitives crypto shim diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c index 919cc79c..307d6114 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -569,4 +570,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna EC_KEY_free(pub); EC_GROUP_free(curve); return (result == 1) ? JNI_TRUE : JNI_FALSE; -} \ No newline at end of file +} From 694bf4fa8cb4e2d749a1f497f26829b5ada63eb3 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 13:44:45 +0200 Subject: [PATCH 015/131] Match the packaged BoringSSL to the submodule one --- flake.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index e0816303..8311b35d 100644 --- a/flake.nix +++ b/flake.nix @@ -17,11 +17,8 @@ patched_boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; - # rev = "d274b1bacdca36f3941bf78e43dc38acf676a1a8"; # master at the time of writing - # hash = "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; - # NOTE - rev = "80a243e07ef77156af66efa7d22ac35aba44c1b3"; # ECTester submodule version at the time of writing - hash = "sha256-Sa1XjU7wi4umVQ6BUj9BxJMHYlXNg6xw9Cb/vBE+ScQ="; + rev = "67422ed4434116daa8898773692165ddd51a6ac2"; + hash = "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; }; # NOTE this build does not match upstream, but is what ECTester did at the time of writing From 272a2b40619bb07d05c6ae5df9e6db839cb0404c Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 22 Jul 2024 16:17:05 +0200 Subject: [PATCH 016/131] Link BoringSSL statically In order to prevent problems with dynamic linking of OpenSSL, LibreSSL and BoringSSL -- that all have libcrypto.so -- we link statically into the providers. --- flake.nix | 12 +++++------- .../crcs/ectester/standalone/libs/BoringsslLib.java | 2 +- .../cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 8311b35d..6d85575a 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,7 @@ # NOTE this build does not match upstream, but is what ECTester did at the time of writing buildPhase = '' - cmake -GNinja -DBUILD_SHARED_LIBS=1 -Bbuild + cmake -GNinja -Bbuild pushd build ninja crypto popd @@ -34,7 +34,7 @@ mv include $dev pushd build - mv crypto/libcrypto.so $out/lib/lib_boringssl.so + mv crypto/libcrypto.a $out/lib/lib_boringssl.a popd ''; @@ -116,7 +116,7 @@ preConfigure = '' cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - cp ${patched_boringssl.out}/lib/lib_boringssl.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${patched_boringssl.out}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${mbedtlsShim.out}/lib/mbedtls_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so @@ -235,15 +235,13 @@ }; devShells.default = with pkgs; mkShell rec { nativeBuildInputs = [ - libresslShim + pkg-config ]; preConfigure = '' - cp ${libresslShim.out}/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - ls standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni + cp ${patched_boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ ''; - buildInputs = [ # # gradle2nix # libresslShim diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java index af4d9695..ddc25c66 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java @@ -8,7 +8,7 @@ */ public class BoringsslLib extends NativeECLibrary { public BoringsslLib() { - super("BoringSSL", "boringssl_provider", "lib_boringssl.so"); + super("BoringSSL", "boringssl_provider"); } @Override 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 5c71f871..32df65fc 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 @@ -100,7 +100,7 @@ boringssl: boringssl_provider.so # cp $(PROJECT_ROOT_PATH)/ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_csignals.so - NIX_CFLAGS_COMPILE= $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -l:lib_boringssl.so -l:lib_timing.so -l:lib_csignals.so + NIX_CFLAGS_COMPILE= $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -l:lib_boringssl.a -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so boringssl.o: boringssl.c NIX_CFLAGS_COMPILE= $(CC) -I$(BORINGSSL_CFLAGS) $(CFLAGS) -c $< From c867651a7f2c034ee1d48c2426fbad1a50ff956f Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 10:26:51 +0200 Subject: [PATCH 017/131] Build IPP Crypto from package --- flake.lock | 17 ++++++++++++ flake.nix | 13 +++++++++- nix/ippcryptoshim.nix | 26 +++++++++++++++++++ .../ectester/standalone/libs/jni/Makefile | 9 +++---- 4 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 nix/ippcryptoshim.nix diff --git a/flake.lock b/flake.lock index fe1045ba..b2ef9c5b 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "custom-nixpkgs": { + "locked": { + "lastModified": 1721657519, + "narHash": "sha256-GX9DU5wHfUsUlBNX5WZzLLj1SbawinMDPMCfwKuOKlU=", + "owner": "quapka", + "repo": "nixpkgs", + "rev": "951e69f7ca8f1ade27297bac8e5dc6e292d9be3b", + "type": "github" + }, + "original": { + "owner": "quapka", + "ref": "add-ipp-crypto", + "repo": "nixpkgs", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -87,6 +103,7 @@ }, "root": { "inputs": { + "custom-nixpkgs": "custom-nixpkgs", "flake-utils": "flake-utils", "gradle2nix": "gradle2nix", "nixpkgs": "nixpkgs_2" diff --git a/flake.nix b/flake.nix index 6d85575a..7a8256bb 100644 --- a/flake.nix +++ b/flake.nix @@ -5,13 +5,14 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; + custom-nixpkgs.url = "github:quapka/nixpkgs/add-ipp-crypto"; # custom for of nixpkgs with ipp-crypto packaged # FIXME how to add submodule declaratively? # submodule = { # url = ./ # }; }; - outputs = { self, nixpkgs, flake-utils, gradle2nix, ... }: + outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let patched_boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { @@ -79,10 +80,15 @@ libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; boringsslShim = import ./nix/boringsslshim.nix { pkgs = pkgs; boringssl = patched_boringssl; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; + ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; + overlays = []; pkgs = import nixpkgs { inherit system overlays; }; + customPkgs = import custom-nixpkgs { + inherit system overlays; + }; buildECTesterStandalone = { opensslVersion, opensslHash }: ( let patched_openssl = pkgs.openssl.overrideAttrs (_old: rec { @@ -283,6 +289,8 @@ nettle # libressl + customPkgs.ipp-crypto + gmp libgpg-error wget @@ -392,6 +400,9 @@ # ${buildLibreSSL} # popd # ''; + IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; + IPP_CRYPTO_LIB = "${customPkgs.ipp-crypto}/lib/"; + }; } diff --git a/nix/ippcryptoshim.nix b/nix/ippcryptoshim.nix new file mode 100644 index 00000000..b8e06f1c --- /dev/null +++ b/nix/ippcryptoshim.nix @@ -0,0 +1,26 @@ +{ + pkgs + , ipp-crypto +}: + with pkgs; stdenv.mkDerivation rec { + name = "IppCryptoShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + ipp-crypto + pkg-config + jdk11_headless + ]; + + IPP_CRYPTO_HEADER = "${ipp-crypto.dev}/include"; + IPP_CRYPTO_LIB = "${ipp-crypto}/lib/" + + buildPhase = '' + make ippcrypto + ''; + + installPhase = '' + mkdir --parents $out/lib + cp mbedtls_provider.so $out/lib + ''; +} 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 32df65fc..1b3b761e 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 @@ -173,14 +173,11 @@ mbedtls.o: mbedtls.c # Intel Performance Primitives crypto shim ippcp: ippcp_provider.so -lib_ippcp.so: - cp $(PROJECT_ROOT_PATH)/ext/ipp-crypto/build/.build/RELEASE/lib/libippcp.so lib_ippcp.so - -ippcp_provider.so: ippcp.o c_utils.o | lib_timing.so lib_csignals.so lib_ippcp.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_ippcp.so -l:lib_timing.so -l:lib_csignals.so +ippcp_provider.so: ippcp.o c_utils.o | lib_timing.so lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L$(IPP_CRYPTO_LIB) -Wl,-Bstatic -l:libippcp.a -L. -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so ippcp.o: ippcp.c - $(CC) -I$(PROJECT_ROOT_PATH)/ext/ipp-crypto/build/.build/RELEASE/include/ $(CFLAGS) -c $< + $(CC) -I$(IPP_CRYPTO_HEADER) $(CFLAGS) -c $< # Nettle shim From 50c9d5b3b7c9bbf3273ba588c5ff9ce1dee2db1a Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 10:33:15 +0200 Subject: [PATCH 018/131] Clear deprecated build targets --- .../cz/crcs/ectester/standalone/libs/jni/Makefile | 15 --------------- 1 file changed, 15 deletions(-) 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 1b3b761e..e4a0b26d 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 @@ -96,9 +96,6 @@ openssl.o: openssl.c # BoringSSL shim boringssl: boringssl_provider.so -# lib_boringssl.so: -# cp $(PROJECT_ROOT_PATH)/ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so - boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_csignals.so NIX_CFLAGS_COMPILE= $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -l:lib_boringssl.a -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so @@ -153,15 +150,6 @@ cryptopp.o: cryptopp.cpp # mbedTLS shim mbedtls: mbedtls_provider.so -# lib_mbedtls.so: -# cp $(PROJECT_ROOT_PATH)/ext/mbedtls/build/library/libmbedcrypto.so lib_mbedtls.so - -# mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so lib_mbedtls.so -# $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_mbedtls.so -l:lib_timing.so -l:lib_csignals.so - -# mbedtls.o: mbedtls.c -# $(CC) -I$(PROJECT_ROOT_PATH)/ext/mbedtls/build/include/ $(CFLAGS) -c $< - mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -lmbedcrypto -l:lib_timing.so -l:lib_csignals.so @@ -193,9 +181,6 @@ nettle.o: nettle.c # LibreSSL shim libressl: libressl_provider.so -# lib_libressl.so: -# cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so - libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so NIX_CFLAGS_COMPILE= $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libresslcrypto) -l:lib_timing.so -l:lib_csignals.so From 4bb7652c58962fe0e97c7941003f5468c0ba0673 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 10:49:56 +0200 Subject: [PATCH 019/131] Clean up old build instructions --- flake.nix | 90 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 88 deletions(-) diff --git a/flake.nix b/flake.nix index 7a8256bb..8485e173 100644 --- a/flake.nix +++ b/flake.nix @@ -312,94 +312,8 @@ ]; BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; - # CFLAGS = with pkgs; [ - # patched_boringssl.dev - # ]; - - # NOTE: Mixing postVenvCreation aznd shellHook results in only shellHook being called - # shellHook = '' - # source ${venvDir}/bin/activate - # export PATH=$PATH:$HOME/projects/ts-spect-compiler/build/src/apps; - # export TS_REPO_ROOT=`pwd`; - # ''; - - # NIX_CFLAGS_COMPILE=""; - - buildBoringSSL = '' - mkdir --parents build - pushd build - cmake -GNinja -DBUILD_SHARED_LIBS=1 .. - ninja - popd - ''; - - buildLibreSSL = '' - ./autogen.sh - mkdir --parents build - pushd build - cmake -GNinja -DBUILD_SHARED_LIBS=1 .. - ninja - popd - ''; - - # TODO OpenJDK 64-Bit Server VM warning: You have loaded library - # /home/qup/.local/share/ECTesterStandalone/lib/lib_ippcp.so which - # might have disabled stack guard. The VM will try to fix the stack - # guard now. It's highly recommended that you fix the library with - # 'execstack -c ', or link it with '-z noexecstack'. - buildIppCrypto = '' - CC=clang CXX=clang++ cmake CMakeLists.txt -GNinja -Bbuild -DARCH=intel64 # Does not work with GCC 12+ - mkdir --parents build - pushd build - ninja - popd - ''; - - buildMbedTLS = '' - python -m venv virt - . virt/bin/activate - pip install -r scripts/basic.requirements.txt - cmake -GNinja -Bbuild -DUSE_SHARED_MBEDTLS_LIBRARY=On - cd build - ninja - ''; - - wolfCrypt-JNI = '' - mkdir junit - wget -P junit/ https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar - wget -P junit/ https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar - make -f makefile.linux - env JUNIT_HOME=junit/ ant build-jce-release - ''; - - # TODO add LD_LIB properly - # shellHook = '' - # export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HOME/projects/ts-spect-compiler/build/src/cosim - # NIX_CFLAGS_COMPILE= - # ''; - - # pushd ext/wolfcrypt-jni - # ${wolfCrypt-JNI} - # popd - - # pushd ext/mbedtls - # ${buildMbedTLS} - # popd - # ''; - # git submodule update --init --recursive - - # pushd ext/boringssl - # ${buildBoringSSL} - # popd - - # pushd ext/ipp-crypto - # ${buildIppCrypto} - # popd - - # pushd ext/libressl - # ${buildLibreSSL} - # popd - # ''; + + IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; IPP_CRYPTO_LIB = "${customPkgs.ipp-crypto}/lib/"; From 40dde8f2c1297f8bb85ddf34f9e278af9d8b3904 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 10:53:56 +0200 Subject: [PATCH 020/131] Fix IPPCP ECLib requirements --- .../main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java index 115fe00e..1b0047e4 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java @@ -9,7 +9,7 @@ public class IppcpLib extends NativeECLibrary { public IppcpLib() { - super("IPPCP", "ippcp_provider", "lib_ippcp.so"); + super("IPPCP", "ippcp_provider"); } @Override From bddeacb5fa82b3d066230f08f706266b9e3d7674 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 18:26:48 +0200 Subject: [PATCH 021/131] Don't use newer version of WolfCrypt --- flake.lock | 8 ++++---- flake.nix | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index b2ef9c5b..bb646a90 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,16 @@ "nodes": { "custom-nixpkgs": { "locked": { - "lastModified": 1721657519, - "narHash": "sha256-GX9DU5wHfUsUlBNX5WZzLLj1SbawinMDPMCfwKuOKlU=", + "lastModified": 1721747370, + "narHash": "sha256-H+T7mrJ6JdnFLecs7xXwvuEM4aSUgUOc5uSvjbXoSOQ=", "owner": "quapka", "repo": "nixpkgs", - "rev": "951e69f7ca8f1ade27297bac8e5dc6e292d9be3b", + "rev": "ab32dd2547891356585d1cdb2f03f7070b1d1f89", "type": "github" }, "original": { "owner": "quapka", - "ref": "add-ipp-crypto", + "ref": "customPkgs", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 8485e173..f0338b76 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; - custom-nixpkgs.url = "github:quapka/nixpkgs/add-ipp-crypto"; # custom for of nixpkgs with ipp-crypto packaged + custom-nixpkgs.url = "github:quapka/nixpkgs/customPkgs"; # custom for of nixpkgs with ipp-crypto packaged # FIXME how to add submodule declaratively? # submodule = { # url = ./ @@ -15,6 +15,14 @@ outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let + wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: { + src = pkgs.fetchFromGitHub { + owner = "wolfSSL"; + repo = "wolfcrypt-jni"; + rev = "0497ee767c994775beda2f2091009593961e5c7e"; + hash = "sha256-mtUXUyIKJ617WzAWjlOaMscWM7zuGBISVMEAbmQNBOg="; + }; + }); patched_boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; @@ -124,6 +132,7 @@ cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${patched_boringssl.out}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${mbedtlsShim.out}/lib/mbedtls_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${wolfcryptjni}/lib/* standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd @@ -200,9 +209,11 @@ gmp libgpg-error libconfig + wolfcryptjni ]; BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; # FIXME more things to copy here installPhase = '' @@ -309,9 +320,11 @@ gmp libgpg-error libconfig + wolfcryptjni ]; BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; From 1d108189cf1e018e7ad43d591fed0ee95b2cf5bf Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 23 Jul 2024 18:28:42 +0200 Subject: [PATCH 022/131] Clean unnecessary WolfCrypt build instructions --- standalone/build.gradle.kts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/standalone/build.gradle.kts b/standalone/build.gradle.kts index 5ad3fb4e..9a15e480 100644 --- a/standalone/build.gradle.kts +++ b/standalone/build.gradle.kts @@ -10,12 +10,8 @@ repositories { } dependencies { - // Fallback to bundled wolfcrypt-jni if the submodule one is not built. - if (file("$rootDir/ext/wolfcrypt-jni/lib/wolfcrypt-jni.jar").exists()) { - implementation(files("$rootDir/ext/wolfcrypt-jni/lib/wolfcrypt-jni.jar")) - } else { - implementation(files("$rootDir/ext/wolfcrypt-jni.jar")) - } + val wolfcryptLibPath = System.getenv("WOLFCRYPT_LIB_PATH") + "/wolfcrypt-jni.jar"; + implementation(files(wolfcryptLibPath)) implementation(project(":common")) testImplementation(platform("org.junit:junit-bom:5.10.2")) @@ -51,10 +47,6 @@ tasks.named("test") { jvmArgs("--add-exports", "java.base/sun.security.ec=ALL-UNNAMED") } - // Add wolfcrypt JNI lib path to LD_LIBRARY_PATH (as our native library loading does not handle it) - environment( - "LD_LIBRARY_PATH", "$rootDir/ext/wolfcrypt-jni/lib/:" + System.getenv("LD_LIBRARY_PATH") - ) // Add a path where we will store our test results. environment( "RESULT_PATH", resultsDir.absolutePath From ccdd0a2b894abc2aad1e777643813d20956e0fe3 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 24 Jul 2024 16:02:19 +0200 Subject: [PATCH 023/131] Unify patching OpenSSL for all Flake outputs --- flake.nix | 47 ++++++++----------- .../ectester/standalone/libs/OpensslLib.java | 2 +- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/flake.nix b/flake.nix index f0338b76..93d87ed5 100644 --- a/flake.nix +++ b/flake.nix @@ -46,10 +46,17 @@ mv crypto/libcrypto.a $out/lib/lib_boringssl.a popd ''; - }); - - + # FIXME: `nix develeop` now has different version than `nix run` + openssl = { version ? "", hash ? "" }: (pkgs.openssl.override { static = true; }).overrideAttrs (final: prev: rec { + pname = "openssl"; + src = if version != "" then pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + hash = hash; + } else prev.src; + # FIXME Removing patches might cause unwanted things; this should be version based! + patches = []; + }); libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; @@ -99,23 +106,7 @@ }; buildECTesterStandalone = { opensslVersion, opensslHash }: ( let - patched_openssl = pkgs.openssl.overrideAttrs (_old: rec { - version = opensslVersion; - pname = "openssl"; - src = pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - hash = opensslHash; - }; - # FIXME Removing patches might cause unwanted things. - patches = []; - }); - - # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; - # libressl = pkgs.libressl.overrideAttrs (_old: { - # fixupPhase = '' - # cp ${devLibPath}/openssl.pc ${devLibPath}/libressl.pc - # ''; - # }); + opensslx = (openssl { version = opensslVersion; hash = opensslHash; }); in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -146,7 +137,7 @@ pkg-config global-platform-pro gradle - # patched_openssl + opensslx makeWrapper # libraries to test @@ -189,7 +180,7 @@ buildInputs = [ jdk17_headless # libressl - # patched_openssl + opensslx ]; LD_LIBRARY_PATH = lib.makeLibraryPath [ @@ -201,8 +192,7 @@ botan2 cryptopp libgcrypt - patched_openssl - libressl + opensslx patched_boringssl ninja nettle @@ -219,9 +209,9 @@ installPhase = '' mkdir -p $out cp -r standalone/build $out - echo ${opensslVersion} > $out/build/opensslVersion + ls ${opensslx}/lib/* > $out/po ''; - + postFixup = '' makeWrapper \ ${jdk17_headless}/bin/java $out/bin/${pname} \ @@ -269,7 +259,7 @@ global-platform-pro gradle # libraries to test - openssl + (openssl {}) libressl # glibc patched_boringssl @@ -313,7 +303,8 @@ libtomcrypt botan2 cryptopp - openssl + # (openssl {}) + (openssl {}) patched_boringssl libgcrypt nettle diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/OpensslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/OpensslLib.java index 61f00a4e..23d7ac19 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/OpensslLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/OpensslLib.java @@ -8,7 +8,7 @@ */ public class OpensslLib extends NativeECLibrary { public OpensslLib() { - super("OpenSSL", "openssl_provider", "crypto"); + super("OpenSSL", "openssl_provider"); } @Override From a899f7d5eb46d56ca7c5d79767cf5e12baec17e0 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 24 Jul 2024 16:51:35 +0200 Subject: [PATCH 024/131] Link GNU Crypto library statically --- flake.nix | 13 ++++++++++++- .../cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 93d87ed5..33563a63 100644 --- a/flake.nix +++ b/flake.nix @@ -57,6 +57,12 @@ # FIXME Removing patches might cause unwanted things; this should be version based! patches = []; }); + libgcrypt = pkgs.libgcrypt.overrideAttrs (final: prev: { + configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; + }); + libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { + configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; + }); libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; @@ -115,7 +121,8 @@ # gradleInstallFlags = [ "installDist" ]; # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" lockFile = ./gradle.lock; - gradleBuildFlags = [ ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + # FIXME all libs need to be built, but combining Gradle build all-libs and dedicated shim derivations won't work + gradleBuildFlags = [ "libs" "-PlibName=gcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" src = ./.; preConfigure = '' @@ -163,6 +170,7 @@ clang libgcrypt + libgpg-error mbedtls nasm libtool @@ -192,6 +200,7 @@ botan2 cryptopp libgcrypt + libgpg-error opensslx patched_boringssl ninja @@ -281,6 +290,7 @@ # clang libgcrypt + libgpg-error mbedtls nasm libtool @@ -307,6 +317,7 @@ (openssl {}) patched_boringssl libgcrypt + libgpg-error nettle gmp libgpg-error 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 e4a0b26d..ec72744d 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 @@ -107,7 +107,7 @@ boringssl.o: boringssl.c gcrypt: gcrypt_provider.so gcrypt_provider.so: gcrypt.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -pthread -lpthread $(shell libgcrypt-config --libs) -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -pthread -lpthread -Wl,-Bstatic $(shell libgcrypt-config --libs) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so gcrypt.o: gcrypt.c $(CC) $(shell libgcrypt-config --cflags) $(CFLAGS) -c $< From eed2fbf135dace7d911aa042e3d79fa27cbe3d52 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 24 Jul 2024 16:54:16 +0200 Subject: [PATCH 025/131] Build OpenSSL statically --- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ec72744d..3acff8bf 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 @@ -87,7 +87,7 @@ cpp_utils.o: cpp_utils.cpp openssl: openssl_provider.so openssl_provider.so: openssl.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs openssl) -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -Wl,-Bstatic $(shell pkg-config --libs libcrypto) -lcrypto -L. -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so openssl.o: openssl.c $(CC) $(shell pkg-config --cflags openssl) $(CFLAGS) -c $< From d798fffc674fe8d84c26f14ce935611f8afefb6c Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 24 Jul 2024 17:13:07 +0200 Subject: [PATCH 026/131] Linked tomcrypt statically --- flake.nix | 5 ++++- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 33563a63..27a0927e 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,9 @@ libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); + libtomcrypt = pkgs.libtomcrypt.overrideAttrs (final: prev: { + makefile = "makefile"; + }); libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; @@ -122,7 +125,7 @@ # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" lockFile = ./gradle.lock; # FIXME all libs need to be built, but combining Gradle build all-libs and dedicated shim derivations won't work - gradleBuildFlags = [ "libs" "-PlibName=gcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + gradleBuildFlags = [ "libs" "-PlibName=tomcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" src = ./.; preConfigure = '' 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 3acff8bf..aee0a5ec 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 @@ -117,7 +117,7 @@ gcrypt.o: gcrypt.c tomcrypt: tomcrypt_provider.so tomcrypt_provider.so: tomcrypt.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -ltommath $(shell pkg-config --libs libtomcrypt) -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -ltommath -Wl,-Bstatic $(shell pkg-config --libs libtomcrypt) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so tomcrypt.o: tomcrypt.c $(CC) -DLTM_DESC $(shell pkg-config --cflags libtomcrypt) $(CFLAGS) -c $< From 282704b9ee92d33b67292700cb265deffc052ad6 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 24 Jul 2024 17:17:48 +0200 Subject: [PATCH 027/131] Link Botan statically --- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 aee0a5ec..f3d95c09 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 @@ -127,7 +127,7 @@ tomcrypt.o: tomcrypt.c botan: botan_provider.so botan_provider.so: botan.o cpp_utils.o | lib_timing.so lib_cppsignals.so - $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs botan-2) -l:lib_timing.so -l:lib_cppsignals.so + $(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 botan.o: botan.cpp $(CXX) $(shell pkg-config --cflags botan-2) $(CXXFLAGS) -c $< From 98e95fbfe9b3b1dc889cd227a1b700ff0a61e136 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 10:09:32 +0200 Subject: [PATCH 028/131] Static linking does not require loading botan-2 --- flake.nix | 2 +- .../main/java/cz/crcs/ectester/standalone/libs/BotanLib.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 27a0927e..0f8c3f60 100644 --- a/flake.nix +++ b/flake.nix @@ -64,7 +64,7 @@ configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); libtomcrypt = pkgs.libtomcrypt.overrideAttrs (final: prev: { - makefile = "makefile"; + makefile = "makefile.unix"; }); libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BotanLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BotanLib.java index e8f6e13c..3ed27f22 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BotanLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BotanLib.java @@ -9,7 +9,7 @@ public class BotanLib extends NativeECLibrary { public BotanLib() { - super("Botan", "botan_provider", "botan-2"); + super("Botan", "botan_provider"); } @Override From c7300fb4a772b0d2364b0fff20f9676fdb79ac9b Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 10:11:36 +0200 Subject: [PATCH 029/131] Link Crypto++ statically --- flake.nix | 1 + .../main/java/cz/crcs/ectester/standalone/libs/CryptoppLib.java | 2 +- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 0f8c3f60..7265e2f9 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,7 @@ libtomcrypt = pkgs.libtomcrypt.overrideAttrs (final: prev: { makefile = "makefile.unix"; }); + cryptopp = pkgs.cryptopp.override { enableStatic = true; }; libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/CryptoppLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/CryptoppLib.java index 66aa9ea8..6e001e2e 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/CryptoppLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/CryptoppLib.java @@ -9,7 +9,7 @@ public class CryptoppLib extends NativeECLibrary { public CryptoppLib() { - super("Crypto++","cryptopp_provider", "cryptopp"); + super("Crypto++","cryptopp_provider"); } @Override 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 f3d95c09..fa9e3ed8 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,7 +141,7 @@ endif cryptopp: cryptopp_provider.so cryptopp_provider.so: cryptopp.o cpp_utils.o | lib_timing.so lib_cppsignals.so - $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs $(CRYPTOPP_NAME)) -l:lib_timing.so -l:lib_cppsignals.so + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs $(CRYPTOPP_NAME)) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so cryptopp.o: cryptopp.cpp $(CXX) $(shell pkg-config --cflags $(CRYPTOPP_NAME)) $(CXXFLAGS) -c $< From f3ce8a2f3d2b4a08ccf7c06f063244d372ce9160 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 10:20:01 +0200 Subject: [PATCH 030/131] Link Nettle statically --- flake.nix | 3 +++ .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 7265e2f9..4cba1fd5 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,9 @@ libtomcrypt = pkgs.libtomcrypt.overrideAttrs (final: prev: { makefile = "makefile.unix"; }); + nettle = pkgs.nettle.overrideAttrs (final: prev: { + configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; + }); cryptopp = pkgs.cryptopp.override { enableStatic = true; }; libressl = pkgs.libressl.overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; 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 fa9e3ed8..845915cd 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 @@ -172,7 +172,7 @@ ippcp.o: ippcp.c nettle: nettle_provider.so nettle_provider.so: nettle.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs nettle) -l:lib_timing.so -l:lib_csignals.so $(shell pkg-config --libs hogweed) -lgmp + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs nettle) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so $(shell pkg-config --libs hogweed) -lgmp nettle.o: nettle.c $(CC) $(shell pkg-config --cflags nettle) $(shell pkg-config --libs hogweed) -lgmp $(CFLAGS) -c $< From 20633c4bd5dbbfdebace4998d2d13f43e7122915 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 10:22:33 +0200 Subject: [PATCH 031/131] Link Mbedtls statically --- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 845915cd..3d3eecd5 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 @@ -151,7 +151,7 @@ cryptopp.o: cryptopp.cpp mbedtls: mbedtls_provider.so mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -lmbedcrypto -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -lmbedcrypto -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so mbedtls.o: mbedtls.c $(CC) $(CFLAGS) -c $< From 36bb4958a2b304ec7383f8cfcdaa37f49e8c1b3b Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 10:46:43 +0200 Subject: [PATCH 032/131] Link LibreSSL statically --- flake.nix | 8 ++++---- .../cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 4cba1fd5..b9306308 100644 --- a/flake.nix +++ b/flake.nix @@ -70,7 +70,7 @@ configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); cryptopp = pkgs.cryptopp.override { enableStatic = true; }; - libressl = pkgs.libressl.overrideAttrs (_old: rec { + libressl = (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (_old: rec { # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; # pname = "libressl"; # version = "3.9.2"; @@ -101,6 +101,7 @@ cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so + ln -s $out/lib/libcrypto.a $out/lib/libresslcrypto.a '' ]; @@ -155,10 +156,8 @@ makeWrapper # libraries to test - # openssl_3013 - # boringssl - libressl patched_boringssl + # libressl libtomcrypt libtommath botan2 @@ -209,6 +208,7 @@ libgcrypt libgpg-error opensslx + # libressl patched_boringssl ninja nettle 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 3d3eecd5..8ea1f8d1 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 @@ -182,7 +182,7 @@ nettle.o: nettle.c libressl: libressl_provider.so libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so - NIX_CFLAGS_COMPILE= $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libresslcrypto) -l:lib_timing.so -l:lib_csignals.so + NIX_CFLAGS_COMPILE= $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs libresslcrypto) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so libressl.o: libressl.c NIX_CFLAGS_COMPILE= $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< From d4ffadb99305eed9fca8154687db4fee678115a3 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:15:21 +0200 Subject: [PATCH 033/131] Derive common libs with Nix --- flake.nix | 9 ++++++--- nix/commonlibs.nix | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 nix/commonlibs.nix diff --git a/flake.nix b/flake.nix index b9306308..e7adaa9d 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let + commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: { src = pkgs.fetchFromGitHub { owner = "wolfSSL"; @@ -133,6 +134,8 @@ gradleBuildFlags = [ "libs" "-PlibName=tomcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" src = ./.; + jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; + preConfigure = '' cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ @@ -142,6 +145,7 @@ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd + cp ${commonLibs}/lib/* ${jniLibsPath} ''; nativeBuildInputs = [ @@ -195,12 +199,10 @@ jdk17_headless # libressl opensslx + commonLibs ]; LD_LIBRARY_PATH = lib.makeLibraryPath [ - # libresslShim - boringsslShim - libtommath libtomcrypt botan2 @@ -216,6 +218,7 @@ libgpg-error libconfig wolfcryptjni + commonLibs ]; BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; diff --git a/nix/commonlibs.nix b/nix/commonlibs.nix new file mode 100644 index 00000000..525d4aaa --- /dev/null +++ b/nix/commonlibs.nix @@ -0,0 +1,27 @@ +{ + pkgs +}: +with pkgs; stdenv.mkDerivation rec { + name = "Common Libraries"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + pkg-config + cmake + which + jdk17_headless + ]; + + dontUseCmakeConfigure = true; + + libs = "lib_cppsignals.so lib_csignals.so lib_timing.so"; + + buildPhase = '' + make ${libs} + ''; + + installPhase = '' + mkdir --parents $out/lib + cp ${libs} $out/lib + ''; +} From 2c484515b9f2d9584e4954ca06ffe6c173db0a7b Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:20:31 +0200 Subject: [PATCH 034/131] Build Botan shim through Nix --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index e7adaa9d..bd93f5e8 100644 --- a/flake.nix +++ b/flake.nix @@ -109,6 +109,7 @@ }); libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; boringsslShim = import ./nix/boringsslshim.nix { pkgs = pkgs; boringssl = patched_boringssl; }; + botanShim = import ./nix/botanshim.nix { inherit pkgs; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -145,6 +146,7 @@ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd + cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; From b29f697ad640653c976f9f25c97358aa96a509a9 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:22:14 +0200 Subject: [PATCH 035/131] Link TomCrypt statically and build the shim with Nix --- flake.nix | 13 ++++++++++++- .../crcs/ectester/standalone/libs/TomcryptLib.java | 2 +- .../cz/crcs/ectester/standalone/libs/jni/Makefile | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index bd93f5e8..c841ce49 100644 --- a/flake.nix +++ b/flake.nix @@ -64,9 +64,17 @@ libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); - libtomcrypt = pkgs.libtomcrypt.overrideAttrs (final: prev: { + libtomcrypt = (pkgs.libtomcrypt.override { libtommath = libtommath; }).overrideAttrs (final: prev: { makefile = "makefile.unix"; }); + libtommath = pkgs.libtommath.overrideAttrs (final: prev: rec { + makefile = "makefile.unix"; + version = "1.3.0"; + src = pkgs.fetchurl { + url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; + sha256 = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + }; + }); nettle = pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); @@ -109,6 +117,8 @@ }); libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; boringsslShim = import ./nix/boringsslshim.nix { pkgs = pkgs; boringssl = patched_boringssl; }; + # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl + tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -146,6 +156,7 @@ pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ make lib_timing.so lib_csignals.so lib_cppsignals.so popd + cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/TomcryptLib.java index 8c000a2c..93399869 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/TomcryptLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -9,7 +9,7 @@ public class TomcryptLib extends NativeECLibrary { public TomcryptLib() { - super("tomcrypt","tomcrypt_provider", "tommath", "tomcrypt"); + super("tomcrypt","tomcrypt_provider"); } @Override 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 8ea1f8d1..1e989569 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 @@ -117,7 +117,7 @@ gcrypt.o: gcrypt.c tomcrypt: tomcrypt_provider.so tomcrypt_provider.so: tomcrypt.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -ltommath -Wl,-Bstatic $(shell pkg-config --libs libtomcrypt) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs libtomcrypt libtommath) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so tomcrypt.o: tomcrypt.c $(CC) -DLTM_DESC $(shell pkg-config --cflags libtomcrypt) $(CFLAGS) -c $< From f251b602bf597ad42d061dd0501baae8634a830a Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:25:36 +0200 Subject: [PATCH 036/131] Add missing Nix derivation for Botan shim --- nix/botanshim.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 nix/botanshim.nix diff --git a/nix/botanshim.nix b/nix/botanshim.nix new file mode 100644 index 00000000..f6de7232 --- /dev/null +++ b/nix/botanshim.nix @@ -0,0 +1,22 @@ +{ + pkgs +}: +with pkgs; stdenv.mkDerivation { + name = "BotanShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + botan2 + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make botan + ''; + + installPhase = '' + mkdir --parents $out/lib + cp botan_provider.so $out/lib/ + ''; +} From 943c182453bb22e7bd704dfe8ac9414286d06690 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:31:20 +0200 Subject: [PATCH 037/131] Add missing Nix derivation for TomCrypt shim --- nix/tomcryptshim.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 nix/tomcryptshim.nix diff --git a/nix/tomcryptshim.nix b/nix/tomcryptshim.nix new file mode 100644 index 00000000..64e22b4c --- /dev/null +++ b/nix/tomcryptshim.nix @@ -0,0 +1,25 @@ +{ + pkgs + , libtomcrypt + , libtommath +}: +with pkgs; stdenv.mkDerivation { + name = "TomCryptShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + libtommath + libtomcrypt + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make tomcrypt + ''; + + installPhase = '' + mkdir --parents $out/lib + cp tomcrypt_provider.so $out/lib + ''; +} From c625e03c43a3089c42ec34ba272f25dff0733611 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 14:42:53 +0200 Subject: [PATCH 038/131] Build Crypto++ shim through Nix --- flake.nix | 2 ++ nix/cryptoppshim.nix | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 nix/cryptoppshim.nix diff --git a/flake.nix b/flake.nix index c841ce49..44fe3f6d 100644 --- a/flake.nix +++ b/flake.nix @@ -120,6 +120,7 @@ # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; + cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -158,6 +159,7 @@ popd cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} + cp ${cryptoppShim.out}/lib/cryptopp_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; diff --git a/nix/cryptoppshim.nix b/nix/cryptoppshim.nix new file mode 100644 index 00000000..1c3532c5 --- /dev/null +++ b/nix/cryptoppshim.nix @@ -0,0 +1,23 @@ +{ + pkgs + , cryptopp +}: +with pkgs; stdenv.mkDerivation { + name = "Crypto++ Shim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + cryptopp + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make cryptopp + ''; + + installPhase = '' + mkdir --parents $out/lib + cp cryptopp_provider.so $out/lib/ + ''; +} From c36381570b1e4e2f0e16a95d0ccd7b69a6780b92 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 15:12:34 +0200 Subject: [PATCH 039/131] Build OpenSSL shim through Nix --- flake.nix | 8 +++----- nix/opensslshim.nix | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 nix/opensslshim.nix diff --git a/flake.nix b/flake.nix index 44fe3f6d..3444be5c 100644 --- a/flake.nix +++ b/flake.nix @@ -121,6 +121,7 @@ tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; + opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (openssl { version = version; hash = hash;}); }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -133,7 +134,7 @@ }; buildECTesterStandalone = { opensslVersion, opensslHash }: ( let - opensslx = (openssl { version = opensslVersion; hash = opensslHash; }); + opensslShim = (opensslShimBuilder { version = opensslVersion; hash = opensslHash; }); in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -160,6 +161,7 @@ cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} cp ${cryptoppShim.out}/lib/cryptopp_provider.so ${jniLibsPath} + cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; @@ -171,7 +173,6 @@ pkg-config global-platform-pro gradle - opensslx makeWrapper # libraries to test @@ -213,7 +214,6 @@ buildInputs = [ jdk17_headless # libressl - opensslx commonLibs ]; @@ -224,7 +224,6 @@ cryptopp libgcrypt libgpg-error - opensslx # libressl patched_boringssl ninja @@ -243,7 +242,6 @@ installPhase = '' mkdir -p $out cp -r standalone/build $out - ls ${opensslx}/lib/* > $out/po ''; postFixup = '' diff --git a/nix/opensslshim.nix b/nix/opensslshim.nix new file mode 100644 index 00000000..6260b71e --- /dev/null +++ b/nix/opensslshim.nix @@ -0,0 +1,23 @@ +{ + pkgs + , openssl +}: +with pkgs; stdenv.mkDerivation { + name = "OpenSSL Shim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + openssl + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make openssl + ''; + + installPhase = '' + mkdir --parents $out/lib + cp openssl_provider.so $out/lib/ + ''; +} From 7600a40601b9ab9d417b240188316b1c0e299e8b Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 15:19:51 +0200 Subject: [PATCH 040/131] Clean up Nix build of BoringSSL shim --- flake.nix | 16 +++++----------- nix/boringsslshim.nix | 3 --- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/flake.nix b/flake.nix index 3444be5c..2b7cd8dc 100644 --- a/flake.nix +++ b/flake.nix @@ -116,12 +116,12 @@ }); libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; - boringsslShim = import ./nix/boringsslshim.nix { pkgs = pkgs; boringssl = patched_boringssl; }; # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (openssl { version = version; hash = hash;}); }; + boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = patched_boringssl; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -150,18 +150,12 @@ jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; preConfigure = '' - cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - cp ${patched_boringssl.out}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - cp ${mbedtlsShim.out}/lib/mbedtls_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - cp ${wolfcryptjni}/lib/* standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - make lib_timing.so lib_csignals.so lib_cppsignals.so - popd cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} cp ${cryptoppShim.out}/lib/cryptopp_provider.so ${jniLibsPath} cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} + cp ${boringsslShim.out}/lib/boringssl_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; @@ -176,7 +170,7 @@ makeWrapper # libraries to test - patched_boringssl + # patched_boringssl # libressl libtomcrypt libtommath @@ -225,7 +219,7 @@ libgcrypt libgpg-error # libressl - patched_boringssl + # patched_boringssl ninja nettle gmp @@ -235,7 +229,7 @@ commonLibs ]; - BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + # BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; # FIXME more things to copy here diff --git a/nix/boringsslshim.nix b/nix/boringsslshim.nix index 1ed63d33..39693812 100644 --- a/nix/boringsslshim.nix +++ b/nix/boringsslshim.nix @@ -17,9 +17,6 @@ with pkgs; stdenv.mkDerivation { ''; BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; - # LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ - # boringssl - # ]; installPhase = '' mkdir --parents $out/lib From 07bce9657c2975f11baaed7f920ccd7592c7efbd Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 15:23:51 +0200 Subject: [PATCH 041/131] Build Gcrypt shim through Nix --- flake.nix | 3 ++- nix/gcryptshim.nix | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 nix/gcryptshim.nix diff --git a/flake.nix b/flake.nix index 2b7cd8dc..e423566b 100644 --- a/flake.nix +++ b/flake.nix @@ -122,6 +122,7 @@ cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (openssl { version = version; hash = hash;}); }; boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = patched_boringssl; }; + gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; @@ -150,12 +151,12 @@ jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; preConfigure = '' - cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} cp ${cryptoppShim.out}/lib/cryptopp_provider.so ${jniLibsPath} cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} cp ${boringsslShim.out}/lib/boringssl_provider.so ${jniLibsPath} + cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; diff --git a/nix/gcryptshim.nix b/nix/gcryptshim.nix new file mode 100644 index 00000000..bfe027b2 --- /dev/null +++ b/nix/gcryptshim.nix @@ -0,0 +1,25 @@ +{ + pkgs + , libgcrypt + , libgpg-error +}: +with pkgs; stdenv.mkDerivation { + name = "Gcrypt Shim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + libgcrypt + libgpg-error + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make gcrypt + ''; + + installPhase = '' + mkdir --parents $out/lib + cp gcrypt_provider.so $out/lib/ + ''; +} From aa36d350ddc4545bf777d7ee1740137c868ea498 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 15:27:38 +0200 Subject: [PATCH 042/131] Remove runtime lib deps unnecessary due to static linking --- flake.nix | 5 ----- .../java/cz/crcs/ectester/standalone/libs/GcryptLib.java | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index e423566b..d13f7074 100644 --- a/flake.nix +++ b/flake.nix @@ -190,8 +190,6 @@ libb64 clang - libgcrypt - libgpg-error mbedtls nasm libtool @@ -217,14 +215,11 @@ libtomcrypt botan2 cryptopp - libgcrypt - libgpg-error # libressl # patched_boringssl ninja nettle gmp - libgpg-error libconfig wolfcryptjni commonLibs diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java index 83d78efd..7dffb3f8 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java @@ -9,7 +9,7 @@ public class GcryptLib extends NativeECLibrary { public GcryptLib() { - super("libgcrypt","gcrypt_provider", "gcrypt", "gpg-error"); + super("libgcrypt","gcrypt_provider"); } @Override From dd5e280b30bf0330f7723c8a2aea397b3a7758d2 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 15:30:42 +0200 Subject: [PATCH 043/131] Clean up Nix build of MbedTLS shim --- flake.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d13f7074..3ea66cfb 100644 --- a/flake.nix +++ b/flake.nix @@ -157,6 +157,9 @@ cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} cp ${boringsslShim.out}/lib/boringssl_provider.so ${jniLibsPath} cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} + cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} + cp ${mbedtlsShim.out}/lib/mbedtls_provider.so ${jniLibsPath} + cp ${wolfcryptjni}/lib/* ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; @@ -190,7 +193,6 @@ libb64 clang - mbedtls nasm libtool perl From 86597bff993b1ff954f81347236d96691ee8e795 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 25 Jul 2024 21:13:18 +0200 Subject: [PATCH 044/131] Rename IPP Crypto shim --- flake.nix | 2 ++ nix/{ippcryptoshim.nix => ippcpshim.nix} | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) rename nix/{ippcryptoshim.nix => ippcpshim.nix} (79%) diff --git a/flake.nix b/flake.nix index 3ea66cfb..ae43bb1e 100644 --- a/flake.nix +++ b/flake.nix @@ -125,6 +125,7 @@ gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; + ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; overlays = []; pkgs = import nixpkgs { @@ -159,6 +160,7 @@ cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} cp ${mbedtlsShim.out}/lib/mbedtls_provider.so ${jniLibsPath} + cp ${ippcpShim.out}/lib/ippcp_provider.so ${jniLibsPath} cp ${wolfcryptjni}/lib/* ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; diff --git a/nix/ippcryptoshim.nix b/nix/ippcpshim.nix similarity index 79% rename from nix/ippcryptoshim.nix rename to nix/ippcpshim.nix index b8e06f1c..43ec4d69 100644 --- a/nix/ippcryptoshim.nix +++ b/nix/ippcpshim.nix @@ -13,14 +13,14 @@ ]; IPP_CRYPTO_HEADER = "${ipp-crypto.dev}/include"; - IPP_CRYPTO_LIB = "${ipp-crypto}/lib/" + IPP_CRYPTO_LIB = "${ipp-crypto}/lib/"; buildPhase = '' - make ippcrypto + make ippcp ''; installPhase = '' mkdir --parents $out/lib - cp mbedtls_provider.so $out/lib + cp ippcp_provider.so $out/lib ''; } From d75a844eee9a248d3abeb3ab80821fd4e3a02788 Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 26 Jul 2024 10:41:56 +0200 Subject: [PATCH 045/131] Remove redundant IPP Crypto shim --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index ae43bb1e..2c821ab3 100644 --- a/flake.nix +++ b/flake.nix @@ -124,7 +124,6 @@ boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = patched_boringssl; }; gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; - ippcryptoShim = import ./nix/ippcryptoshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; overlays = []; From 888bf25d03940d87960df8fc1be1076afbc723aa Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 26 Jul 2024 10:43:24 +0200 Subject: [PATCH 046/131] Keep consistent shims build ordering --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 2c821ab3..efcdac12 100644 --- a/flake.nix +++ b/flake.nix @@ -115,7 +115,6 @@ ]; }); - libresslShim = import ./nix/libresslshim.nix { pkgs = pkgs; libressl = libressl; }; # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; @@ -125,6 +124,7 @@ gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; + libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; overlays = []; pkgs = import nixpkgs { @@ -157,9 +157,9 @@ cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} cp ${boringsslShim.out}/lib/boringssl_provider.so ${jniLibsPath} cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} - cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} cp ${mbedtlsShim.out}/lib/mbedtls_provider.so ${jniLibsPath} cp ${ippcpShim.out}/lib/ippcp_provider.so ${jniLibsPath} + cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} cp ${wolfcryptjni}/lib/* ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} ''; From c44faa20a356c45bad7769b76f7111dd5dbeeb06 Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 26 Jul 2024 10:46:19 +0200 Subject: [PATCH 047/131] Clean up Nix Gradle build --- flake.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index efcdac12..59e9da3c 100644 --- a/flake.nix +++ b/flake.nix @@ -141,11 +141,10 @@ gradle2nix.builders.${system}.buildGradlePackage rec { pname = "ECTesterStandalone"; version = "0.3.3"; - # gradleInstallFlags = [ "installDist" ]; - # gradleBuildFlags = [ "standalone:uberJar" ]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" lockFile = ./gradle.lock; - # FIXME all libs need to be built, but combining Gradle build all-libs and dedicated shim derivations won't work - gradleBuildFlags = [ "libs" "-PlibName=tomcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache" + + # NOTE: the shims are built separately, therefore no need to call libs + gradleBuildFlags = [ ":standalone:uberJar"]; src = ./.; jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; From 11530dfa6766dfc26bef7dc9441c2af8bf1590a5 Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 26 Jul 2024 11:22:35 +0200 Subject: [PATCH 048/131] Build Nettle shim through Nix --- flake.nix | 2 ++ nix/nettleshim.nix | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 nix/nettleshim.nix diff --git a/flake.nix b/flake.nix index 59e9da3c..e48a4858 100644 --- a/flake.nix +++ b/flake.nix @@ -124,6 +124,7 @@ gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; + nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle; }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; overlays = []; @@ -158,6 +159,7 @@ cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} cp ${mbedtlsShim.out}/lib/mbedtls_provider.so ${jniLibsPath} cp ${ippcpShim.out}/lib/ippcp_provider.so ${jniLibsPath} + cp ${nettleShim.out}/lib/nettle_provider.so ${jniLibsPath} cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} cp ${wolfcryptjni}/lib/* ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} diff --git a/nix/nettleshim.nix b/nix/nettleshim.nix new file mode 100644 index 00000000..f00c4e47 --- /dev/null +++ b/nix/nettleshim.nix @@ -0,0 +1,23 @@ +{ + pkgs + , nettle +}: +with pkgs; stdenv.mkDerivation rec { + name = "NettleShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + nettle + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make nettle + ''; + + installPhase = '' + mkdir --parents $out/lib + cp nettle_provider.so $out/lib + ''; +} From 5660a09d092e5619fb309a8a6433a3d40f677a4b Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 29 Jul 2024 17:33:37 +0200 Subject: [PATCH 049/131] Expose static libtommath and libtomcrypt through pkg-config --- flake.nix | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index e48a4858..abbca897 100644 --- a/flake.nix +++ b/flake.nix @@ -64,16 +64,59 @@ libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); - libtomcrypt = (pkgs.libtomcrypt.override { libtommath = libtommath; }).overrideAttrs (final: prev: { - makefile = "makefile.unix"; + libtomcrypt = (pkgs.libtomcrypt.override { libtommath = libtommath; }).overrideAttrs (final: prev: rec { + makefile = "makefile"; + version = "1.18.2"; + src = pkgs.fetchurl { + url = "https://github.com/libtom/libtomcrypt/releases/download/v${version}/crypt-${version}.tar.xz"; + sha256 = "113vfrgapyv72lalhd3nkw7jnks8az0gcb5wqn9hj19nhcxlrbcn"; + }; + patches = ( prev.patches or [] ) ++ [ + ( pkgs.writeText "pkgconfig-for-static.patch" '' +diff --git a/makefile b/makefile +index cd94b86f..ffb65402 100644 +--- a/makefile ++++ b/makefile +@@ -79,6 +79,9 @@ $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo)))) + #as root in order to have a high enough permission to write to the correct + #directories and to set the owner and group to root. + install: $(call print-help,install,Installs the library and headers) .common_install ++ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' libtomcrypt.pc.in > libtomcrypt.pc ++ install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig ++ install -p -m 644 libtomcrypt.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ + + install_bins: $(call print-help,install_bins,Installs the useful demos ($(USEFUL_DEMOS))) .common_install_bins + + '') + ]; }); libtommath = pkgs.libtommath.overrideAttrs (final: prev: rec { - makefile = "makefile.unix"; + makefile = "makefile"; version = "1.3.0"; src = pkgs.fetchurl { url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; sha256 = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + patches = ( prev.patches or [] ) ++ + [ + ( pkgs.writeText "pkgconfig-for-static.patch" '' +diff --git a/makefile b/makefile +index bee51a1..b36a13a 100644 +--- a/makefile ++++ b/makefile +@@ -90,6 +90,10 @@ install: $(LIBNAME) + install -d $(DESTDIR)$(INCPATH) + install -m 644 $(LIBNAME) $(DESTDIR)$(LIBPATH) + install -m 644 $(HEADERS_PUB) $(DESTDIR)$(INCPATH) ++ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,@CMAKE_INSTALL_LIBDIR@,lib,' \ ++ -e 's,@CMAKE_INSTALL_INCLUDEDIR@,include,' libtommath.pc.in > libtommath.pc ++ install -d $(DESTDIR)$(LIBPATH)/pkgconfig ++ install -m 644 libtommath.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ + + uninstall: + rm $(DESTDIR)$(LIBPATH)/$(LIBNAME) + '') + ]; }); nettle = pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; From ebacdc272271eff51698500f190937a1cfa41a8a Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 29 Jul 2024 17:45:06 +0200 Subject: [PATCH 050/131] Don't use LTC_PTHREAD in TomCrypt --- flake.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/flake.nix b/flake.nix index abbca897..7d459e74 100644 --- a/flake.nix +++ b/flake.nix @@ -71,6 +71,13 @@ url = "https://github.com/libtom/libtomcrypt/releases/download/v${version}/crypt-${version}.tar.xz"; sha256 = "113vfrgapyv72lalhd3nkw7jnks8az0gcb5wqn9hj19nhcxlrbcn"; }; + preBuild = '' + makeFlagsArray+=(PREFIX=$out \ + CFLAGS="-DUSE_LTM -DLTM_DESC" \ + EXTRALIBS=\"-ltommath\" \ + INSTALL_GROUP=$(id -g) \ + INSTALL_USER=$(id -u)) + ''; patches = ( prev.patches or [] ) ++ [ ( pkgs.writeText "pkgconfig-for-static.patch" '' diff --git a/makefile b/makefile From 52bd3d1382cc1d7922ef3c83983004627e08d9da Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 29 Jul 2024 17:49:35 +0200 Subject: [PATCH 051/131] Explain libtommath and libtomcrypt patches --- flake.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 7d459e74..a15be19b 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,8 @@ INSTALL_USER=$(id -u)) ''; patches = ( prev.patches or [] ) ++ [ + # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # This patch copies the necessary code from `makefile.shared`. ( pkgs.writeText "pkgconfig-for-static.patch" '' diff --git a/makefile b/makefile index cd94b86f..ffb65402 100644 @@ -104,8 +106,9 @@ index cd94b86f..ffb65402 100644 url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; sha256 = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; - patches = ( prev.patches or [] ) ++ - [ + patches = ( prev.patches or [] ) ++ [ + # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # This patch copies the necessary code from `makefile.shared`. ( pkgs.writeText "pkgconfig-for-static.patch" '' diff --git a/makefile b/makefile index bee51a1..b36a13a 100644 From 095a210092b536fd70c10d5dd58c2668c4ce9331 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 29 Jul 2024 18:51:44 +0200 Subject: [PATCH 052/131] Link Nettle statically and build the shim with Nix --- flake.nix | 29 ++++++------------- nix/nettleshim.nix | 2 ++ .../ectester/standalone/libs/NettleLib.java | 2 +- .../ectester/standalone/libs/jni/Makefile | 5 ++-- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/flake.nix b/flake.nix index a15be19b..630cb8ad 100644 --- a/flake.nix +++ b/flake.nix @@ -133,21 +133,6 @@ index bee51a1..b36a13a 100644 }); cryptopp = pkgs.cryptopp.override { enableStatic = true; }; libressl = (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (_old: rec { - # devLibPath = pkgs.lib.makeLibraryPath [ pkgs.libressl.dev ]; - # pname = "libressl"; - # version = "3.9.2"; - # includes = [ "tests/tlstest.sh" ]; - # src = pkgs.fetchurl { - # url = "mirror://openbsd/LibreSSL/${pname}-${version}.tar.gz"; - # hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; - # }; - # nativeBuildInputs = _old.nativeBuildInputs ++ (with pkgs; [ - # pkg-config - # ]); - - # Patched according to the previous versions: - # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/libraries/libressl/default.nix#L118 - # For unknown reasons the newer versions are not patched this way (yet?) patches = [ (pkgs.fetchpatch { url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; @@ -157,7 +142,10 @@ index bee51a1..b36a13a 100644 ]; # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. - postFixup = pkgs.lib.concatLines [ + # This is not needed for building the individual shims through Nix, as libresslShim build env does not + # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple + # lib shims are built alongside each other. + postFixup = pkgs.lib.concatLines [ ( _old.postFixup or "" ) '' cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc @@ -168,6 +156,7 @@ index bee51a1..b36a13a 100644 ]; }); + gmp = pkgs.gmp.override { withStatic = true; }; # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; @@ -177,7 +166,7 @@ index bee51a1..b36a13a 100644 gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; - nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle; }; + nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle gmp; }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; overlays = []; @@ -255,7 +244,7 @@ index bee51a1..b36a13a 100644 wolfssl nettle - gmp + # gmp libgpg-error wget libconfig @@ -275,8 +264,8 @@ index bee51a1..b36a13a 100644 # libressl # patched_boringssl ninja - nettle - gmp + # nettle + # gmp libconfig wolfcryptjni commonLibs diff --git a/nix/nettleshim.nix b/nix/nettleshim.nix index f00c4e47..b431a2a8 100644 --- a/nix/nettleshim.nix +++ b/nix/nettleshim.nix @@ -1,6 +1,7 @@ { pkgs , nettle + , gmp }: with pkgs; stdenv.mkDerivation rec { name = "NettleShim"; @@ -8,6 +9,7 @@ with pkgs; stdenv.mkDerivation rec { buildInputs = [ nettle + gmp pkg-config jdk11_headless ]; diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NettleLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NettleLib.java index d4df4142..6dcdb248 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NettleLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NettleLib.java @@ -18,7 +18,7 @@ public class NettleLib extends NativeECLibrary { public NettleLib() { - super("Nettle", "nettle_provider", "nettle","hogweed", "gmp"); + super("Nettle", "nettle_provider"); } @Override 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 1e989569..0ee834c0 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 @@ -172,10 +172,11 @@ ippcp.o: ippcp.c nettle: nettle_provider.so nettle_provider.so: nettle.o c_utils.o | lib_timing.so lib_csignals.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs nettle) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so $(shell pkg-config --libs hogweed) -lgmp + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs nettle hogweed gmp) \ + -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so nettle.o: nettle.c - $(CC) $(shell pkg-config --cflags nettle) $(shell pkg-config --libs hogweed) -lgmp $(CFLAGS) -c $< + $(CC) -Wl,-static $(shell pkg-config --cflags nettle hogweed gmp) $(CFLAGS) -c $< # LibreSSL shim From 9c6de288457a6a0036cd18378e7c6e58d3e01985 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 30 Jul 2024 09:56:32 +0200 Subject: [PATCH 053/131] Clean up the Nix build a bit --- flake.nix | 170 ++++-------------- nix/libtomcrypt-pkgconfig-for-static.patch | 16 ++ ...ibtommath-pkgconfig-for-static-build.patch | 15 ++ 3 files changed, 70 insertions(+), 131 deletions(-) create mode 100644 nix/libtomcrypt-pkgconfig-for-static.patch create mode 100644 nix/libtommath-pkgconfig-for-static-build.patch diff --git a/flake.nix b/flake.nix index 630cb8ad..0e91ccdd 100644 --- a/flake.nix +++ b/flake.nix @@ -5,26 +5,22 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; - custom-nixpkgs.url = "github:quapka/nixpkgs/customPkgs"; # custom for of nixpkgs with ipp-crypto packaged - # FIXME how to add submodule declaratively? - # submodule = { - # url = ./ - # }; + custom-nixpkgs.url = "github:quapka/nixpkgs/customPkgs"; }; outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }: flake-utils.lib.eachDefaultSystem (system: let - commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; - wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: { - src = pkgs.fetchFromGitHub { - owner = "wolfSSL"; - repo = "wolfcrypt-jni"; - rev = "0497ee767c994775beda2f2091009593961e5c7e"; - hash = "sha256-mtUXUyIKJ617WzAWjlOaMscWM7zuGBISVMEAbmQNBOg="; - }; - }); - patched_boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { + overlays = []; + pkgs = import nixpkgs { + inherit system overlays; + }; + customPkgs = import custom-nixpkgs { + inherit system overlays; + }; + + # Altered upstream packages + boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; rev = "67422ed4434116daa8898773692165ddd51a6ac2"; @@ -81,22 +77,7 @@ patches = ( prev.patches or [] ) ++ [ # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). # This patch copies the necessary code from `makefile.shared`. - ( pkgs.writeText "pkgconfig-for-static.patch" '' -diff --git a/makefile b/makefile -index cd94b86f..ffb65402 100644 ---- a/makefile -+++ b/makefile -@@ -79,6 +79,9 @@ $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo)))) - #as root in order to have a high enough permission to write to the correct - #directories and to set the owner and group to root. - install: $(call print-help,install,Installs the library and headers) .common_install -+ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' libtomcrypt.pc.in > libtomcrypt.pc -+ install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig -+ install -p -m 644 libtomcrypt.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ - - install_bins: $(call print-help,install_bins,Installs the useful demos ($(USEFUL_DEMOS))) .common_install_bins - - '') + ./nix/libtomcrypt-pkgconfig-for-static.patch ]; }); libtommath = pkgs.libtommath.overrideAttrs (final: prev: rec { @@ -109,23 +90,7 @@ index cd94b86f..ffb65402 100644 patches = ( prev.patches or [] ) ++ [ # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). # This patch copies the necessary code from `makefile.shared`. - ( pkgs.writeText "pkgconfig-for-static.patch" '' -diff --git a/makefile b/makefile -index bee51a1..b36a13a 100644 ---- a/makefile -+++ b/makefile -@@ -90,6 +90,10 @@ install: $(LIBNAME) - install -d $(DESTDIR)$(INCPATH) - install -m 644 $(LIBNAME) $(DESTDIR)$(LIBPATH) - install -m 644 $(HEADERS_PUB) $(DESTDIR)$(INCPATH) -+ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,@CMAKE_INSTALL_LIBDIR@,lib,' \ -+ -e 's,@CMAKE_INSTALL_INCLUDEDIR@,include,' libtommath.pc.in > libtommath.pc -+ install -d $(DESTDIR)$(LIBPATH)/pkgconfig -+ install -m 644 libtommath.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ - - uninstall: - rm $(DESTDIR)$(LIBPATH)/$(LIBNAME) - '') + ./nix/libtommath-pkgconfig-for-static-build.patch ]; }); nettle = pkgs.nettle.overrideAttrs (final: prev: { @@ -157,25 +122,32 @@ index bee51a1..b36a13a 100644 }); gmp = pkgs.gmp.override { withStatic = true; }; + + # Custom added packages + wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: { + src = pkgs.fetchFromGitHub { + owner = "wolfSSL"; + repo = "wolfcrypt-jni"; + rev = "0497ee767c994775beda2f2091009593961e5c7e"; + hash = "sha256-mtUXUyIKJ617WzAWjlOaMscWM7zuGBISVMEAbmQNBOg="; + }; + }); + + # Shims and libs # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; botanShim = import ./nix/botanshim.nix { inherit pkgs; }; cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (openssl { version = version; hash = hash;}); }; - boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = patched_boringssl; }; + boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle gmp; }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; - overlays = []; - pkgs = import nixpkgs { - inherit system overlays; - }; - customPkgs = import custom-nixpkgs { - inherit system overlays; - }; + commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; + buildECTesterStandalone = { opensslVersion, opensslHash }: ( let opensslShim = (opensslShimBuilder { version = opensslVersion; hash = opensslHash; }); @@ -186,7 +158,7 @@ index bee51a1..b36a13a 100644 version = "0.3.3"; lockFile = ./gradle.lock; - # NOTE: the shims are built separately, therefore no need to call libs + # NOTE: the shims are built separately, therefore no need to call build `libs` target gradleBuildFlags = [ ":standalone:uberJar"]; src = ./.; @@ -207,74 +179,12 @@ index bee51a1..b36a13a 100644 cp ${commonLibs}/lib/* ${jniLibsPath} ''; - nativeBuildInputs = [ - # libresslShim - gdb - ant - jdk17 - pkg-config - global-platform-pro - gradle - makeWrapper - - # libraries to test - # patched_boringssl - # libressl - libtomcrypt - libtommath - botan2 - cryptopp - - # libraries' dependencies - # cmake - # ninja - gawk - automake - go - gtest - libunwind - autoconf - libb64 - - clang - nasm - libtool - perl - - wolfssl - nettle - - # gmp - libgpg-error - wget - libconfig - ]; - - buildInputs = [ - jdk17_headless - # libressl - commonLibs - ]; - - LD_LIBRARY_PATH = lib.makeLibraryPath [ - libtommath - libtomcrypt - botan2 - cryptopp - # libressl - # patched_boringssl - ninja - # nettle - # gmp - libconfig - wolfcryptjni - commonLibs - ]; - - # BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + nativeBuildInputs = [ makeWrapper ]; + + LD_LIBRARY_PATH = lib.makeLibraryPath [ wolfcryptjni ]; + WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; - # FIXME more things to copy here installPhase = '' mkdir -p $out cp -r standalone/build $out @@ -290,10 +200,8 @@ index bee51a1..b36a13a 100644 }); in { - packages = { - default = buildECTesterStandalone { - opensslVersion="3.3.1"; opensslHash="sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; - }; + packages = rec { + default = openssl_331; openssl_331 = buildECTesterStandalone { opensslVersion="3.3.1"; opensslHash="sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; }; @@ -314,7 +222,7 @@ index bee51a1..b36a13a 100644 ]; preConfigure = '' - cp ${patched_boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ + cp ${boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ ''; buildInputs = [ @@ -330,7 +238,7 @@ index bee51a1..b36a13a 100644 (openssl {}) libressl # glibc - patched_boringssl + boringssl libtomcrypt libtommath botan2 @@ -374,7 +282,7 @@ index bee51a1..b36a13a 100644 cryptopp # (openssl {}) (openssl {}) - patched_boringssl + boringssl libgcrypt libgpg-error nettle @@ -384,7 +292,7 @@ index bee51a1..b36a13a 100644 wolfcryptjni ]; - BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include"; + BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; diff --git a/nix/libtomcrypt-pkgconfig-for-static.patch b/nix/libtomcrypt-pkgconfig-for-static.patch new file mode 100644 index 00000000..5db9dbdd --- /dev/null +++ b/nix/libtomcrypt-pkgconfig-for-static.patch @@ -0,0 +1,16 @@ +# NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). +# This patch copies the necessary code from `makefile.shared`. +diff --git a/makefile b/makefile +index cd94b86f..ffb65402 100644 +--- a/makefile ++++ b/makefile +@@ -79,6 +79,9 @@ $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo)))) + #as root in order to have a high enough permission to write to the correct + #directories and to set the owner and group to root. + install: $(call print-help,install,Installs the library and headers) .common_install ++ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' libtomcrypt.pc.in > libtomcrypt.pc ++ install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig ++ install -p -m 644 libtomcrypt.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ + + install_bins: $(call print-help,install_bins,Installs the useful demos ($(USEFUL_DEMOS))) .common_install_bins + '') diff --git a/nix/libtommath-pkgconfig-for-static-build.patch b/nix/libtommath-pkgconfig-for-static-build.patch new file mode 100644 index 00000000..4a97acaa --- /dev/null +++ b/nix/libtommath-pkgconfig-for-static-build.patch @@ -0,0 +1,15 @@ +diff --git a/makefile b/makefile +index bee51a1..b36a13a 100644 +--- a/makefile ++++ b/makefile +@@ -90,6 +90,10 @@ install: $(LIBNAME) + install -d $(DESTDIR)$(INCPATH) + install -m 644 $(LIBNAME) $(DESTDIR)$(LIBPATH) + install -m 644 $(HEADERS_PUB) $(DESTDIR)$(INCPATH) ++ sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,@CMAKE_INSTALL_LIBDIR@,lib,' \ ++ -e 's,@CMAKE_INSTALL_INCLUDEDIR@,include,' libtommath.pc.in > libtommath.pc ++ install -d $(DESTDIR)$(LIBPATH)/pkgconfig ++ install -m 644 libtommath.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ + + uninstall: + rm $(DESTDIR)$(LIBPATH)/$(LIBNAME) From 40f5279a1f84c737daac70a3b66c649708f63973 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 30 Jul 2024 20:24:46 +0200 Subject: [PATCH 054/131] Fix Crypto++ version calculation --- nix/botan_pkg_versions.nix | 19 +++++++ nix/cryptopp_pkg_versions.nix | 53 +++++++++++++++++++ .../ectester/standalone/libs/jni/cryptopp.cpp | 2 +- 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 nix/botan_pkg_versions.nix create mode 100644 nix/cryptopp_pkg_versions.nix diff --git a/nix/botan_pkg_versions.nix b/nix/botan_pkg_versions.nix new file mode 100644 index 00000000..90295f10 --- /dev/null +++ b/nix/botan_pkg_versions.nix @@ -0,0 +1,19 @@ +{ + +v200 = buildECTesterStandalone { + botan = { version="2.0.0"; hash="sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; }; +}; + +v201 = buildECTesterStandalone { + botan = { version="2.0.1"; hash="sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; }; +}; + +v210 = buildECTesterStandalone { + botan = { version="2.1.0"; hash="sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; }; +}; + +v2100 = buildECTesterStandalone { + botan = { version="2.10.0"; hash="sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; }; +}; + +} diff --git a/nix/cryptopp_pkg_versions.nix b/nix/cryptopp_pkg_versions.nix new file mode 100644 index 00000000..3e77a121 --- /dev/null +++ b/nix/cryptopp_pkg_versions.nix @@ -0,0 +1,53 @@ +{ + buildECTesterStandalone +}: +{ + v890 = buildECTesterStandalone { + cryptopp = { version="8_9_0"; hash="sha256-q1F0ubXGI2WI4VoaoarstmWM2+CVAceYGsjbJ2ok2as="; }; + }; + v880 = buildECTesterStandalone { + cryptopp = { version="8_8_0"; hash="sha256-+Lj2MlM7J57il2lOZR6SBIJLumAizmbmDr67CLVR/no="; }; + }; + v870 = buildECTesterStandalone { + cryptopp = { version="8_7_0"; hash="sha256-jWpAZLjp80zT6Dj1oSxABn7nuV7jfZFz7Cc8sJE+fKI="; }; + }; + v860 = buildECTesterStandalone { + cryptopp = { version="8_6_0"; hash="sha256-kwRiX0dnoT4KXybQ8BnXjPk3VgSjPlORw78ugTmd/rg="; }; + }; + v850 = buildECTesterStandalone { + cryptopp = { version="8_5_0"; hash="sha256-j2TPCc9PYdXXS8pTV0uMyZWRhswPByouZZfkmZ1q1ds="; }; + }; + v840 = buildECTesterStandalone { + cryptopp = { version="8_4_0"; hash="sha256-ZoffweM7CErqtIw1qFULI57l9zoJmjtqCRjXC4qJ5lQ="; }; + }; + v830 = buildECTesterStandalone { + cryptopp = { version="8_3_0"; hash="sha256-YzBMb5Q/Q1pOOFJz4Vq7ac/zuFpEZjFQv1pgabhKvUM="; }; + }; + v820 = buildECTesterStandalone { + cryptopp = { version="8_2_0"; hash="sha256-47zUimJzmtF5rYBktSM0artTdnvL78Af43MDQSKSND4="; }; + }; + v810 = buildECTesterStandalone { + cryptopp = { version="8_1_0"; hash="sha256-ik5Hc6ObDAfXzqG4vno/ep0Sa9Osmp8HL4LTpTpHSoc="; }; + }; + v800 = buildECTesterStandalone { + cryptopp = { version="8_0_0"; hash="sha256-Zei3qwaKkUJ/nrvdFP/uLM/tNN79GQIyXIej6xbvvm0="; }; + }; + v700 = buildECTesterStandalone { + cryptopp = { version="7_0_0"; hash="sha256-Pul5A4grX1jIi2+dLOUP0QAL6VR5GAx7RoHNP0wcdik="; }; + }; + v610 = buildECTesterStandalone { + cryptopp = { version="6_1_0"; hash="sha256-ae5x/f+cwNVmNHEnA8jrqXIEv1j+rN/hqU34f6/+/1U="; }; + }; + v600 = buildECTesterStandalone { + cryptopp = { version="6_0_0"; hash="sha256-7ZUZc65PTVLtzyWIL6UjgUWgCtyB7bnXvkznuap0Qmk="; }; + }; + v565 = buildECTesterStandalone { + cryptopp = { version="5_6_5"; hash="sha256-ef1VFLOxkaHG2TTNmJ1eBY9HJqcqPa0kRL0SdKaq5oY="; }; + }; + v564 = buildECTesterStandalone { + cryptopp = { version="5_6_4"; hash="sha256-T6hN4QUOjiBUlyIpMsk6jWtuJvR+rE8RAojtVJAuBdM="; }; + }; + v563 = buildECTesterStandalone { + cryptopp = { version="5_6_3"; hash="sha256-7ZP5aTEtlWvdlduDIOyVc8OPT+mJYKXFg2k73fDrBlQ="; }; + }; +} \ No newline at end of file diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp index c4c74a69..028c321e 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp @@ -111,7 +111,7 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_crea } jstring name = env->NewStringUTF(lib_name.c_str()); - double version = lib_version / 100; + double version = lib_version / 100.0; jstring info = env->NewStringUTF(ss.str().c_str()); return env->NewObject(provider_class, init, name, version, info); From 3fcaa7a9f4d8e3ac41ccbf96c5b3dfe8d5e20831 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 30 Jul 2024 21:01:44 +0200 Subject: [PATCH 055/131] Add autogenerated releases for OpenSSL, Crypto++ and Botan --- fetchReleases.py | 140 ++++++++++++++++++++++++++++++++++ flake.nix | 65 +++++++++------- nix/botan_pkg_versions.nix | 139 ++++++++++++++++++++++++++++----- nix/botanshim.nix | 10 ++- nix/cryptopp_pkg_versions.nix | 32 ++++---- nix/openssl_pkg_versions.nix | 65 ++++++++++++++++ 6 files changed, 388 insertions(+), 63 deletions(-) create mode 100644 fetchReleases.py create mode 100644 nix/openssl_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py new file mode 100644 index 00000000..b462e1e5 --- /dev/null +++ b/fetchReleases.py @@ -0,0 +1,140 @@ +#!/usr/bin/env python3 + +import argparse + +import json +import jinja2 +import re +import requests + +import subprocess as sp + +from base64 import b32encode, b32decode, b64encode, b16decode +from bs4 import BeautifulSoup + +env = jinja2.Environment() + +all_versions_template = env.from_string("""{ + buildECTesterStandalone +}: +{ {% for version in pkg_versions %} + {{ version }} {% endfor %} +}""") + +def get_source_hash(url, unpack=False): + digest_type = "sha256" + + cmd = ["nix-prefetch-url"] + if unpack: + cmd.append("--unpack") + cmd.extend(["--type", digest_type, url]) + + digest_nixbase32 = sp.check_output(cmd, stderr=sp.DEVNULL).strip() + digest_sri = sp.check_output(["nix", "hash", "to-sri", "--type", digest_type, digest_nixbase32.decode()], stderr=sp.DEVNULL).strip().decode() + return digest_sri + +def fetch_botan(): + # NOTE: this way omits the older releases at https://botan.randombit.net/releases/old + release_list = "https://botan.randombit.net/releases/" + download_url = "https://botan.randombit.net/releases/{version}" + resp = requests.get(release_list) + soup = BeautifulSoup(resp.content, 'html.parser') + + single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { + {{ pkg }} = { version="{{ version }}"; source_extension="{{ ext }}"; hash="{{ digest }}"; }; + };""") + + renders = [] + for link in soup.find_all("a"): + if link.text.startswith("Botan") and not link.text.endswith('.asc'): + download_link = download_url.format(version=link['href']) + + match = re.match(r"Botan-(?P\d+)\.(?P\d+)\.(?P\d+)\.(?P.*)", link.text) + version = f"{match['major']}.{match['minor']}.{match['patch']}" + ext = f"{match['ext']}" + + digest = get_source_hash(download_link) + # NOTE: use underscore to separate the versions? + flat_version = f"v{match['major']}{match['minor']}{match['patch']}" + + rendered = single_version_template.render(pkg="botan", digest=digest, ext=ext, flat_version=flat_version, version=version).strip() + renders.append(rendered) + + all_versions = all_versions_template.render(pkg_versions=renders).strip() + with open("./nix/botan_pkg_versions.nix", "w") as handle: + handle.write(all_versions) + +def fetch_cryptopp(): + owner = "weidai11" + repo = "cryptopp" + 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_values = release['tag_name'].split('_') + underscored_version = '_'.join(version_values) + flat_version = "v" + "".join(version_values) + download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.tar.gz" + digest = get_source_hash(download_url, unpack=True) + + + rendered = single_version_template.render(pkg="cryptopp", digest=digest, flat_version=flat_version, version=underscored_version).strip() + renders.append(rendered) + + all_versions = all_versions_template.render(pkg_versions=renders).strip() + with open("./nix/cryptopp_pkg_versions.nix", "w") as handle: + handle.write(all_versions) + +def fetch_openssl(): + pkg = "openssl" + owner = "openssl" + repo = "openssl" + 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']: + try: + _, dotted_version = release['tag_name'].split('-') + except ValueError: + continue + flat_version = "v" + "".join(dotted_version.split('.')) + download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.tar.gz" + digest = get_source_hash(download_url) + + + rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_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() + + match args.lib: + case "botan": + fetch_botan() + case "cryptopp": + fetch_cryptopp() + case "openssl": + fetch_openssl() + + +if __name__ == '__main__': + main() diff --git a/flake.nix b/flake.nix index 0e91ccdd..a4216263 100644 --- a/flake.nix +++ b/flake.nix @@ -45,15 +45,25 @@ ''; }); # FIXME: `nix develeop` now has different version than `nix run` - openssl = { version ? "", hash ? "" }: (pkgs.openssl.override { static = true; }).overrideAttrs (final: prev: rec { + opensslBuilder = { version ? null, hash ? null }: (pkgs.openssl.override { static = true; }).overrideAttrs (final: prev: rec { pname = "openssl"; - src = if version != "" then pkgs.fetchurl { + src = if version != null then pkgs.fetchurl { url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; hash = hash; } else prev.src; # FIXME Removing patches might cause unwanted things; this should be version based! patches = []; }); + botan2Builder = { version, source_extension, hash }: pkgs.botan2.overrideAttrs (final: prev: { + src = if ( version == null ) then prev.src else + pkgs.fetchurl { + urls = [ + "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" + ]; + inherit hash; + }; + }); + libgcrypt = pkgs.libgcrypt.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); @@ -96,7 +106,15 @@ nettle = pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); - cryptopp = pkgs.cryptopp.override { enableStatic = true; }; + cryptoppBuilder = { version, hash }: (pkgs.cryptopp.override { enableStatic = true; }).overrideAttrs (final: prev: { + src = if version == null then prev.src else + pkgs.fetchFromGitHub { + owner = "weidai11"; + repo = "cryptopp"; + rev = "CRYPTOPP_${version}"; + inherit hash; + }; + }); libressl = (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (_old: rec { patches = [ (pkgs.fetchpatch { @@ -135,10 +153,10 @@ # Shims and libs # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl - tomcryptShim = import ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; - botanShim = import ./nix/botanshim.nix { inherit pkgs; }; - cryptoppShim = import ./nix/cryptoppshim.nix { inherit pkgs cryptopp; }; - opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (openssl { version = version; hash = hash;}); }; + tomcryptShim = pkgs.callPackage ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; + botanShimBuilder = { version, source_extension, hash }: pkgs.callPackage ./nix/botanshim.nix { botan2 = botan2Builder { inherit version source_extension hash; }; }; + cryptoppShimBuilder = { version, hash}: pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; };}; + opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; @@ -148,9 +166,15 @@ commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; - buildECTesterStandalone = { opensslVersion, opensslHash }: ( + buildECTesterStandalone = { + openssl ? { version = null; hash = null; }, + botan ? { version = null; source_extension = null; hash = null; }, + cryptopp ? { version = null; hash = null; }, + }: ( let - opensslShim = (opensslShimBuilder { version = opensslVersion; hash = opensslHash; }); + opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); + botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; + cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -201,20 +225,10 @@ in { packages = rec { - default = openssl_331; - openssl_331 = buildECTesterStandalone { - opensslVersion="3.3.1"; opensslHash="sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; - }; - openssl_322 = buildECTesterStandalone { - opensslVersion="3.2.2"; opensslHash="sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="; - }; - openssl_316 = buildECTesterStandalone { - opensslVersion="3.1.6"; opensslHash="sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="; - }; - openssl_3014 = buildECTesterStandalone { - opensslVersion="3.0.14"; opensslHash="sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="; - }; - # openssl_111w = buildECTesterStandalone "1.1.1w" "sha256-zzCYlQy02FOtlcCEHx+cbT3BAtzPys1SHZOSUgi3asg="; + default = openssl.v331; + openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; + botan = pkgs.callPackage ./nix/botan_pkg_versions.nix { inherit buildECTesterStandalone; }; + cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; }; devShells.default = with pkgs; mkShell rec { nativeBuildInputs = [ @@ -235,7 +249,7 @@ global-platform-pro gradle # libraries to test - (openssl {}) + (opensslBuilder {}) libressl # glibc boringssl @@ -280,8 +294,7 @@ libtomcrypt botan2 cryptopp - # (openssl {}) - (openssl {}) + (opensslBuilder {}) boringssl libgcrypt libgpg-error diff --git a/nix/botan_pkg_versions.nix b/nix/botan_pkg_versions.nix index 90295f10..66b0db55 100644 --- a/nix/botan_pkg_versions.nix +++ b/nix/botan_pkg_versions.nix @@ -1,19 +1,122 @@ { - -v200 = buildECTesterStandalone { - botan = { version="2.0.0"; hash="sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; }; -}; - -v201 = buildECTesterStandalone { - botan = { version="2.0.1"; hash="sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; }; -}; - -v210 = buildECTesterStandalone { - botan = { version="2.1.0"; hash="sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; }; -}; - -v2100 = buildECTesterStandalone { - botan = { version="2.10.0"; hash="sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; }; -}; - -} + buildECTesterStandalone +}: +{ + v200 = buildECTesterStandalone { + botan = { version="2.0.0"; source_extension="tgz"; hash="sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; }; + }; + v201 = buildECTesterStandalone { + botan = { version="2.0.1"; source_extension="tgz"; hash="sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; }; + }; + v210 = buildECTesterStandalone { + botan = { version="2.1.0"; source_extension="tgz"; hash="sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; }; + }; + v2100 = buildECTesterStandalone { + botan = { version="2.10.0"; source_extension="tgz"; hash="sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; }; + }; + v2110 = buildECTesterStandalone { + botan = { version="2.11.0"; source_extension="tar.xz"; hash="sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="; }; + }; + v2120 = buildECTesterStandalone { + botan = { version="2.12.0"; source_extension="tar.xz"; hash="sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="; }; + }; + v2121 = buildECTesterStandalone { + botan = { version="2.12.1"; source_extension="tar.xz"; hash="sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="; }; + }; + v2130 = buildECTesterStandalone { + botan = { version="2.13.0"; source_extension="tar.xz"; hash="sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="; }; + }; + v2140 = buildECTesterStandalone { + botan = { version="2.14.0"; source_extension="tar.xz"; hash="sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="; }; + }; + v2150 = buildECTesterStandalone { + botan = { version="2.15.0"; source_extension="tar.xz"; hash="sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="; }; + }; + v2160 = buildECTesterStandalone { + botan = { version="2.16.0"; source_extension="tar.xz"; hash="sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="; }; + }; + v2170 = buildECTesterStandalone { + botan = { version="2.17.0"; source_extension="tar.xz"; hash="sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="; }; + }; + v2171 = buildECTesterStandalone { + botan = { version="2.17.1"; source_extension="tar.xz"; hash="sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="; }; + }; + v2172 = buildECTesterStandalone { + botan = { version="2.17.2"; source_extension="tar.xz"; hash="sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="; }; + }; + v2173 = buildECTesterStandalone { + botan = { version="2.17.3"; source_extension="tar.xz"; hash="sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="; }; + }; + v2180 = buildECTesterStandalone { + botan = { version="2.18.0"; source_extension="tar.xz"; hash="sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="; }; + }; + v2181 = buildECTesterStandalone { + botan = { version="2.18.1"; source_extension="tar.xz"; hash="sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="; }; + }; + v2182 = buildECTesterStandalone { + botan = { version="2.18.2"; source_extension="tar.xz"; hash="sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="; }; + }; + v2190 = buildECTesterStandalone { + botan = { version="2.19.0"; source_extension="tar.xz"; hash="sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="; }; + }; + v2191 = buildECTesterStandalone { + botan = { version="2.19.1"; source_extension="tar.xz"; hash="sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="; }; + }; + v2192 = buildECTesterStandalone { + botan = { version="2.19.2"; source_extension="tar.xz"; hash="sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="; }; + }; + v2193 = buildECTesterStandalone { + botan = { version="2.19.3"; source_extension="tar.xz"; hash="sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="; }; + }; + v2194 = buildECTesterStandalone { + botan = { version="2.19.4"; source_extension="tar.xz"; hash="sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="; }; + }; + v2195 = buildECTesterStandalone { + botan = { version="2.19.5"; source_extension="tar.xz"; hash="sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="; }; + }; + v220 = buildECTesterStandalone { + botan = { version="2.2.0"; source_extension="tgz"; hash="sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="; }; + }; + v230 = buildECTesterStandalone { + botan = { version="2.3.0"; source_extension="tgz"; hash="sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="; }; + }; + v240 = buildECTesterStandalone { + botan = { version="2.4.0"; source_extension="tgz"; hash="sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="; }; + }; + v250 = buildECTesterStandalone { + botan = { version="2.5.0"; source_extension="tgz"; hash="sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="; }; + }; + v260 = buildECTesterStandalone { + botan = { version="2.6.0"; source_extension="tgz"; hash="sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="; }; + }; + v270 = buildECTesterStandalone { + botan = { version="2.7.0"; source_extension="tgz"; hash="sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="; }; + }; + v280 = buildECTesterStandalone { + botan = { version="2.8.0"; source_extension="tgz"; hash="sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="; }; + }; + v290 = buildECTesterStandalone { + botan = { version="2.9.0"; source_extension="tgz"; hash="sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="; }; + }; + v300 = buildECTesterStandalone { + botan = { version="3.0.0"; source_extension="tar.xz"; hash="sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="; }; + }; + v310 = buildECTesterStandalone { + botan = { version="3.1.0"; source_extension="tar.xz"; hash="sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="; }; + }; + v311 = buildECTesterStandalone { + botan = { version="3.1.1"; source_extension="tar.xz"; hash="sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; }; + }; + v320 = buildECTesterStandalone { + botan = { version="3.2.0"; source_extension="tar.xz"; hash="sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="; }; + }; + v330 = buildECTesterStandalone { + botan = { version="3.3.0"; source_extension="tar.xz"; hash="sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="; }; + }; + v340 = buildECTesterStandalone { + botan = { version="3.4.0"; source_extension="tar.xz"; hash="sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="; }; + }; + v350 = buildECTesterStandalone { + botan = { version="3.5.0"; source_extension="tar.xz"; hash="sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="; }; + }; +} \ No newline at end of file diff --git a/nix/botanshim.nix b/nix/botanshim.nix index f6de7232..3711d1df 100644 --- a/nix/botanshim.nix +++ b/nix/botanshim.nix @@ -1,7 +1,11 @@ -{ - pkgs +{ + stdenv + , botan2 + , pkg-config + # NOTE change to jdk17? + , jdk11_headless }: -with pkgs; stdenv.mkDerivation { +stdenv.mkDerivation { name = "BotanShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/cryptopp_pkg_versions.nix b/nix/cryptopp_pkg_versions.nix index 3e77a121..781135b7 100644 --- a/nix/cryptopp_pkg_versions.nix +++ b/nix/cryptopp_pkg_versions.nix @@ -3,51 +3,51 @@ }: { v890 = buildECTesterStandalone { - cryptopp = { version="8_9_0"; hash="sha256-q1F0ubXGI2WI4VoaoarstmWM2+CVAceYGsjbJ2ok2as="; }; + cryptopp = { version="8_9_0"; hash="sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; }; }; v880 = buildECTesterStandalone { - cryptopp = { version="8_8_0"; hash="sha256-+Lj2MlM7J57il2lOZR6SBIJLumAizmbmDr67CLVR/no="; }; + cryptopp = { version="8_8_0"; hash="sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="; }; }; v870 = buildECTesterStandalone { - cryptopp = { version="8_7_0"; hash="sha256-jWpAZLjp80zT6Dj1oSxABn7nuV7jfZFz7Cc8sJE+fKI="; }; + cryptopp = { version="8_7_0"; hash="sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="; }; }; v860 = buildECTesterStandalone { - cryptopp = { version="8_6_0"; hash="sha256-kwRiX0dnoT4KXybQ8BnXjPk3VgSjPlORw78ugTmd/rg="; }; + cryptopp = { version="8_6_0"; hash="sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="; }; }; v850 = buildECTesterStandalone { - cryptopp = { version="8_5_0"; hash="sha256-j2TPCc9PYdXXS8pTV0uMyZWRhswPByouZZfkmZ1q1ds="; }; + cryptopp = { version="8_5_0"; hash="sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="; }; }; v840 = buildECTesterStandalone { - cryptopp = { version="8_4_0"; hash="sha256-ZoffweM7CErqtIw1qFULI57l9zoJmjtqCRjXC4qJ5lQ="; }; + cryptopp = { version="8_4_0"; hash="sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="; }; }; v830 = buildECTesterStandalone { - cryptopp = { version="8_3_0"; hash="sha256-YzBMb5Q/Q1pOOFJz4Vq7ac/zuFpEZjFQv1pgabhKvUM="; }; + cryptopp = { version="8_3_0"; hash="sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="; }; }; v820 = buildECTesterStandalone { - cryptopp = { version="8_2_0"; hash="sha256-47zUimJzmtF5rYBktSM0artTdnvL78Af43MDQSKSND4="; }; + cryptopp = { version="8_2_0"; hash="sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="; }; }; v810 = buildECTesterStandalone { - cryptopp = { version="8_1_0"; hash="sha256-ik5Hc6ObDAfXzqG4vno/ep0Sa9Osmp8HL4LTpTpHSoc="; }; + cryptopp = { version="8_1_0"; hash="sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="; }; }; v800 = buildECTesterStandalone { - cryptopp = { version="8_0_0"; hash="sha256-Zei3qwaKkUJ/nrvdFP/uLM/tNN79GQIyXIej6xbvvm0="; }; + cryptopp = { version="8_0_0"; hash="sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="; }; }; v700 = buildECTesterStandalone { - cryptopp = { version="7_0_0"; hash="sha256-Pul5A4grX1jIi2+dLOUP0QAL6VR5GAx7RoHNP0wcdik="; }; + cryptopp = { version="7_0_0"; hash="sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="; }; }; v610 = buildECTesterStandalone { - cryptopp = { version="6_1_0"; hash="sha256-ae5x/f+cwNVmNHEnA8jrqXIEv1j+rN/hqU34f6/+/1U="; }; + cryptopp = { version="6_1_0"; hash="sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="; }; }; v600 = buildECTesterStandalone { - cryptopp = { version="6_0_0"; hash="sha256-7ZUZc65PTVLtzyWIL6UjgUWgCtyB7bnXvkznuap0Qmk="; }; + cryptopp = { version="6_0_0"; hash="sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="; }; }; v565 = buildECTesterStandalone { - cryptopp = { version="5_6_5"; hash="sha256-ef1VFLOxkaHG2TTNmJ1eBY9HJqcqPa0kRL0SdKaq5oY="; }; + cryptopp = { version="5_6_5"; hash="sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="; }; }; v564 = buildECTesterStandalone { - cryptopp = { version="5_6_4"; hash="sha256-T6hN4QUOjiBUlyIpMsk6jWtuJvR+rE8RAojtVJAuBdM="; }; + cryptopp = { version="5_6_4"; hash="sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="; }; }; v563 = buildECTesterStandalone { - cryptopp = { version="5_6_3"; hash="sha256-7ZP5aTEtlWvdlduDIOyVc8OPT+mJYKXFg2k73fDrBlQ="; }; + cryptopp = { version="5_6_3"; hash="sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="; }; }; } \ No newline at end of file diff --git a/nix/openssl_pkg_versions.nix b/nix/openssl_pkg_versions.nix new file mode 100644 index 00000000..a702e611 --- /dev/null +++ b/nix/openssl_pkg_versions.nix @@ -0,0 +1,65 @@ +{ + buildECTesterStandalone +}: +{ + v331 = buildECTesterStandalone { + openssl = { version="3.3.1"; hash="sha256-Ezvzm40WNayUqEgwQsxEglG3cKDRLHrwwF6old3Zjx0="; }; + }; + v322 = buildECTesterStandalone { + openssl = { version="3.2.2"; hash="sha256-QYFzZZxh7gSRWwtSaV8JHgF6w+ZjePgTT9b4H+CjB6s="; }; + }; + v316 = buildECTesterStandalone { + openssl = { version="3.1.6"; hash="sha256-QrArZza3vMRME4/iAy+K4mwtCyErH9mklYkRrZciPrM="; }; + }; + v3014 = buildECTesterStandalone { + openssl = { version="3.0.14"; hash="sha256-DwwWLusMcv1Zz9t8KsV3pFVtFDvfAJTXCJDSfg6jAh8="; }; + }; + v330 = buildECTesterStandalone { + openssl = { version="3.3.0"; hash="sha256-Gke9xG+sJWoNyO+2lvf3b6X5YEm6G2D97VR4vTFlxtI="; }; + }; + v321 = buildECTesterStandalone { + openssl = { version="3.2.1"; hash="sha256-dcxoA/+skmJcBuo8Z3+zLvINFaG0HsyN3bxrnWotqEw="; }; + }; + v315 = buildECTesterStandalone { + openssl = { version="3.1.5"; hash="sha256-KZ3f0KUGptN95WOG0VzjDTRNkYhN/JirMzC3wAkCmTE="; }; + }; + v3013 = buildECTesterStandalone { + openssl = { version="3.0.13"; hash="sha256-50UE7XA1KV7HBisdoWwVtX/yoDzSBkoo2MOUWMrMRfw="; }; + }; + v320 = buildECTesterStandalone { + openssl = { version="3.2.0"; hash="sha256-qS9tvKl1ZngOyV4ro9SKqNqgkEiqyDksfHxYzJwDx2I="; }; + }; + v314 = buildECTesterStandalone { + openssl = { version="3.1.4"; hash="sha256-cnwwVD/kCugEwZ5tZbB+PlfWRIJtpUtutOveOsQHfZc="; }; + }; + v3012 = buildECTesterStandalone { + openssl = { version="3.0.12"; hash="sha256-mnpzVfPUtz9DtXMM6ANx+dH5eET/yMSwHHI7oGJdaq0="; }; + }; + v313 = buildECTesterStandalone { + openssl = { version="3.1.3"; hash="sha256-+0zy03Hvld8NyiqoXxHgrivbyG95gcv5MM6O/hrKDyg="; }; + }; + v3011 = buildECTesterStandalone { + openssl = { version="3.0.11"; hash="sha256-n6TUFXzWgxk1pUJ5ZxzCDF5U6VlDOOEJy5h5+giV0Qw="; }; + }; + v312 = buildECTesterStandalone { + openssl = { version="3.1.2"; hash="sha256-jHdpkxVGUtC7OT9QbYULgRUXyL2NJLEAiu9X++VdPzE="; }; + }; + v3010 = buildECTesterStandalone { + openssl = { version="3.0.10"; hash="sha256-II8ngfBapaRVxpMOIKXPe5eGoZh7Qlhb4BN/tF4rimQ="; }; + }; + v311 = buildECTesterStandalone { + openssl = { version="3.1.1"; hash="sha256-aLQF6mRSHJhTd3lbW3BdEWwc87+TOE0bvngkf3YBCCI="; }; + }; + v309 = buildECTesterStandalone { + openssl = { version="3.0.9"; hash="sha256-Luwx8qwOEm/2jYEHiR71NBWcT8+wlTZdTNTcV9gmFu4="; }; + }; + v310 = buildECTesterStandalone { + openssl = { version="3.1.0"; hash="sha256-qG6tXD4lm/F1FN7LMLKQ4L86Y2aDFobP+6z3UN9EFSc="; }; + }; + v308 = buildECTesterStandalone { + openssl = { version="3.0.8"; hash="sha256-aTPi8dpvI6UOoibuxukbVD0nfSCYAldjtZMc9qfgmcc="; }; + }; + v307 = buildECTesterStandalone { + openssl = { version="3.0.7"; hash="sha256-6Pc1kIFYRtsobSFZUP3vm4grtriG1QrLQxwChXgv41s="; }; + }; +} \ No newline at end of file From c405d82be596b7b673d96843c1fac9238ce82a9f Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 5 Aug 2024 18:07:34 +0200 Subject: [PATCH 056/131] Build various version of libtomcrypt --- flake.nix | 101 +++++++++++++----- nix/libtomcrypt-pkgconfig-for-static.patch | 2 - nix/libtomcrypt-pkgconfig-makefile.txt | 5 + ...tomcrypt-pkgconfig-makefile_include.mk.txt | 2 + nix/libtomcrypt.pc.in | 10 ++ nix/tomcrypt_pkg_versions.nix | 26 +++++ 6 files changed, 118 insertions(+), 28 deletions(-) create mode 100644 nix/libtomcrypt-pkgconfig-makefile.txt create mode 100644 nix/libtomcrypt-pkgconfig-makefile_include.mk.txt create mode 100644 nix/libtomcrypt.pc.in create mode 100644 nix/tomcrypt_pkg_versions.nix diff --git a/flake.nix b/flake.nix index a4216263..e86e6600 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,9 @@ inherit system overlays; }; + # removes the patch/revision from the version. E.g. getMajorMinor "1.2.3" = "1.2" + getMajorMinor = version: builtins.concatStringsSep "." (pkgs.lib.take 2 ( builtins.splitVersion version)); + # Altered upstream packages boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { src = fetchgit { @@ -70,38 +73,71 @@ libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); - libtomcrypt = (pkgs.libtomcrypt.override { libtommath = libtommath; }).overrideAttrs (final: prev: rec { - makefile = "makefile"; - version = "1.18.2"; - src = pkgs.fetchurl { - url = "https://github.com/libtom/libtomcrypt/releases/download/v${version}/crypt-${version}.tar.xz"; - sha256 = "113vfrgapyv72lalhd3nkw7jnks8az0gcb5wqn9hj19nhcxlrbcn"; + libtomcryptBuilder = { tcVersion, tcHash, tmVersion, tmHash }: + (pkgs.libtomcrypt.override { libtommath = libtommathBuilder { version = tmVersion; hash = tmHash; }; }).overrideAttrs (final: prev: + let + preBuilds = { + "1.18" = '' + makeFlagsArray+=(PREFIX=$out \ + CFLAGS="-DUSE_LTM -DLTM_DESC" \ + EXTRALIBS=\"-ltommath\" \ + INSTALL_GROUP=$(id -g) \ + INSTALL_USER=$(id -u)) + ''; + "1.17" = '' + mkdir --parents $out/{lib, include, share/doc/} + + makeFlagsArray+=(PREFIX=$out \ + LIBPATH=$out/lib \ + INCPATH=$out/include \ + DATAPATH=$out/share/doc/libtomcrypt/pdf + CFLAGS_OPTS="-DUSE_LTM -DLTM_DESC" \ + EXTRALIBS=\"-ltommath\" \ + GROUP=$(id -g) \ + USER=$(id -u)) + ''; + # "1.01" = '' + # ''; }; - preBuild = '' - makeFlagsArray+=(PREFIX=$out \ - CFLAGS="-DUSE_LTM -DLTM_DESC" \ - EXTRALIBS=\"-ltommath\" \ - INSTALL_GROUP=$(id -g) \ - INSTALL_USER=$(id -u)) - ''; - patches = ( prev.patches or [] ) ++ [ + preBuild = if tcVersion != null + then if builtins.hasAttr (getMajorMinor tcVersion) preBuilds + then preBuilds."${getMajorMinor tcVersion}" + else preBuilds."1.17" + else preBuilds."1.18"; + in + rec { + makefile = "makefile.unix"; + version = tcVersion; + + src = pkgs.fetchFromGitHub { + owner = "libtom"; + repo = "libtomcrypt"; + rev = "refs/tags/${version}"; + leaveDotGit = true; + hash = tcHash; + }; + + inherit preBuild; + patches = if pkgs.lib.hasPrefix "1.18" version then ( prev.patches or [] ) ++ [ # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). # This patch copies the necessary code from `makefile.shared`. - ./nix/libtomcrypt-pkgconfig-for-static.patch - ]; + # ./nix/libtomcrypt-pkgconfig-for-static.patch ] + ] else []; }); - libtommath = pkgs.libtommath.overrideAttrs (final: prev: rec { - makefile = "makefile"; - version = "1.3.0"; + + libtommathBuilder = { version, hash }: pkgs.libtommath.overrideAttrs (final: prev: rec { + makefile = "makefile.unix"; + inherit version; + # version = "1.3.0"; src = pkgs.fetchurl { url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; - sha256 = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + inherit hash; }; - patches = ( prev.patches or [] ) ++ [ - # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). - # This patch copies the necessary code from `makefile.shared`. - ./nix/libtommath-pkgconfig-for-static-build.patch - ]; + # patches = ( prev.patches or [] ) ++ [ + # # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # # This patch copies the necessary code from `makefile.shared`. + # ./nix/libtommath-pkgconfig-for-static-build.patch + # ]; }); nettle = pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; @@ -153,7 +189,11 @@ # Shims and libs # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl - tomcryptShim = pkgs.callPackage ./nix/tomcryptshim.nix { inherit pkgs libtomcrypt libtommath; }; + tomcryptShimBuilder = { tcVersion, tcHash, tmVersion, tmHash}: pkgs.callPackage ./nix/tomcryptshim.nix { + inherit pkgs; + libtomcrypt = ( libtomcryptBuilder { inherit tcVersion tcHash tmVersion tmHash; }); + libtommath = ( libtommathBuilder { version = tmVersion; hash = tmHash; }); + }; botanShimBuilder = { version, source_extension, hash }: pkgs.callPackage ./nix/botanshim.nix { botan2 = botan2Builder { inherit version source_extension hash; }; }; cryptoppShimBuilder = { version, hash}: pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; };}; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; @@ -167,11 +207,19 @@ commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; buildECTesterStandalone = { + tomcrypt ? { version = null; hash = null; }, + tommath ? { version = null; hash = null; }, openssl ? { version = null; hash = null; }, botan ? { version = null; source_extension = null; hash = null; }, cryptopp ? { version = null; hash = null; }, }: ( let + tomcryptShim = tomcryptShimBuilder { + tcVersion = tomcrypt.version; + tcHash = tomcrypt.hash; + tmVersion = tommath.version; + tmHash = tommath.hash; + }; opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; @@ -226,6 +274,7 @@ { packages = rec { default = openssl.v331; + tomcrypt = pkgs.callPackage ./nix/tomcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; botan = pkgs.callPackage ./nix/botan_pkg_versions.nix { inherit buildECTesterStandalone; }; cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; diff --git a/nix/libtomcrypt-pkgconfig-for-static.patch b/nix/libtomcrypt-pkgconfig-for-static.patch index 5db9dbdd..441f2783 100644 --- a/nix/libtomcrypt-pkgconfig-for-static.patch +++ b/nix/libtomcrypt-pkgconfig-for-static.patch @@ -1,5 +1,3 @@ -# NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). -# This patch copies the necessary code from `makefile.shared`. diff --git a/makefile b/makefile index cd94b86f..ffb65402 100644 --- a/makefile diff --git a/nix/libtomcrypt-pkgconfig-makefile.txt b/nix/libtomcrypt-pkgconfig-makefile.txt new file mode 100644 index 00000000..9f54c853 --- /dev/null +++ b/nix/libtomcrypt-pkgconfig-makefile.txt @@ -0,0 +1,5 @@ + +pkgconfig-patch: + sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' libtomcrypt.pc.in > libtomcrypt.pc + install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig + install -p -m 644 libtomcrypt.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ diff --git a/nix/libtomcrypt-pkgconfig-makefile_include.mk.txt b/nix/libtomcrypt-pkgconfig-makefile_include.mk.txt new file mode 100644 index 00000000..c9b49028 --- /dev/null +++ b/nix/libtomcrypt-pkgconfig-makefile_include.mk.txt @@ -0,0 +1,2 @@ + +VERSION_PC=$(VERSION) diff --git a/nix/libtomcrypt.pc.in b/nix/libtomcrypt.pc.in new file mode 100644 index 00000000..714f0604 --- /dev/null +++ b/nix/libtomcrypt.pc.in @@ -0,0 +1,10 @@ +prefix=@to-be-replaced@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: LibTomCrypt +Description: public domain open source cryptographic toolkit +Version: @to-be-replaced@ +Libs: -L${libdir} -ltomcrypt +Cflags: -I${includedir} diff --git a/nix/tomcrypt_pkg_versions.nix b/nix/tomcrypt_pkg_versions.nix new file mode 100644 index 00000000..fcd08832 --- /dev/null +++ b/nix/tomcrypt_pkg_versions.nix @@ -0,0 +1,26 @@ +{ + buildECTesterStandalone +}: +{ + v1182 = buildECTesterStandalone { + tomcrypt = { version = "1.18.2"; hash = "sha256-MEU+u54aXKGSAMPYsh+L9axowzIHiew1uWq8wDsEBmw=";}; + tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + }; + v1181 = buildECTesterStandalone { + tomcrypt = { version = "1.18.1"; hash = "sha256-P00koc4+mAHQ/L5iCuPoiOeI/msZscO5KHZrqmbotRo=";}; + tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + }; + v1180 = buildECTesterStandalone { + tomcrypt = { version = "1.18.0"; hash = "sha256-Y7U+updJI/f3zD6k84DTZDQZh6vhfqR0W8HyizlUZcU=";}; + tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + }; + # v101 = buildECTesterStandalone { + # tomcrypt = { version = "1.01"; hash = "sha256-lVAPxgkAcBivzZmWfqu0sEh8yGo7Ji2hIYwx4/g0GzM=";}; + # tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + # }; + v117 = buildECTesterStandalone { + tomcrypt = { version = "1.17"; hash = "sha256-NWWAs6p27UC64nDL0MwMvzU5aWNe8LZu7DC06d/8isA=";}; + # NOTE: which is the correct version of libtommath for a particular version of libtomcryp? + tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + }; +} From cf3bfc34b4db9902824568fc4d6fb05bf08a2547 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 5 Aug 2024 18:22:49 +0200 Subject: [PATCH 057/131] Keep consistent ordering of libs --- flake.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index e86e6600..114837c7 100644 --- a/flake.nix +++ b/flake.nix @@ -209,9 +209,10 @@ buildECTesterStandalone = { tomcrypt ? { version = null; hash = null; }, tommath ? { version = null; hash = null; }, - openssl ? { version = null; hash = null; }, botan ? { version = null; source_extension = null; hash = null; }, cryptopp ? { version = null; hash = null; }, + openssl ? { version = null; hash = null; }, + boringssl ? { version = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -275,9 +276,10 @@ packages = rec { default = openssl.v331; tomcrypt = pkgs.callPackage ./nix/tomcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; - openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; botan = pkgs.callPackage ./nix/botan_pkg_versions.nix { inherit buildECTesterStandalone; }; cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; + openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; + boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; }; devShells.default = with pkgs; mkShell rec { nativeBuildInputs = [ From 0cbdebaa79c7519c207df1cc93a85ccf5957a02f Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 13:18:49 +0200 Subject: [PATCH 058/131] Make default Tomcrypt build properly --- flake.nix | 26 +++++++++++++------------- nix/boringssl_pkg_versions.nix | 24 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 nix/boringssl_pkg_versions.nix diff --git a/flake.nix b/flake.nix index 114837c7..d44126e6 100644 --- a/flake.nix +++ b/flake.nix @@ -107,13 +107,12 @@ in rec { makefile = "makefile.unix"; - version = tcVersion; + version = if tcVersion != null then tcVersion else prev.version; - src = pkgs.fetchFromGitHub { + src = if version == prev.version then prev.src else pkgs.fetchFromGitHub { owner = "libtom"; repo = "libtomcrypt"; - rev = "refs/tags/${version}"; - leaveDotGit = true; + rev = if pkgs.lib.hasPrefix "1.18" version then "refs/tags/v${version}" else "refs/tags/${version}" ; hash = tcHash; }; @@ -121,23 +120,24 @@ patches = if pkgs.lib.hasPrefix "1.18" version then ( prev.patches or [] ) ++ [ # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). # This patch copies the necessary code from `makefile.shared`. - # ./nix/libtomcrypt-pkgconfig-for-static.patch ] + ./nix/libtomcrypt-pkgconfig-for-static.patch ] else []; }); libtommathBuilder = { version, hash }: pkgs.libtommath.overrideAttrs (final: prev: rec { makefile = "makefile.unix"; - inherit version; - # version = "1.3.0"; + # version = if version != null then version else prev.version; + version = "1.3.0"; src = pkgs.fetchurl { url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; - inherit hash; + # hash = if hash != null then hash else prev.hash; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg"; }; - # patches = ( prev.patches or [] ) ++ [ - # # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). - # # This patch copies the necessary code from `makefile.shared`. - # ./nix/libtommath-pkgconfig-for-static-build.patch - # ]; + patches = ( prev.patches or [] ) ++ [ + # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # This patch copies the necessary code from `makefile.shared`. + ./nix/libtommath-pkgconfig-for-static-build.patch + ]; }); nettle = pkgs.nettle.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; diff --git a/nix/boringssl_pkg_versions.nix b/nix/boringssl_pkg_versions.nix new file mode 100644 index 00000000..0c4ab10e --- /dev/null +++ b/nix/boringssl_pkg_versions.nix @@ -0,0 +1,24 @@ +{ + buildECTesterStandalone +}: +{ +# "version_for_cocoapods_10.0", + +# "version_for_cocoapods_9.0", +# "version_for_cocoapods_8.0", +# "version_for_cocoapods_7.0", +# "version_for_cocoapods_6.0", +# "version_for_cocoapods_5.0", +# "version_for_cocoapods_4.0", +# "version_for_cocoapods_3.0", +# "version_for_cocoapods_2.0", +# "version_for_cocoapods_1.0", +# "fips-android-20191020", +# "fips-20220613", +# "fips-20210429", +# "fips-20190808", +# "fips-20180730", + fips-20170615 = buildECTesterStandalone { + boringssl = { rev = "refs/tags/fips-20170615"; hash = ""; }; + }; +} From a5dd212e4c1f300b0769aa16b71da23e08061842 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 13:52:02 +0200 Subject: [PATCH 059/131] Build script for fetching releases with Nix --- flake.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/flake.nix b/flake.nix index d44126e6..b8bc49d2 100644 --- a/flake.nix +++ b/flake.nix @@ -280,6 +280,26 @@ cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; + + fetchReleases = with pkgs.python3Packages; buildPythonApplication { + pname = "fetchReleases"; + version = "0.1.0"; + format = "other"; + + propagatedBuildInputs = [ + jinja2 + requests + beautifulsoup4 + ]; + + src = ./fetchReleases.py; + dontUnpack = true; + installPhase = '' + install -Dm755 $src $out/bin/$pname + ''; + + }; + }; devShells.default = with pkgs; mkShell rec { nativeBuildInputs = [ From 66c239e0ef9e12c705d8004f4b341ee57c610bed Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 13:58:11 +0200 Subject: [PATCH 060/131] Start adding some libgcrypt version --- flake.nix | 11 ++- nix/gcrypt_pkg_versions.nix | 180 ++++++++++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+), 2 deletions(-) create mode 100644 nix/gcrypt_pkg_versions.nix diff --git a/flake.nix b/flake.nix index b8bc49d2..b3dc8db6 100644 --- a/flake.nix +++ b/flake.nix @@ -67,8 +67,12 @@ }; }); - libgcrypt = pkgs.libgcrypt.overrideAttrs (final: prev: { + libgcryptBuilder = { version, hash }: pkgs.libgcrypt.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; + src = if version == null then prev.src else pkgs.fetchurl { + url = "mirror://gnupg/libgcrypt/${prev.pname}-${version}.tar.bz2"; + inherit hash; + }; }); libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; @@ -198,7 +202,7 @@ cryptoppShimBuilder = { version, hash}: pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; };}; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; - gcryptShim = import ./nix/gcryptshim.nix { inherit pkgs libgcrypt libgpg-error; }; + gcryptShimBuilder = { version, hash}: import ./nix/gcryptshim.nix { inherit pkgs libgpg-error; libgcrypt = libgcryptBuilder { inherit version hash; }; }; mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle gmp; }; @@ -213,6 +217,7 @@ cryptopp ? { version = null; hash = null; }, openssl ? { version = null; hash = null; }, boringssl ? { version = null; hash = null; }, + gcrypt ? { version = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -224,6 +229,7 @@ opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; + gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -280,6 +286,7 @@ cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; + gcrypt = pkgs.callPackage ./nix/gcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; fetchReleases = with pkgs.python3Packages; buildPythonApplication { pname = "fetchReleases"; diff --git a/nix/gcrypt_pkg_versions.nix b/nix/gcrypt_pkg_versions.nix new file mode 100644 index 00000000..b0be7d73 --- /dev/null +++ b/nix/gcrypt_pkg_versions.nix @@ -0,0 +1,180 @@ +{ + buildECTesterStandalone +}: +{ + v1110 = buildECTesterStandalone { + gcrypt = { version="1.11.0"; hash="sha256-CRIMmGfOfyCB1qqhd1OGuYwvLyRhNXYarkfYH1hoW5w="; }; + }; + v1103 = buildECTesterStandalone { + gcrypt = { version="1.10.3"; hash="sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo="; }; + }; + v1102 = buildECTesterStandalone { + gcrypt = { version="1.10.2"; hash="sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM="; }; + }; + v1101 = buildECTesterStandalone { + gcrypt = { version="1.10.1"; hash="sha256-7xSuVGsAhM2EJZ9hpV4Ho4w7U6/A9Ua//O8vAbr/6d4="; }; + }; + v1100 = buildECTesterStandalone { + gcrypt = { version="1.10.0"; hash="sha256-agD1wFyqTErMEgxGtjhX2g1P9h3EtLA5M/qNRgE/roE="; }; + }; + v194 = buildECTesterStandalone { + gcrypt = { version="1.9.4"; hash="sha256-6oScg6ckVOPtQmdpfoygM5Cu6XKrQh599p3+QrZcqvc="; }; + }; + v193 = buildECTesterStandalone { + gcrypt = { version="1.9.3"; hash="sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0="; }; + }; + v192 = buildECTesterStandalone { + gcrypt = { version="1.9.2"; hash="sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo="; }; + }; + v191 = buildECTesterStandalone { + gcrypt = { version="1.9.1"; hash="sha256-xaZ6i5sr03D7QV7R7jHHFy5Wgwdkk89KNnig+98CZdk="; }; + }; + # NOTE Do not use copied from the source https://gnupg.org/ftp/gcrypt/libgcrypt/ + v190_do_not_use = buildECTesterStandalone { + gcrypt = { version="1.9.0"; hash="sha256-TZzKpfmdtZ68tk1z9iglsFzoprf4bRkXhVnvhN4Tgcs="; }; + }; + v1811 = buildECTesterStandalone { + gcrypt = { version="1.8.11"; hash="sha256-yYJJ+1ux9gF/X5v0hDJ6lAtZB1vKfEb6aeu1QJgkmGA="; }; + }; + v1810 = buildECTesterStandalone { + gcrypt = { version="1.8.10"; hash="sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590="; }; + }; + v189 = buildECTesterStandalone { + gcrypt = { version="1.8.9"; hash="sha256-K9pHkKpfCJXTQHz3v2vXcn/ZkvJaRaY9kv7xB2f6N2k="; }; + }; + v188 = buildECTesterStandalone { + gcrypt = { version="1.8.8"; hash="sha256-iV3iu5gd0Sfwgh0c4T+t99dg+fp3N2SLFfLB/hPMWvU="; }; + }; + v187 = buildECTesterStandalone { + gcrypt = { version="1.8.7"; hash="sha256-A7cPAoKZVhtwNLiWbX3XfvFu0TnENECSX+h4JWGXR0g="; }; + }; + v186 = buildECTesterStandalone { + gcrypt = { version="1.8.6"; hash="sha256-DLonAGF7mfwzhkoMFrH6f9+XgdntNQn112cXjl/XuXU="; }; + }; + v185 = buildECTesterStandalone { + gcrypt = { version="1.8.5"; hash="sha256-O0oqlMtjfv9b3rvK9G9NlcTyUgb0WYCTOc2toOtXesM="; }; + }; + v184 = buildECTesterStandalone { + gcrypt = { version="1.8.4"; hash="sha256-9jgUOgZyYo/eDK10XpsU3rhd/7F1cJyswfT+JLk/Iic="; }; + }; + v183 = buildECTesterStandalone { + gcrypt = { version="1.8.3"; hash="sha256-ZuyQvgNnR2AvK0j5gxI2GpGAyXxoppCl83b6D2fQr3w="; }; + }; + v182 = buildECTesterStandalone { + gcrypt = { version="1.8.2"; hash="sha256-yAZMrnVYFEsT7w64cJNBI4DvoWxO4wrRLstUiGpSTAc="; }; + }; + v181 = buildECTesterStandalone { + gcrypt = { version="1.8.1"; hash="sha256-eih1+LGuAwFzLoeMDMoslmT/Ce9xQI8IXFDjMmVqeLM="; }; + }; + v180 = buildECTesterStandalone { + gcrypt = { version="1.8.0"; hash="sha256-I+SWl7h8xBc7A7R1fI30MU4xSQWPoYvcT4IJjxA9iRs="; }; + }; + v1710 = buildECTesterStandalone { + gcrypt = { version="1.7.10"; hash="sha256-ifBaQj3WaiXls4MICX4jhuZA0c+DUWDRmlx1NQBx2Uw="; }; + }; + v179 = buildECTesterStandalone { + gcrypt = { version="1.7.9"; hash="sha256-v+m7cDwRJsNkfaKBD9IwOcLwnUaWn3FhLCBl3D+pNzs="; }; + }; + v178 = buildECTesterStandalone { + gcrypt = { version="1.7.8"; hash="sha256-lIJ26kfmugJE82oXtR3N1Sz9HmZLChrDvIITT7bOwZk="; }; + }; + v177 = buildECTesterStandalone { + gcrypt = { version="1.7.7"; hash="sha256-ubheugeT6j5uZriW6wMfoF4aRRcnfMmrEIFrNZJUzZo="; }; + }; + v176 = buildECTesterStandalone { + gcrypt = { version="1.7.6"; hash="sha256-Ymqv7oSvnSziU9LBQ9wcCQLdoEV4DMJB85lw/GC+Bbw="; }; + }; + v175 = buildECTesterStandalone { + gcrypt = { version="1.7.5"; hash="sha256-0f6kEovu8rswpHCva6+rzMUDztNQU0+53Y9aU/+66AA="; }; + }; + v174 = buildECTesterStandalone { + gcrypt = { version="1.7.4"; hash="sha256-O2eGLi9HEeJcTOPMS0jVKlijr9zR2Malf5OhwO8D5cY="; }; + }; + v173 = buildECTesterStandalone { + gcrypt = { version="1.7.3"; hash="sha256-3axhEQd9ChYSJHWHviOMUpTdDuTXbce6eDzFX7AzcHE="; }; + }; + v172 = buildECTesterStandalone { + gcrypt = { version="1.7.2"; hash="sha256-PTXfkG1uqzVFBMBddJqbAhlEyyn/X2XI75w91fe2aJ8="; }; + }; + v171 = buildECTesterStandalone { + gcrypt = { version="1.7.1"; hash="sha256-RQ2c/L8WEcZNvjvQS2J7gzee+J8RQG2UyLujBeNtepU="; }; + }; + v170 = buildECTesterStandalone { + gcrypt = { version="1.7.0"; hash="sha256-sOZ+p0R0k5kTxNnZ70717DeO++K+vjY4ne4xnHm/+pI="; }; + }; + v166 = buildECTesterStandalone { + gcrypt = { version="1.6.6"; hash="sha256-+UYbRhm7eLJzqI1GiRV1DUGOiaPqO2QbqwVjqa9LBNA="; }; + }; + v165 = buildECTesterStandalone { + gcrypt = { version="1.6.5"; hash="sha256-9J68WELUVa5wGd7zPrWgFKDweiqDU9w6pQp2/R2vqSQ="; }; + }; + v164 = buildECTesterStandalone { + gcrypt = { version="1.6.4"; hash="sha256-ybwsf+Ll9OoTsMdPnSS8uxrYibs5KX2Agq6/I/QzYCY="; }; + }; + v163 = buildECTesterStandalone { + gcrypt = { version="1.6.3"; hash="sha256-QbSRe5OuNMag4hJzeNek1m2AWiqGoJkR1Pm9hx23Al8="; }; + }; + v162 = buildECTesterStandalone { + gcrypt = { version="1.6.2"; hash="sha256-3ghEkqazjNsntn6vdJzrp2v3Ap9jqcDDwbBciMmIXEw="; }; + }; + v161 = buildECTesterStandalone { + gcrypt = { version="1.6.1"; hash="sha256-ocPv6mn4/+dp9IizAM4ZDu6www3iSlPxwbbkIC/cIHA="; }; + }; + v160 = buildECTesterStandalone { + gcrypt = { version="1.6.0"; hash="sha256-Zi1QhgCtlMwzTmZbcBYTf+7fzKUiaZjGXd1Wvfyilwg="; }; + }; + v156 = buildECTesterStandalone { + gcrypt = { version="1.5.6"; hash="sha256-MBgmteUhyGcFb9Ywqtbwpg4XbRigF9prwksWld86vnk="; }; + }; + v155 = buildECTesterStandalone { + gcrypt = { version="1.5.5"; hash="sha256-2JWCA+eGvKR5zXyQOQaSXop+AzzLlZv1Mxe1fPEaBlU="; }; + }; + v154 = buildECTesterStandalone { + gcrypt = { version="1.5.4"; hash="sha256-1fiNn0GkaVPcJQzbhXUSmzfuIghAG3+jOMiX9mfH+zM="; }; + }; + v153 = buildECTesterStandalone { + gcrypt = { version="1.5.3"; hash="sha256-vPUzTn2jUsRd5q7F0ghM6aHTACn/SkpdoT8YSIdHWdE="; }; + }; + v152 = buildECTesterStandalone { + gcrypt = { version="1.5.2"; hash="sha256-5BpDOfUClPPJJfL3Gq8kJ+sWLSmU2pFmbfwyYhr+lj8="; }; + }; + v151 = buildECTesterStandalone { + gcrypt = { version="1.5.1"; hash="sha256-rZ6xWAjnaZmMC9jBgayIFCORn08QVYaRPcy8Dfv65Sc="; }; + }; + v150 = buildECTesterStandalone { + gcrypt = { version="1.5.0"; hash="sha256-S2L8UWAElAoFcQJUAaBYHUkZnxp237XOb9Y/UNuBc/o="; }; + }; + v146 = buildECTesterStandalone { + gcrypt = { version="1.4.6"; hash="sha256-Pksw2ms1e1ZTM9AiITO2SgQUvpm6cnMwgRZcjqm8a4U="; }; + }; + v145 = buildECTesterStandalone { + gcrypt = { version="1.4.5"; hash="sha256-SW+QfFMk3nU2fsYcY7/u0TCe8LxkhF3CCzWXcxq9nkA="; }; + }; + v144 = buildECTesterStandalone { + gcrypt = { version="1.4.4"; hash="sha256-MhK4gIDPj6AGFk04/Bdvr6XClZHIOE8oSriA2w2/MG8="; }; + }; + v143 = buildECTesterStandalone { + gcrypt = { version="1.4.3"; hash="sha256-iMgZvZ8B19SBiJjhM6USBE54w0MHqmBrapTuznwLIws="; }; + }; + v142 = buildECTesterStandalone { + gcrypt = { version="1.4.2"; hash="sha256-unQUhG9/O6IrIs842hug6dXCJjixxArAh85RZJgRUsM="; }; + }; + v141 = buildECTesterStandalone { + gcrypt = { version="1.4.1"; hash="sha256-/jsyvfDJLWs7t7Pks8Gaaomanetl8bNvCliC0wjJH6M="; }; + }; + v140 = buildECTesterStandalone { + gcrypt = { version="1.4.0"; hash="sha256-1/hV92aUSltuf/7i1v/fgoq3CazURTsOZK6oCM4nYOw="; }; + }; + v124 = buildECTesterStandalone { + gcrypt = { version="1.2.4"; hash="sha256-fWFVxNCkD7o9ug8hqVnHhIxzS6ZzTejifuomrlPAyIA="; }; + }; + v123 = buildECTesterStandalone { + gcrypt = { version="1.2.3"; hash="sha256-6OKRFjlRFIIHWAeSWILQBlYRPDHgqJAV1ITcFsbYD7Q="; }; + }; + v122 = buildECTesterStandalone { + gcrypt = { version="1.2.2"; hash="sha256-espQrfRId1XGHAWQ1286k1Lie9s908DcDP+Py0Eq5iQ="; }; + }; + v121 = buildECTesterStandalone { + gcrypt = { version="1.2.1"; hash="sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I="; }; + }; +} From b5b4f69fb751b9b781dd2c46fa1a4091676b80cc Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 14:16:26 +0200 Subject: [PATCH 061/131] Add libgcrypt version fetcher --- fetchReleases.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/fetchReleases.py b/fetchReleases.py index b462e1e5..cca8f9b3 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\d+)\.(?P\d+)\.(?P\d+)(?P_do_not_use)?\.(?P.*)", 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__': From 805df74b6308bc8c9db80bfc24391072db7adfc3 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 14:39:53 +0200 Subject: [PATCH 062/131] Allow testing against various versions of MbedTLS --- fetchReleases.py | 34 +++++++++++++ flake.nix | 17 ++++++- nix/mbedtls_pkg_versions.nix | 95 ++++++++++++++++++++++++++++++++++++ nix/mbedtlsshim.nix | 1 + 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 nix/mbedtls_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py index cca8f9b3..0945c43c 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__': diff --git a/flake.nix b/flake.nix index b3dc8db6..36d4e892 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,18 @@ libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; }); + + mbedtlsBuilder = { version, hash}: pkgs.mbedtls.overrideAttrs (final: prev: { + src = if version == null then prev.src else pkgs.fetchFromGitHub { + owner = "Mbed-TLS"; + repo = "mbedtls"; + rev = "mbedtls-${version}"; + inherit hash; + # mbedtls >= 3.6.0 uses git submodules + fetchSubmodules = true; + }; + }); + libtomcryptBuilder = { tcVersion, tcHash, tmVersion, tmHash }: (pkgs.libtomcrypt.override { libtommath = libtommathBuilder { version = tmVersion; hash = tmHash; }; }).overrideAttrs (final: prev: let @@ -203,7 +215,7 @@ opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; gcryptShimBuilder = { version, hash}: import ./nix/gcryptshim.nix { inherit pkgs libgpg-error; libgcrypt = libgcryptBuilder { inherit version hash; }; }; - mbedtlsShim = import ./nix/mbedtlsshim.nix { pkgs = pkgs; }; + mbedtlsShimBuilder = { version, hash }: import ./nix/mbedtlsshim.nix { inherit pkgs; mbedtls = ( mbedtlsBuilder { inherit version hash; }); }; ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; nettleShim = import ./nix/nettleshim.nix { inherit pkgs nettle gmp; }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; @@ -218,6 +230,7 @@ openssl ? { version = null; hash = null; }, boringssl ? { version = null; hash = null; }, gcrypt ? { version = null; hash = null; }, + mbedtls ? { version = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -230,6 +243,7 @@ botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; + mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -287,6 +301,7 @@ openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; gcrypt = pkgs.callPackage ./nix/gcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; + mbedtls = pkgs.callPackage ./nix/mbedtls_pkg_versions.nix { inherit buildECTesterStandalone; }; fetchReleases = with pkgs.python3Packages; buildPythonApplication { pname = "fetchReleases"; diff --git a/nix/mbedtls_pkg_versions.nix b/nix/mbedtls_pkg_versions.nix new file mode 100644 index 00000000..e429a4a1 --- /dev/null +++ b/nix/mbedtls_pkg_versions.nix @@ -0,0 +1,95 @@ +{ + buildECTesterStandalone +}: +{ + v360 = buildECTesterStandalone { + mbedtls = { version="v3.6.0"; hash="sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg="; }; + }; + v2288 = buildECTesterStandalone { + mbedtls = { version="v2.28.8"; hash="sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o="; }; + }; + v352 = buildECTesterStandalone { + mbedtls = { version="v3.5.2"; hash="sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM="; }; + }; + v2287 = buildECTesterStandalone { + mbedtls = { version="v2.28.7"; hash="sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw="; }; + }; + v351 = buildECTesterStandalone { + mbedtls = { version="v3.5.1"; hash="sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; }; + }; + v2286 = buildECTesterStandalone { + mbedtls = { version="v2.28.6"; hash="sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="; }; + }; + mbedtls-350 = buildECTesterStandalone { + mbedtls = { version="mbedtls-3.5.0"; hash="sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="; }; + }; + mbedtls-2285 = buildECTesterStandalone { + mbedtls = { version="mbedtls-2.28.5"; hash="sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="; }; + }; + v341 = buildECTesterStandalone { + mbedtls = { version="v3.4.1"; hash="sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts="; }; + }; + v2284 = buildECTesterStandalone { + mbedtls = { version="v2.28.4"; hash="sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE="; }; + }; + v340 = buildECTesterStandalone { + mbedtls = { version="v3.4.0"; hash="sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg="; }; + }; + v2283 = buildECTesterStandalone { + mbedtls = { version="v2.28.3"; hash="sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw="; }; + }; + v330 = buildECTesterStandalone { + mbedtls = { version="v3.3.0"; hash="sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; }; + }; + v2282 = buildECTesterStandalone { + mbedtls = { version="v2.28.2"; hash="sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; }; + }; + v321 = buildECTesterStandalone { + mbedtls = { version="v3.2.1"; hash="sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; }; + }; + v320 = buildECTesterStandalone { + mbedtls = { version="v3.2.0"; hash="sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ="; }; + }; + v2281 = buildECTesterStandalone { + mbedtls = { version="v2.28.1"; hash="sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; }; + }; + v310 = buildECTesterStandalone { + mbedtls = { version="v3.1.0"; hash="sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs="; }; + }; + v2280 = buildECTesterStandalone { + mbedtls = { version="v2.28.0"; hash="sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="; }; + }; + v21612 = buildECTesterStandalone { + mbedtls = { version="v2.16.12"; hash="sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q="; }; + }; + v300 = buildECTesterStandalone { + mbedtls = { version="v3.0.0"; hash="sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s="; }; + }; + v2270 = buildECTesterStandalone { + mbedtls = { version="v2.27.0"; hash="sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M="; }; + }; + v21611 = buildECTesterStandalone { + mbedtls = { version="v2.16.11"; hash="sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg="; }; + }; + v2260 = buildECTesterStandalone { + mbedtls = { version="v2.26.0"; hash="sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk="; }; + }; + v21610 = buildECTesterStandalone { + mbedtls = { version="v2.16.10"; hash="sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4="; }; + }; + v2719 = buildECTesterStandalone { + mbedtls = { version="v2.7.19"; hash="sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY="; }; + }; + v2250 = buildECTesterStandalone { + mbedtls = { version="v2.25.0"; hash="sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ="; }; + }; + v2169 = buildECTesterStandalone { + mbedtls = { version="v2.16.9"; hash="sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c="; }; + }; + v2718 = buildECTesterStandalone { + mbedtls = { version="v2.7.18"; hash="sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg="; }; + }; + v2240 = buildECTesterStandalone { + mbedtls = { version="v2.24.0"; hash="sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM="; }; + }; +} diff --git a/nix/mbedtlsshim.nix b/nix/mbedtlsshim.nix index 2dff2f07..cbb850cd 100644 --- a/nix/mbedtlsshim.nix +++ b/nix/mbedtlsshim.nix @@ -1,5 +1,6 @@ { pkgs + , mbedtls }: with pkgs; stdenv.mkDerivation rec { name = "MbedTLSShim"; From 2ee39e74d80fe0812c6436b359a7a73ea4e30cc2 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 15:17:19 +0200 Subject: [PATCH 063/131] Build various version of IPP Crypto --- fetchReleases.py | 30 +++++++++++++++ flake.nix | 14 ++++++- nix/ippcp_pkg_versions.nix | 77 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 nix/ippcp_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py index 0945c43c..4d4c0c70 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -183,6 +183,34 @@ def fetch_mbedtls(): 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 fetch_ippcp(): + # https://api.github.com/repos/intel/ipp-crypto/releases + pkg = "ippcp" + owner = "intel" + repo = "ipp-crypto" + 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'].split('_')[1] + print(version) + flat_version = "v" + version.replace('.', '_') + download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.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) @@ -209,6 +237,8 @@ def main(): fetch_gcrypt() case "mbedtls": fetch_mbedtls() + case "ippcp": + fetch_ippcp() case _: print("Unknown library") diff --git a/flake.nix b/flake.nix index 36d4e892..efdf3077 100644 --- a/flake.nix +++ b/flake.nix @@ -89,6 +89,15 @@ }; }); + ipp-cryptoBuilder = { version, hash }: customPkgs.ipp-crypto.overrideAttrs (final: prev: { + src = if version == null then prev.src else pkgs.fetchFromGitHub { + owner = "intel"; + repo = "ipp-crypto"; + rev = "ippcp_${version}"; + inherit hash; + }; + }); + libtomcryptBuilder = { tcVersion, tcHash, tmVersion, tmHash }: (pkgs.libtomcrypt.override { libtommath = libtommathBuilder { version = tmVersion; hash = tmHash; }; }).overrideAttrs (final: prev: let @@ -216,7 +225,7 @@ boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; 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; }); }; - ippcpShim = import ./nix/ippcpshim.nix { pkgs = pkgs; ipp-crypto = customPkgs.ipp-crypto; }; + 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; }; libresslShim = import ./nix/libresslshim.nix { inherit pkgs libressl; }; @@ -231,6 +240,7 @@ boringssl ? { version = null; hash = null; }, gcrypt ? { version = null; hash = null; }, mbedtls ? { version = null; hash = null; }, + ippcp ? { version = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -244,6 +254,7 @@ cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; + ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -302,6 +313,7 @@ boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; 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; }; fetchReleases = with pkgs.python3Packages; buildPythonApplication { pname = "fetchReleases"; diff --git a/nix/ippcp_pkg_versions.nix b/nix/ippcp_pkg_versions.nix new file mode 100644 index 00000000..ac972085 --- /dev/null +++ b/nix/ippcp_pkg_versions.nix @@ -0,0 +1,77 @@ +{ + buildECTesterStandalone +}: +{ + v2021_12_1 = buildECTesterStandalone { + ippcp = { version="2021.12.1"; hash="sha256-voxjx9Np/8jy9XS6EvUK4aW18/DGQGaPpTKm9RzuCU8="; }; + }; + v2021_12_0 = buildECTesterStandalone { + ippcp = { version="2021.12.0"; hash="sha256-FeCfiXwOUM3cL4Ah3IjLa/2SKo9WHTZFUfg/w8WTNcc="; }; + }; + v2021_11_1 = buildECTesterStandalone { + ippcp = { version="2021.11.1"; hash="sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI="; }; + }; + v2021_11_0 = buildECTesterStandalone { + ippcp = { version="2021.11.0"; hash="sha256-MVhiKEJxYa1HaicPbkzrAlZxFqIEP7eDLusC/T52gXI="; }; + }; + v2021_10_0 = buildECTesterStandalone { + ippcp = { version="2021.10.0"; hash="sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg="; }; + }; + v2021_9_0 = buildECTesterStandalone { + ippcp = { version="2021.9.0"; hash="sha256-+ITnxyrkDQp4xRa+PVzXdYsSkI5sMNwQGfGU+lFJ6co="; }; + }; + v2021_8 = buildECTesterStandalone { + ippcp = { version="2021.8"; hash="sha256-Iz1Pql+cf2DdPe7KoNpxQ7H76SFwWkUbtL4bJxr7D4w="; }; + }; + v2021_7_1 = buildECTesterStandalone { + ippcp = { version="2021.7.1"; hash="sha256-iyg4ja7tsbpng7XOZwISri+x8knwEeyh/aP9ldhQY60="; }; + }; + v2021_7 = buildECTesterStandalone { + ippcp = { version="2021.7"; hash="sha256-3W0LlJgmrp2Rk7xQ+0GQfkF2UpH4htx9R7IL86smtnY="; }; + }; + v2021_6 = buildECTesterStandalone { + ippcp = { version="2021.6"; hash="sha256-lr6oiJTaTQhTrxhdY5dTfOrl/ZBwOYbuyuNU3tJbEe0="; }; + }; + v2021_5 = buildECTesterStandalone { + ippcp = { version="2021.5"; hash="sha256-xc44XvGz9KnbLKKMmSJQ2Eq8IhEFVb0tYIWVW4oJRuo="; }; + }; + v2021_4 = buildECTesterStandalone { + ippcp = { version="2021.4"; hash="sha256-SyRY3BoHY7zQIFA6j0U0W0oD5PZhp3vsvFQVBw4/AXY="; }; + }; + v2021_3 = buildECTesterStandalone { + ippcp = { version="2021.3"; hash="sha256-QEJXvQ//zhQqibFxXwPMdS1MHewgyb24LRmkycVSGrM="; }; + }; + v2021_2 = buildECTesterStandalone { + ippcp = { version="2021.2"; hash="sha256-8I3y//LK5TcyC71fdX1biF588rdK2AplO6eh9GUHx9U="; }; + }; + v2020u3 = buildECTesterStandalone { + ippcp = { version="2020u3"; hash="sha256-i/iPOSTKR02pHzxBRn3odZJ+6SzGtS+pCG1BWo1qdAs="; }; + }; + v2020u2 = buildECTesterStandalone { + ippcp = { version="2020u2"; hash="sha256-cn76ju41RdEJxH9SmF75Z38V3e9vnLXGdyjh4hISpr8="; }; + }; + v2020u1 = buildECTesterStandalone { + ippcp = { version="2020u1"; hash="sha256-4h5Zrx4hvsvZkXpHu0ZXJftoLFms34PstTRN0gHCXrM="; }; + }; + v2020 = buildECTesterStandalone { + ippcp = { version="2020"; hash="sha256-k4CuLLtNX+wrEGRgoIP9e0wp42U1VRF96nhDE8qNkMk="; }; + }; + v2019u4 = buildECTesterStandalone { + ippcp = { version="2019u4"; hash="sha256-Xi3I0frlR/OjX4IRJyBuFcSkrCaxL9ABRZ1w8FUAseg="; }; + }; + v2019u3 = buildECTesterStandalone { + ippcp = { version="2019u3"; hash="sha256-8sdPlRNfdjMkc061e6EFpJMMA1QKK5/SpKlMV2E5TH4="; }; + }; + v2019u2 = buildECTesterStandalone { + ippcp = { version="2019u2"; hash="sha256-WoiO1pXA6UTRdKCcn9ckMk4/6IvbQAK4k7d8P3rGbqc="; }; + }; + v2019u1 = buildECTesterStandalone { + ippcp = { version="2019u1"; hash="sha256-2KcZz+7NrhbvRVLXtdME73uMBrhw+4q0ajiXeWwZdJs="; }; + }; + v2019 = buildECTesterStandalone { + ippcp = { version="2019"; hash="sha256-iTupt9pRN+6ze3Hf/dmtve9u15iVL0g2kujUpyGgums="; }; + }; + v2019b = buildECTesterStandalone { + ippcp = { version="2019b"; hash="sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8="; }; + }; +} \ No newline at end of file From 92393806db443a408fa78cf2753a4b88462e10d3 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 17:12:23 +0200 Subject: [PATCH 064/131] Build various version of Nettle --- fetchReleases.py | 35 ++++++++++++++ flake.nix | 11 ++++- nix/nettle_pkg_versions.nix | 95 +++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 nix/nettle_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py index 4d4c0c70..a0783dfc 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") diff --git a/flake.nix b/flake.nix index efdf3077..68a4630c 100644 --- a/flake.nix +++ b/flake.nix @@ -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 00000000..9316040b --- /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="; }; + }; +} From 90d423d853fa2319bbe54170aa95cc8627f88924 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 18:24:06 +0200 Subject: [PATCH 065/131] Default to previous source not version --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 68a4630c..314d2d2a 100644 --- a/flake.nix +++ b/flake.nix @@ -166,7 +166,7 @@ }); 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 { + src = if version == null then prev.src else pkgs.fetchurl { url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; inherit hash; }; From d82e729e70691521c2bc197db42505025b93ed55 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 18:25:30 +0200 Subject: [PATCH 066/131] Build various version of LibreSSL --- fetchReleases.py | 31 +++ flake.nix | 14 +- nix/libressl_pkg_versions.nix | 362 ++++++++++++++++++++++++++++++++++ 3 files changed, 404 insertions(+), 3 deletions(-) create mode 100644 nix/libressl_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py index a0783dfc..b799e7ea 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -251,6 +251,35 @@ def fetch_nettle(): with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) +def fetch_libressl(): + pkg = "libressl" + release_list = "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/" + download_url = "mirror://openbsd/LibreSSL/libressl-{version}.tar.gz" + 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("libressl") and link.text.endswith('.tar.gz'): + match = re.match(r"libressl-(?P\d+)\.(?P\d+)\.(?P\d+)\.tar.gz", link.text) + version = f"{match['major']}.{match['minor']}.{match['patch']}" + download_link = download_url.format(version=version) + print(version) + digest = get_source_hash(download_link) + # NOTE: use underscore to separate the versions? + flat_version = f"v{match['major']}{match['minor']}{match['patch']}" + + rendered = single_version_template.render(pkg="botan", 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/{pkg}_pkg_versions.nix", "w") as handle: + handle.write(all_versions) + def main(): parser = argparse.ArgumentParser() @@ -274,6 +303,8 @@ def main(): fetch_ippcp() case "nettle": fetch_nettle() + case "libressl": + fetch_libressl() case _: print("Unknown library") diff --git a/flake.nix b/flake.nix index 314d2d2a..e63304b6 100644 --- a/flake.nix +++ b/flake.nix @@ -180,7 +180,12 @@ inherit hash; }; }); - libressl = (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (_old: rec { + libresslBuilder = { version, hash }: (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (final: prev: rec { + + src = if version == null then prev.src else pkgs.fetchurl { + url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; + inherit hash; + }; patches = [ (pkgs.fetchpatch { url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; @@ -194,7 +199,7 @@ # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple # lib shims are built alongside each other. postFixup = pkgs.lib.concatLines [ - ( _old.postFixup or "" ) + ( prev.postFixup or "" ) '' cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc @@ -231,7 +236,7 @@ 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; }); }; 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; }; + libresslShimBuilder = { version, hash }: import ./nix/libresslshim.nix { inherit pkgs; libressl = ( libresslBuilder { inherit version hash; }); }; commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; @@ -246,6 +251,7 @@ mbedtls ? { version = null; hash = null; }, ippcp ? { version = null; hash = null; }, nettle ? { version = null; tag = null; hash = null; }, + libressl ? { version = null; hash = null; }, }: ( let tomcryptShim = tomcryptShimBuilder { @@ -261,6 +267,7 @@ mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; }; nettleShim = nettleShimBuilder { inherit (nettle) version tag hash; }; + libresslShim = libresslShimBuilder { inherit (libressl) version hash; }; in with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { @@ -321,6 +328,7 @@ 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; }; + libressl = pkgs.callPackage ./nix/libressl_pkg_versions.nix { inherit buildECTesterStandalone; }; fetchReleases = with pkgs.python3Packages; buildPythonApplication { pname = "fetchReleases"; diff --git a/nix/libressl_pkg_versions.nix b/nix/libressl_pkg_versions.nix new file mode 100644 index 00000000..16215216 --- /dev/null +++ b/nix/libressl_pkg_versions.nix @@ -0,0 +1,362 @@ +{ + buildECTesterStandalone +}: +{ + v200 = buildECTesterStandalone { + libressl = { version="2.0.0"; hash="sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s="; }; + }; + v201 = buildECTesterStandalone { + libressl = { version="2.0.1"; hash="sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro="; }; + }; + v202 = buildECTesterStandalone { + libressl = { version="2.0.2"; hash="sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys="; }; + }; + v203 = buildECTesterStandalone { + libressl = { version="2.0.3"; hash="sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ="; }; + }; + v204 = buildECTesterStandalone { + libressl = { version="2.0.4"; hash="sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw="; }; + }; + v205 = buildECTesterStandalone { + libressl = { version="2.0.5"; hash="sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo="; }; + }; + v206 = buildECTesterStandalone { + libressl = { version="2.0.6"; hash="sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y="; }; + }; + v210 = buildECTesterStandalone { + libressl = { version="2.1.0"; hash="sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w="; }; + }; + v211 = buildECTesterStandalone { + libressl = { version="2.1.1"; hash="sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc="; }; + }; + v2110 = buildECTesterStandalone { + libressl = { version="2.1.10"; hash="sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE="; }; + }; + v212 = buildECTesterStandalone { + libressl = { version="2.1.2"; hash="sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I="; }; + }; + v213 = buildECTesterStandalone { + libressl = { version="2.1.3"; hash="sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w="; }; + }; + v214 = buildECTesterStandalone { + libressl = { version="2.1.4"; hash="sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4="; }; + }; + v215 = buildECTesterStandalone { + libressl = { version="2.1.5"; hash="sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s="; }; + }; + v216 = buildECTesterStandalone { + libressl = { version="2.1.6"; hash="sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g="; }; + }; + v217 = buildECTesterStandalone { + libressl = { version="2.1.7"; hash="sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248="; }; + }; + v218 = buildECTesterStandalone { + libressl = { version="2.1.8"; hash="sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM="; }; + }; + v219 = buildECTesterStandalone { + libressl = { version="2.1.9"; hash="sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654="; }; + }; + v220 = buildECTesterStandalone { + libressl = { version="2.2.0"; hash="sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA="; }; + }; + v221 = buildECTesterStandalone { + libressl = { version="2.2.1"; hash="sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0="; }; + }; + v222 = buildECTesterStandalone { + libressl = { version="2.2.2"; hash="sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ="; }; + }; + v223 = buildECTesterStandalone { + libressl = { version="2.2.3"; hash="sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II="; }; + }; + v224 = buildECTesterStandalone { + libressl = { version="2.2.4"; hash="sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4="; }; + }; + v225 = buildECTesterStandalone { + libressl = { version="2.2.5"; hash="sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs="; }; + }; + v226 = buildECTesterStandalone { + libressl = { version="2.2.6"; hash="sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8="; }; + }; + v227 = buildECTesterStandalone { + libressl = { version="2.2.7"; hash="sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80="; }; + }; + v228 = buildECTesterStandalone { + libressl = { version="2.2.8"; hash="sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws="; }; + }; + v229 = buildECTesterStandalone { + libressl = { version="2.2.9"; hash="sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ="; }; + }; + v230 = buildECTesterStandalone { + libressl = { version="2.3.0"; hash="sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA="; }; + }; + v231 = buildECTesterStandalone { + libressl = { version="2.3.1"; hash="sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4="; }; + }; + v2310 = buildECTesterStandalone { + libressl = { version="2.3.10"; hash="sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM="; }; + }; + v232 = buildECTesterStandalone { + libressl = { version="2.3.2"; hash="sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo="; }; + }; + v233 = buildECTesterStandalone { + libressl = { version="2.3.3"; hash="sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk="; }; + }; + v234 = buildECTesterStandalone { + libressl = { version="2.3.4"; hash="sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk="; }; + }; + v235 = buildECTesterStandalone { + libressl = { version="2.3.5"; hash="sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs="; }; + }; + v236 = buildECTesterStandalone { + libressl = { version="2.3.6"; hash="sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o="; }; + }; + v237 = buildECTesterStandalone { + libressl = { version="2.3.7"; hash="sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA="; }; + }; + v238 = buildECTesterStandalone { + libressl = { version="2.3.8"; hash="sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I="; }; + }; + v239 = buildECTesterStandalone { + libressl = { version="2.3.9"; hash="sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw="; }; + }; + v240 = buildECTesterStandalone { + libressl = { version="2.4.0"; hash="sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4="; }; + }; + v241 = buildECTesterStandalone { + libressl = { version="2.4.1"; hash="sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc="; }; + }; + v242 = buildECTesterStandalone { + libressl = { version="2.4.2"; hash="sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM="; }; + }; + v243 = buildECTesterStandalone { + libressl = { version="2.4.3"; hash="sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4="; }; + }; + v244 = buildECTesterStandalone { + libressl = { version="2.4.4"; hash="sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E="; }; + }; + v245 = buildECTesterStandalone { + libressl = { version="2.4.5"; hash="sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c="; }; + }; + v250 = buildECTesterStandalone { + libressl = { version="2.5.0"; hash="sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4="; }; + }; + v251 = buildECTesterStandalone { + libressl = { version="2.5.1"; hash="sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80="; }; + }; + v252 = buildECTesterStandalone { + libressl = { version="2.5.2"; hash="sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII="; }; + }; + v253 = buildECTesterStandalone { + libressl = { version="2.5.3"; hash="sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA="; }; + }; + v254 = buildECTesterStandalone { + libressl = { version="2.5.4"; hash="sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo="; }; + }; + v255 = buildECTesterStandalone { + libressl = { version="2.5.5"; hash="sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q="; }; + }; + v260 = buildECTesterStandalone { + libressl = { version="2.6.0"; hash="sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM="; }; + }; + v261 = buildECTesterStandalone { + libressl = { version="2.6.1"; hash="sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4="; }; + }; + v262 = buildECTesterStandalone { + libressl = { version="2.6.2"; hash="sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg="; }; + }; + v263 = buildECTesterStandalone { + libressl = { version="2.6.3"; hash="sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg="; }; + }; + v264 = buildECTesterStandalone { + libressl = { version="2.6.4"; hash="sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8="; }; + }; + v265 = buildECTesterStandalone { + libressl = { version="2.6.5"; hash="sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So="; }; + }; + v270 = buildECTesterStandalone { + libressl = { version="2.7.0"; hash="sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4="; }; + }; + v271 = buildECTesterStandalone { + libressl = { version="2.7.1"; hash="sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA="; }; + }; + v272 = buildECTesterStandalone { + libressl = { version="2.7.2"; hash="sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU="; }; + }; + v273 = buildECTesterStandalone { + libressl = { version="2.7.3"; hash="sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U="; }; + }; + v274 = buildECTesterStandalone { + libressl = { version="2.7.4"; hash="sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY="; }; + }; + v275 = buildECTesterStandalone { + libressl = { version="2.7.5"; hash="sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA="; }; + }; + v280 = buildECTesterStandalone { + libressl = { version="2.8.0"; hash="sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM="; }; + }; + v281 = buildECTesterStandalone { + libressl = { version="2.8.1"; hash="sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I="; }; + }; + v282 = buildECTesterStandalone { + libressl = { version="2.8.2"; hash="sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U="; }; + }; + v283 = buildECTesterStandalone { + libressl = { version="2.8.3"; hash="sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc="; }; + }; + v290 = buildECTesterStandalone { + libressl = { version="2.9.0"; hash="sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ="; }; + }; + v291 = buildECTesterStandalone { + libressl = { version="2.9.1"; hash="sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg="; }; + }; + v292 = buildECTesterStandalone { + libressl = { version="2.9.2"; hash="sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ="; }; + }; + v300 = buildECTesterStandalone { + libressl = { version="3.0.0"; hash="sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY="; }; + }; + v301 = buildECTesterStandalone { + libressl = { version="3.0.1"; hash="sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s="; }; + }; + v302 = buildECTesterStandalone { + libressl = { version="3.0.2"; hash="sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4="; }; + }; + v310 = buildECTesterStandalone { + libressl = { version="3.1.0"; hash="sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY="; }; + }; + v311 = buildECTesterStandalone { + libressl = { version="3.1.1"; hash="sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA="; }; + }; + v312 = buildECTesterStandalone { + libressl = { version="3.1.2"; hash="sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI="; }; + }; + v313 = buildECTesterStandalone { + libressl = { version="3.1.3"; hash="sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A="; }; + }; + v314 = buildECTesterStandalone { + libressl = { version="3.1.4"; hash="sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y="; }; + }; + v315 = buildECTesterStandalone { + libressl = { version="3.1.5"; hash="sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ="; }; + }; + v320 = buildECTesterStandalone { + libressl = { version="3.2.0"; hash="sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU="; }; + }; + v321 = buildECTesterStandalone { + libressl = { version="3.2.1"; hash="sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU="; }; + }; + v322 = buildECTesterStandalone { + libressl = { version="3.2.2"; hash="sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E="; }; + }; + v323 = buildECTesterStandalone { + libressl = { version="3.2.3"; hash="sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM="; }; + }; + v324 = buildECTesterStandalone { + libressl = { version="3.2.4"; hash="sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo="; }; + }; + v325 = buildECTesterStandalone { + libressl = { version="3.2.5"; hash="sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4="; }; + }; + v326 = buildECTesterStandalone { + libressl = { version="3.2.6"; hash="sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls="; }; + }; + v327 = buildECTesterStandalone { + libressl = { version="3.2.7"; hash="sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q="; }; + }; + v330 = buildECTesterStandalone { + libressl = { version="3.3.0"; hash="sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY="; }; + }; + v331 = buildECTesterStandalone { + libressl = { version="3.3.1"; hash="sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s="; }; + }; + v332 = buildECTesterStandalone { + libressl = { version="3.3.2"; hash="sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ="; }; + }; + v333 = buildECTesterStandalone { + libressl = { version="3.3.3"; hash="sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY="; }; + }; + v334 = buildECTesterStandalone { + libressl = { version="3.3.4"; hash="sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE="; }; + }; + v335 = buildECTesterStandalone { + libressl = { version="3.3.5"; hash="sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU="; }; + }; + v336 = buildECTesterStandalone { + libressl = { version="3.3.6"; hash="sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o="; }; + }; + v340 = buildECTesterStandalone { + libressl = { version="3.4.0"; hash="sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI="; }; + }; + v341 = buildECTesterStandalone { + libressl = { version="3.4.1"; hash="sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw="; }; + }; + v342 = buildECTesterStandalone { + libressl = { version="3.4.2"; hash="sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84="; }; + }; + v343 = buildECTesterStandalone { + libressl = { version="3.4.3"; hash="sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0="; }; + }; + v350 = buildECTesterStandalone { + libressl = { version="3.5.0"; hash="sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c="; }; + }; + v351 = buildECTesterStandalone { + libressl = { version="3.5.1"; hash="sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg="; }; + }; + v352 = buildECTesterStandalone { + libressl = { version="3.5.2"; hash="sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8="; }; + }; + v353 = buildECTesterStandalone { + libressl = { version="3.5.3"; hash="sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg="; }; + }; + v354 = buildECTesterStandalone { + libressl = { version="3.5.4"; hash="sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w="; }; + }; + v360 = buildECTesterStandalone { + libressl = { version="3.6.0"; hash="sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ="; }; + }; + v361 = buildECTesterStandalone { + libressl = { version="3.6.1"; hash="sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q="; }; + }; + v362 = buildECTesterStandalone { + libressl = { version="3.6.2"; hash="sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM="; }; + }; + v363 = buildECTesterStandalone { + libressl = { version="3.6.3"; hash="sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc="; }; + }; + v370 = buildECTesterStandalone { + libressl = { version="3.7.0"; hash="sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY="; }; + }; + v371 = buildECTesterStandalone { + libressl = { version="3.7.1"; hash="sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0="; }; + }; + v372 = buildECTesterStandalone { + libressl = { version="3.7.2"; hash="sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc="; }; + }; + v373 = buildECTesterStandalone { + libressl = { version="3.7.3"; hash="sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM="; }; + }; + v380 = buildECTesterStandalone { + libressl = { version="3.8.0"; hash="sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw="; }; + }; + v381 = buildECTesterStandalone { + libressl = { version="3.8.1"; hash="sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I="; }; + }; + v382 = buildECTesterStandalone { + libressl = { version="3.8.2"; hash="sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ="; }; + }; + v383 = buildECTesterStandalone { + libressl = { version="3.8.3"; hash="sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI="; }; + }; + v384 = buildECTesterStandalone { + libressl = { version="3.8.4"; hash="sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0="; }; + }; + v390 = buildECTesterStandalone { + libressl = { version="3.9.0"; hash="sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA="; }; + }; + v391 = buildECTesterStandalone { + libressl = { version="3.9.1"; hash="sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE="; }; + }; + v392 = buildECTesterStandalone { + libressl = { version="3.9.2"; hash="sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; }; + }; +} From 358e66d957d976a667ce76a1346ab5430ad4f233 Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 6 Aug 2024 18:29:09 +0200 Subject: [PATCH 067/131] Remove old and release-candidate versions and hash unpacked source --- nix/nettle_pkg_versions.nix | 72 ++++++++++--------------------------- 1 file changed, 18 insertions(+), 54 deletions(-) diff --git a/nix/nettle_pkg_versions.nix b/nix/nettle_pkg_versions.nix index 9316040b..c5d72709 100644 --- a/nix/nettle_pkg_versions.nix +++ b/nix/nettle_pkg_versions.nix @@ -2,94 +2,58 @@ 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="; }; + nettle = { version="3.8.1"; tag="nettle_3.8.1_release_20220727"; hash="sha256-Nk8+K3fNfc3oP9fEUhnINOVLDHXkKLb4lKI9Et1By/4="; }; }; v3_8 = buildECTesterStandalone { - nettle = { version="3.8"; tag="nettle_3.8_release_20220602"; hash="sha256-jeKsfLmlokjrGxzcaP6Kl+IfmiHhh4GUvZKf6dVDknw="; }; + nettle = { version="3.8"; tag="nettle_3.8_release_20220602"; hash="sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY="; }; }; v3_7_3 = buildECTesterStandalone { - nettle = { version="3.7.3"; tag="nettle_3.7.3_release_20210606"; hash="sha256-xeunS+6/xPa0QPcc4J2AMtSAQ5p2pVAorFUQ6TWXa4g="; }; + nettle = { version="3.7.3"; tag="nettle_3.7.3_release_20210606"; hash="sha256-Zh9esD8EijuSTDqK0lFdQGjkD2fndOiiaCdlgAfjvPA="; }; }; v3_7_2 = buildECTesterStandalone { - nettle = { version="3.7.2"; tag="nettle_3.7.2_release_20210321"; hash="sha256-JVh5uBtJpbgXUQNphCfLjsUddWSMoLvW3X9tgr1hBEo="; }; + nettle = { version="3.7.2"; tag="nettle_3.7.2_release_20210321"; hash="sha256-jSpgTvHN5M1ft35CJTHqJa0GRnn/Ct+VbnizNS4O8WI="; }; }; v3_7_1 = buildECTesterStandalone { - nettle = { version="3.7.1"; tag="nettle_3.7.1_release_20210217"; hash="sha256-+C4W9juzJLCCxDdZPgBbT7DvUe7koIKnkTC/j0tsXJQ="; }; + nettle = { version="3.7.1"; tag="nettle_3.7.1_release_20210217"; hash="sha256-FWYhQnx7AKdf+bNLdwuV00+A73pVw0B96UsWy/Q2xC4="; }; }; 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="; }; + nettle = { version="3.7"; tag="nettle_3.7_release_20210104"; hash="sha256-8AH2TrREvxPdkbzsy8IKy8YMQxHW4rIIeEUuuanOx1o="; }; }; 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="; }; + nettle = { version="3.6"; tag="nettle_3.6_release_20200429"; hash="sha256-0kwNDyq/+8j0803PEUsPEx7Dd0iV81VZIv4vQPPV4/E="; }; }; v3_5_1 = buildECTesterStandalone { - nettle = { version="3.5.1"; tag="nettle_3.5.1_release_20190627"; hash="sha256-/vENdrjJFL8M4vde388HfRee23lXLScn9wFF2oOP6tE="; }; + nettle = { version="3.5.1"; tag="nettle_3.5.1_release_20190627"; hash="sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk="; }; }; 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="; }; + nettle = { version="3.5"; tag="nettle_3.5_release_20190626"; hash="sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08="; }; }; 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="; }; + nettle = { version="3.4.1"; tag="nettle_3.4.1_release_20181204"; hash="sha256-+UHPFTXNXRgZvlzK5bq+8B9tthH5tad3uunHYEuKkq0="; }; }; 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="; }; + nettle = { version="3.4"; tag="nettle_3.4_release_20171119"; hash="sha256-rnpC3wJlULhdrKg4m2pgumMTsFZ/N0OS5UkYWIpBHpQ="; }; }; v3_3 = buildECTesterStandalone { - nettle = { version="3.3"; tag="nettle_3.3_release_20161001"; hash="sha256-TJRhYgPyHeiYsvYZ7L+XjxWFGZll/fJ+vVorWTB5W7c="; }; + nettle = { version="3.3"; tag="nettle_3.3_release_20161001"; hash="sha256-RpQmJ9XQyhFyD+wY2B/Dj374N+pBl8H2MOcc4NRwsR4="; }; }; v3_2 = buildECTesterStandalone { - nettle = { version="3.2"; tag="nettle_3.2_release_20160128"; hash="sha256-vlCi3iReSN4sASl78jZ3u0/yO4CK8HH42cupdnxCWVU="; }; + nettle = { version="3.2"; tag="nettle_3.2_release_20160128"; hash="sha256-6kKD3vI2QT7ataTPnPMq31QMjfG5tnZBz8IwL8qEnZc="; }; }; v3_1_1 = buildECTesterStandalone { - nettle = { version="3.1.1"; tag="nettle_3.1.1_release_20150424"; hash="sha256-lrpCg/u1ZJvsiTrwkTx6+8BVV/rdlaRw5do72crKoRg="; }; + nettle = { version="3.1.1"; tag="nettle_3.1.1_release_20150424"; hash="sha256-X9TSXWTY3cuF0NiXVyr3OwW00WPGzElDilv7uP8pPUw="; }; }; 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="; }; + nettle = { version="3.1"; tag="nettle_3.1_release_20150407"; hash="sha256-9oWdTsiOcIBVkK+YYrS4xDotH8eZHfCnpxGx58qfydM="; }; }; v3_0 = buildECTesterStandalone { - nettle = { version="3.0"; tag="nettle_3.0_release_20140607"; hash="sha256-AxE+Eten1JodHj+InuMvs/FlWVsxzqr3spunUwvJxIQ="; }; + nettle = { version="3.0"; tag="nettle_3.0_release_20140607"; hash="sha256-llHAvSMm63N9DtnrQDREcSQHwBolsP6BNDLvMb682RM="; }; }; v2_7_1 = buildECTesterStandalone { - nettle = { version="2.7.1"; tag="nettle_2.7.1_release_20130528"; hash="sha256-m28lItoyyuwmXr83YVlQluUyFN9ySWz6WnUtfr3DQkM="; }; + nettle = { version="2.7.1"; tag="nettle_2.7.1_release_20130528"; hash="sha256-vHHr1DQ1U312d5nkFPzojlIbcnjUjIYGUSFuH8ZVW0A="; }; }; v2_7 = buildECTesterStandalone { - nettle = { version="2.7"; tag="nettle_2.7_release_20130424"; hash="sha256-NubTzUzAYaPgZO1v8iwWPYa1PtHlAbzpHcPpGoaeabo="; }; + nettle = { version="2.7"; tag="nettle_2.7_release_20130424"; hash="sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY="; }; }; } From c47d49f0d58162bdbb9456db07911469af01c313 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 7 Aug 2024 14:19:53 +0200 Subject: [PATCH 068/131] Build last 100 revisions of BoringSSL --- flake.nix | 30 +--- nix/boringssl_pkg_versions.nix | 319 +++++++++++++++++++++++++++++++-- 2 files changed, 308 insertions(+), 41 deletions(-) diff --git a/flake.nix b/flake.nix index e63304b6..fec71e9b 100644 --- a/flake.nix +++ b/flake.nix @@ -23,28 +23,13 @@ getMajorMinor = version: builtins.concatStringsSep "." (pkgs.lib.take 2 ( builtins.splitVersion version)); # Altered upstream packages - boringssl = with pkgs; pkgs.boringssl.overrideAttrs (final: prev: rec { - src = fetchgit { + boringsslBuilder = { rev, hash }: pkgs.boringssl.overrideAttrs (final: prev: rec { + src = if rev == null then prev.src else pkgs.fetchgit { url = "https://boringssl.googlesource.com/boringssl"; - rev = "67422ed4434116daa8898773692165ddd51a6ac2"; - hash = "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; + inherit rev hash; }; - - # NOTE this build does not match upstream, but is what ECTester did at the time of writing - buildPhase = '' - cmake -GNinja -Bbuild - pushd build - ninja crypto - popd - ''; - - installPhase = '' - mkdir --parents $bin/bin $dev $out/lib - mv include $dev - - pushd build - mv crypto/libcrypto.a $out/lib/lib_boringssl.a - popd + postFixup = '' + cp $out/lib/libcrypto.a $out/lib/lib_boringssl.a ''; }); # FIXME: `nix develeop` now has different version than `nix run` @@ -231,7 +216,7 @@ botanShimBuilder = { version, source_extension, hash }: pkgs.callPackage ./nix/botanshim.nix { botan2 = botan2Builder { inherit version source_extension hash; }; }; cryptoppShimBuilder = { version, hash}: pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; };}; opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; - boringsslShim = import ./nix/boringsslshim.nix { inherit pkgs; boringssl = boringssl; }; + boringsslShimBuilder = { rev, hash }: import ./nix/boringsslshim.nix { inherit pkgs; boringssl = ( boringsslBuilder { inherit rev hash; }); }; 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; }); }; @@ -246,7 +231,7 @@ botan ? { version = null; source_extension = null; hash = null; }, cryptopp ? { version = null; hash = null; }, openssl ? { version = null; hash = null; }, - boringssl ? { version = null; hash = null; }, + boringssl ? { rev = null; hash = null; }, gcrypt ? { version = null; hash = null; }, mbedtls ? { version = null; hash = null; }, ippcp ? { version = null; hash = null; }, @@ -263,6 +248,7 @@ opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; + boringsslShim = boringsslShimBuilder { inherit (boringssl) rev hash; }; gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; }; mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; }; ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; }; diff --git a/nix/boringssl_pkg_versions.nix b/nix/boringssl_pkg_versions.nix index 0c4ab10e..19798148 100644 --- a/nix/boringssl_pkg_versions.nix +++ b/nix/boringssl_pkg_versions.nix @@ -1,24 +1,305 @@ { buildECTesterStandalone }: -{ -# "version_for_cocoapods_10.0", - -# "version_for_cocoapods_9.0", -# "version_for_cocoapods_8.0", -# "version_for_cocoapods_7.0", -# "version_for_cocoapods_6.0", -# "version_for_cocoapods_5.0", -# "version_for_cocoapods_4.0", -# "version_for_cocoapods_3.0", -# "version_for_cocoapods_2.0", -# "version_for_cocoapods_1.0", -# "fips-android-20191020", -# "fips-20220613", -# "fips-20210429", -# "fips-20190808", -# "fips-20180730", - fips-20170615 = buildECTesterStandalone { - boringssl = { rev = "refs/tags/fips-20170615"; hash = ""; }; +{ + r5af122c3 = buildECTesterStandalone { + boringssl = { rev="5af122c3dfc163b5d1859f1f450756e8e320a142"; hash="sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk="; }; + }; + r1e8c35af = buildECTesterStandalone { + boringssl = { rev="1e8c35af5363c21f0f349b4e570dcccfb9ec3f74"; hash="sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI="; }; + }; + r14a2f35b = buildECTesterStandalone { + boringssl = { rev="14a2f35b6e06756902eaa7e188a25895721055fc"; hash="sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw="; }; + }; + re23fe9b6 = buildECTesterStandalone { + boringssl = { rev="e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6"; hash="sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ="; }; + }; + r7a6e828d = buildECTesterStandalone { + boringssl = { rev="7a6e828dc53ba9a56bd49915f2a0780d63af97d2"; hash="sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk="; }; + }; + r9cffd74f = buildECTesterStandalone { + boringssl = { rev="9cffd74fdb65c69506a0ce1b19420a67ad0cb19e"; hash="sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4="; }; + }; + r82f9853f = buildECTesterStandalone { + boringssl = { rev="82f9853fc7d7360ae44f1e1357a6422c5244bbd8"; hash="sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY="; }; + }; + r9b3ef1b3 = buildECTesterStandalone { + boringssl = { rev="9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3"; hash="sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE="; }; + }; + r096ded9f = buildECTesterStandalone { + boringssl = { rev="096ded9f097b73a15956b04cd168c7cfe7e28f52"; hash="sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo="; }; + }; + rd274b1ba = buildECTesterStandalone { + boringssl = { rev="d274b1bacdca36f3941bf78e43dc38acf676a1a8"; hash="sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; }; + }; + rb34976ca = buildECTesterStandalone { + boringssl = { rev="b34976cae99f8d1b864dbab31e20fc00d06acb09"; hash="sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo="; }; + }; + r77ef86d0 = buildECTesterStandalone { + boringssl = { rev="77ef86d0431ec3ceea503b0c59888942fd35b035"; hash="sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M="; }; + }; + r8934b1ef = buildECTesterStandalone { + boringssl = { rev="8934b1ef0857bc08626a2206a6f5f718942c14fc"; hash="sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0="; }; + }; + r7c2b62e9 = buildECTesterStandalone { + boringssl = { rev="7c2b62e93487b772990fddc1905f22d4cfaee4a4"; hash="sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4="; }; + }; + r12f0f4be = buildECTesterStandalone { + boringssl = { rev="12f0f4bec2a6db53a53748dd6001d1aacaae26ba"; hash="sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw="; }; + }; + rca2eba6a = buildECTesterStandalone { + boringssl = { rev="ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa"; hash="sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8="; }; + }; + rf01108e4 = buildECTesterStandalone { + boringssl = { rev="f01108e4761e1d4189cb134322c3cb01dc71ef87"; hash="sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; }; + }; + r26468aea = buildECTesterStandalone { + boringssl = { rev="26468aea6483135b156fb03a5693c495dbad2e0f"; hash="sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE="; }; + }; + r7811fdc9 = buildECTesterStandalone { + boringssl = { rev="7811fdc94b7ec146937e83f98d411157974ffa32"; hash="sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; }; + }; + r45db24b3 = buildECTesterStandalone { + boringssl = { rev="45db24b36a030ec54464ea7a26c362f3c82305ee"; hash="sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0="; }; + }; + r45b24641 = buildECTesterStandalone { + boringssl = { rev="45b2464158379f48cec6e35a1ef503ddea1511a6"; hash="sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY="; }; + }; + r2fcdd11f = buildECTesterStandalone { + boringssl = { rev="2fcdd11f6d33b667968a5bc5147e2ba83a2082b8"; hash="sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA="; }; + }; + r6c98ebeb = buildECTesterStandalone { + boringssl = { rev="6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec"; hash="sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI="; }; + }; + rd1e6d3b4 = buildECTesterStandalone { + boringssl = { rev="d1e6d3b4af50c9490cc6210e2763b3c45ba14b07"; hash="sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo="; }; + }; + r84dc9bb6 = buildECTesterStandalone { + boringssl = { rev="84dc9bb624b47bda0bf802ae9e04a6eecb40865c"; hash="sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo="; }; + }; + r67422ed4 = buildECTesterStandalone { + boringssl = { rev="67422ed4434116daa8898773692165ddd51a6ac2"; hash="sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; }; + }; + rc6c0b650 = buildECTesterStandalone { + boringssl = { rev="c6c0b650091e90e6206a361c14a73223f54d42c1"; hash="sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg="; }; + }; + r66d274df = buildECTesterStandalone { + boringssl = { rev="66d274dfbab9e4f84599f06504987c418ca087d9"; hash="sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0="; }; + }; + re1d209d4 = buildECTesterStandalone { + boringssl = { rev="e1d209d4432846d28c31d84f269f4edcb9a63509"; hash="sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg="; }; + }; + r9cac8a6b = buildECTesterStandalone { + boringssl = { rev="9cac8a6b38c1cbd45c77aee108411d588da006fe"; hash="sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs="; }; + }; + r11acdc6a = buildECTesterStandalone { + boringssl = { rev="11acdc6abf13cc8139c30ac9455840a347793110"; hash="sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y="; }; + }; + r962432c6 = buildECTesterStandalone { + boringssl = { rev="962432c687f67f8df1aa6e3dd364fbc88fea4ed8"; hash="sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ="; }; + }; + ra220a602 = buildECTesterStandalone { + boringssl = { rev="a220a6024f66c123019b5c080f6bd8bcaf75448c"; hash="sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0="; }; + }; + ra6c42d68 = buildECTesterStandalone { + boringssl = { rev="a6c42d6810ea5317fe8ed85704c097cd8f3513ca"; hash="sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ="; }; + }; + r56fb43a2 = buildECTesterStandalone { + boringssl = { rev="56fb43a204e57af68e00f4561c108a7004381aa3"; hash="sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY="; }; + }; + r29223ac3 = buildECTesterStandalone { + boringssl = { rev="29223ac349c144a4d0babc281644c0410dd1e313"; hash="sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ="; }; + }; + re2a801f6 = buildECTesterStandalone { + boringssl = { rev="e2a801f688dbdfac8fde90b849b1bf75f80b466c"; hash="sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs="; }; + }; + r39dd1e3c = buildECTesterStandalone { + boringssl = { rev="39dd1e3c904341ac14da80224d72a77d95501ad4"; hash="sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4="; }; + }; + r1385dbd5 = buildECTesterStandalone { + boringssl = { rev="1385dbd51dc2eeba39076687a6c9e45c7dc8965c"; hash="sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk="; }; + }; + r2bc9245e = buildECTesterStandalone { + boringssl = { rev="2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a"; hash="sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM="; }; + }; + ra055b938 = buildECTesterStandalone { + boringssl = { rev="a055b93845a1b2a910919e21920e4bd1ce900841"; hash="sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI="; }; + }; + rdec5989b = buildECTesterStandalone { + boringssl = { rev="dec5989b793c56ad4dd32173bd2d8595ca78b398"; hash="sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI="; }; + }; + rc1d9ac02 = buildECTesterStandalone { + boringssl = { rev="c1d9ac02514a138129872a036e3f8a1074dcb8bd"; hash="sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8="; }; + }; + re1a860c3 = buildECTesterStandalone { + boringssl = { rev="e1a860c3745c77cb83228dde1b73fa62eaf43930"; hash="sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs="; }; + }; + rfb1c75ca = buildECTesterStandalone { + boringssl = { rev="fb1c75caf8ba5d45a0f2c52facd36e4ad9289549"; hash="sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI="; }; + }; + re491eeb6 = buildECTesterStandalone { + boringssl = { rev="e491eeb610fcc69b98bc6d1ba08faf78655808f6"; hash="sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U="; }; + }; + ra11277e1 = buildECTesterStandalone { + boringssl = { rev="a11277e187e407d0ef403b8a60d9a32eaab7d301"; hash="sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo="; }; + }; + r25cf1bb9 = buildECTesterStandalone { + boringssl = { rev="25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016"; hash="sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk="; }; + }; + rc8100f0f = buildECTesterStandalone { + boringssl = { rev="c8100f0f0d05c5185d58113e12a867ae0771a6c9"; hash="sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q="; }; + }; + r1eda2363 = buildECTesterStandalone { + boringssl = { rev="1eda2363f9e79aaa5febe91d31b6756ae4f24f30"; hash="sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g="; }; + }; + r261579f0 = buildECTesterStandalone { + boringssl = { rev="261579f08b2f8aa7959670df1e928c1c305a632c"; hash="sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg="; }; + }; + r9540c045 = buildECTesterStandalone { + boringssl = { rev="9540c0452343e684f94515288880b6b35655f792"; hash="sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk="; }; + }; + red3f05a6 = buildECTesterStandalone { + boringssl = { rev="ed3f05a6794adfd39937d0027afefad8f6afcae9"; hash="sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc="; }; + }; + r4a7815c9 = buildECTesterStandalone { + boringssl = { rev="4a7815c94077eebb3546fc287d1fa0e1356a2cd0"; hash="sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8="; }; + }; + r5326e94d = buildECTesterStandalone { + boringssl = { rev="5326e94dd188beba0a5e536b1d2723aee65bd85d"; hash="sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0="; }; + }; + re09fcf83 = buildECTesterStandalone { + boringssl = { rev="e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e"; hash="sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE="; }; + }; + rafd52e91 = buildECTesterStandalone { + boringssl = { rev="afd52e91dfed27ab7193be040f067900947b14ac"; hash="sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo="; }; + }; + re95b0cad = buildECTesterStandalone { + boringssl = { rev="e95b0cad901abd49755d2a2a2f1f6c3e87d12b94"; hash="sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw="; }; + }; + r13aa2733 = buildECTesterStandalone { + boringssl = { rev="13aa27338663c62600249ece54c94f180d57bbb7"; hash="sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds="; }; + }; + r03982b4c = buildECTesterStandalone { + boringssl = { rev="03982b4cfadca0e650b384c9539b2fdb5f8aa012"; hash="sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg="; }; + }; + r273a920f = buildECTesterStandalone { + boringssl = { rev="273a920f84e8b0b258737cea0f2f24627e8c5ed9"; hash="sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ="; }; + }; + r9f7f4d03 = buildECTesterStandalone { + boringssl = { rev="9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d"; hash="sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw="; }; + }; + rd7278ceb = buildECTesterStandalone { + boringssl = { rev="d7278cebad5b8eda0901246f2215344cffece4f4"; hash="sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA="; }; + }; + rbfcab2aa = buildECTesterStandalone { + boringssl = { rev="bfcab2aa518899ce71e7ffbc23bb22c4ef51858f"; hash="sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY="; }; + }; + r68c29a24 = buildECTesterStandalone { + boringssl = { rev="68c29a24ee6c9c70ecce56766ca70b115aad768f"; hash="sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo="; }; + }; + rde6ba216 = buildECTesterStandalone { + boringssl = { rev="de6ba216656b819d4d8de7602006561f82a8c669"; hash="sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4="; }; + }; + r29c9e64c = buildECTesterStandalone { + boringssl = { rev="29c9e64ce548ff8278e9d98aa53f611f115c2bed"; hash="sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4="; }; + }; + r58745d61 = buildECTesterStandalone { + boringssl = { rev="58745d61afe244a37941d391f5dec3ab08f5cf2c"; hash="sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ="; }; + }; + rc798e3a5 = buildECTesterStandalone { + boringssl = { rev="c798e3a54912a1bfbf1c846630e2bb86e9b543a7"; hash="sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig="; }; + }; + rba62c812 = buildECTesterStandalone { + boringssl = { rev="ba62c812f01fb379f49f94a08a2d1282ce46e678"; hash="sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU="; }; + }; + r2fb5f9cb = buildECTesterStandalone { + boringssl = { rev="2fb5f9cb8feec2234952f6999af941ac48555710"; hash="sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8="; }; + }; + rd477c0d7 = buildECTesterStandalone { + boringssl = { rev="d477c0d7c40ddca3a64ae26fc02d2dac175836d3"; hash="sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag="; }; + }; + rc7019036 = buildECTesterStandalone { + boringssl = { rev="c70190368c7040c37c1d655f0690bcde2b109a0d"; hash="sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE="; }; + }; + r7662e58e = buildECTesterStandalone { + boringssl = { rev="7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2"; hash="sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4="; }; + }; + r0355048c = buildECTesterStandalone { + boringssl = { rev="0355048ce0302fdeb4744dae4b8a156a38496150"; hash="sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY="; }; + }; + r3a01cba9 = buildECTesterStandalone { + boringssl = { rev="3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee"; hash="sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk="; }; + }; + r07f27b1d = buildECTesterStandalone { + boringssl = { rev="07f27b1d445a27433f2c871935da2cefcfbdb458"; hash="sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A="; }; + }; + rfc953df2 = buildECTesterStandalone { + boringssl = { rev="fc953df2352e1c1bcb34cb5f75a0e409014c1690"; hash="sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU="; }; + }; + r1a9edc3e = buildECTesterStandalone { + boringssl = { rev="1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba"; hash="sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI="; }; + }; + rb8912d71 = buildECTesterStandalone { + boringssl = { rev="b8912d713cb82a748bbe63f28f28b17632c70964"; hash="sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc="; }; + }; + rb6bca9c6 = buildECTesterStandalone { + boringssl = { rev="b6bca9c6dde177f641137d2991aa677997c54c67"; hash="sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI="; }; + }; + r03d1b7c5 = buildECTesterStandalone { + boringssl = { rev="03d1b7c544851d9f44df1e9ff21839742e08c819"; hash="sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA="; }; + }; + r6b36ad2b = buildECTesterStandalone { + boringssl = { rev="6b36ad2bd6001f17a997b7a1e0ab254b001438ef"; hash="sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY="; }; + }; + r1d24e04c = buildECTesterStandalone { + boringssl = { rev="1d24e04c7143171ae2010c842e3e1438510fd1c0"; hash="sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc="; }; + }; + r8a0da669 = buildECTesterStandalone { + boringssl = { rev="8a0da669a08b6c6b805fd7ec9d1e67694fda3711"; hash="sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc="; }; + }; + r4d50a595 = buildECTesterStandalone { + boringssl = { rev="4d50a595b49a2e7b7017060a4d402c4ee9fe28a2"; hash="sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA="; }; + }; + rd34f540e = buildECTesterStandalone { + boringssl = { rev="d34f540e57394de22a1599c3c5d852519d388d6c"; hash="sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0="; }; + }; + re7d76da9 = buildECTesterStandalone { + boringssl = { rev="e7d76da920a1bd79b6ebc77e75b407cdf0a58962"; hash="sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0="; }; + }; + r3efe2eb9 = buildECTesterStandalone { + boringssl = { rev="3efe2eb9e3dfb49cb110c53e3430caeae4599f52"; hash="sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I="; }; + }; + r35a91094 = buildECTesterStandalone { + boringssl = { rev="35a910949d684aea8b86a8c42db76c4f43e31a96"; hash="sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw="; }; + }; + r8e6aa7f3 = buildECTesterStandalone { + boringssl = { rev="8e6aa7f39f4357a6ad15944884f72db8d25b9dff"; hash="sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M="; }; + }; + r7c44f450 = buildECTesterStandalone { + boringssl = { rev="7c44f450547cc777229462c2ac864a9326c0106c"; hash="sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk="; }; + }; + r6ab7c148 = buildECTesterStandalone { + boringssl = { rev="6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec"; hash="sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE="; }; + }; + rb17231cd = buildECTesterStandalone { + boringssl = { rev="b17231cdb9ec4e877b470c57d3280d9195811cd9"; hash="sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s="; }; + }; + r3e89a7e8 = buildECTesterStandalone { + boringssl = { rev="3e89a7e8db8139db356b892ca9993172346c80cf"; hash="sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k="; }; + }; + r8de798be = buildECTesterStandalone { + boringssl = { rev="8de798be4b850cf88ad2c50602abe2ca3bb285df"; hash="sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM="; }; + }; + rd2e3212d = buildECTesterStandalone { + boringssl = { rev="d2e3212de29bac1ceed33ca8ab8bbff3f41a2459"; hash="sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y="; }; + }; + r783ae722 = buildECTesterStandalone { + boringssl = { rev="783ae722ed307a3b3782cd253fd4ffb387f38767"; hash="sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo="; }; + }; + r2db0eb3f = buildECTesterStandalone { + boringssl = { rev="2db0eb3f96a5756298dcd7f9319e56a98585bd10"; hash="sha256-+G7BcdtU8AeNMY4NLQgKpgF28/CS9FIjf+vaOd+Wf6o="; }; + }; + r70d05d5a = buildECTesterStandalone { + boringssl = { rev="70d05d5a34f6366116e2b0a530ea8d0186bb2a8e"; hash="sha256-aEtH4Efvt+zRGvUD9JAsBU+EfZySk8gU05fek5rbcbM="; }; }; } From f35278010ecd87398790b1d570dc349ea2737a4f Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 7 Aug 2024 14:20:40 +0200 Subject: [PATCH 069/131] Compute BoringSSL source digests locally --- fetchReleases.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/fetchReleases.py b/fetchReleases.py index b799e7ea..a17b708e 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -6,7 +6,10 @@ import jinja2 import re import requests +import shutil +import tempfile +import pathlib import subprocess as sp from base64 import b32encode, b32decode, b64encode, b16decode @@ -161,6 +164,35 @@ def fetch_gcrypt(): +def fetch_boringssl(): + pkg = "boringssl" + + single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { + {{ pkg }} = { rev="{{ rev }}"; hash="{{ digest }}"; }; + };""") + renders = [] + with tempfile.TemporaryDirectory() as repodir, tempfile.TemporaryDirectory() as gitdir: + repodir = pathlib.Path(repodir) + gitdir = pathlib.Path(gitdir) + sp.run(["git", "clone", "https://boringssl.googlesource.com/boringssl", repodir]) + # NOTE: we need to get rid of the .git so that it is not included in the derivation hash + shutil.move(repodir / ".git", gitdir) + + output = sp.check_output(["git", "-C", str(repodir), "--git-dir", str(gitdir / ".git"), "log", "--pretty=format:%H"]) + refs = output.decode().split('\n') + + for i, rev in enumerate(refs[:100]): + sp.run(["git", "-C", str(repodir), "--git-dir", str(gitdir / ".git"), "checkout", rev]) + digest = sp.check_output(["nix", "hash", "path", str(repodir)]).decode().strip() + print(f"{i + 1: 4d}:{rev}:{digest}") + abbrev_commit = str(rev[:8]) + + rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=f"r{abbrev_commit}", rev=rev).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 fetch_mbedtls(): # Mbed-TLS/mbedtls @@ -295,6 +327,8 @@ def main(): fetch_cryptopp() case "openssl": fetch_openssl() + case "boringssl": + fetch_boringssl() case "gcrypt": fetch_gcrypt() case "mbedtls": From edbc1c2b50a25e567d1c2f9cc49485a84be18833 Mon Sep 17 00:00:00 2001 From: quapka Date: Wed, 7 Aug 2024 14:50:48 +0200 Subject: [PATCH 070/131] Autoformat all Nix sources --- flake.nix | 894 +++++++++++------- nix/boringssl_pkg_versions.nix | 504 ++++++++-- nix/boringsslshim.nix | 8 +- nix/botan_pkg_versions.nix | 318 +++++-- nix/botanshim.nix | 10 +- nix/commonlibs.nix | 7 +- nix/cryptopp_pkg_versions.nix | 118 ++- nix/cryptoppshim.nix | 8 +- nix/gcrypt_pkg_versions.nix | 410 +++++--- nix/gcryptshim.nix | 9 +- nix/ippcp_pkg_versions.nix | 174 +++- nix/ippcpshim.nix | 8 +- nix/libressl_pkg_versions.nix | 837 +++++++++++----- nix/libresslshim.nix | 8 +- nix/mbedtls_pkg_versions.nix | 154 ++- nix/mbedtlsshim.nix | 8 +- nix/nettle_pkg_versions.nix | 148 ++- nix/nettleshim.nix | 9 +- nix/openssl_pkg_versions.nix | 146 ++- nix/opensslshim.nix | 8 +- nix/tomcrypt_pkg_versions.nix | 46 +- nix/tomcryptshim.nix | 9 +- nix/x | 21 + .../ectester/standalone/libs/jni/Makefile | 8 +- 24 files changed, 2724 insertions(+), 1146 deletions(-) create mode 100644 nix/x diff --git a/flake.nix b/flake.nix index fec71e9b..d6e29970 100644 --- a/flake.nix +++ b/flake.nix @@ -2,267 +2,498 @@ description = "ECTester"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + gradle2nix.url = "github:tadfisher/gradle2nix/03c1b713ad139eb6dfc8d463b5bd348368125cf1"; custom-nixpkgs.url = "github:quapka/nixpkgs/customPkgs"; }; - outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }: - flake-utils.lib.eachDefaultSystem (system: + outputs = + { + self, + nixpkgs, + custom-nixpkgs, + flake-utils, + gradle2nix, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: let - overlays = []; - pkgs = import nixpkgs { - inherit system overlays; - }; - customPkgs = import custom-nixpkgs { - inherit system overlays; - }; + overlays = [ ]; + pkgs = import nixpkgs { inherit system overlays; }; + customPkgs = import custom-nixpkgs { inherit system overlays; }; # removes the patch/revision from the version. E.g. getMajorMinor "1.2.3" = "1.2" - getMajorMinor = version: builtins.concatStringsSep "." (pkgs.lib.take 2 ( builtins.splitVersion version)); + getMajorMinor = + version: builtins.concatStringsSep "." (pkgs.lib.take 2 (builtins.splitVersion version)); # Altered upstream packages - boringsslBuilder = { rev, hash }: pkgs.boringssl.overrideAttrs (final: prev: rec { - src = if rev == null then prev.src else pkgs.fetchgit { - url = "https://boringssl.googlesource.com/boringssl"; - inherit rev hash; - }; - postFixup = '' - cp $out/lib/libcrypto.a $out/lib/lib_boringssl.a - ''; - }); + boringsslBuilder = + { rev, hash }: + pkgs.boringssl.overrideAttrs ( + final: prev: rec { + src = + if rev == null then + prev.src + else + pkgs.fetchgit { + url = "https://boringssl.googlesource.com/boringssl"; + inherit rev hash; + }; + postFixup = '' + cp $out/lib/libcrypto.a $out/lib/lib_boringssl.a + ''; + } + ); # FIXME: `nix develeop` now has different version than `nix run` - opensslBuilder = { version ? null, hash ? null }: (pkgs.openssl.override { static = true; }).overrideAttrs (final: prev: rec { - pname = "openssl"; - src = if version != null then pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - hash = hash; - } else prev.src; - # FIXME Removing patches might cause unwanted things; this should be version based! - patches = []; - }); - botan2Builder = { version, source_extension, hash }: pkgs.botan2.overrideAttrs (final: prev: { - src = if ( version == null ) then prev.src else - pkgs.fetchurl { - urls = [ - "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" - ]; - inherit hash; + opensslBuilder = + { + version ? null, + hash ? null, + }: + (pkgs.openssl.override { static = true; }).overrideAttrs ( + final: prev: rec { + pname = "openssl"; + src = + if version != null then + pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + hash = hash; + } + else + prev.src; + # FIXME Removing patches might cause unwanted things; this should be version based! + patches = [ ]; + } + ); + botan2Builder = + { + version, + source_extension, + hash, + }: + pkgs.botan2.overrideAttrs ( + final: prev: { + src = + if (version == null) then + prev.src + else + pkgs.fetchurl { + urls = [ "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" ]; + inherit hash; + }; + } + ); + + libgcryptBuilder = + { version, hash }: + pkgs.libgcrypt.overrideAttrs ( + final: prev: { + configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; + src = + if version == null then + prev.src + else + pkgs.fetchurl { + url = "mirror://gnupg/libgcrypt/${prev.pname}-${version}.tar.bz2"; + inherit hash; + }; + } + ); + libgpg-error = pkgs.libgpg-error.overrideAttrs ( + final: prev: { configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; } + ); + + mbedtlsBuilder = + { version, hash }: + pkgs.mbedtls.overrideAttrs ( + final: prev: { + src = + if version == null then + prev.src + else + pkgs.fetchFromGitHub { + owner = "Mbed-TLS"; + repo = "mbedtls"; + rev = "mbedtls-${version}"; + inherit hash; + # mbedtls >= 3.6.0 uses git submodules + fetchSubmodules = true; + }; + } + ); + + ipp-cryptoBuilder = + { version, hash }: + customPkgs.ipp-crypto.overrideAttrs ( + final: prev: { + src = + if version == null then + prev.src + else + pkgs.fetchFromGitHub { + owner = "intel"; + repo = "ipp-crypto"; + rev = "ippcp_${version}"; + inherit hash; + }; + } + ); + + libtomcryptBuilder = + { + tcVersion, + tcHash, + tmVersion, + tmHash, + }: + (pkgs.libtomcrypt.override { + libtommath = libtommathBuilder { + version = tmVersion; + hash = tmHash; }; - }); + }).overrideAttrs + ( + final: prev: + let + preBuilds = { + "1.18" = '' + makeFlagsArray+=(PREFIX=$out \ + CFLAGS="-DUSE_LTM -DLTM_DESC" \ + EXTRALIBS=\"-ltommath\" \ + INSTALL_GROUP=$(id -g) \ + INSTALL_USER=$(id -u)) + ''; + "1.17" = '' + mkdir --parents $out/{lib, include, share/doc/} + + makeFlagsArray+=(PREFIX=$out \ + LIBPATH=$out/lib \ + INCPATH=$out/include \ + DATAPATH=$out/share/doc/libtomcrypt/pdf + CFLAGS_OPTS="-DUSE_LTM -DLTM_DESC" \ + EXTRALIBS=\"-ltommath\" \ + GROUP=$(id -g) \ + USER=$(id -u)) + ''; + # "1.01" = '' + # ''; + }; + preBuild = + if tcVersion != null then + if builtins.hasAttr (getMajorMinor tcVersion) preBuilds then + preBuilds."${getMajorMinor tcVersion}" + else + preBuilds."1.17" + else + preBuilds."1.18"; + in + rec { + makefile = "makefile.unix"; + version = if tcVersion != null then tcVersion else prev.version; + + src = + if version == prev.version then + prev.src + else + pkgs.fetchFromGitHub { + owner = "libtom"; + repo = "libtomcrypt"; + rev = if pkgs.lib.hasPrefix "1.18" version then "refs/tags/v${version}" else "refs/tags/${version}"; + hash = tcHash; + }; + + inherit preBuild; + patches = + if pkgs.lib.hasPrefix "1.18" version then + (prev.patches or [ ]) + ++ [ + # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # This patch copies the necessary code from `makefile.shared`. + ./nix/libtomcrypt-pkgconfig-for-static.patch + ] + else + [ ]; + } + ); + + libtommathBuilder = + { version, hash }: + pkgs.libtommath.overrideAttrs ( + final: prev: rec { + makefile = "makefile.unix"; + # version = if version != null then version else prev.version; + version = "1.3.0"; + src = pkgs.fetchurl { + url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; + # hash = if hash != null then hash else prev.hash; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg"; + }; + patches = (prev.patches or [ ]) ++ [ + # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). + # This patch copies the necessary code from `makefile.shared`. + ./nix/libtommath-pkgconfig-for-static-build.patch + ]; + } + ); + nettleBuilder = + { + version, + tag, + hash, + }: + pkgs.nettle.overrideAttrs ( + final: prev: { + configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; + src = + if version == null then + prev.src + 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 + pkgs.fetchFromGitHub { + owner = "weidai11"; + repo = "cryptopp"; + rev = "CRYPTOPP_${version}"; + inherit hash; + }; + } + ); + libresslBuilder = + { version, hash }: + (pkgs.libressl.override { buildShared = false; }).overrideAttrs ( + final: prev: rec { + + src = + if version == null then + prev.src + else + pkgs.fetchurl { + url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; + inherit hash; + }; + patches = [ + (pkgs.fetchpatch { + url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; + includes = [ "tests/tlstest.sh" ]; + hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; + }) + ]; - libgcryptBuilder = { version, hash }: pkgs.libgcrypt.overrideAttrs (final: prev: { - configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; - src = if version == null then prev.src else pkgs.fetchurl { - url = "mirror://gnupg/libgcrypt/${prev.pname}-${version}.tar.bz2"; - inherit hash; - }; - }); - libgpg-error = pkgs.libgpg-error.overrideAttrs (final: prev: { - configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; - }); - - mbedtlsBuilder = { version, hash}: pkgs.mbedtls.overrideAttrs (final: prev: { - src = if version == null then prev.src else pkgs.fetchFromGitHub { - owner = "Mbed-TLS"; - repo = "mbedtls"; - rev = "mbedtls-${version}"; - inherit hash; - # mbedtls >= 3.6.0 uses git submodules - fetchSubmodules = true; + # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. + # This is not needed for building the individual shims through Nix, as libresslShim build env does not + # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple + # lib shims are built alongside each other. + postFixup = pkgs.lib.concatLines [ + (prev.postFixup or "") + '' + cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc + sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc + ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so + ln -s $out/lib/libcrypto.a $out/lib/libresslcrypto.a + '' + ]; + + } + ); + gmp = pkgs.gmp.override { withStatic = true; }; + + # Custom added packages + wolfcryptjni = + with customPkgs; + wolfcrypt-jni.overrideAttrs ( + final: prev: { + src = pkgs.fetchFromGitHub { + owner = "wolfSSL"; + repo = "wolfcrypt-jni"; + rev = "0497ee767c994775beda2f2091009593961e5c7e"; + hash = "sha256-mtUXUyIKJ617WzAWjlOaMscWM7zuGBISVMEAbmQNBOg="; + }; + } + ); + + # Shims and libs + # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl + tomcryptShimBuilder = + { + tcVersion, + tcHash, + tmVersion, + tmHash, + }: + pkgs.callPackage ./nix/tomcryptshim.nix { + inherit pkgs; + libtomcrypt = ( + libtomcryptBuilder { + inherit + tcVersion + tcHash + tmVersion + tmHash + ; + } + ); + libtommath = ( + libtommathBuilder { + version = tmVersion; + hash = tmHash; + } + ); }; - }); - - ipp-cryptoBuilder = { version, hash }: customPkgs.ipp-crypto.overrideAttrs (final: prev: { - src = if version == null then prev.src else pkgs.fetchFromGitHub { - owner = "intel"; - repo = "ipp-crypto"; - rev = "ippcp_${version}"; - inherit hash; + botanShimBuilder = + { + version, + source_extension, + hash, + }: + pkgs.callPackage ./nix/botanshim.nix { + botan2 = botan2Builder { inherit version source_extension hash; }; }; - }); - - libtomcryptBuilder = { tcVersion, tcHash, tmVersion, tmHash }: - (pkgs.libtomcrypt.override { libtommath = libtommathBuilder { version = tmVersion; hash = tmHash; }; }).overrideAttrs (final: prev: - let - preBuilds = { - "1.18" = '' - makeFlagsArray+=(PREFIX=$out \ - CFLAGS="-DUSE_LTM -DLTM_DESC" \ - EXTRALIBS=\"-ltommath\" \ - INSTALL_GROUP=$(id -g) \ - INSTALL_USER=$(id -u)) - ''; - "1.17" = '' - mkdir --parents $out/{lib, include, share/doc/} - - makeFlagsArray+=(PREFIX=$out \ - LIBPATH=$out/lib \ - INCPATH=$out/include \ - DATAPATH=$out/share/doc/libtomcrypt/pdf - CFLAGS_OPTS="-DUSE_LTM -DLTM_DESC" \ - EXTRALIBS=\"-ltommath\" \ - GROUP=$(id -g) \ - USER=$(id -u)) - ''; - # "1.01" = '' - # ''; + cryptoppShimBuilder = + { version, hash }: + pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; }; }; + opensslShimBuilder = + { version, hash }: + import ./nix/opensslshim.nix { + inherit pkgs; + openssl = ( + opensslBuilder { + version = version; + hash = hash; + } + ); }; - preBuild = if tcVersion != null - then if builtins.hasAttr (getMajorMinor tcVersion) preBuilds - then preBuilds."${getMajorMinor tcVersion}" - else preBuilds."1.17" - else preBuilds."1.18"; - in - rec { - makefile = "makefile.unix"; - version = if tcVersion != null then tcVersion else prev.version; - - src = if version == prev.version then prev.src else pkgs.fetchFromGitHub { - owner = "libtom"; - repo = "libtomcrypt"; - rev = if pkgs.lib.hasPrefix "1.18" version then "refs/tags/v${version}" else "refs/tags/${version}" ; - hash = tcHash; + boringsslShimBuilder = + { rev, hash }: + import ./nix/boringsslshim.nix { + inherit pkgs; + boringssl = (boringsslBuilder { inherit rev hash; }); }; - - inherit preBuild; - patches = if pkgs.lib.hasPrefix "1.18" version then ( prev.patches or [] ) ++ [ - # NOTE: LibTomCrypt does not expose the lib, when built statically (using `makefile and not `makefile.shared`). - # This patch copies the necessary code from `makefile.shared`. - ./nix/libtomcrypt-pkgconfig-for-static.patch - ] else []; - }); - - libtommathBuilder = { version, hash }: pkgs.libtommath.overrideAttrs (final: prev: rec { - makefile = "makefile.unix"; - # version = if version != null then version else prev.version; - version = "1.3.0"; - src = pkgs.fetchurl { - url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz"; - # hash = if hash != null then hash else prev.hash; - hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg"; + gcryptShimBuilder = + { version, hash }: + import ./nix/gcryptshim.nix { + inherit pkgs libgpg-error; + libgcrypt = libgcryptBuilder { inherit version hash; }; }; - patches = ( prev.patches or [] ) ++ [ - # NOTE: LibTomMath does not expose the lib, when built statically (using `makefile and not `makefile.shared`). - # This patch copies the necessary code from `makefile.shared`. - ./nix/libtommath-pkgconfig-for-static-build.patch - ]; - }); - nettleBuilder = { version, tag, hash }: pkgs.nettle.overrideAttrs (final: prev: { - configureFlags = ( prev.configureFlags or [] ) ++ [ "--enable-static" ]; - src = if version == null then prev.src else pkgs.fetchurl { - url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; - inherit hash; + mbedtlsShimBuilder = + { version, hash }: + import ./nix/mbedtlsshim.nix { + inherit pkgs; + mbedtls = (mbedtlsBuilder { inherit version hash; }); }; - }); - cryptoppBuilder = { version, hash }: (pkgs.cryptopp.override { enableStatic = true; }).overrideAttrs (final: prev: { - src = if version == null then prev.src else - pkgs.fetchFromGitHub { - owner = "weidai11"; - repo = "cryptopp"; - rev = "CRYPTOPP_${version}"; - inherit hash; + ippcpShimBuilder = + { version, hash }: + import ./nix/ippcpshim.nix { + pkgs = pkgs; + ipp-crypto = (ipp-cryptoBuilder { inherit version hash; }); }; - }); - libresslBuilder = { version, hash }: (pkgs.libressl.override { buildShared = false; } ).overrideAttrs (final: prev: rec { - - src = if version == null then prev.src else pkgs.fetchurl { - url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; - inherit hash; + nettleShimBuilder = + { + version, + tag, + hash, + }: + import ./nix/nettleshim.nix { + inherit pkgs gmp; + nettle = (nettleBuilder { inherit version tag hash; }); }; - patches = [ - (pkgs.fetchpatch { - url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; - includes = [ "tests/tlstest.sh" ]; - hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; - }) - ]; - - # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. - # This is not needed for building the individual shims through Nix, as libresslShim build env does not - # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple - # lib shims are built alongside each other. - postFixup = pkgs.lib.concatLines [ - ( prev.postFixup or "" ) - '' - cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc - sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc - ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so - ln -s $out/lib/libcrypto.a $out/lib/libresslcrypto.a - '' - ]; - - }); - gmp = pkgs.gmp.override { withStatic = true; }; - - # Custom added packages - wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: { - src = pkgs.fetchFromGitHub { - owner = "wolfSSL"; - repo = "wolfcrypt-jni"; - rev = "0497ee767c994775beda2f2091009593961e5c7e"; - hash = "sha256-mtUXUyIKJ617WzAWjlOaMscWM7zuGBISVMEAbmQNBOg="; + libresslShimBuilder = + { version, hash }: + import ./nix/libresslshim.nix { + inherit pkgs; + libressl = (libresslBuilder { inherit version hash; }); }; - }); - - # Shims and libs - # Current list of targets: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl - tomcryptShimBuilder = { tcVersion, tcHash, tmVersion, tmHash}: pkgs.callPackage ./nix/tomcryptshim.nix { - inherit pkgs; - libtomcrypt = ( libtomcryptBuilder { inherit tcVersion tcHash tmVersion tmHash; }); - libtommath = ( libtommathBuilder { version = tmVersion; hash = tmHash; }); - }; - botanShimBuilder = { version, source_extension, hash }: pkgs.callPackage ./nix/botanshim.nix { botan2 = botan2Builder { inherit version source_extension hash; }; }; - cryptoppShimBuilder = { version, hash}: pkgs.callPackage ./nix/cryptoppshim.nix { cryptopp = cryptoppBuilder { inherit version hash; };}; - opensslShimBuilder = { version, hash }: import ./nix/opensslshim.nix { inherit pkgs; openssl = (opensslBuilder { version = version; hash = hash;}); }; - boringsslShimBuilder = { rev, hash }: import ./nix/boringsslshim.nix { inherit pkgs; boringssl = ( boringsslBuilder { inherit rev hash; }); }; - 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; }); }; - nettleShimBuilder = { version, tag, hash }: import ./nix/nettleshim.nix { inherit pkgs gmp; nettle = ( nettleBuilder { inherit version tag hash; }); }; - libresslShimBuilder = { version, hash }: import ./nix/libresslshim.nix { inherit pkgs; libressl = ( libresslBuilder { inherit version hash; }); }; commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; }; - buildECTesterStandalone = { - tomcrypt ? { version = null; hash = null; }, - tommath ? { version = null; hash = null; }, - botan ? { version = null; source_extension = null; hash = null; }, - cryptopp ? { version = null; hash = null; }, - openssl ? { version = null; hash = null; }, - boringssl ? { rev = null; hash = null; }, - gcrypt ? { version = null; hash = null; }, - mbedtls ? { version = null; hash = null; }, - ippcp ? { version = null; hash = null; }, - nettle ? { version = null; tag = null; hash = null; }, - libressl ? { version = null; hash = null; }, - }: ( - let - tomcryptShim = tomcryptShimBuilder { - tcVersion = tomcrypt.version; - tcHash = tomcrypt.hash; - tmVersion = tommath.version; - tmHash = tommath.hash; - }; - opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); - botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; - cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; - boringsslShim = boringsslShimBuilder { inherit (boringssl) rev hash; }; - 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; }; - libresslShim = libresslShimBuilder { inherit (libressl) version hash; }; - in - with pkgs; + buildECTesterStandalone = + { + tomcrypt ? { + version = null; + hash = null; + }, + tommath ? { + version = null; + hash = null; + }, + botan ? { + version = null; + source_extension = null; + hash = null; + }, + cryptopp ? { + version = null; + hash = null; + }, + openssl ? { + version = null; + hash = null; + }, + boringssl ? { + rev = null; + hash = null; + }, + gcrypt ? { + version = null; + hash = null; + }, + mbedtls ? { + version = null; + hash = null; + }, + ippcp ? { + version = null; + hash = null; + }, + nettle ? { + version = null; + tag = null; + hash = null; + }, + libressl ? { + version = null; + hash = null; + }, + }: + ( + let + tomcryptShim = tomcryptShimBuilder { + tcVersion = tomcrypt.version; + tcHash = tomcrypt.hash; + tmVersion = tommath.version; + tmHash = tommath.hash; + }; + opensslShim = (opensslShimBuilder { inherit (openssl) version hash; }); + botanShim = botanShimBuilder { inherit (botan) version source_extension hash; }; + cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; }; + boringsslShim = boringsslShimBuilder { inherit (boringssl) rev hash; }; + 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; }; + libresslShim = libresslShimBuilder { inherit (libressl) version hash; }; + in + with pkgs; gradle2nix.builders.${system}.buildGradlePackage rec { pname = "ECTesterStandalone"; version = "0.3.3"; lockFile = ./gradle.lock; # NOTE: the shims are built separately, therefore no need to call build `libs` target - gradleBuildFlags = [ ":standalone:uberJar"]; + gradleBuildFlags = [ ":standalone:uberJar" ]; src = ./.; jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; @@ -300,7 +531,8 @@ --set LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$LD_LIBRARY_PATH ''; - }); + } + ); in { packages = rec { @@ -316,110 +548,112 @@ nettle = pkgs.callPackage ./nix/nettle_pkg_versions.nix { inherit buildECTesterStandalone; }; libressl = pkgs.callPackage ./nix/libressl_pkg_versions.nix { inherit buildECTesterStandalone; }; - fetchReleases = with pkgs.python3Packages; buildPythonApplication { - pname = "fetchReleases"; - version = "0.1.0"; - format = "other"; + fetchReleases = + with pkgs.python3Packages; + buildPythonApplication { + pname = "fetchReleases"; + version = "0.1.0"; + format = "other"; + + propagatedBuildInputs = [ + jinja2 + requests + beautifulsoup4 + ]; - propagatedBuildInputs = [ - jinja2 - requests - beautifulsoup4 - ]; + src = ./fetchReleases.py; + dontUnpack = true; + installPhase = '' + install -Dm755 $src $out/bin/$pname + ''; - src = ./fetchReleases.py; - dontUnpack = true; - installPhase = '' - install -Dm755 $src $out/bin/$pname + }; + + }; + devShells.default = + with pkgs; + mkShell rec { + nativeBuildInputs = [ pkg-config ]; + + preConfigure = '' + cp ${boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ ''; - }; + buildInputs = [ + # # gradle2nix + # libresslShim + gdb + ant + jdk17 + pkg-config + global-platform-pro + gradle + # libraries to test + (opensslBuilder { }) + libressl + # glibc + boringssl + libtomcrypt + libtommath + botan2 + cryptopp + + # libraries' dependencies + cmake + ninja + gawk + automake + go + gtest + libunwind + autoconf + libb64 + + # clang + libgcrypt + libgpg-error + mbedtls + nasm + libtool + perl + + wolfssl + nettle + # libressl + + customPkgs.ipp-crypto + + gmp + libgpg-error + wget + libconfig + ]; - }; - devShells.default = with pkgs; mkShell rec { - nativeBuildInputs = [ - pkg-config - ]; - - preConfigure = '' - cp ${boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - ''; - - buildInputs = [ - # # gradle2nix - # libresslShim - gdb - ant - jdk17 - pkg-config - global-platform-pro - gradle - # libraries to test - (opensslBuilder {}) - libressl - # glibc - boringssl - libtomcrypt - libtommath - botan2 - cryptopp - - # libraries' dependencies - cmake - ninja - gawk - automake - go - gtest - libunwind - autoconf - libb64 - - # clang - libgcrypt - libgpg-error - mbedtls - nasm - libtool - perl - - wolfssl - nettle - # libressl - - customPkgs.ipp-crypto - - gmp - libgpg-error - wget - libconfig - ]; - - LD_LIBRARY_PATH = with pkgs; pkgs.lib.makeLibraryPath [ - libtommath - libtomcrypt - botan2 - cryptopp - (opensslBuilder {}) - boringssl - libgcrypt - libgpg-error - nettle - gmp - libgpg-error - libconfig - wolfcryptjni - ]; - - BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; - WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; - - - IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; - IPP_CRYPTO_LIB = "${customPkgs.ipp-crypto}/lib/"; + LD_LIBRARY_PATH = + with pkgs; + pkgs.lib.makeLibraryPath [ + libtommath + libtomcrypt + botan2 + cryptopp + (opensslBuilder { }) + boringssl + libgcrypt + libgpg-error + nettle + gmp + libgpg-error + libconfig + wolfcryptjni + ]; + BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; + WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; - }; + IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; + IPP_CRYPTO_LIB = "${customPkgs.ipp-crypto}/lib/"; + + }; } ); } diff --git a/nix/boringssl_pkg_versions.nix b/nix/boringssl_pkg_versions.nix index 19798148..87e95195 100644 --- a/nix/boringssl_pkg_versions.nix +++ b/nix/boringssl_pkg_versions.nix @@ -1,305 +1,603 @@ -{ - buildECTesterStandalone -}: +{ buildECTesterStandalone }: { r5af122c3 = buildECTesterStandalone { - boringssl = { rev="5af122c3dfc163b5d1859f1f450756e8e320a142"; hash="sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk="; }; + boringssl = { + rev = "5af122c3dfc163b5d1859f1f450756e8e320a142"; + hash = "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk="; + }; }; r1e8c35af = buildECTesterStandalone { - boringssl = { rev="1e8c35af5363c21f0f349b4e570dcccfb9ec3f74"; hash="sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI="; }; + boringssl = { + rev = "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74"; + hash = "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI="; + }; }; r14a2f35b = buildECTesterStandalone { - boringssl = { rev="14a2f35b6e06756902eaa7e188a25895721055fc"; hash="sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw="; }; + boringssl = { + rev = "14a2f35b6e06756902eaa7e188a25895721055fc"; + hash = "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw="; + }; }; re23fe9b6 = buildECTesterStandalone { - boringssl = { rev="e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6"; hash="sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ="; }; + boringssl = { + rev = "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6"; + hash = "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ="; + }; }; r7a6e828d = buildECTesterStandalone { - boringssl = { rev="7a6e828dc53ba9a56bd49915f2a0780d63af97d2"; hash="sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk="; }; + boringssl = { + rev = "7a6e828dc53ba9a56bd49915f2a0780d63af97d2"; + hash = "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk="; + }; }; r9cffd74f = buildECTesterStandalone { - boringssl = { rev="9cffd74fdb65c69506a0ce1b19420a67ad0cb19e"; hash="sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4="; }; + boringssl = { + rev = "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e"; + hash = "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4="; + }; }; r82f9853f = buildECTesterStandalone { - boringssl = { rev="82f9853fc7d7360ae44f1e1357a6422c5244bbd8"; hash="sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY="; }; + boringssl = { + rev = "82f9853fc7d7360ae44f1e1357a6422c5244bbd8"; + hash = "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY="; + }; }; r9b3ef1b3 = buildECTesterStandalone { - boringssl = { rev="9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3"; hash="sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE="; }; + boringssl = { + rev = "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3"; + hash = "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE="; + }; }; r096ded9f = buildECTesterStandalone { - boringssl = { rev="096ded9f097b73a15956b04cd168c7cfe7e28f52"; hash="sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo="; }; + boringssl = { + rev = "096ded9f097b73a15956b04cd168c7cfe7e28f52"; + hash = "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo="; + }; }; rd274b1ba = buildECTesterStandalone { - boringssl = { rev="d274b1bacdca36f3941bf78e43dc38acf676a1a8"; hash="sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; }; + boringssl = { + rev = "d274b1bacdca36f3941bf78e43dc38acf676a1a8"; + hash = "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; + }; }; rb34976ca = buildECTesterStandalone { - boringssl = { rev="b34976cae99f8d1b864dbab31e20fc00d06acb09"; hash="sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo="; }; + boringssl = { + rev = "b34976cae99f8d1b864dbab31e20fc00d06acb09"; + hash = "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo="; + }; }; r77ef86d0 = buildECTesterStandalone { - boringssl = { rev="77ef86d0431ec3ceea503b0c59888942fd35b035"; hash="sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M="; }; + boringssl = { + rev = "77ef86d0431ec3ceea503b0c59888942fd35b035"; + hash = "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M="; + }; }; r8934b1ef = buildECTesterStandalone { - boringssl = { rev="8934b1ef0857bc08626a2206a6f5f718942c14fc"; hash="sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0="; }; + boringssl = { + rev = "8934b1ef0857bc08626a2206a6f5f718942c14fc"; + hash = "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0="; + }; }; r7c2b62e9 = buildECTesterStandalone { - boringssl = { rev="7c2b62e93487b772990fddc1905f22d4cfaee4a4"; hash="sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4="; }; + boringssl = { + rev = "7c2b62e93487b772990fddc1905f22d4cfaee4a4"; + hash = "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4="; + }; }; r12f0f4be = buildECTesterStandalone { - boringssl = { rev="12f0f4bec2a6db53a53748dd6001d1aacaae26ba"; hash="sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw="; }; + boringssl = { + rev = "12f0f4bec2a6db53a53748dd6001d1aacaae26ba"; + hash = "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw="; + }; }; rca2eba6a = buildECTesterStandalone { - boringssl = { rev="ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa"; hash="sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8="; }; + boringssl = { + rev = "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa"; + hash = "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8="; + }; }; rf01108e4 = buildECTesterStandalone { - boringssl = { rev="f01108e4761e1d4189cb134322c3cb01dc71ef87"; hash="sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; }; + boringssl = { + rev = "f01108e4761e1d4189cb134322c3cb01dc71ef87"; + hash = "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; + }; }; r26468aea = buildECTesterStandalone { - boringssl = { rev="26468aea6483135b156fb03a5693c495dbad2e0f"; hash="sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE="; }; + boringssl = { + rev = "26468aea6483135b156fb03a5693c495dbad2e0f"; + hash = "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE="; + }; }; r7811fdc9 = buildECTesterStandalone { - boringssl = { rev="7811fdc94b7ec146937e83f98d411157974ffa32"; hash="sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; }; + boringssl = { + rev = "7811fdc94b7ec146937e83f98d411157974ffa32"; + hash = "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; + }; }; r45db24b3 = buildECTesterStandalone { - boringssl = { rev="45db24b36a030ec54464ea7a26c362f3c82305ee"; hash="sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0="; }; + boringssl = { + rev = "45db24b36a030ec54464ea7a26c362f3c82305ee"; + hash = "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0="; + }; }; r45b24641 = buildECTesterStandalone { - boringssl = { rev="45b2464158379f48cec6e35a1ef503ddea1511a6"; hash="sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY="; }; + boringssl = { + rev = "45b2464158379f48cec6e35a1ef503ddea1511a6"; + hash = "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY="; + }; }; r2fcdd11f = buildECTesterStandalone { - boringssl = { rev="2fcdd11f6d33b667968a5bc5147e2ba83a2082b8"; hash="sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA="; }; + boringssl = { + rev = "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8"; + hash = "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA="; + }; }; r6c98ebeb = buildECTesterStandalone { - boringssl = { rev="6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec"; hash="sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI="; }; + boringssl = { + rev = "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec"; + hash = "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI="; + }; }; rd1e6d3b4 = buildECTesterStandalone { - boringssl = { rev="d1e6d3b4af50c9490cc6210e2763b3c45ba14b07"; hash="sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo="; }; + boringssl = { + rev = "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07"; + hash = "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo="; + }; }; r84dc9bb6 = buildECTesterStandalone { - boringssl = { rev="84dc9bb624b47bda0bf802ae9e04a6eecb40865c"; hash="sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo="; }; + boringssl = { + rev = "84dc9bb624b47bda0bf802ae9e04a6eecb40865c"; + hash = "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo="; + }; }; r67422ed4 = buildECTesterStandalone { - boringssl = { rev="67422ed4434116daa8898773692165ddd51a6ac2"; hash="sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; }; + boringssl = { + rev = "67422ed4434116daa8898773692165ddd51a6ac2"; + hash = "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; + }; }; rc6c0b650 = buildECTesterStandalone { - boringssl = { rev="c6c0b650091e90e6206a361c14a73223f54d42c1"; hash="sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg="; }; + boringssl = { + rev = "c6c0b650091e90e6206a361c14a73223f54d42c1"; + hash = "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg="; + }; }; r66d274df = buildECTesterStandalone { - boringssl = { rev="66d274dfbab9e4f84599f06504987c418ca087d9"; hash="sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0="; }; + boringssl = { + rev = "66d274dfbab9e4f84599f06504987c418ca087d9"; + hash = "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0="; + }; }; re1d209d4 = buildECTesterStandalone { - boringssl = { rev="e1d209d4432846d28c31d84f269f4edcb9a63509"; hash="sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg="; }; + boringssl = { + rev = "e1d209d4432846d28c31d84f269f4edcb9a63509"; + hash = "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg="; + }; }; r9cac8a6b = buildECTesterStandalone { - boringssl = { rev="9cac8a6b38c1cbd45c77aee108411d588da006fe"; hash="sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs="; }; + boringssl = { + rev = "9cac8a6b38c1cbd45c77aee108411d588da006fe"; + hash = "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs="; + }; }; r11acdc6a = buildECTesterStandalone { - boringssl = { rev="11acdc6abf13cc8139c30ac9455840a347793110"; hash="sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y="; }; + boringssl = { + rev = "11acdc6abf13cc8139c30ac9455840a347793110"; + hash = "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y="; + }; }; r962432c6 = buildECTesterStandalone { - boringssl = { rev="962432c687f67f8df1aa6e3dd364fbc88fea4ed8"; hash="sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ="; }; + boringssl = { + rev = "962432c687f67f8df1aa6e3dd364fbc88fea4ed8"; + hash = "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ="; + }; }; ra220a602 = buildECTesterStandalone { - boringssl = { rev="a220a6024f66c123019b5c080f6bd8bcaf75448c"; hash="sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0="; }; + boringssl = { + rev = "a220a6024f66c123019b5c080f6bd8bcaf75448c"; + hash = "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0="; + }; }; ra6c42d68 = buildECTesterStandalone { - boringssl = { rev="a6c42d6810ea5317fe8ed85704c097cd8f3513ca"; hash="sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ="; }; + boringssl = { + rev = "a6c42d6810ea5317fe8ed85704c097cd8f3513ca"; + hash = "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ="; + }; }; r56fb43a2 = buildECTesterStandalone { - boringssl = { rev="56fb43a204e57af68e00f4561c108a7004381aa3"; hash="sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY="; }; + boringssl = { + rev = "56fb43a204e57af68e00f4561c108a7004381aa3"; + hash = "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY="; + }; }; r29223ac3 = buildECTesterStandalone { - boringssl = { rev="29223ac349c144a4d0babc281644c0410dd1e313"; hash="sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ="; }; + boringssl = { + rev = "29223ac349c144a4d0babc281644c0410dd1e313"; + hash = "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ="; + }; }; re2a801f6 = buildECTesterStandalone { - boringssl = { rev="e2a801f688dbdfac8fde90b849b1bf75f80b466c"; hash="sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs="; }; + boringssl = { + rev = "e2a801f688dbdfac8fde90b849b1bf75f80b466c"; + hash = "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs="; + }; }; r39dd1e3c = buildECTesterStandalone { - boringssl = { rev="39dd1e3c904341ac14da80224d72a77d95501ad4"; hash="sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4="; }; + boringssl = { + rev = "39dd1e3c904341ac14da80224d72a77d95501ad4"; + hash = "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4="; + }; }; r1385dbd5 = buildECTesterStandalone { - boringssl = { rev="1385dbd51dc2eeba39076687a6c9e45c7dc8965c"; hash="sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk="; }; + boringssl = { + rev = "1385dbd51dc2eeba39076687a6c9e45c7dc8965c"; + hash = "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk="; + }; }; r2bc9245e = buildECTesterStandalone { - boringssl = { rev="2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a"; hash="sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM="; }; + boringssl = { + rev = "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a"; + hash = "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM="; + }; }; ra055b938 = buildECTesterStandalone { - boringssl = { rev="a055b93845a1b2a910919e21920e4bd1ce900841"; hash="sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI="; }; + boringssl = { + rev = "a055b93845a1b2a910919e21920e4bd1ce900841"; + hash = "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI="; + }; }; rdec5989b = buildECTesterStandalone { - boringssl = { rev="dec5989b793c56ad4dd32173bd2d8595ca78b398"; hash="sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI="; }; + boringssl = { + rev = "dec5989b793c56ad4dd32173bd2d8595ca78b398"; + hash = "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI="; + }; }; rc1d9ac02 = buildECTesterStandalone { - boringssl = { rev="c1d9ac02514a138129872a036e3f8a1074dcb8bd"; hash="sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8="; }; + boringssl = { + rev = "c1d9ac02514a138129872a036e3f8a1074dcb8bd"; + hash = "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8="; + }; }; re1a860c3 = buildECTesterStandalone { - boringssl = { rev="e1a860c3745c77cb83228dde1b73fa62eaf43930"; hash="sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs="; }; + boringssl = { + rev = "e1a860c3745c77cb83228dde1b73fa62eaf43930"; + hash = "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs="; + }; }; rfb1c75ca = buildECTesterStandalone { - boringssl = { rev="fb1c75caf8ba5d45a0f2c52facd36e4ad9289549"; hash="sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI="; }; + boringssl = { + rev = "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549"; + hash = "sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI="; + }; }; re491eeb6 = buildECTesterStandalone { - boringssl = { rev="e491eeb610fcc69b98bc6d1ba08faf78655808f6"; hash="sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U="; }; + boringssl = { + rev = "e491eeb610fcc69b98bc6d1ba08faf78655808f6"; + hash = "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U="; + }; }; ra11277e1 = buildECTesterStandalone { - boringssl = { rev="a11277e187e407d0ef403b8a60d9a32eaab7d301"; hash="sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo="; }; + boringssl = { + rev = "a11277e187e407d0ef403b8a60d9a32eaab7d301"; + hash = "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo="; + }; }; r25cf1bb9 = buildECTesterStandalone { - boringssl = { rev="25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016"; hash="sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk="; }; + boringssl = { + rev = "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016"; + hash = "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk="; + }; }; rc8100f0f = buildECTesterStandalone { - boringssl = { rev="c8100f0f0d05c5185d58113e12a867ae0771a6c9"; hash="sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q="; }; + boringssl = { + rev = "c8100f0f0d05c5185d58113e12a867ae0771a6c9"; + hash = "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q="; + }; }; r1eda2363 = buildECTesterStandalone { - boringssl = { rev="1eda2363f9e79aaa5febe91d31b6756ae4f24f30"; hash="sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g="; }; + boringssl = { + rev = "1eda2363f9e79aaa5febe91d31b6756ae4f24f30"; + hash = "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g="; + }; }; r261579f0 = buildECTesterStandalone { - boringssl = { rev="261579f08b2f8aa7959670df1e928c1c305a632c"; hash="sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg="; }; + boringssl = { + rev = "261579f08b2f8aa7959670df1e928c1c305a632c"; + hash = "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg="; + }; }; r9540c045 = buildECTesterStandalone { - boringssl = { rev="9540c0452343e684f94515288880b6b35655f792"; hash="sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk="; }; + boringssl = { + rev = "9540c0452343e684f94515288880b6b35655f792"; + hash = "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk="; + }; }; red3f05a6 = buildECTesterStandalone { - boringssl = { rev="ed3f05a6794adfd39937d0027afefad8f6afcae9"; hash="sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc="; }; + boringssl = { + rev = "ed3f05a6794adfd39937d0027afefad8f6afcae9"; + hash = "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc="; + }; }; r4a7815c9 = buildECTesterStandalone { - boringssl = { rev="4a7815c94077eebb3546fc287d1fa0e1356a2cd0"; hash="sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8="; }; + boringssl = { + rev = "4a7815c94077eebb3546fc287d1fa0e1356a2cd0"; + hash = "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8="; + }; }; r5326e94d = buildECTesterStandalone { - boringssl = { rev="5326e94dd188beba0a5e536b1d2723aee65bd85d"; hash="sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0="; }; + boringssl = { + rev = "5326e94dd188beba0a5e536b1d2723aee65bd85d"; + hash = "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0="; + }; }; re09fcf83 = buildECTesterStandalone { - boringssl = { rev="e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e"; hash="sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE="; }; + boringssl = { + rev = "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e"; + hash = "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE="; + }; }; rafd52e91 = buildECTesterStandalone { - boringssl = { rev="afd52e91dfed27ab7193be040f067900947b14ac"; hash="sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo="; }; + boringssl = { + rev = "afd52e91dfed27ab7193be040f067900947b14ac"; + hash = "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo="; + }; }; re95b0cad = buildECTesterStandalone { - boringssl = { rev="e95b0cad901abd49755d2a2a2f1f6c3e87d12b94"; hash="sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw="; }; + boringssl = { + rev = "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94"; + hash = "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw="; + }; }; r13aa2733 = buildECTesterStandalone { - boringssl = { rev="13aa27338663c62600249ece54c94f180d57bbb7"; hash="sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds="; }; + boringssl = { + rev = "13aa27338663c62600249ece54c94f180d57bbb7"; + hash = "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds="; + }; }; r03982b4c = buildECTesterStandalone { - boringssl = { rev="03982b4cfadca0e650b384c9539b2fdb5f8aa012"; hash="sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg="; }; + boringssl = { + rev = "03982b4cfadca0e650b384c9539b2fdb5f8aa012"; + hash = "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg="; + }; }; r273a920f = buildECTesterStandalone { - boringssl = { rev="273a920f84e8b0b258737cea0f2f24627e8c5ed9"; hash="sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ="; }; + boringssl = { + rev = "273a920f84e8b0b258737cea0f2f24627e8c5ed9"; + hash = "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ="; + }; }; r9f7f4d03 = buildECTesterStandalone { - boringssl = { rev="9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d"; hash="sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw="; }; + boringssl = { + rev = "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d"; + hash = "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw="; + }; }; rd7278ceb = buildECTesterStandalone { - boringssl = { rev="d7278cebad5b8eda0901246f2215344cffece4f4"; hash="sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA="; }; + boringssl = { + rev = "d7278cebad5b8eda0901246f2215344cffece4f4"; + hash = "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA="; + }; }; rbfcab2aa = buildECTesterStandalone { - boringssl = { rev="bfcab2aa518899ce71e7ffbc23bb22c4ef51858f"; hash="sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY="; }; + boringssl = { + rev = "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f"; + hash = "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY="; + }; }; r68c29a24 = buildECTesterStandalone { - boringssl = { rev="68c29a24ee6c9c70ecce56766ca70b115aad768f"; hash="sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo="; }; + boringssl = { + rev = "68c29a24ee6c9c70ecce56766ca70b115aad768f"; + hash = "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo="; + }; }; rde6ba216 = buildECTesterStandalone { - boringssl = { rev="de6ba216656b819d4d8de7602006561f82a8c669"; hash="sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4="; }; + boringssl = { + rev = "de6ba216656b819d4d8de7602006561f82a8c669"; + hash = "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4="; + }; }; r29c9e64c = buildECTesterStandalone { - boringssl = { rev="29c9e64ce548ff8278e9d98aa53f611f115c2bed"; hash="sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4="; }; + boringssl = { + rev = "29c9e64ce548ff8278e9d98aa53f611f115c2bed"; + hash = "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4="; + }; }; r58745d61 = buildECTesterStandalone { - boringssl = { rev="58745d61afe244a37941d391f5dec3ab08f5cf2c"; hash="sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ="; }; + boringssl = { + rev = "58745d61afe244a37941d391f5dec3ab08f5cf2c"; + hash = "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ="; + }; }; rc798e3a5 = buildECTesterStandalone { - boringssl = { rev="c798e3a54912a1bfbf1c846630e2bb86e9b543a7"; hash="sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig="; }; + boringssl = { + rev = "c798e3a54912a1bfbf1c846630e2bb86e9b543a7"; + hash = "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig="; + }; }; rba62c812 = buildECTesterStandalone { - boringssl = { rev="ba62c812f01fb379f49f94a08a2d1282ce46e678"; hash="sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU="; }; + boringssl = { + rev = "ba62c812f01fb379f49f94a08a2d1282ce46e678"; + hash = "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU="; + }; }; r2fb5f9cb = buildECTesterStandalone { - boringssl = { rev="2fb5f9cb8feec2234952f6999af941ac48555710"; hash="sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8="; }; + boringssl = { + rev = "2fb5f9cb8feec2234952f6999af941ac48555710"; + hash = "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8="; + }; }; rd477c0d7 = buildECTesterStandalone { - boringssl = { rev="d477c0d7c40ddca3a64ae26fc02d2dac175836d3"; hash="sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag="; }; + boringssl = { + rev = "d477c0d7c40ddca3a64ae26fc02d2dac175836d3"; + hash = "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag="; + }; }; rc7019036 = buildECTesterStandalone { - boringssl = { rev="c70190368c7040c37c1d655f0690bcde2b109a0d"; hash="sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE="; }; + boringssl = { + rev = "c70190368c7040c37c1d655f0690bcde2b109a0d"; + hash = "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE="; + }; }; r7662e58e = buildECTesterStandalone { - boringssl = { rev="7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2"; hash="sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4="; }; + boringssl = { + rev = "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2"; + hash = "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4="; + }; }; r0355048c = buildECTesterStandalone { - boringssl = { rev="0355048ce0302fdeb4744dae4b8a156a38496150"; hash="sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY="; }; + boringssl = { + rev = "0355048ce0302fdeb4744dae4b8a156a38496150"; + hash = "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY="; + }; }; r3a01cba9 = buildECTesterStandalone { - boringssl = { rev="3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee"; hash="sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk="; }; + boringssl = { + rev = "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee"; + hash = "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk="; + }; }; r07f27b1d = buildECTesterStandalone { - boringssl = { rev="07f27b1d445a27433f2c871935da2cefcfbdb458"; hash="sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A="; }; + boringssl = { + rev = "07f27b1d445a27433f2c871935da2cefcfbdb458"; + hash = "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A="; + }; }; rfc953df2 = buildECTesterStandalone { - boringssl = { rev="fc953df2352e1c1bcb34cb5f75a0e409014c1690"; hash="sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU="; }; + boringssl = { + rev = "fc953df2352e1c1bcb34cb5f75a0e409014c1690"; + hash = "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU="; + }; }; r1a9edc3e = buildECTesterStandalone { - boringssl = { rev="1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba"; hash="sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI="; }; + boringssl = { + rev = "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba"; + hash = "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI="; + }; }; rb8912d71 = buildECTesterStandalone { - boringssl = { rev="b8912d713cb82a748bbe63f28f28b17632c70964"; hash="sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc="; }; + boringssl = { + rev = "b8912d713cb82a748bbe63f28f28b17632c70964"; + hash = "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc="; + }; }; rb6bca9c6 = buildECTesterStandalone { - boringssl = { rev="b6bca9c6dde177f641137d2991aa677997c54c67"; hash="sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI="; }; + boringssl = { + rev = "b6bca9c6dde177f641137d2991aa677997c54c67"; + hash = "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI="; + }; }; r03d1b7c5 = buildECTesterStandalone { - boringssl = { rev="03d1b7c544851d9f44df1e9ff21839742e08c819"; hash="sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA="; }; + boringssl = { + rev = "03d1b7c544851d9f44df1e9ff21839742e08c819"; + hash = "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA="; + }; }; r6b36ad2b = buildECTesterStandalone { - boringssl = { rev="6b36ad2bd6001f17a997b7a1e0ab254b001438ef"; hash="sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY="; }; + boringssl = { + rev = "6b36ad2bd6001f17a997b7a1e0ab254b001438ef"; + hash = "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY="; + }; }; r1d24e04c = buildECTesterStandalone { - boringssl = { rev="1d24e04c7143171ae2010c842e3e1438510fd1c0"; hash="sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc="; }; + boringssl = { + rev = "1d24e04c7143171ae2010c842e3e1438510fd1c0"; + hash = "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc="; + }; }; r8a0da669 = buildECTesterStandalone { - boringssl = { rev="8a0da669a08b6c6b805fd7ec9d1e67694fda3711"; hash="sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc="; }; + boringssl = { + rev = "8a0da669a08b6c6b805fd7ec9d1e67694fda3711"; + hash = "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc="; + }; }; r4d50a595 = buildECTesterStandalone { - boringssl = { rev="4d50a595b49a2e7b7017060a4d402c4ee9fe28a2"; hash="sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA="; }; + boringssl = { + rev = "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2"; + hash = "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA="; + }; }; rd34f540e = buildECTesterStandalone { - boringssl = { rev="d34f540e57394de22a1599c3c5d852519d388d6c"; hash="sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0="; }; + boringssl = { + rev = "d34f540e57394de22a1599c3c5d852519d388d6c"; + hash = "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0="; + }; }; re7d76da9 = buildECTesterStandalone { - boringssl = { rev="e7d76da920a1bd79b6ebc77e75b407cdf0a58962"; hash="sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0="; }; + boringssl = { + rev = "e7d76da920a1bd79b6ebc77e75b407cdf0a58962"; + hash = "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0="; + }; }; r3efe2eb9 = buildECTesterStandalone { - boringssl = { rev="3efe2eb9e3dfb49cb110c53e3430caeae4599f52"; hash="sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I="; }; + boringssl = { + rev = "3efe2eb9e3dfb49cb110c53e3430caeae4599f52"; + hash = "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I="; + }; }; r35a91094 = buildECTesterStandalone { - boringssl = { rev="35a910949d684aea8b86a8c42db76c4f43e31a96"; hash="sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw="; }; + boringssl = { + rev = "35a910949d684aea8b86a8c42db76c4f43e31a96"; + hash = "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw="; + }; }; r8e6aa7f3 = buildECTesterStandalone { - boringssl = { rev="8e6aa7f39f4357a6ad15944884f72db8d25b9dff"; hash="sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M="; }; + boringssl = { + rev = "8e6aa7f39f4357a6ad15944884f72db8d25b9dff"; + hash = "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M="; + }; }; r7c44f450 = buildECTesterStandalone { - boringssl = { rev="7c44f450547cc777229462c2ac864a9326c0106c"; hash="sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk="; }; + boringssl = { + rev = "7c44f450547cc777229462c2ac864a9326c0106c"; + hash = "sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk="; + }; }; r6ab7c148 = buildECTesterStandalone { - boringssl = { rev="6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec"; hash="sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE="; }; + boringssl = { + rev = "6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec"; + hash = "sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE="; + }; }; rb17231cd = buildECTesterStandalone { - boringssl = { rev="b17231cdb9ec4e877b470c57d3280d9195811cd9"; hash="sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s="; }; + boringssl = { + rev = "b17231cdb9ec4e877b470c57d3280d9195811cd9"; + hash = "sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s="; + }; }; r3e89a7e8 = buildECTesterStandalone { - boringssl = { rev="3e89a7e8db8139db356b892ca9993172346c80cf"; hash="sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k="; }; + boringssl = { + rev = "3e89a7e8db8139db356b892ca9993172346c80cf"; + hash = "sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k="; + }; }; r8de798be = buildECTesterStandalone { - boringssl = { rev="8de798be4b850cf88ad2c50602abe2ca3bb285df"; hash="sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM="; }; + boringssl = { + rev = "8de798be4b850cf88ad2c50602abe2ca3bb285df"; + hash = "sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM="; + }; }; rd2e3212d = buildECTesterStandalone { - boringssl = { rev="d2e3212de29bac1ceed33ca8ab8bbff3f41a2459"; hash="sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y="; }; + boringssl = { + rev = "d2e3212de29bac1ceed33ca8ab8bbff3f41a2459"; + hash = "sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y="; + }; }; r783ae722 = buildECTesterStandalone { - boringssl = { rev="783ae722ed307a3b3782cd253fd4ffb387f38767"; hash="sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo="; }; + boringssl = { + rev = "783ae722ed307a3b3782cd253fd4ffb387f38767"; + hash = "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo="; + }; }; r2db0eb3f = buildECTesterStandalone { - boringssl = { rev="2db0eb3f96a5756298dcd7f9319e56a98585bd10"; hash="sha256-+G7BcdtU8AeNMY4NLQgKpgF28/CS9FIjf+vaOd+Wf6o="; }; + boringssl = { + rev = "2db0eb3f96a5756298dcd7f9319e56a98585bd10"; + hash = "sha256-+G7BcdtU8AeNMY4NLQgKpgF28/CS9FIjf+vaOd+Wf6o="; + }; }; r70d05d5a = buildECTesterStandalone { - boringssl = { rev="70d05d5a34f6366116e2b0a530ea8d0186bb2a8e"; hash="sha256-aEtH4Efvt+zRGvUD9JAsBU+EfZySk8gU05fek5rbcbM="; }; + boringssl = { + rev = "70d05d5a34f6366116e2b0a530ea8d0186bb2a8e"; + hash = "sha256-aEtH4Efvt+zRGvUD9JAsBU+EfZySk8gU05fek5rbcbM="; + }; }; } diff --git a/nix/boringsslshim.nix b/nix/boringsslshim.nix index 39693812..a5e7fbd3 100644 --- a/nix/boringsslshim.nix +++ b/nix/boringsslshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , boringssl -}: -with pkgs; stdenv.mkDerivation { +{ pkgs, boringssl }: +with pkgs; +stdenv.mkDerivation { name = "BoringSSLShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/botan_pkg_versions.nix b/nix/botan_pkg_versions.nix index 66b0db55..254bca96 100644 --- a/nix/botan_pkg_versions.nix +++ b/nix/botan_pkg_versions.nix @@ -1,122 +1,276 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v200 = buildECTesterStandalone { - botan = { version="2.0.0"; source_extension="tgz"; hash="sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; }; - }; + botan = { + version = "2.0.0"; + source_extension = "tgz"; + hash = "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; + }; + }; v201 = buildECTesterStandalone { - botan = { version="2.0.1"; source_extension="tgz"; hash="sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; }; - }; + botan = { + version = "2.0.1"; + source_extension = "tgz"; + hash = "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; + }; + }; v210 = buildECTesterStandalone { - botan = { version="2.1.0"; source_extension="tgz"; hash="sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; }; - }; + botan = { + version = "2.1.0"; + source_extension = "tgz"; + hash = "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; + }; + }; v2100 = buildECTesterStandalone { - botan = { version="2.10.0"; source_extension="tgz"; hash="sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; }; - }; + botan = { + version = "2.10.0"; + source_extension = "tgz"; + hash = "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; + }; + }; v2110 = buildECTesterStandalone { - botan = { version="2.11.0"; source_extension="tar.xz"; hash="sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="; }; - }; + botan = { + version = "2.11.0"; + source_extension = "tar.xz"; + hash = "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="; + }; + }; v2120 = buildECTesterStandalone { - botan = { version="2.12.0"; source_extension="tar.xz"; hash="sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="; }; - }; + botan = { + version = "2.12.0"; + source_extension = "tar.xz"; + hash = "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="; + }; + }; v2121 = buildECTesterStandalone { - botan = { version="2.12.1"; source_extension="tar.xz"; hash="sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="; }; - }; + botan = { + version = "2.12.1"; + source_extension = "tar.xz"; + hash = "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="; + }; + }; v2130 = buildECTesterStandalone { - botan = { version="2.13.0"; source_extension="tar.xz"; hash="sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="; }; - }; + botan = { + version = "2.13.0"; + source_extension = "tar.xz"; + hash = "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="; + }; + }; v2140 = buildECTesterStandalone { - botan = { version="2.14.0"; source_extension="tar.xz"; hash="sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="; }; - }; + botan = { + version = "2.14.0"; + source_extension = "tar.xz"; + hash = "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="; + }; + }; v2150 = buildECTesterStandalone { - botan = { version="2.15.0"; source_extension="tar.xz"; hash="sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="; }; - }; + botan = { + version = "2.15.0"; + source_extension = "tar.xz"; + hash = "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="; + }; + }; v2160 = buildECTesterStandalone { - botan = { version="2.16.0"; source_extension="tar.xz"; hash="sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="; }; - }; + botan = { + version = "2.16.0"; + source_extension = "tar.xz"; + hash = "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="; + }; + }; v2170 = buildECTesterStandalone { - botan = { version="2.17.0"; source_extension="tar.xz"; hash="sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="; }; - }; + botan = { + version = "2.17.0"; + source_extension = "tar.xz"; + hash = "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="; + }; + }; v2171 = buildECTesterStandalone { - botan = { version="2.17.1"; source_extension="tar.xz"; hash="sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="; }; - }; + botan = { + version = "2.17.1"; + source_extension = "tar.xz"; + hash = "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="; + }; + }; v2172 = buildECTesterStandalone { - botan = { version="2.17.2"; source_extension="tar.xz"; hash="sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="; }; - }; + botan = { + version = "2.17.2"; + source_extension = "tar.xz"; + hash = "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="; + }; + }; v2173 = buildECTesterStandalone { - botan = { version="2.17.3"; source_extension="tar.xz"; hash="sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="; }; - }; + botan = { + version = "2.17.3"; + source_extension = "tar.xz"; + hash = "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="; + }; + }; v2180 = buildECTesterStandalone { - botan = { version="2.18.0"; source_extension="tar.xz"; hash="sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="; }; - }; + botan = { + version = "2.18.0"; + source_extension = "tar.xz"; + hash = "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="; + }; + }; v2181 = buildECTesterStandalone { - botan = { version="2.18.1"; source_extension="tar.xz"; hash="sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="; }; - }; + botan = { + version = "2.18.1"; + source_extension = "tar.xz"; + hash = "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="; + }; + }; v2182 = buildECTesterStandalone { - botan = { version="2.18.2"; source_extension="tar.xz"; hash="sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="; }; - }; + botan = { + version = "2.18.2"; + source_extension = "tar.xz"; + hash = "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="; + }; + }; v2190 = buildECTesterStandalone { - botan = { version="2.19.0"; source_extension="tar.xz"; hash="sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="; }; - }; + botan = { + version = "2.19.0"; + source_extension = "tar.xz"; + hash = "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="; + }; + }; v2191 = buildECTesterStandalone { - botan = { version="2.19.1"; source_extension="tar.xz"; hash="sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="; }; - }; + botan = { + version = "2.19.1"; + source_extension = "tar.xz"; + hash = "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="; + }; + }; v2192 = buildECTesterStandalone { - botan = { version="2.19.2"; source_extension="tar.xz"; hash="sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="; }; - }; + botan = { + version = "2.19.2"; + source_extension = "tar.xz"; + hash = "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="; + }; + }; v2193 = buildECTesterStandalone { - botan = { version="2.19.3"; source_extension="tar.xz"; hash="sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="; }; - }; + botan = { + version = "2.19.3"; + source_extension = "tar.xz"; + hash = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="; + }; + }; v2194 = buildECTesterStandalone { - botan = { version="2.19.4"; source_extension="tar.xz"; hash="sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="; }; - }; + botan = { + version = "2.19.4"; + source_extension = "tar.xz"; + hash = "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="; + }; + }; v2195 = buildECTesterStandalone { - botan = { version="2.19.5"; source_extension="tar.xz"; hash="sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="; }; - }; + botan = { + version = "2.19.5"; + source_extension = "tar.xz"; + hash = "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="; + }; + }; v220 = buildECTesterStandalone { - botan = { version="2.2.0"; source_extension="tgz"; hash="sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="; }; - }; + botan = { + version = "2.2.0"; + source_extension = "tgz"; + hash = "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="; + }; + }; v230 = buildECTesterStandalone { - botan = { version="2.3.0"; source_extension="tgz"; hash="sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="; }; - }; + botan = { + version = "2.3.0"; + source_extension = "tgz"; + hash = "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="; + }; + }; v240 = buildECTesterStandalone { - botan = { version="2.4.0"; source_extension="tgz"; hash="sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="; }; - }; + botan = { + version = "2.4.0"; + source_extension = "tgz"; + hash = "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="; + }; + }; v250 = buildECTesterStandalone { - botan = { version="2.5.0"; source_extension="tgz"; hash="sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="; }; - }; + botan = { + version = "2.5.0"; + source_extension = "tgz"; + hash = "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="; + }; + }; v260 = buildECTesterStandalone { - botan = { version="2.6.0"; source_extension="tgz"; hash="sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="; }; - }; + botan = { + version = "2.6.0"; + source_extension = "tgz"; + hash = "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="; + }; + }; v270 = buildECTesterStandalone { - botan = { version="2.7.0"; source_extension="tgz"; hash="sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="; }; - }; + botan = { + version = "2.7.0"; + source_extension = "tgz"; + hash = "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="; + }; + }; v280 = buildECTesterStandalone { - botan = { version="2.8.0"; source_extension="tgz"; hash="sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="; }; - }; + botan = { + version = "2.8.0"; + source_extension = "tgz"; + hash = "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="; + }; + }; v290 = buildECTesterStandalone { - botan = { version="2.9.0"; source_extension="tgz"; hash="sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="; }; - }; + botan = { + version = "2.9.0"; + source_extension = "tgz"; + hash = "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="; + }; + }; v300 = buildECTesterStandalone { - botan = { version="3.0.0"; source_extension="tar.xz"; hash="sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="; }; - }; + botan = { + version = "3.0.0"; + source_extension = "tar.xz"; + hash = "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="; + }; + }; v310 = buildECTesterStandalone { - botan = { version="3.1.0"; source_extension="tar.xz"; hash="sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="; }; - }; + botan = { + version = "3.1.0"; + source_extension = "tar.xz"; + hash = "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="; + }; + }; v311 = buildECTesterStandalone { - botan = { version="3.1.1"; source_extension="tar.xz"; hash="sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; }; - }; + botan = { + version = "3.1.1"; + source_extension = "tar.xz"; + hash = "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; + }; + }; v320 = buildECTesterStandalone { - botan = { version="3.2.0"; source_extension="tar.xz"; hash="sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="; }; - }; + botan = { + version = "3.2.0"; + source_extension = "tar.xz"; + hash = "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="; + }; + }; v330 = buildECTesterStandalone { - botan = { version="3.3.0"; source_extension="tar.xz"; hash="sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="; }; - }; + botan = { + version = "3.3.0"; + source_extension = "tar.xz"; + hash = "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="; + }; + }; v340 = buildECTesterStandalone { - botan = { version="3.4.0"; source_extension="tar.xz"; hash="sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="; }; - }; + botan = { + version = "3.4.0"; + source_extension = "tar.xz"; + hash = "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="; + }; + }; v350 = buildECTesterStandalone { - botan = { version="3.5.0"; source_extension="tar.xz"; hash="sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="; }; - }; -} \ No newline at end of file + botan = { + version = "3.5.0"; + source_extension = "tar.xz"; + hash = "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="; + }; + }; +} diff --git a/nix/botanshim.nix b/nix/botanshim.nix index 3711d1df..8688b206 100644 --- a/nix/botanshim.nix +++ b/nix/botanshim.nix @@ -1,9 +1,9 @@ -{ - stdenv - , botan2 - , pkg-config +{ + stdenv, + botan2, + pkg-config, # NOTE change to jdk17? - , jdk11_headless + jdk11_headless, }: stdenv.mkDerivation { name = "BotanShim"; diff --git a/nix/commonlibs.nix b/nix/commonlibs.nix index 525d4aaa..dde4ccae 100644 --- a/nix/commonlibs.nix +++ b/nix/commonlibs.nix @@ -1,7 +1,6 @@ -{ - pkgs -}: -with pkgs; stdenv.mkDerivation rec { +{ pkgs }: +with pkgs; +stdenv.mkDerivation rec { name = "Common Libraries"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/cryptopp_pkg_versions.nix b/nix/cryptopp_pkg_versions.nix index 781135b7..a4b01e57 100644 --- a/nix/cryptopp_pkg_versions.nix +++ b/nix/cryptopp_pkg_versions.nix @@ -1,53 +1,99 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v890 = buildECTesterStandalone { - cryptopp = { version="8_9_0"; hash="sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; }; - }; + cryptopp = { + version = "8_9_0"; + hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; + }; + }; v880 = buildECTesterStandalone { - cryptopp = { version="8_8_0"; hash="sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="; }; - }; + cryptopp = { + version = "8_8_0"; + hash = "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="; + }; + }; v870 = buildECTesterStandalone { - cryptopp = { version="8_7_0"; hash="sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="; }; - }; + cryptopp = { + version = "8_7_0"; + hash = "sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="; + }; + }; v860 = buildECTesterStandalone { - cryptopp = { version="8_6_0"; hash="sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="; }; - }; + cryptopp = { + version = "8_6_0"; + hash = "sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="; + }; + }; v850 = buildECTesterStandalone { - cryptopp = { version="8_5_0"; hash="sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="; }; - }; + cryptopp = { + version = "8_5_0"; + hash = "sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="; + }; + }; v840 = buildECTesterStandalone { - cryptopp = { version="8_4_0"; hash="sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="; }; - }; + cryptopp = { + version = "8_4_0"; + hash = "sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="; + }; + }; v830 = buildECTesterStandalone { - cryptopp = { version="8_3_0"; hash="sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="; }; - }; + cryptopp = { + version = "8_3_0"; + hash = "sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="; + }; + }; v820 = buildECTesterStandalone { - cryptopp = { version="8_2_0"; hash="sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="; }; - }; + cryptopp = { + version = "8_2_0"; + hash = "sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="; + }; + }; v810 = buildECTesterStandalone { - cryptopp = { version="8_1_0"; hash="sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="; }; - }; + cryptopp = { + version = "8_1_0"; + hash = "sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="; + }; + }; v800 = buildECTesterStandalone { - cryptopp = { version="8_0_0"; hash="sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="; }; - }; + cryptopp = { + version = "8_0_0"; + hash = "sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="; + }; + }; v700 = buildECTesterStandalone { - cryptopp = { version="7_0_0"; hash="sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="; }; - }; + cryptopp = { + version = "7_0_0"; + hash = "sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="; + }; + }; v610 = buildECTesterStandalone { - cryptopp = { version="6_1_0"; hash="sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="; }; - }; + cryptopp = { + version = "6_1_0"; + hash = "sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="; + }; + }; v600 = buildECTesterStandalone { - cryptopp = { version="6_0_0"; hash="sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="; }; - }; + cryptopp = { + version = "6_0_0"; + hash = "sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="; + }; + }; v565 = buildECTesterStandalone { - cryptopp = { version="5_6_5"; hash="sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="; }; - }; + cryptopp = { + version = "5_6_5"; + hash = "sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="; + }; + }; v564 = buildECTesterStandalone { - cryptopp = { version="5_6_4"; hash="sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="; }; - }; + cryptopp = { + version = "5_6_4"; + hash = "sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="; + }; + }; v563 = buildECTesterStandalone { - cryptopp = { version="5_6_3"; hash="sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="; }; - }; -} \ No newline at end of file + cryptopp = { + version = "5_6_3"; + hash = "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="; + }; + }; +} diff --git a/nix/cryptoppshim.nix b/nix/cryptoppshim.nix index 1c3532c5..8c735d7b 100644 --- a/nix/cryptoppshim.nix +++ b/nix/cryptoppshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , cryptopp -}: -with pkgs; stdenv.mkDerivation { +{ pkgs, cryptopp }: +with pkgs; +stdenv.mkDerivation { name = "Crypto++ Shim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/gcrypt_pkg_versions.nix b/nix/gcrypt_pkg_versions.nix index b0be7d73..d27bfaee 100644 --- a/nix/gcrypt_pkg_versions.nix +++ b/nix/gcrypt_pkg_versions.nix @@ -1,180 +1,352 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v1110 = buildECTesterStandalone { - gcrypt = { version="1.11.0"; hash="sha256-CRIMmGfOfyCB1qqhd1OGuYwvLyRhNXYarkfYH1hoW5w="; }; - }; + gcrypt = { + version = "1.11.0"; + hash = "sha256-CRIMmGfOfyCB1qqhd1OGuYwvLyRhNXYarkfYH1hoW5w="; + }; + }; v1103 = buildECTesterStandalone { - gcrypt = { version="1.10.3"; hash="sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo="; }; - }; + gcrypt = { + version = "1.10.3"; + hash = "sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo="; + }; + }; v1102 = buildECTesterStandalone { - gcrypt = { version="1.10.2"; hash="sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM="; }; - }; + gcrypt = { + version = "1.10.2"; + hash = "sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM="; + }; + }; v1101 = buildECTesterStandalone { - gcrypt = { version="1.10.1"; hash="sha256-7xSuVGsAhM2EJZ9hpV4Ho4w7U6/A9Ua//O8vAbr/6d4="; }; - }; + gcrypt = { + version = "1.10.1"; + hash = "sha256-7xSuVGsAhM2EJZ9hpV4Ho4w7U6/A9Ua//O8vAbr/6d4="; + }; + }; v1100 = buildECTesterStandalone { - gcrypt = { version="1.10.0"; hash="sha256-agD1wFyqTErMEgxGtjhX2g1P9h3EtLA5M/qNRgE/roE="; }; - }; + gcrypt = { + version = "1.10.0"; + hash = "sha256-agD1wFyqTErMEgxGtjhX2g1P9h3EtLA5M/qNRgE/roE="; + }; + }; v194 = buildECTesterStandalone { - gcrypt = { version="1.9.4"; hash="sha256-6oScg6ckVOPtQmdpfoygM5Cu6XKrQh599p3+QrZcqvc="; }; - }; + gcrypt = { + version = "1.9.4"; + hash = "sha256-6oScg6ckVOPtQmdpfoygM5Cu6XKrQh599p3+QrZcqvc="; + }; + }; v193 = buildECTesterStandalone { - gcrypt = { version="1.9.3"; hash="sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0="; }; - }; + gcrypt = { + version = "1.9.3"; + hash = "sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0="; + }; + }; v192 = buildECTesterStandalone { - gcrypt = { version="1.9.2"; hash="sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo="; }; - }; + gcrypt = { + version = "1.9.2"; + hash = "sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo="; + }; + }; v191 = buildECTesterStandalone { - gcrypt = { version="1.9.1"; hash="sha256-xaZ6i5sr03D7QV7R7jHHFy5Wgwdkk89KNnig+98CZdk="; }; - }; + gcrypt = { + version = "1.9.1"; + hash = "sha256-xaZ6i5sr03D7QV7R7jHHFy5Wgwdkk89KNnig+98CZdk="; + }; + }; # NOTE Do not use copied from the source https://gnupg.org/ftp/gcrypt/libgcrypt/ v190_do_not_use = buildECTesterStandalone { - gcrypt = { version="1.9.0"; hash="sha256-TZzKpfmdtZ68tk1z9iglsFzoprf4bRkXhVnvhN4Tgcs="; }; - }; + gcrypt = { + version = "1.9.0"; + hash = "sha256-TZzKpfmdtZ68tk1z9iglsFzoprf4bRkXhVnvhN4Tgcs="; + }; + }; v1811 = buildECTesterStandalone { - gcrypt = { version="1.8.11"; hash="sha256-yYJJ+1ux9gF/X5v0hDJ6lAtZB1vKfEb6aeu1QJgkmGA="; }; - }; + gcrypt = { + version = "1.8.11"; + hash = "sha256-yYJJ+1ux9gF/X5v0hDJ6lAtZB1vKfEb6aeu1QJgkmGA="; + }; + }; v1810 = buildECTesterStandalone { - gcrypt = { version="1.8.10"; hash="sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590="; }; - }; + gcrypt = { + version = "1.8.10"; + hash = "sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590="; + }; + }; v189 = buildECTesterStandalone { - gcrypt = { version="1.8.9"; hash="sha256-K9pHkKpfCJXTQHz3v2vXcn/ZkvJaRaY9kv7xB2f6N2k="; }; - }; + gcrypt = { + version = "1.8.9"; + hash = "sha256-K9pHkKpfCJXTQHz3v2vXcn/ZkvJaRaY9kv7xB2f6N2k="; + }; + }; v188 = buildECTesterStandalone { - gcrypt = { version="1.8.8"; hash="sha256-iV3iu5gd0Sfwgh0c4T+t99dg+fp3N2SLFfLB/hPMWvU="; }; - }; + gcrypt = { + version = "1.8.8"; + hash = "sha256-iV3iu5gd0Sfwgh0c4T+t99dg+fp3N2SLFfLB/hPMWvU="; + }; + }; v187 = buildECTesterStandalone { - gcrypt = { version="1.8.7"; hash="sha256-A7cPAoKZVhtwNLiWbX3XfvFu0TnENECSX+h4JWGXR0g="; }; - }; + gcrypt = { + version = "1.8.7"; + hash = "sha256-A7cPAoKZVhtwNLiWbX3XfvFu0TnENECSX+h4JWGXR0g="; + }; + }; v186 = buildECTesterStandalone { - gcrypt = { version="1.8.6"; hash="sha256-DLonAGF7mfwzhkoMFrH6f9+XgdntNQn112cXjl/XuXU="; }; - }; + gcrypt = { + version = "1.8.6"; + hash = "sha256-DLonAGF7mfwzhkoMFrH6f9+XgdntNQn112cXjl/XuXU="; + }; + }; v185 = buildECTesterStandalone { - gcrypt = { version="1.8.5"; hash="sha256-O0oqlMtjfv9b3rvK9G9NlcTyUgb0WYCTOc2toOtXesM="; }; - }; + gcrypt = { + version = "1.8.5"; + hash = "sha256-O0oqlMtjfv9b3rvK9G9NlcTyUgb0WYCTOc2toOtXesM="; + }; + }; v184 = buildECTesterStandalone { - gcrypt = { version="1.8.4"; hash="sha256-9jgUOgZyYo/eDK10XpsU3rhd/7F1cJyswfT+JLk/Iic="; }; - }; + gcrypt = { + version = "1.8.4"; + hash = "sha256-9jgUOgZyYo/eDK10XpsU3rhd/7F1cJyswfT+JLk/Iic="; + }; + }; v183 = buildECTesterStandalone { - gcrypt = { version="1.8.3"; hash="sha256-ZuyQvgNnR2AvK0j5gxI2GpGAyXxoppCl83b6D2fQr3w="; }; - }; + gcrypt = { + version = "1.8.3"; + hash = "sha256-ZuyQvgNnR2AvK0j5gxI2GpGAyXxoppCl83b6D2fQr3w="; + }; + }; v182 = buildECTesterStandalone { - gcrypt = { version="1.8.2"; hash="sha256-yAZMrnVYFEsT7w64cJNBI4DvoWxO4wrRLstUiGpSTAc="; }; - }; + gcrypt = { + version = "1.8.2"; + hash = "sha256-yAZMrnVYFEsT7w64cJNBI4DvoWxO4wrRLstUiGpSTAc="; + }; + }; v181 = buildECTesterStandalone { - gcrypt = { version="1.8.1"; hash="sha256-eih1+LGuAwFzLoeMDMoslmT/Ce9xQI8IXFDjMmVqeLM="; }; - }; + gcrypt = { + version = "1.8.1"; + hash = "sha256-eih1+LGuAwFzLoeMDMoslmT/Ce9xQI8IXFDjMmVqeLM="; + }; + }; v180 = buildECTesterStandalone { - gcrypt = { version="1.8.0"; hash="sha256-I+SWl7h8xBc7A7R1fI30MU4xSQWPoYvcT4IJjxA9iRs="; }; - }; + gcrypt = { + version = "1.8.0"; + hash = "sha256-I+SWl7h8xBc7A7R1fI30MU4xSQWPoYvcT4IJjxA9iRs="; + }; + }; v1710 = buildECTesterStandalone { - gcrypt = { version="1.7.10"; hash="sha256-ifBaQj3WaiXls4MICX4jhuZA0c+DUWDRmlx1NQBx2Uw="; }; - }; + gcrypt = { + version = "1.7.10"; + hash = "sha256-ifBaQj3WaiXls4MICX4jhuZA0c+DUWDRmlx1NQBx2Uw="; + }; + }; v179 = buildECTesterStandalone { - gcrypt = { version="1.7.9"; hash="sha256-v+m7cDwRJsNkfaKBD9IwOcLwnUaWn3FhLCBl3D+pNzs="; }; - }; + gcrypt = { + version = "1.7.9"; + hash = "sha256-v+m7cDwRJsNkfaKBD9IwOcLwnUaWn3FhLCBl3D+pNzs="; + }; + }; v178 = buildECTesterStandalone { - gcrypt = { version="1.7.8"; hash="sha256-lIJ26kfmugJE82oXtR3N1Sz9HmZLChrDvIITT7bOwZk="; }; - }; + gcrypt = { + version = "1.7.8"; + hash = "sha256-lIJ26kfmugJE82oXtR3N1Sz9HmZLChrDvIITT7bOwZk="; + }; + }; v177 = buildECTesterStandalone { - gcrypt = { version="1.7.7"; hash="sha256-ubheugeT6j5uZriW6wMfoF4aRRcnfMmrEIFrNZJUzZo="; }; - }; + gcrypt = { + version = "1.7.7"; + hash = "sha256-ubheugeT6j5uZriW6wMfoF4aRRcnfMmrEIFrNZJUzZo="; + }; + }; v176 = buildECTesterStandalone { - gcrypt = { version="1.7.6"; hash="sha256-Ymqv7oSvnSziU9LBQ9wcCQLdoEV4DMJB85lw/GC+Bbw="; }; - }; + gcrypt = { + version = "1.7.6"; + hash = "sha256-Ymqv7oSvnSziU9LBQ9wcCQLdoEV4DMJB85lw/GC+Bbw="; + }; + }; v175 = buildECTesterStandalone { - gcrypt = { version="1.7.5"; hash="sha256-0f6kEovu8rswpHCva6+rzMUDztNQU0+53Y9aU/+66AA="; }; - }; + gcrypt = { + version = "1.7.5"; + hash = "sha256-0f6kEovu8rswpHCva6+rzMUDztNQU0+53Y9aU/+66AA="; + }; + }; v174 = buildECTesterStandalone { - gcrypt = { version="1.7.4"; hash="sha256-O2eGLi9HEeJcTOPMS0jVKlijr9zR2Malf5OhwO8D5cY="; }; - }; + gcrypt = { + version = "1.7.4"; + hash = "sha256-O2eGLi9HEeJcTOPMS0jVKlijr9zR2Malf5OhwO8D5cY="; + }; + }; v173 = buildECTesterStandalone { - gcrypt = { version="1.7.3"; hash="sha256-3axhEQd9ChYSJHWHviOMUpTdDuTXbce6eDzFX7AzcHE="; }; - }; + gcrypt = { + version = "1.7.3"; + hash = "sha256-3axhEQd9ChYSJHWHviOMUpTdDuTXbce6eDzFX7AzcHE="; + }; + }; v172 = buildECTesterStandalone { - gcrypt = { version="1.7.2"; hash="sha256-PTXfkG1uqzVFBMBddJqbAhlEyyn/X2XI75w91fe2aJ8="; }; - }; + gcrypt = { + version = "1.7.2"; + hash = "sha256-PTXfkG1uqzVFBMBddJqbAhlEyyn/X2XI75w91fe2aJ8="; + }; + }; v171 = buildECTesterStandalone { - gcrypt = { version="1.7.1"; hash="sha256-RQ2c/L8WEcZNvjvQS2J7gzee+J8RQG2UyLujBeNtepU="; }; - }; + gcrypt = { + version = "1.7.1"; + hash = "sha256-RQ2c/L8WEcZNvjvQS2J7gzee+J8RQG2UyLujBeNtepU="; + }; + }; v170 = buildECTesterStandalone { - gcrypt = { version="1.7.0"; hash="sha256-sOZ+p0R0k5kTxNnZ70717DeO++K+vjY4ne4xnHm/+pI="; }; - }; + gcrypt = { + version = "1.7.0"; + hash = "sha256-sOZ+p0R0k5kTxNnZ70717DeO++K+vjY4ne4xnHm/+pI="; + }; + }; v166 = buildECTesterStandalone { - gcrypt = { version="1.6.6"; hash="sha256-+UYbRhm7eLJzqI1GiRV1DUGOiaPqO2QbqwVjqa9LBNA="; }; - }; + gcrypt = { + version = "1.6.6"; + hash = "sha256-+UYbRhm7eLJzqI1GiRV1DUGOiaPqO2QbqwVjqa9LBNA="; + }; + }; v165 = buildECTesterStandalone { - gcrypt = { version="1.6.5"; hash="sha256-9J68WELUVa5wGd7zPrWgFKDweiqDU9w6pQp2/R2vqSQ="; }; - }; + gcrypt = { + version = "1.6.5"; + hash = "sha256-9J68WELUVa5wGd7zPrWgFKDweiqDU9w6pQp2/R2vqSQ="; + }; + }; v164 = buildECTesterStandalone { - gcrypt = { version="1.6.4"; hash="sha256-ybwsf+Ll9OoTsMdPnSS8uxrYibs5KX2Agq6/I/QzYCY="; }; - }; + gcrypt = { + version = "1.6.4"; + hash = "sha256-ybwsf+Ll9OoTsMdPnSS8uxrYibs5KX2Agq6/I/QzYCY="; + }; + }; v163 = buildECTesterStandalone { - gcrypt = { version="1.6.3"; hash="sha256-QbSRe5OuNMag4hJzeNek1m2AWiqGoJkR1Pm9hx23Al8="; }; - }; + gcrypt = { + version = "1.6.3"; + hash = "sha256-QbSRe5OuNMag4hJzeNek1m2AWiqGoJkR1Pm9hx23Al8="; + }; + }; v162 = buildECTesterStandalone { - gcrypt = { version="1.6.2"; hash="sha256-3ghEkqazjNsntn6vdJzrp2v3Ap9jqcDDwbBciMmIXEw="; }; - }; + gcrypt = { + version = "1.6.2"; + hash = "sha256-3ghEkqazjNsntn6vdJzrp2v3Ap9jqcDDwbBciMmIXEw="; + }; + }; v161 = buildECTesterStandalone { - gcrypt = { version="1.6.1"; hash="sha256-ocPv6mn4/+dp9IizAM4ZDu6www3iSlPxwbbkIC/cIHA="; }; - }; + gcrypt = { + version = "1.6.1"; + hash = "sha256-ocPv6mn4/+dp9IizAM4ZDu6www3iSlPxwbbkIC/cIHA="; + }; + }; v160 = buildECTesterStandalone { - gcrypt = { version="1.6.0"; hash="sha256-Zi1QhgCtlMwzTmZbcBYTf+7fzKUiaZjGXd1Wvfyilwg="; }; - }; + gcrypt = { + version = "1.6.0"; + hash = "sha256-Zi1QhgCtlMwzTmZbcBYTf+7fzKUiaZjGXd1Wvfyilwg="; + }; + }; v156 = buildECTesterStandalone { - gcrypt = { version="1.5.6"; hash="sha256-MBgmteUhyGcFb9Ywqtbwpg4XbRigF9prwksWld86vnk="; }; - }; + gcrypt = { + version = "1.5.6"; + hash = "sha256-MBgmteUhyGcFb9Ywqtbwpg4XbRigF9prwksWld86vnk="; + }; + }; v155 = buildECTesterStandalone { - gcrypt = { version="1.5.5"; hash="sha256-2JWCA+eGvKR5zXyQOQaSXop+AzzLlZv1Mxe1fPEaBlU="; }; - }; + gcrypt = { + version = "1.5.5"; + hash = "sha256-2JWCA+eGvKR5zXyQOQaSXop+AzzLlZv1Mxe1fPEaBlU="; + }; + }; v154 = buildECTesterStandalone { - gcrypt = { version="1.5.4"; hash="sha256-1fiNn0GkaVPcJQzbhXUSmzfuIghAG3+jOMiX9mfH+zM="; }; - }; + gcrypt = { + version = "1.5.4"; + hash = "sha256-1fiNn0GkaVPcJQzbhXUSmzfuIghAG3+jOMiX9mfH+zM="; + }; + }; v153 = buildECTesterStandalone { - gcrypt = { version="1.5.3"; hash="sha256-vPUzTn2jUsRd5q7F0ghM6aHTACn/SkpdoT8YSIdHWdE="; }; - }; + gcrypt = { + version = "1.5.3"; + hash = "sha256-vPUzTn2jUsRd5q7F0ghM6aHTACn/SkpdoT8YSIdHWdE="; + }; + }; v152 = buildECTesterStandalone { - gcrypt = { version="1.5.2"; hash="sha256-5BpDOfUClPPJJfL3Gq8kJ+sWLSmU2pFmbfwyYhr+lj8="; }; - }; + gcrypt = { + version = "1.5.2"; + hash = "sha256-5BpDOfUClPPJJfL3Gq8kJ+sWLSmU2pFmbfwyYhr+lj8="; + }; + }; v151 = buildECTesterStandalone { - gcrypt = { version="1.5.1"; hash="sha256-rZ6xWAjnaZmMC9jBgayIFCORn08QVYaRPcy8Dfv65Sc="; }; - }; + gcrypt = { + version = "1.5.1"; + hash = "sha256-rZ6xWAjnaZmMC9jBgayIFCORn08QVYaRPcy8Dfv65Sc="; + }; + }; v150 = buildECTesterStandalone { - gcrypt = { version="1.5.0"; hash="sha256-S2L8UWAElAoFcQJUAaBYHUkZnxp237XOb9Y/UNuBc/o="; }; - }; + gcrypt = { + version = "1.5.0"; + hash = "sha256-S2L8UWAElAoFcQJUAaBYHUkZnxp237XOb9Y/UNuBc/o="; + }; + }; v146 = buildECTesterStandalone { - gcrypt = { version="1.4.6"; hash="sha256-Pksw2ms1e1ZTM9AiITO2SgQUvpm6cnMwgRZcjqm8a4U="; }; - }; + gcrypt = { + version = "1.4.6"; + hash = "sha256-Pksw2ms1e1ZTM9AiITO2SgQUvpm6cnMwgRZcjqm8a4U="; + }; + }; v145 = buildECTesterStandalone { - gcrypt = { version="1.4.5"; hash="sha256-SW+QfFMk3nU2fsYcY7/u0TCe8LxkhF3CCzWXcxq9nkA="; }; - }; + gcrypt = { + version = "1.4.5"; + hash = "sha256-SW+QfFMk3nU2fsYcY7/u0TCe8LxkhF3CCzWXcxq9nkA="; + }; + }; v144 = buildECTesterStandalone { - gcrypt = { version="1.4.4"; hash="sha256-MhK4gIDPj6AGFk04/Bdvr6XClZHIOE8oSriA2w2/MG8="; }; - }; + gcrypt = { + version = "1.4.4"; + hash = "sha256-MhK4gIDPj6AGFk04/Bdvr6XClZHIOE8oSriA2w2/MG8="; + }; + }; v143 = buildECTesterStandalone { - gcrypt = { version="1.4.3"; hash="sha256-iMgZvZ8B19SBiJjhM6USBE54w0MHqmBrapTuznwLIws="; }; - }; + gcrypt = { + version = "1.4.3"; + hash = "sha256-iMgZvZ8B19SBiJjhM6USBE54w0MHqmBrapTuznwLIws="; + }; + }; v142 = buildECTesterStandalone { - gcrypt = { version="1.4.2"; hash="sha256-unQUhG9/O6IrIs842hug6dXCJjixxArAh85RZJgRUsM="; }; - }; + gcrypt = { + version = "1.4.2"; + hash = "sha256-unQUhG9/O6IrIs842hug6dXCJjixxArAh85RZJgRUsM="; + }; + }; v141 = buildECTesterStandalone { - gcrypt = { version="1.4.1"; hash="sha256-/jsyvfDJLWs7t7Pks8Gaaomanetl8bNvCliC0wjJH6M="; }; - }; + gcrypt = { + version = "1.4.1"; + hash = "sha256-/jsyvfDJLWs7t7Pks8Gaaomanetl8bNvCliC0wjJH6M="; + }; + }; v140 = buildECTesterStandalone { - gcrypt = { version="1.4.0"; hash="sha256-1/hV92aUSltuf/7i1v/fgoq3CazURTsOZK6oCM4nYOw="; }; - }; + gcrypt = { + version = "1.4.0"; + hash = "sha256-1/hV92aUSltuf/7i1v/fgoq3CazURTsOZK6oCM4nYOw="; + }; + }; v124 = buildECTesterStandalone { - gcrypt = { version="1.2.4"; hash="sha256-fWFVxNCkD7o9ug8hqVnHhIxzS6ZzTejifuomrlPAyIA="; }; - }; + gcrypt = { + version = "1.2.4"; + hash = "sha256-fWFVxNCkD7o9ug8hqVnHhIxzS6ZzTejifuomrlPAyIA="; + }; + }; v123 = buildECTesterStandalone { - gcrypt = { version="1.2.3"; hash="sha256-6OKRFjlRFIIHWAeSWILQBlYRPDHgqJAV1ITcFsbYD7Q="; }; - }; + gcrypt = { + version = "1.2.3"; + hash = "sha256-6OKRFjlRFIIHWAeSWILQBlYRPDHgqJAV1ITcFsbYD7Q="; + }; + }; v122 = buildECTesterStandalone { - gcrypt = { version="1.2.2"; hash="sha256-espQrfRId1XGHAWQ1286k1Lie9s908DcDP+Py0Eq5iQ="; }; - }; + gcrypt = { + version = "1.2.2"; + hash = "sha256-espQrfRId1XGHAWQ1286k1Lie9s908DcDP+Py0Eq5iQ="; + }; + }; v121 = buildECTesterStandalone { - gcrypt = { version="1.2.1"; hash="sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I="; }; - }; + gcrypt = { + version = "1.2.1"; + hash = "sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I="; + }; + }; } diff --git a/nix/gcryptshim.nix b/nix/gcryptshim.nix index bfe027b2..764b03cb 100644 --- a/nix/gcryptshim.nix +++ b/nix/gcryptshim.nix @@ -1,9 +1,10 @@ { - pkgs - , libgcrypt - , libgpg-error + pkgs, + libgcrypt, + libgpg-error, }: -with pkgs; stdenv.mkDerivation { +with pkgs; +stdenv.mkDerivation { name = "Gcrypt Shim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/ippcp_pkg_versions.nix b/nix/ippcp_pkg_versions.nix index ac972085..a3140cf6 100644 --- a/nix/ippcp_pkg_versions.nix +++ b/nix/ippcp_pkg_versions.nix @@ -1,77 +1,147 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v2021_12_1 = buildECTesterStandalone { - ippcp = { version="2021.12.1"; hash="sha256-voxjx9Np/8jy9XS6EvUK4aW18/DGQGaPpTKm9RzuCU8="; }; - }; + ippcp = { + version = "2021.12.1"; + hash = "sha256-voxjx9Np/8jy9XS6EvUK4aW18/DGQGaPpTKm9RzuCU8="; + }; + }; v2021_12_0 = buildECTesterStandalone { - ippcp = { version="2021.12.0"; hash="sha256-FeCfiXwOUM3cL4Ah3IjLa/2SKo9WHTZFUfg/w8WTNcc="; }; - }; + ippcp = { + version = "2021.12.0"; + hash = "sha256-FeCfiXwOUM3cL4Ah3IjLa/2SKo9WHTZFUfg/w8WTNcc="; + }; + }; v2021_11_1 = buildECTesterStandalone { - ippcp = { version="2021.11.1"; hash="sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI="; }; - }; + ippcp = { + version = "2021.11.1"; + hash = "sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI="; + }; + }; v2021_11_0 = buildECTesterStandalone { - ippcp = { version="2021.11.0"; hash="sha256-MVhiKEJxYa1HaicPbkzrAlZxFqIEP7eDLusC/T52gXI="; }; - }; + ippcp = { + version = "2021.11.0"; + hash = "sha256-MVhiKEJxYa1HaicPbkzrAlZxFqIEP7eDLusC/T52gXI="; + }; + }; v2021_10_0 = buildECTesterStandalone { - ippcp = { version="2021.10.0"; hash="sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg="; }; - }; + ippcp = { + version = "2021.10.0"; + hash = "sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg="; + }; + }; v2021_9_0 = buildECTesterStandalone { - ippcp = { version="2021.9.0"; hash="sha256-+ITnxyrkDQp4xRa+PVzXdYsSkI5sMNwQGfGU+lFJ6co="; }; - }; + ippcp = { + version = "2021.9.0"; + hash = "sha256-+ITnxyrkDQp4xRa+PVzXdYsSkI5sMNwQGfGU+lFJ6co="; + }; + }; v2021_8 = buildECTesterStandalone { - ippcp = { version="2021.8"; hash="sha256-Iz1Pql+cf2DdPe7KoNpxQ7H76SFwWkUbtL4bJxr7D4w="; }; - }; + ippcp = { + version = "2021.8"; + hash = "sha256-Iz1Pql+cf2DdPe7KoNpxQ7H76SFwWkUbtL4bJxr7D4w="; + }; + }; v2021_7_1 = buildECTesterStandalone { - ippcp = { version="2021.7.1"; hash="sha256-iyg4ja7tsbpng7XOZwISri+x8knwEeyh/aP9ldhQY60="; }; - }; + ippcp = { + version = "2021.7.1"; + hash = "sha256-iyg4ja7tsbpng7XOZwISri+x8knwEeyh/aP9ldhQY60="; + }; + }; v2021_7 = buildECTesterStandalone { - ippcp = { version="2021.7"; hash="sha256-3W0LlJgmrp2Rk7xQ+0GQfkF2UpH4htx9R7IL86smtnY="; }; - }; + ippcp = { + version = "2021.7"; + hash = "sha256-3W0LlJgmrp2Rk7xQ+0GQfkF2UpH4htx9R7IL86smtnY="; + }; + }; v2021_6 = buildECTesterStandalone { - ippcp = { version="2021.6"; hash="sha256-lr6oiJTaTQhTrxhdY5dTfOrl/ZBwOYbuyuNU3tJbEe0="; }; - }; + ippcp = { + version = "2021.6"; + hash = "sha256-lr6oiJTaTQhTrxhdY5dTfOrl/ZBwOYbuyuNU3tJbEe0="; + }; + }; v2021_5 = buildECTesterStandalone { - ippcp = { version="2021.5"; hash="sha256-xc44XvGz9KnbLKKMmSJQ2Eq8IhEFVb0tYIWVW4oJRuo="; }; - }; + ippcp = { + version = "2021.5"; + hash = "sha256-xc44XvGz9KnbLKKMmSJQ2Eq8IhEFVb0tYIWVW4oJRuo="; + }; + }; v2021_4 = buildECTesterStandalone { - ippcp = { version="2021.4"; hash="sha256-SyRY3BoHY7zQIFA6j0U0W0oD5PZhp3vsvFQVBw4/AXY="; }; - }; + ippcp = { + version = "2021.4"; + hash = "sha256-SyRY3BoHY7zQIFA6j0U0W0oD5PZhp3vsvFQVBw4/AXY="; + }; + }; v2021_3 = buildECTesterStandalone { - ippcp = { version="2021.3"; hash="sha256-QEJXvQ//zhQqibFxXwPMdS1MHewgyb24LRmkycVSGrM="; }; - }; + ippcp = { + version = "2021.3"; + hash = "sha256-QEJXvQ//zhQqibFxXwPMdS1MHewgyb24LRmkycVSGrM="; + }; + }; v2021_2 = buildECTesterStandalone { - ippcp = { version="2021.2"; hash="sha256-8I3y//LK5TcyC71fdX1biF588rdK2AplO6eh9GUHx9U="; }; - }; + ippcp = { + version = "2021.2"; + hash = "sha256-8I3y//LK5TcyC71fdX1biF588rdK2AplO6eh9GUHx9U="; + }; + }; v2020u3 = buildECTesterStandalone { - ippcp = { version="2020u3"; hash="sha256-i/iPOSTKR02pHzxBRn3odZJ+6SzGtS+pCG1BWo1qdAs="; }; - }; + ippcp = { + version = "2020u3"; + hash = "sha256-i/iPOSTKR02pHzxBRn3odZJ+6SzGtS+pCG1BWo1qdAs="; + }; + }; v2020u2 = buildECTesterStandalone { - ippcp = { version="2020u2"; hash="sha256-cn76ju41RdEJxH9SmF75Z38V3e9vnLXGdyjh4hISpr8="; }; - }; + ippcp = { + version = "2020u2"; + hash = "sha256-cn76ju41RdEJxH9SmF75Z38V3e9vnLXGdyjh4hISpr8="; + }; + }; v2020u1 = buildECTesterStandalone { - ippcp = { version="2020u1"; hash="sha256-4h5Zrx4hvsvZkXpHu0ZXJftoLFms34PstTRN0gHCXrM="; }; - }; + ippcp = { + version = "2020u1"; + hash = "sha256-4h5Zrx4hvsvZkXpHu0ZXJftoLFms34PstTRN0gHCXrM="; + }; + }; v2020 = buildECTesterStandalone { - ippcp = { version="2020"; hash="sha256-k4CuLLtNX+wrEGRgoIP9e0wp42U1VRF96nhDE8qNkMk="; }; - }; + ippcp = { + version = "2020"; + hash = "sha256-k4CuLLtNX+wrEGRgoIP9e0wp42U1VRF96nhDE8qNkMk="; + }; + }; v2019u4 = buildECTesterStandalone { - ippcp = { version="2019u4"; hash="sha256-Xi3I0frlR/OjX4IRJyBuFcSkrCaxL9ABRZ1w8FUAseg="; }; - }; + ippcp = { + version = "2019u4"; + hash = "sha256-Xi3I0frlR/OjX4IRJyBuFcSkrCaxL9ABRZ1w8FUAseg="; + }; + }; v2019u3 = buildECTesterStandalone { - ippcp = { version="2019u3"; hash="sha256-8sdPlRNfdjMkc061e6EFpJMMA1QKK5/SpKlMV2E5TH4="; }; - }; + ippcp = { + version = "2019u3"; + hash = "sha256-8sdPlRNfdjMkc061e6EFpJMMA1QKK5/SpKlMV2E5TH4="; + }; + }; v2019u2 = buildECTesterStandalone { - ippcp = { version="2019u2"; hash="sha256-WoiO1pXA6UTRdKCcn9ckMk4/6IvbQAK4k7d8P3rGbqc="; }; - }; + ippcp = { + version = "2019u2"; + hash = "sha256-WoiO1pXA6UTRdKCcn9ckMk4/6IvbQAK4k7d8P3rGbqc="; + }; + }; v2019u1 = buildECTesterStandalone { - ippcp = { version="2019u1"; hash="sha256-2KcZz+7NrhbvRVLXtdME73uMBrhw+4q0ajiXeWwZdJs="; }; - }; + ippcp = { + version = "2019u1"; + hash = "sha256-2KcZz+7NrhbvRVLXtdME73uMBrhw+4q0ajiXeWwZdJs="; + }; + }; v2019 = buildECTesterStandalone { - ippcp = { version="2019"; hash="sha256-iTupt9pRN+6ze3Hf/dmtve9u15iVL0g2kujUpyGgums="; }; - }; + ippcp = { + version = "2019"; + hash = "sha256-iTupt9pRN+6ze3Hf/dmtve9u15iVL0g2kujUpyGgums="; + }; + }; v2019b = buildECTesterStandalone { - ippcp = { version="2019b"; hash="sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8="; }; - }; -} \ No newline at end of file + ippcp = { + version = "2019b"; + hash = "sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8="; + }; + }; +} diff --git a/nix/ippcpshim.nix b/nix/ippcpshim.nix index 43ec4d69..2b1d6762 100644 --- a/nix/ippcpshim.nix +++ b/nix/ippcpshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , ipp-crypto -}: - with pkgs; stdenv.mkDerivation rec { +{ pkgs, ipp-crypto }: +with pkgs; +stdenv.mkDerivation rec { name = "IppCryptoShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/libressl_pkg_versions.nix b/nix/libressl_pkg_versions.nix index 16215216..d723778b 100644 --- a/nix/libressl_pkg_versions.nix +++ b/nix/libressl_pkg_versions.nix @@ -1,362 +1,717 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v200 = buildECTesterStandalone { - libressl = { version="2.0.0"; hash="sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s="; }; - }; + libressl = { + version = "2.0.0"; + hash = "sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s="; + }; + }; v201 = buildECTesterStandalone { - libressl = { version="2.0.1"; hash="sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro="; }; - }; + libressl = { + version = "2.0.1"; + hash = "sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro="; + }; + }; v202 = buildECTesterStandalone { - libressl = { version="2.0.2"; hash="sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys="; }; - }; + libressl = { + version = "2.0.2"; + hash = "sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys="; + }; + }; v203 = buildECTesterStandalone { - libressl = { version="2.0.3"; hash="sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ="; }; - }; + libressl = { + version = "2.0.3"; + hash = "sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ="; + }; + }; v204 = buildECTesterStandalone { - libressl = { version="2.0.4"; hash="sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw="; }; - }; + libressl = { + version = "2.0.4"; + hash = "sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw="; + }; + }; v205 = buildECTesterStandalone { - libressl = { version="2.0.5"; hash="sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo="; }; - }; + libressl = { + version = "2.0.5"; + hash = "sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo="; + }; + }; v206 = buildECTesterStandalone { - libressl = { version="2.0.6"; hash="sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y="; }; - }; + libressl = { + version = "2.0.6"; + hash = "sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y="; + }; + }; v210 = buildECTesterStandalone { - libressl = { version="2.1.0"; hash="sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w="; }; - }; + libressl = { + version = "2.1.0"; + hash = "sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w="; + }; + }; v211 = buildECTesterStandalone { - libressl = { version="2.1.1"; hash="sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc="; }; - }; + libressl = { + version = "2.1.1"; + hash = "sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc="; + }; + }; v2110 = buildECTesterStandalone { - libressl = { version="2.1.10"; hash="sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE="; }; - }; + libressl = { + version = "2.1.10"; + hash = "sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE="; + }; + }; v212 = buildECTesterStandalone { - libressl = { version="2.1.2"; hash="sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I="; }; - }; + libressl = { + version = "2.1.2"; + hash = "sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I="; + }; + }; v213 = buildECTesterStandalone { - libressl = { version="2.1.3"; hash="sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w="; }; - }; + libressl = { + version = "2.1.3"; + hash = "sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w="; + }; + }; v214 = buildECTesterStandalone { - libressl = { version="2.1.4"; hash="sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4="; }; - }; + libressl = { + version = "2.1.4"; + hash = "sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4="; + }; + }; v215 = buildECTesterStandalone { - libressl = { version="2.1.5"; hash="sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s="; }; - }; + libressl = { + version = "2.1.5"; + hash = "sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s="; + }; + }; v216 = buildECTesterStandalone { - libressl = { version="2.1.6"; hash="sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g="; }; - }; + libressl = { + version = "2.1.6"; + hash = "sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g="; + }; + }; v217 = buildECTesterStandalone { - libressl = { version="2.1.7"; hash="sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248="; }; - }; + libressl = { + version = "2.1.7"; + hash = "sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248="; + }; + }; v218 = buildECTesterStandalone { - libressl = { version="2.1.8"; hash="sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM="; }; - }; + libressl = { + version = "2.1.8"; + hash = "sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM="; + }; + }; v219 = buildECTesterStandalone { - libressl = { version="2.1.9"; hash="sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654="; }; - }; + libressl = { + version = "2.1.9"; + hash = "sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654="; + }; + }; v220 = buildECTesterStandalone { - libressl = { version="2.2.0"; hash="sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA="; }; - }; + libressl = { + version = "2.2.0"; + hash = "sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA="; + }; + }; v221 = buildECTesterStandalone { - libressl = { version="2.2.1"; hash="sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0="; }; - }; + libressl = { + version = "2.2.1"; + hash = "sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0="; + }; + }; v222 = buildECTesterStandalone { - libressl = { version="2.2.2"; hash="sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ="; }; - }; + libressl = { + version = "2.2.2"; + hash = "sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ="; + }; + }; v223 = buildECTesterStandalone { - libressl = { version="2.2.3"; hash="sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II="; }; - }; + libressl = { + version = "2.2.3"; + hash = "sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II="; + }; + }; v224 = buildECTesterStandalone { - libressl = { version="2.2.4"; hash="sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4="; }; - }; + libressl = { + version = "2.2.4"; + hash = "sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4="; + }; + }; v225 = buildECTesterStandalone { - libressl = { version="2.2.5"; hash="sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs="; }; - }; + libressl = { + version = "2.2.5"; + hash = "sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs="; + }; + }; v226 = buildECTesterStandalone { - libressl = { version="2.2.6"; hash="sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8="; }; - }; + libressl = { + version = "2.2.6"; + hash = "sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8="; + }; + }; v227 = buildECTesterStandalone { - libressl = { version="2.2.7"; hash="sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80="; }; - }; + libressl = { + version = "2.2.7"; + hash = "sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80="; + }; + }; v228 = buildECTesterStandalone { - libressl = { version="2.2.8"; hash="sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws="; }; - }; + libressl = { + version = "2.2.8"; + hash = "sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws="; + }; + }; v229 = buildECTesterStandalone { - libressl = { version="2.2.9"; hash="sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ="; }; - }; + libressl = { + version = "2.2.9"; + hash = "sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ="; + }; + }; v230 = buildECTesterStandalone { - libressl = { version="2.3.0"; hash="sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA="; }; - }; + libressl = { + version = "2.3.0"; + hash = "sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA="; + }; + }; v231 = buildECTesterStandalone { - libressl = { version="2.3.1"; hash="sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4="; }; - }; + libressl = { + version = "2.3.1"; + hash = "sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4="; + }; + }; v2310 = buildECTesterStandalone { - libressl = { version="2.3.10"; hash="sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM="; }; - }; + libressl = { + version = "2.3.10"; + hash = "sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM="; + }; + }; v232 = buildECTesterStandalone { - libressl = { version="2.3.2"; hash="sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo="; }; - }; + libressl = { + version = "2.3.2"; + hash = "sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo="; + }; + }; v233 = buildECTesterStandalone { - libressl = { version="2.3.3"; hash="sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk="; }; - }; + libressl = { + version = "2.3.3"; + hash = "sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk="; + }; + }; v234 = buildECTesterStandalone { - libressl = { version="2.3.4"; hash="sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk="; }; - }; + libressl = { + version = "2.3.4"; + hash = "sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk="; + }; + }; v235 = buildECTesterStandalone { - libressl = { version="2.3.5"; hash="sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs="; }; - }; + libressl = { + version = "2.3.5"; + hash = "sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs="; + }; + }; v236 = buildECTesterStandalone { - libressl = { version="2.3.6"; hash="sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o="; }; - }; + libressl = { + version = "2.3.6"; + hash = "sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o="; + }; + }; v237 = buildECTesterStandalone { - libressl = { version="2.3.7"; hash="sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA="; }; - }; + libressl = { + version = "2.3.7"; + hash = "sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA="; + }; + }; v238 = buildECTesterStandalone { - libressl = { version="2.3.8"; hash="sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I="; }; - }; + libressl = { + version = "2.3.8"; + hash = "sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I="; + }; + }; v239 = buildECTesterStandalone { - libressl = { version="2.3.9"; hash="sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw="; }; - }; + libressl = { + version = "2.3.9"; + hash = "sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw="; + }; + }; v240 = buildECTesterStandalone { - libressl = { version="2.4.0"; hash="sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4="; }; - }; + libressl = { + version = "2.4.0"; + hash = "sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4="; + }; + }; v241 = buildECTesterStandalone { - libressl = { version="2.4.1"; hash="sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc="; }; - }; + libressl = { + version = "2.4.1"; + hash = "sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc="; + }; + }; v242 = buildECTesterStandalone { - libressl = { version="2.4.2"; hash="sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM="; }; - }; + libressl = { + version = "2.4.2"; + hash = "sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM="; + }; + }; v243 = buildECTesterStandalone { - libressl = { version="2.4.3"; hash="sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4="; }; - }; + libressl = { + version = "2.4.3"; + hash = "sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4="; + }; + }; v244 = buildECTesterStandalone { - libressl = { version="2.4.4"; hash="sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E="; }; - }; + libressl = { + version = "2.4.4"; + hash = "sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E="; + }; + }; v245 = buildECTesterStandalone { - libressl = { version="2.4.5"; hash="sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c="; }; - }; + libressl = { + version = "2.4.5"; + hash = "sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c="; + }; + }; v250 = buildECTesterStandalone { - libressl = { version="2.5.0"; hash="sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4="; }; - }; + libressl = { + version = "2.5.0"; + hash = "sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4="; + }; + }; v251 = buildECTesterStandalone { - libressl = { version="2.5.1"; hash="sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80="; }; - }; + libressl = { + version = "2.5.1"; + hash = "sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80="; + }; + }; v252 = buildECTesterStandalone { - libressl = { version="2.5.2"; hash="sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII="; }; - }; + libressl = { + version = "2.5.2"; + hash = "sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII="; + }; + }; v253 = buildECTesterStandalone { - libressl = { version="2.5.3"; hash="sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA="; }; - }; + libressl = { + version = "2.5.3"; + hash = "sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA="; + }; + }; v254 = buildECTesterStandalone { - libressl = { version="2.5.4"; hash="sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo="; }; - }; + libressl = { + version = "2.5.4"; + hash = "sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo="; + }; + }; v255 = buildECTesterStandalone { - libressl = { version="2.5.5"; hash="sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q="; }; - }; + libressl = { + version = "2.5.5"; + hash = "sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q="; + }; + }; v260 = buildECTesterStandalone { - libressl = { version="2.6.0"; hash="sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM="; }; - }; + libressl = { + version = "2.6.0"; + hash = "sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM="; + }; + }; v261 = buildECTesterStandalone { - libressl = { version="2.6.1"; hash="sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4="; }; - }; + libressl = { + version = "2.6.1"; + hash = "sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4="; + }; + }; v262 = buildECTesterStandalone { - libressl = { version="2.6.2"; hash="sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg="; }; - }; + libressl = { + version = "2.6.2"; + hash = "sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg="; + }; + }; v263 = buildECTesterStandalone { - libressl = { version="2.6.3"; hash="sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg="; }; - }; + libressl = { + version = "2.6.3"; + hash = "sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg="; + }; + }; v264 = buildECTesterStandalone { - libressl = { version="2.6.4"; hash="sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8="; }; - }; + libressl = { + version = "2.6.4"; + hash = "sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8="; + }; + }; v265 = buildECTesterStandalone { - libressl = { version="2.6.5"; hash="sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So="; }; - }; + libressl = { + version = "2.6.5"; + hash = "sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So="; + }; + }; v270 = buildECTesterStandalone { - libressl = { version="2.7.0"; hash="sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4="; }; - }; + libressl = { + version = "2.7.0"; + hash = "sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4="; + }; + }; v271 = buildECTesterStandalone { - libressl = { version="2.7.1"; hash="sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA="; }; - }; + libressl = { + version = "2.7.1"; + hash = "sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA="; + }; + }; v272 = buildECTesterStandalone { - libressl = { version="2.7.2"; hash="sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU="; }; - }; + libressl = { + version = "2.7.2"; + hash = "sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU="; + }; + }; v273 = buildECTesterStandalone { - libressl = { version="2.7.3"; hash="sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U="; }; - }; + libressl = { + version = "2.7.3"; + hash = "sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U="; + }; + }; v274 = buildECTesterStandalone { - libressl = { version="2.7.4"; hash="sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY="; }; - }; + libressl = { + version = "2.7.4"; + hash = "sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY="; + }; + }; v275 = buildECTesterStandalone { - libressl = { version="2.7.5"; hash="sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA="; }; - }; + libressl = { + version = "2.7.5"; + hash = "sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA="; + }; + }; v280 = buildECTesterStandalone { - libressl = { version="2.8.0"; hash="sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM="; }; - }; + libressl = { + version = "2.8.0"; + hash = "sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM="; + }; + }; v281 = buildECTesterStandalone { - libressl = { version="2.8.1"; hash="sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I="; }; - }; + libressl = { + version = "2.8.1"; + hash = "sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I="; + }; + }; v282 = buildECTesterStandalone { - libressl = { version="2.8.2"; hash="sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U="; }; - }; + libressl = { + version = "2.8.2"; + hash = "sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U="; + }; + }; v283 = buildECTesterStandalone { - libressl = { version="2.8.3"; hash="sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc="; }; - }; + libressl = { + version = "2.8.3"; + hash = "sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc="; + }; + }; v290 = buildECTesterStandalone { - libressl = { version="2.9.0"; hash="sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ="; }; - }; + libressl = { + version = "2.9.0"; + hash = "sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ="; + }; + }; v291 = buildECTesterStandalone { - libressl = { version="2.9.1"; hash="sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg="; }; - }; + libressl = { + version = "2.9.1"; + hash = "sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg="; + }; + }; v292 = buildECTesterStandalone { - libressl = { version="2.9.2"; hash="sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ="; }; - }; + libressl = { + version = "2.9.2"; + hash = "sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ="; + }; + }; v300 = buildECTesterStandalone { - libressl = { version="3.0.0"; hash="sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY="; }; - }; + libressl = { + version = "3.0.0"; + hash = "sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY="; + }; + }; v301 = buildECTesterStandalone { - libressl = { version="3.0.1"; hash="sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s="; }; - }; + libressl = { + version = "3.0.1"; + hash = "sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s="; + }; + }; v302 = buildECTesterStandalone { - libressl = { version="3.0.2"; hash="sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4="; }; - }; + libressl = { + version = "3.0.2"; + hash = "sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4="; + }; + }; v310 = buildECTesterStandalone { - libressl = { version="3.1.0"; hash="sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY="; }; - }; + libressl = { + version = "3.1.0"; + hash = "sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY="; + }; + }; v311 = buildECTesterStandalone { - libressl = { version="3.1.1"; hash="sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA="; }; - }; + libressl = { + version = "3.1.1"; + hash = "sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA="; + }; + }; v312 = buildECTesterStandalone { - libressl = { version="3.1.2"; hash="sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI="; }; - }; + libressl = { + version = "3.1.2"; + hash = "sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI="; + }; + }; v313 = buildECTesterStandalone { - libressl = { version="3.1.3"; hash="sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A="; }; - }; + libressl = { + version = "3.1.3"; + hash = "sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A="; + }; + }; v314 = buildECTesterStandalone { - libressl = { version="3.1.4"; hash="sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y="; }; - }; + libressl = { + version = "3.1.4"; + hash = "sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y="; + }; + }; v315 = buildECTesterStandalone { - libressl = { version="3.1.5"; hash="sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ="; }; - }; + libressl = { + version = "3.1.5"; + hash = "sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ="; + }; + }; v320 = buildECTesterStandalone { - libressl = { version="3.2.0"; hash="sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU="; }; - }; + libressl = { + version = "3.2.0"; + hash = "sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU="; + }; + }; v321 = buildECTesterStandalone { - libressl = { version="3.2.1"; hash="sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU="; }; - }; + libressl = { + version = "3.2.1"; + hash = "sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU="; + }; + }; v322 = buildECTesterStandalone { - libressl = { version="3.2.2"; hash="sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E="; }; - }; + libressl = { + version = "3.2.2"; + hash = "sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E="; + }; + }; v323 = buildECTesterStandalone { - libressl = { version="3.2.3"; hash="sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM="; }; - }; + libressl = { + version = "3.2.3"; + hash = "sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM="; + }; + }; v324 = buildECTesterStandalone { - libressl = { version="3.2.4"; hash="sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo="; }; - }; + libressl = { + version = "3.2.4"; + hash = "sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo="; + }; + }; v325 = buildECTesterStandalone { - libressl = { version="3.2.5"; hash="sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4="; }; - }; + libressl = { + version = "3.2.5"; + hash = "sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4="; + }; + }; v326 = buildECTesterStandalone { - libressl = { version="3.2.6"; hash="sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls="; }; - }; + libressl = { + version = "3.2.6"; + hash = "sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls="; + }; + }; v327 = buildECTesterStandalone { - libressl = { version="3.2.7"; hash="sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q="; }; - }; + libressl = { + version = "3.2.7"; + hash = "sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q="; + }; + }; v330 = buildECTesterStandalone { - libressl = { version="3.3.0"; hash="sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY="; }; - }; + libressl = { + version = "3.3.0"; + hash = "sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY="; + }; + }; v331 = buildECTesterStandalone { - libressl = { version="3.3.1"; hash="sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s="; }; - }; + libressl = { + version = "3.3.1"; + hash = "sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s="; + }; + }; v332 = buildECTesterStandalone { - libressl = { version="3.3.2"; hash="sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ="; }; - }; + libressl = { + version = "3.3.2"; + hash = "sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ="; + }; + }; v333 = buildECTesterStandalone { - libressl = { version="3.3.3"; hash="sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY="; }; - }; + libressl = { + version = "3.3.3"; + hash = "sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY="; + }; + }; v334 = buildECTesterStandalone { - libressl = { version="3.3.4"; hash="sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE="; }; - }; + libressl = { + version = "3.3.4"; + hash = "sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE="; + }; + }; v335 = buildECTesterStandalone { - libressl = { version="3.3.5"; hash="sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU="; }; - }; + libressl = { + version = "3.3.5"; + hash = "sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU="; + }; + }; v336 = buildECTesterStandalone { - libressl = { version="3.3.6"; hash="sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o="; }; - }; + libressl = { + version = "3.3.6"; + hash = "sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o="; + }; + }; v340 = buildECTesterStandalone { - libressl = { version="3.4.0"; hash="sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI="; }; - }; + libressl = { + version = "3.4.0"; + hash = "sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI="; + }; + }; v341 = buildECTesterStandalone { - libressl = { version="3.4.1"; hash="sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw="; }; - }; + libressl = { + version = "3.4.1"; + hash = "sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw="; + }; + }; v342 = buildECTesterStandalone { - libressl = { version="3.4.2"; hash="sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84="; }; - }; + libressl = { + version = "3.4.2"; + hash = "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84="; + }; + }; v343 = buildECTesterStandalone { - libressl = { version="3.4.3"; hash="sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0="; }; - }; + libressl = { + version = "3.4.3"; + hash = "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0="; + }; + }; v350 = buildECTesterStandalone { - libressl = { version="3.5.0"; hash="sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c="; }; - }; + libressl = { + version = "3.5.0"; + hash = "sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c="; + }; + }; v351 = buildECTesterStandalone { - libressl = { version="3.5.1"; hash="sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg="; }; - }; + libressl = { + version = "3.5.1"; + hash = "sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg="; + }; + }; v352 = buildECTesterStandalone { - libressl = { version="3.5.2"; hash="sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8="; }; - }; + libressl = { + version = "3.5.2"; + hash = "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8="; + }; + }; v353 = buildECTesterStandalone { - libressl = { version="3.5.3"; hash="sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg="; }; - }; + libressl = { + version = "3.5.3"; + hash = "sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg="; + }; + }; v354 = buildECTesterStandalone { - libressl = { version="3.5.4"; hash="sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w="; }; - }; + libressl = { + version = "3.5.4"; + hash = "sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w="; + }; + }; v360 = buildECTesterStandalone { - libressl = { version="3.6.0"; hash="sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ="; }; - }; + libressl = { + version = "3.6.0"; + hash = "sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ="; + }; + }; v361 = buildECTesterStandalone { - libressl = { version="3.6.1"; hash="sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q="; }; - }; + libressl = { + version = "3.6.1"; + hash = "sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q="; + }; + }; v362 = buildECTesterStandalone { - libressl = { version="3.6.2"; hash="sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM="; }; - }; + libressl = { + version = "3.6.2"; + hash = "sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM="; + }; + }; v363 = buildECTesterStandalone { - libressl = { version="3.6.3"; hash="sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc="; }; - }; + libressl = { + version = "3.6.3"; + hash = "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc="; + }; + }; v370 = buildECTesterStandalone { - libressl = { version="3.7.0"; hash="sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY="; }; - }; + libressl = { + version = "3.7.0"; + hash = "sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY="; + }; + }; v371 = buildECTesterStandalone { - libressl = { version="3.7.1"; hash="sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0="; }; - }; + libressl = { + version = "3.7.1"; + hash = "sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0="; + }; + }; v372 = buildECTesterStandalone { - libressl = { version="3.7.2"; hash="sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc="; }; - }; + libressl = { + version = "3.7.2"; + hash = "sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc="; + }; + }; v373 = buildECTesterStandalone { - libressl = { version="3.7.3"; hash="sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM="; }; - }; + libressl = { + version = "3.7.3"; + hash = "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM="; + }; + }; v380 = buildECTesterStandalone { - libressl = { version="3.8.0"; hash="sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw="; }; - }; + libressl = { + version = "3.8.0"; + hash = "sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw="; + }; + }; v381 = buildECTesterStandalone { - libressl = { version="3.8.1"; hash="sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I="; }; - }; + libressl = { + version = "3.8.1"; + hash = "sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I="; + }; + }; v382 = buildECTesterStandalone { - libressl = { version="3.8.2"; hash="sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ="; }; - }; + libressl = { + version = "3.8.2"; + hash = "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ="; + }; + }; v383 = buildECTesterStandalone { - libressl = { version="3.8.3"; hash="sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI="; }; - }; + libressl = { + version = "3.8.3"; + hash = "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI="; + }; + }; v384 = buildECTesterStandalone { - libressl = { version="3.8.4"; hash="sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0="; }; - }; + libressl = { + version = "3.8.4"; + hash = "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0="; + }; + }; v390 = buildECTesterStandalone { - libressl = { version="3.9.0"; hash="sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA="; }; - }; + libressl = { + version = "3.9.0"; + hash = "sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA="; + }; + }; v391 = buildECTesterStandalone { - libressl = { version="3.9.1"; hash="sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE="; }; - }; + libressl = { + version = "3.9.1"; + hash = "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE="; + }; + }; v392 = buildECTesterStandalone { - libressl = { version="3.9.2"; hash="sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; }; - }; + libressl = { + version = "3.9.2"; + hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; + }; + }; } diff --git a/nix/libresslshim.nix b/nix/libresslshim.nix index 97bc3d9d..9d23f4b3 100644 --- a/nix/libresslshim.nix +++ b/nix/libresslshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , libressl -}: -with pkgs; stdenv.mkDerivation rec { +{ pkgs, libressl }: +with pkgs; +stdenv.mkDerivation rec { name = "LibreSSLShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/mbedtls_pkg_versions.nix b/nix/mbedtls_pkg_versions.nix index e429a4a1..6877800e 100644 --- a/nix/mbedtls_pkg_versions.nix +++ b/nix/mbedtls_pkg_versions.nix @@ -1,95 +1,183 @@ -{ - buildECTesterStandalone -}: +{ buildECTesterStandalone }: { v360 = buildECTesterStandalone { - mbedtls = { version="v3.6.0"; hash="sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg="; }; + mbedtls = { + version = "v3.6.0"; + hash = "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg="; + }; }; v2288 = buildECTesterStandalone { - mbedtls = { version="v2.28.8"; hash="sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o="; }; + mbedtls = { + version = "v2.28.8"; + hash = "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o="; + }; }; v352 = buildECTesterStandalone { - mbedtls = { version="v3.5.2"; hash="sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM="; }; + mbedtls = { + version = "v3.5.2"; + hash = "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM="; + }; }; v2287 = buildECTesterStandalone { - mbedtls = { version="v2.28.7"; hash="sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw="; }; + mbedtls = { + version = "v2.28.7"; + hash = "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw="; + }; }; v351 = buildECTesterStandalone { - mbedtls = { version="v3.5.1"; hash="sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; }; + mbedtls = { + version = "v3.5.1"; + hash = "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; + }; }; v2286 = buildECTesterStandalone { - mbedtls = { version="v2.28.6"; hash="sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="; }; + mbedtls = { + version = "v2.28.6"; + hash = "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="; + }; }; mbedtls-350 = buildECTesterStandalone { - mbedtls = { version="mbedtls-3.5.0"; hash="sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="; }; + mbedtls = { + version = "mbedtls-3.5.0"; + hash = "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="; + }; }; mbedtls-2285 = buildECTesterStandalone { - mbedtls = { version="mbedtls-2.28.5"; hash="sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="; }; + mbedtls = { + version = "mbedtls-2.28.5"; + hash = "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="; + }; }; v341 = buildECTesterStandalone { - mbedtls = { version="v3.4.1"; hash="sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts="; }; + mbedtls = { + version = "v3.4.1"; + hash = "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts="; + }; }; v2284 = buildECTesterStandalone { - mbedtls = { version="v2.28.4"; hash="sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE="; }; + mbedtls = { + version = "v2.28.4"; + hash = "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE="; + }; }; v340 = buildECTesterStandalone { - mbedtls = { version="v3.4.0"; hash="sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg="; }; + mbedtls = { + version = "v3.4.0"; + hash = "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg="; + }; }; v2283 = buildECTesterStandalone { - mbedtls = { version="v2.28.3"; hash="sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw="; }; + mbedtls = { + version = "v2.28.3"; + hash = "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw="; + }; }; v330 = buildECTesterStandalone { - mbedtls = { version="v3.3.0"; hash="sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; }; + mbedtls = { + version = "v3.3.0"; + hash = "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; + }; }; v2282 = buildECTesterStandalone { - mbedtls = { version="v2.28.2"; hash="sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; }; + mbedtls = { + version = "v2.28.2"; + hash = "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; + }; }; v321 = buildECTesterStandalone { - mbedtls = { version="v3.2.1"; hash="sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; }; + mbedtls = { + version = "v3.2.1"; + hash = "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; + }; }; v320 = buildECTesterStandalone { - mbedtls = { version="v3.2.0"; hash="sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ="; }; + mbedtls = { + version = "v3.2.0"; + hash = "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ="; + }; }; v2281 = buildECTesterStandalone { - mbedtls = { version="v2.28.1"; hash="sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; }; + mbedtls = { + version = "v2.28.1"; + hash = "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; + }; }; v310 = buildECTesterStandalone { - mbedtls = { version="v3.1.0"; hash="sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs="; }; + mbedtls = { + version = "v3.1.0"; + hash = "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs="; + }; }; v2280 = buildECTesterStandalone { - mbedtls = { version="v2.28.0"; hash="sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="; }; + mbedtls = { + version = "v2.28.0"; + hash = "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="; + }; }; v21612 = buildECTesterStandalone { - mbedtls = { version="v2.16.12"; hash="sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q="; }; + mbedtls = { + version = "v2.16.12"; + hash = "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q="; + }; }; v300 = buildECTesterStandalone { - mbedtls = { version="v3.0.0"; hash="sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s="; }; + mbedtls = { + version = "v3.0.0"; + hash = "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s="; + }; }; v2270 = buildECTesterStandalone { - mbedtls = { version="v2.27.0"; hash="sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M="; }; + mbedtls = { + version = "v2.27.0"; + hash = "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M="; + }; }; v21611 = buildECTesterStandalone { - mbedtls = { version="v2.16.11"; hash="sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg="; }; + mbedtls = { + version = "v2.16.11"; + hash = "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg="; + }; }; v2260 = buildECTesterStandalone { - mbedtls = { version="v2.26.0"; hash="sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk="; }; + mbedtls = { + version = "v2.26.0"; + hash = "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk="; + }; }; v21610 = buildECTesterStandalone { - mbedtls = { version="v2.16.10"; hash="sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4="; }; + mbedtls = { + version = "v2.16.10"; + hash = "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4="; + }; }; v2719 = buildECTesterStandalone { - mbedtls = { version="v2.7.19"; hash="sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY="; }; + mbedtls = { + version = "v2.7.19"; + hash = "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY="; + }; }; v2250 = buildECTesterStandalone { - mbedtls = { version="v2.25.0"; hash="sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ="; }; + mbedtls = { + version = "v2.25.0"; + hash = "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ="; + }; }; v2169 = buildECTesterStandalone { - mbedtls = { version="v2.16.9"; hash="sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c="; }; + mbedtls = { + version = "v2.16.9"; + hash = "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c="; + }; }; v2718 = buildECTesterStandalone { - mbedtls = { version="v2.7.18"; hash="sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg="; }; + mbedtls = { + version = "v2.7.18"; + hash = "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg="; + }; }; v2240 = buildECTesterStandalone { - mbedtls = { version="v2.24.0"; hash="sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM="; }; + mbedtls = { + version = "v2.24.0"; + hash = "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM="; + }; }; } diff --git a/nix/mbedtlsshim.nix b/nix/mbedtlsshim.nix index cbb850cd..d1f54343 100644 --- a/nix/mbedtlsshim.nix +++ b/nix/mbedtlsshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , mbedtls -}: -with pkgs; stdenv.mkDerivation rec { +{ pkgs, mbedtls }: +with pkgs; +stdenv.mkDerivation rec { name = "MbedTLSShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/nettle_pkg_versions.nix b/nix/nettle_pkg_versions.nix index c5d72709..8350f886 100644 --- a/nix/nettle_pkg_versions.nix +++ b/nix/nettle_pkg_versions.nix @@ -1,59 +1,129 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v3_8_1 = buildECTesterStandalone { - nettle = { version="3.8.1"; tag="nettle_3.8.1_release_20220727"; hash="sha256-Nk8+K3fNfc3oP9fEUhnINOVLDHXkKLb4lKI9Et1By/4="; }; - }; + nettle = { + version = "3.8.1"; + tag = "nettle_3.8.1_release_20220727"; + hash = "sha256-Nk8+K3fNfc3oP9fEUhnINOVLDHXkKLb4lKI9Et1By/4="; + }; + }; v3_8 = buildECTesterStandalone { - nettle = { version="3.8"; tag="nettle_3.8_release_20220602"; hash="sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY="; }; - }; + nettle = { + version = "3.8"; + tag = "nettle_3.8_release_20220602"; + hash = "sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY="; + }; + }; v3_7_3 = buildECTesterStandalone { - nettle = { version="3.7.3"; tag="nettle_3.7.3_release_20210606"; hash="sha256-Zh9esD8EijuSTDqK0lFdQGjkD2fndOiiaCdlgAfjvPA="; }; - }; + nettle = { + version = "3.7.3"; + tag = "nettle_3.7.3_release_20210606"; + hash = "sha256-Zh9esD8EijuSTDqK0lFdQGjkD2fndOiiaCdlgAfjvPA="; + }; + }; v3_7_2 = buildECTesterStandalone { - nettle = { version="3.7.2"; tag="nettle_3.7.2_release_20210321"; hash="sha256-jSpgTvHN5M1ft35CJTHqJa0GRnn/Ct+VbnizNS4O8WI="; }; - }; + nettle = { + version = "3.7.2"; + tag = "nettle_3.7.2_release_20210321"; + hash = "sha256-jSpgTvHN5M1ft35CJTHqJa0GRnn/Ct+VbnizNS4O8WI="; + }; + }; v3_7_1 = buildECTesterStandalone { - nettle = { version="3.7.1"; tag="nettle_3.7.1_release_20210217"; hash="sha256-FWYhQnx7AKdf+bNLdwuV00+A73pVw0B96UsWy/Q2xC4="; }; - }; + nettle = { + version = "3.7.1"; + tag = "nettle_3.7.1_release_20210217"; + hash = "sha256-FWYhQnx7AKdf+bNLdwuV00+A73pVw0B96UsWy/Q2xC4="; + }; + }; v3_7 = buildECTesterStandalone { - nettle = { version="3.7"; tag="nettle_3.7_release_20210104"; hash="sha256-8AH2TrREvxPdkbzsy8IKy8YMQxHW4rIIeEUuuanOx1o="; }; - }; + nettle = { + version = "3.7"; + tag = "nettle_3.7_release_20210104"; + hash = "sha256-8AH2TrREvxPdkbzsy8IKy8YMQxHW4rIIeEUuuanOx1o="; + }; + }; v3_6 = buildECTesterStandalone { - nettle = { version="3.6"; tag="nettle_3.6_release_20200429"; hash="sha256-0kwNDyq/+8j0803PEUsPEx7Dd0iV81VZIv4vQPPV4/E="; }; - }; + nettle = { + version = "3.6"; + tag = "nettle_3.6_release_20200429"; + hash = "sha256-0kwNDyq/+8j0803PEUsPEx7Dd0iV81VZIv4vQPPV4/E="; + }; + }; v3_5_1 = buildECTesterStandalone { - nettle = { version="3.5.1"; tag="nettle_3.5.1_release_20190627"; hash="sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk="; }; - }; + nettle = { + version = "3.5.1"; + tag = "nettle_3.5.1_release_20190627"; + hash = "sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk="; + }; + }; v3_5 = buildECTesterStandalone { - nettle = { version="3.5"; tag="nettle_3.5_release_20190626"; hash="sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08="; }; - }; + nettle = { + version = "3.5"; + tag = "nettle_3.5_release_20190626"; + hash = "sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08="; + }; + }; v3_4_1 = buildECTesterStandalone { - nettle = { version="3.4.1"; tag="nettle_3.4.1_release_20181204"; hash="sha256-+UHPFTXNXRgZvlzK5bq+8B9tthH5tad3uunHYEuKkq0="; }; - }; + nettle = { + version = "3.4.1"; + tag = "nettle_3.4.1_release_20181204"; + hash = "sha256-+UHPFTXNXRgZvlzK5bq+8B9tthH5tad3uunHYEuKkq0="; + }; + }; v3_4 = buildECTesterStandalone { - nettle = { version="3.4"; tag="nettle_3.4_release_20171119"; hash="sha256-rnpC3wJlULhdrKg4m2pgumMTsFZ/N0OS5UkYWIpBHpQ="; }; - }; + nettle = { + version = "3.4"; + tag = "nettle_3.4_release_20171119"; + hash = "sha256-rnpC3wJlULhdrKg4m2pgumMTsFZ/N0OS5UkYWIpBHpQ="; + }; + }; v3_3 = buildECTesterStandalone { - nettle = { version="3.3"; tag="nettle_3.3_release_20161001"; hash="sha256-RpQmJ9XQyhFyD+wY2B/Dj374N+pBl8H2MOcc4NRwsR4="; }; - }; + nettle = { + version = "3.3"; + tag = "nettle_3.3_release_20161001"; + hash = "sha256-RpQmJ9XQyhFyD+wY2B/Dj374N+pBl8H2MOcc4NRwsR4="; + }; + }; v3_2 = buildECTesterStandalone { - nettle = { version="3.2"; tag="nettle_3.2_release_20160128"; hash="sha256-6kKD3vI2QT7ataTPnPMq31QMjfG5tnZBz8IwL8qEnZc="; }; - }; + nettle = { + version = "3.2"; + tag = "nettle_3.2_release_20160128"; + hash = "sha256-6kKD3vI2QT7ataTPnPMq31QMjfG5tnZBz8IwL8qEnZc="; + }; + }; v3_1_1 = buildECTesterStandalone { - nettle = { version="3.1.1"; tag="nettle_3.1.1_release_20150424"; hash="sha256-X9TSXWTY3cuF0NiXVyr3OwW00WPGzElDilv7uP8pPUw="; }; - }; + nettle = { + version = "3.1.1"; + tag = "nettle_3.1.1_release_20150424"; + hash = "sha256-X9TSXWTY3cuF0NiXVyr3OwW00WPGzElDilv7uP8pPUw="; + }; + }; v3_1 = buildECTesterStandalone { - nettle = { version="3.1"; tag="nettle_3.1_release_20150407"; hash="sha256-9oWdTsiOcIBVkK+YYrS4xDotH8eZHfCnpxGx58qfydM="; }; - }; + nettle = { + version = "3.1"; + tag = "nettle_3.1_release_20150407"; + hash = "sha256-9oWdTsiOcIBVkK+YYrS4xDotH8eZHfCnpxGx58qfydM="; + }; + }; v3_0 = buildECTesterStandalone { - nettle = { version="3.0"; tag="nettle_3.0_release_20140607"; hash="sha256-llHAvSMm63N9DtnrQDREcSQHwBolsP6BNDLvMb682RM="; }; - }; + nettle = { + version = "3.0"; + tag = "nettle_3.0_release_20140607"; + hash = "sha256-llHAvSMm63N9DtnrQDREcSQHwBolsP6BNDLvMb682RM="; + }; + }; v2_7_1 = buildECTesterStandalone { - nettle = { version="2.7.1"; tag="nettle_2.7.1_release_20130528"; hash="sha256-vHHr1DQ1U312d5nkFPzojlIbcnjUjIYGUSFuH8ZVW0A="; }; - }; + nettle = { + version = "2.7.1"; + tag = "nettle_2.7.1_release_20130528"; + hash = "sha256-vHHr1DQ1U312d5nkFPzojlIbcnjUjIYGUSFuH8ZVW0A="; + }; + }; v2_7 = buildECTesterStandalone { - nettle = { version="2.7"; tag="nettle_2.7_release_20130424"; hash="sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY="; }; - }; + nettle = { + version = "2.7"; + tag = "nettle_2.7_release_20130424"; + hash = "sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY="; + }; + }; } diff --git a/nix/nettleshim.nix b/nix/nettleshim.nix index b431a2a8..f9683577 100644 --- a/nix/nettleshim.nix +++ b/nix/nettleshim.nix @@ -1,9 +1,10 @@ { - pkgs - , nettle - , gmp + pkgs, + nettle, + gmp, }: -with pkgs; stdenv.mkDerivation rec { +with pkgs; +stdenv.mkDerivation rec { name = "NettleShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/openssl_pkg_versions.nix b/nix/openssl_pkg_versions.nix index a702e611..61c63068 100644 --- a/nix/openssl_pkg_versions.nix +++ b/nix/openssl_pkg_versions.nix @@ -1,65 +1,123 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v331 = buildECTesterStandalone { - openssl = { version="3.3.1"; hash="sha256-Ezvzm40WNayUqEgwQsxEglG3cKDRLHrwwF6old3Zjx0="; }; - }; + openssl = { + version = "3.3.1"; + hash = "sha256-Ezvzm40WNayUqEgwQsxEglG3cKDRLHrwwF6old3Zjx0="; + }; + }; v322 = buildECTesterStandalone { - openssl = { version="3.2.2"; hash="sha256-QYFzZZxh7gSRWwtSaV8JHgF6w+ZjePgTT9b4H+CjB6s="; }; - }; + openssl = { + version = "3.2.2"; + hash = "sha256-QYFzZZxh7gSRWwtSaV8JHgF6w+ZjePgTT9b4H+CjB6s="; + }; + }; v316 = buildECTesterStandalone { - openssl = { version="3.1.6"; hash="sha256-QrArZza3vMRME4/iAy+K4mwtCyErH9mklYkRrZciPrM="; }; - }; + openssl = { + version = "3.1.6"; + hash = "sha256-QrArZza3vMRME4/iAy+K4mwtCyErH9mklYkRrZciPrM="; + }; + }; v3014 = buildECTesterStandalone { - openssl = { version="3.0.14"; hash="sha256-DwwWLusMcv1Zz9t8KsV3pFVtFDvfAJTXCJDSfg6jAh8="; }; - }; + openssl = { + version = "3.0.14"; + hash = "sha256-DwwWLusMcv1Zz9t8KsV3pFVtFDvfAJTXCJDSfg6jAh8="; + }; + }; v330 = buildECTesterStandalone { - openssl = { version="3.3.0"; hash="sha256-Gke9xG+sJWoNyO+2lvf3b6X5YEm6G2D97VR4vTFlxtI="; }; - }; + openssl = { + version = "3.3.0"; + hash = "sha256-Gke9xG+sJWoNyO+2lvf3b6X5YEm6G2D97VR4vTFlxtI="; + }; + }; v321 = buildECTesterStandalone { - openssl = { version="3.2.1"; hash="sha256-dcxoA/+skmJcBuo8Z3+zLvINFaG0HsyN3bxrnWotqEw="; }; - }; + openssl = { + version = "3.2.1"; + hash = "sha256-dcxoA/+skmJcBuo8Z3+zLvINFaG0HsyN3bxrnWotqEw="; + }; + }; v315 = buildECTesterStandalone { - openssl = { version="3.1.5"; hash="sha256-KZ3f0KUGptN95WOG0VzjDTRNkYhN/JirMzC3wAkCmTE="; }; - }; + openssl = { + version = "3.1.5"; + hash = "sha256-KZ3f0KUGptN95WOG0VzjDTRNkYhN/JirMzC3wAkCmTE="; + }; + }; v3013 = buildECTesterStandalone { - openssl = { version="3.0.13"; hash="sha256-50UE7XA1KV7HBisdoWwVtX/yoDzSBkoo2MOUWMrMRfw="; }; - }; + openssl = { + version = "3.0.13"; + hash = "sha256-50UE7XA1KV7HBisdoWwVtX/yoDzSBkoo2MOUWMrMRfw="; + }; + }; v320 = buildECTesterStandalone { - openssl = { version="3.2.0"; hash="sha256-qS9tvKl1ZngOyV4ro9SKqNqgkEiqyDksfHxYzJwDx2I="; }; - }; + openssl = { + version = "3.2.0"; + hash = "sha256-qS9tvKl1ZngOyV4ro9SKqNqgkEiqyDksfHxYzJwDx2I="; + }; + }; v314 = buildECTesterStandalone { - openssl = { version="3.1.4"; hash="sha256-cnwwVD/kCugEwZ5tZbB+PlfWRIJtpUtutOveOsQHfZc="; }; - }; + openssl = { + version = "3.1.4"; + hash = "sha256-cnwwVD/kCugEwZ5tZbB+PlfWRIJtpUtutOveOsQHfZc="; + }; + }; v3012 = buildECTesterStandalone { - openssl = { version="3.0.12"; hash="sha256-mnpzVfPUtz9DtXMM6ANx+dH5eET/yMSwHHI7oGJdaq0="; }; - }; + openssl = { + version = "3.0.12"; + hash = "sha256-mnpzVfPUtz9DtXMM6ANx+dH5eET/yMSwHHI7oGJdaq0="; + }; + }; v313 = buildECTesterStandalone { - openssl = { version="3.1.3"; hash="sha256-+0zy03Hvld8NyiqoXxHgrivbyG95gcv5MM6O/hrKDyg="; }; - }; + openssl = { + version = "3.1.3"; + hash = "sha256-+0zy03Hvld8NyiqoXxHgrivbyG95gcv5MM6O/hrKDyg="; + }; + }; v3011 = buildECTesterStandalone { - openssl = { version="3.0.11"; hash="sha256-n6TUFXzWgxk1pUJ5ZxzCDF5U6VlDOOEJy5h5+giV0Qw="; }; - }; + openssl = { + version = "3.0.11"; + hash = "sha256-n6TUFXzWgxk1pUJ5ZxzCDF5U6VlDOOEJy5h5+giV0Qw="; + }; + }; v312 = buildECTesterStandalone { - openssl = { version="3.1.2"; hash="sha256-jHdpkxVGUtC7OT9QbYULgRUXyL2NJLEAiu9X++VdPzE="; }; - }; + openssl = { + version = "3.1.2"; + hash = "sha256-jHdpkxVGUtC7OT9QbYULgRUXyL2NJLEAiu9X++VdPzE="; + }; + }; v3010 = buildECTesterStandalone { - openssl = { version="3.0.10"; hash="sha256-II8ngfBapaRVxpMOIKXPe5eGoZh7Qlhb4BN/tF4rimQ="; }; - }; + openssl = { + version = "3.0.10"; + hash = "sha256-II8ngfBapaRVxpMOIKXPe5eGoZh7Qlhb4BN/tF4rimQ="; + }; + }; v311 = buildECTesterStandalone { - openssl = { version="3.1.1"; hash="sha256-aLQF6mRSHJhTd3lbW3BdEWwc87+TOE0bvngkf3YBCCI="; }; - }; + openssl = { + version = "3.1.1"; + hash = "sha256-aLQF6mRSHJhTd3lbW3BdEWwc87+TOE0bvngkf3YBCCI="; + }; + }; v309 = buildECTesterStandalone { - openssl = { version="3.0.9"; hash="sha256-Luwx8qwOEm/2jYEHiR71NBWcT8+wlTZdTNTcV9gmFu4="; }; - }; + openssl = { + version = "3.0.9"; + hash = "sha256-Luwx8qwOEm/2jYEHiR71NBWcT8+wlTZdTNTcV9gmFu4="; + }; + }; v310 = buildECTesterStandalone { - openssl = { version="3.1.0"; hash="sha256-qG6tXD4lm/F1FN7LMLKQ4L86Y2aDFobP+6z3UN9EFSc="; }; - }; + openssl = { + version = "3.1.0"; + hash = "sha256-qG6tXD4lm/F1FN7LMLKQ4L86Y2aDFobP+6z3UN9EFSc="; + }; + }; v308 = buildECTesterStandalone { - openssl = { version="3.0.8"; hash="sha256-aTPi8dpvI6UOoibuxukbVD0nfSCYAldjtZMc9qfgmcc="; }; - }; + openssl = { + version = "3.0.8"; + hash = "sha256-aTPi8dpvI6UOoibuxukbVD0nfSCYAldjtZMc9qfgmcc="; + }; + }; v307 = buildECTesterStandalone { - openssl = { version="3.0.7"; hash="sha256-6Pc1kIFYRtsobSFZUP3vm4grtriG1QrLQxwChXgv41s="; }; - }; -} \ No newline at end of file + openssl = { + version = "3.0.7"; + hash = "sha256-6Pc1kIFYRtsobSFZUP3vm4grtriG1QrLQxwChXgv41s="; + }; + }; +} diff --git a/nix/opensslshim.nix b/nix/opensslshim.nix index 6260b71e..1c79e94e 100644 --- a/nix/opensslshim.nix +++ b/nix/opensslshim.nix @@ -1,8 +1,6 @@ -{ - pkgs - , openssl -}: -with pkgs; stdenv.mkDerivation { +{ pkgs, openssl }: +with pkgs; +stdenv.mkDerivation { name = "OpenSSL Shim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/tomcrypt_pkg_versions.nix b/nix/tomcrypt_pkg_versions.nix index fcd08832..c3ccc19a 100644 --- a/nix/tomcrypt_pkg_versions.nix +++ b/nix/tomcrypt_pkg_versions.nix @@ -1,26 +1,48 @@ +{ buildECTesterStandalone }: { - buildECTesterStandalone -}: -{ v1182 = buildECTesterStandalone { - tomcrypt = { version = "1.18.2"; hash = "sha256-MEU+u54aXKGSAMPYsh+L9axowzIHiew1uWq8wDsEBmw=";}; - tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + tomcrypt = { + version = "1.18.2"; + hash = "sha256-MEU+u54aXKGSAMPYsh+L9axowzIHiew1uWq8wDsEBmw="; + }; + tommath = { + version = "1.3.0"; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + }; }; v1181 = buildECTesterStandalone { - tomcrypt = { version = "1.18.1"; hash = "sha256-P00koc4+mAHQ/L5iCuPoiOeI/msZscO5KHZrqmbotRo=";}; - tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + tomcrypt = { + version = "1.18.1"; + hash = "sha256-P00koc4+mAHQ/L5iCuPoiOeI/msZscO5KHZrqmbotRo="; + }; + tommath = { + version = "1.3.0"; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + }; }; v1180 = buildECTesterStandalone { - tomcrypt = { version = "1.18.0"; hash = "sha256-Y7U+updJI/f3zD6k84DTZDQZh6vhfqR0W8HyizlUZcU=";}; - tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; + tomcrypt = { + version = "1.18.0"; + hash = "sha256-Y7U+updJI/f3zD6k84DTZDQZh6vhfqR0W8HyizlUZcU="; + }; + tommath = { + version = "1.3.0"; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + }; }; # v101 = buildECTesterStandalone { # tomcrypt = { version = "1.01"; hash = "sha256-lVAPxgkAcBivzZmWfqu0sEh8yGo7Ji2hIYwx4/g0GzM=";}; # tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; # }; v117 = buildECTesterStandalone { - tomcrypt = { version = "1.17"; hash = "sha256-NWWAs6p27UC64nDL0MwMvzU5aWNe8LZu7DC06d/8isA=";}; + tomcrypt = { + version = "1.17"; + hash = "sha256-NWWAs6p27UC64nDL0MwMvzU5aWNe8LZu7DC06d/8isA="; + }; # NOTE: which is the correct version of libtommath for a particular version of libtomcryp? - tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; - }; + tommath = { + version = "1.3.0"; + hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; + }; + }; } diff --git a/nix/tomcryptshim.nix b/nix/tomcryptshim.nix index 64e22b4c..bcdc9844 100644 --- a/nix/tomcryptshim.nix +++ b/nix/tomcryptshim.nix @@ -1,9 +1,10 @@ { - pkgs - , libtomcrypt - , libtommath + pkgs, + libtomcrypt, + libtommath, }: -with pkgs; stdenv.mkDerivation { +with pkgs; +stdenv.mkDerivation { name = "TomCryptShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; diff --git a/nix/x b/nix/x new file mode 100644 index 00000000..9d23f4b3 --- /dev/null +++ b/nix/x @@ -0,0 +1,21 @@ +{ pkgs, libressl }: +with pkgs; +stdenv.mkDerivation rec { + name = "LibreSSLShim"; + src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + + buildInputs = [ + libressl + pkg-config + jdk11_headless + ]; + + buildPhase = '' + make libressl + ''; + + installPhase = '' + mkdir --parents $out/lib + cp libressl_provider.so $out/lib + ''; +} 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 0ee834c0..3ceb7181 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 @@ -97,10 +97,10 @@ openssl.o: openssl.c boringssl: boringssl_provider.so boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_csignals.so - NIX_CFLAGS_COMPILE= $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -l:lib_boringssl.a -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so + $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -l:lib_boringssl.a -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so boringssl.o: boringssl.c - NIX_CFLAGS_COMPILE= $(CC) -I$(BORINGSSL_CFLAGS) $(CFLAGS) -c $< + $(CC) -I$(BORINGSSL_CFLAGS) $(CFLAGS) -c $< # libgcrypt shim @@ -183,10 +183,10 @@ nettle.o: nettle.c libressl: libressl_provider.so libressl_provider.so: libressl.o c_utils.o | lib_timing.so lib_csignals.so - NIX_CFLAGS_COMPILE= $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs libresslcrypto) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs libresslcrypto) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so libressl.o: libressl.c - NIX_CFLAGS_COMPILE= $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< + $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< help: @echo "# This makefile builds the JNI shims necessary to test native libraries." From 40f7282b2ef832933396787fda54fbfe2a9c4694 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 14:43:04 +0200 Subject: [PATCH 071/131] Recalculate correct OpenSSL source hashes --- fetchReleases.py | 3 ++- nix/openssl_pkg_versions.nix | 40 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index a17b708e..940dc6a2 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -111,8 +111,9 @@ def fetch_openssl(): except ValueError: continue flat_version = "v" + "".join(dotted_version.split('.')) - download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.tar.gz" + download_url = f"https://www.openssl.org/source/openssl-{dotted_version}.tar.gz" digest = get_source_hash(download_url) + print(f"{dotted_version}:{digest}") rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_version).strip() diff --git a/nix/openssl_pkg_versions.nix b/nix/openssl_pkg_versions.nix index 61c63068..11add732 100644 --- a/nix/openssl_pkg_versions.nix +++ b/nix/openssl_pkg_versions.nix @@ -3,121 +3,121 @@ v331 = buildECTesterStandalone { openssl = { version = "3.3.1"; - hash = "sha256-Ezvzm40WNayUqEgwQsxEglG3cKDRLHrwwF6old3Zjx0="; + hash = "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; }; }; v322 = buildECTesterStandalone { openssl = { version = "3.2.2"; - hash = "sha256-QYFzZZxh7gSRWwtSaV8JHgF6w+ZjePgTT9b4H+CjB6s="; + hash = "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="; }; }; v316 = buildECTesterStandalone { openssl = { version = "3.1.6"; - hash = "sha256-QrArZza3vMRME4/iAy+K4mwtCyErH9mklYkRrZciPrM="; + hash = "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="; }; }; v3014 = buildECTesterStandalone { openssl = { version = "3.0.14"; - hash = "sha256-DwwWLusMcv1Zz9t8KsV3pFVtFDvfAJTXCJDSfg6jAh8="; + hash = "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="; }; }; v330 = buildECTesterStandalone { openssl = { version = "3.3.0"; - hash = "sha256-Gke9xG+sJWoNyO+2lvf3b6X5YEm6G2D97VR4vTFlxtI="; + hash = "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI="; }; }; v321 = buildECTesterStandalone { openssl = { version = "3.2.1"; - hash = "sha256-dcxoA/+skmJcBuo8Z3+zLvINFaG0HsyN3bxrnWotqEw="; + hash = "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk="; }; }; v315 = buildECTesterStandalone { openssl = { version = "3.1.5"; - hash = "sha256-KZ3f0KUGptN95WOG0VzjDTRNkYhN/JirMzC3wAkCmTE="; + hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; }; }; v3013 = buildECTesterStandalone { openssl = { version = "3.0.13"; - hash = "sha256-50UE7XA1KV7HBisdoWwVtX/yoDzSBkoo2MOUWMrMRfw="; + hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; }; }; v320 = buildECTesterStandalone { openssl = { version = "3.2.0"; - hash = "sha256-qS9tvKl1ZngOyV4ro9SKqNqgkEiqyDksfHxYzJwDx2I="; + hash = "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4="; }; }; v314 = buildECTesterStandalone { openssl = { version = "3.1.4"; - hash = "sha256-cnwwVD/kCugEwZ5tZbB+PlfWRIJtpUtutOveOsQHfZc="; + hash = "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM="; }; }; v3012 = buildECTesterStandalone { openssl = { version = "3.0.12"; - hash = "sha256-mnpzVfPUtz9DtXMM6ANx+dH5eET/yMSwHHI7oGJdaq0="; + hash = "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E="; }; }; v313 = buildECTesterStandalone { openssl = { version = "3.1.3"; - hash = "sha256-+0zy03Hvld8NyiqoXxHgrivbyG95gcv5MM6O/hrKDyg="; + hash = "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY="; }; }; v3011 = buildECTesterStandalone { openssl = { version = "3.0.11"; - hash = "sha256-n6TUFXzWgxk1pUJ5ZxzCDF5U6VlDOOEJy5h5+giV0Qw="; + hash = "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U="; }; }; v312 = buildECTesterStandalone { openssl = { version = "3.1.2"; - hash = "sha256-jHdpkxVGUtC7OT9QbYULgRUXyL2NJLEAiu9X++VdPzE="; + hash = "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk="; }; }; v3010 = buildECTesterStandalone { openssl = { version = "3.0.10"; - hash = "sha256-II8ngfBapaRVxpMOIKXPe5eGoZh7Qlhb4BN/tF4rimQ="; + hash = "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM="; }; }; v311 = buildECTesterStandalone { openssl = { version = "3.1.1"; - hash = "sha256-aLQF6mRSHJhTd3lbW3BdEWwc87+TOE0bvngkf3YBCCI="; + hash = "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ="; }; }; v309 = buildECTesterStandalone { openssl = { version = "3.0.9"; - hash = "sha256-Luwx8qwOEm/2jYEHiR71NBWcT8+wlTZdTNTcV9gmFu4="; + hash = "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA="; }; }; v310 = buildECTesterStandalone { openssl = { version = "3.1.0"; - hash = "sha256-qG6tXD4lm/F1FN7LMLKQ4L86Y2aDFobP+6z3UN9EFSc="; + hash = "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q="; }; }; v308 = buildECTesterStandalone { openssl = { version = "3.0.8"; - hash = "sha256-aTPi8dpvI6UOoibuxukbVD0nfSCYAldjtZMc9qfgmcc="; + hash = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; }; }; v307 = buildECTesterStandalone { openssl = { version = "3.0.7"; - hash = "sha256-6Pc1kIFYRtsobSFZUP3vm4grtriG1QrLQxwChXgv41s="; + hash = "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4="; }; }; } From 424d9520440dfb0c769a1e4070351c181137328d Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:52:31 +0200 Subject: [PATCH 072/131] Remove accidental copy --- nix/x | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 nix/x diff --git a/nix/x b/nix/x deleted file mode 100644 index 9d23f4b3..00000000 --- a/nix/x +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, libressl }: -with pkgs; -stdenv.mkDerivation rec { - name = "LibreSSLShim"; - src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; - - buildInputs = [ - libressl - pkg-config - jdk11_headless - ]; - - buildPhase = '' - make libressl - ''; - - installPhase = '' - mkdir --parents $out/lib - cp libressl_provider.so $out/lib - ''; -} From a1033858ff932863599898e889b6ee4303208ae4 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:53:37 +0200 Subject: [PATCH 073/131] Update BoringSSL hashes --- nix/boringssl_pkg_versions.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/nix/boringssl_pkg_versions.nix b/nix/boringssl_pkg_versions.nix index 87e95195..675d495d 100644 --- a/nix/boringssl_pkg_versions.nix +++ b/nix/boringssl_pkg_versions.nix @@ -1,5 +1,17 @@ { buildECTesterStandalone }: { + rb7f5443c = buildECTesterStandalone { + boringssl = { + rev = "b7f5443cfc1298d77dfb9e6f2eea68035de521a4"; + hash = "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po="; + }; + }; + r1b40d99d = buildECTesterStandalone { + boringssl = { + rev = "1b40d99d6a90d0039e9021adde5ad4de743cf0ad"; + hash = "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg="; + }; + }; r5af122c3 = buildECTesterStandalone { boringssl = { rev = "5af122c3dfc163b5d1859f1f450756e8e320a142"; @@ -588,16 +600,4 @@ hash = "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo="; }; }; - r2db0eb3f = buildECTesterStandalone { - boringssl = { - rev = "2db0eb3f96a5756298dcd7f9319e56a98585bd10"; - hash = "sha256-+G7BcdtU8AeNMY4NLQgKpgF28/CS9FIjf+vaOd+Wf6o="; - }; - }; - r70d05d5a = buildECTesterStandalone { - boringssl = { - rev = "70d05d5a34f6366116e2b0a530ea8d0186bb2a8e"; - hash = "sha256-aEtH4Efvt+zRGvUD9JAsBU+EfZySk8gU05fek5rbcbM="; - }; - }; } From 6a8ecdda92841fe87edab5f750af047c03911956 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:55:34 +0200 Subject: [PATCH 074/131] Store package versions in JSON to simplify reusability --- fetchReleases.py | 107 ++++- flake.nix | 61 ++- nix/boringssl_pkg_versions.json | 402 ++++++++++++++++++ nix/boringssl_pkg_versions.nix | 603 --------------------------- nix/botan_pkg_versions.json | 1 + nix/botan_pkg_versions.nix | 276 ------------ nix/cryptopp_pkg_versions.json | 1 + nix/cryptopp_pkg_versions.nix | 99 ----- nix/gcrypt_pkg_versions.json | 234 +++++++++++ nix/gcrypt_pkg_versions.nix | 352 ---------------- nix/ippcp_pkg_versions.json | 98 +++++ nix/ippcp_pkg_versions.nix | 147 ------- nix/libressl_pkg_versions.json | 478 +++++++++++++++++++++ nix/libressl_pkg_versions.nix | 717 -------------------------------- nix/mbedtls_pkg_versions.json | 122 ++++++ nix/mbedtls_pkg_versions.nix | 183 -------- nix/nettle_pkg_versions.json | 92 ++++ nix/nettle_pkg_versions.nix | 129 ------ nix/openssl_pkg_versions.json | 1 + nix/openssl_pkg_versions.nix | 123 ------ nix/tomcrypt_pkg_versions.nix | 48 --- 21 files changed, 1570 insertions(+), 2704 deletions(-) create mode 100644 nix/boringssl_pkg_versions.json delete mode 100644 nix/boringssl_pkg_versions.nix create mode 100644 nix/botan_pkg_versions.json delete mode 100644 nix/botan_pkg_versions.nix create mode 100644 nix/cryptopp_pkg_versions.json delete mode 100644 nix/cryptopp_pkg_versions.nix create mode 100644 nix/gcrypt_pkg_versions.json delete mode 100644 nix/gcrypt_pkg_versions.nix create mode 100644 nix/ippcp_pkg_versions.json delete mode 100644 nix/ippcp_pkg_versions.nix create mode 100644 nix/libressl_pkg_versions.json delete mode 100644 nix/libressl_pkg_versions.nix create mode 100644 nix/mbedtls_pkg_versions.json delete mode 100644 nix/mbedtls_pkg_versions.nix create mode 100644 nix/nettle_pkg_versions.json delete mode 100644 nix/nettle_pkg_versions.nix create mode 100644 nix/openssl_pkg_versions.json delete mode 100644 nix/openssl_pkg_versions.nix delete mode 100644 nix/tomcrypt_pkg_versions.nix diff --git a/fetchReleases.py b/fetchReleases.py index 940dc6a2..137d9925 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -37,6 +37,7 @@ def get_source_hash(url, unpack=False): return digest_sri def fetch_botan(): + pkg = "botan" # NOTE: this way omits the older releases at https://botan.randombit.net/releases/old release_list = "https://botan.randombit.net/releases/" download_url = "https://botan.randombit.net/releases/{version}" @@ -48,6 +49,7 @@ def fetch_botan(): };""") renders = [] + versions = {} for link in soup.find_all("a"): if link.text.startswith("Botan") and not link.text.endswith('.asc'): download_link = download_url.format(version=link['href']) @@ -59,15 +61,25 @@ def fetch_botan(): digest = get_source_hash(download_link) # NOTE: use underscore to separate the versions? flat_version = f"v{match['major']}{match['minor']}{match['patch']}" + print(f"{version}:{digest}") - rendered = single_version_template.render(pkg="botan", digest=digest, ext=ext, flat_version=flat_version, version=version).strip() + rendered = single_version_template.render(pkg=pkg, digest=digest, ext=ext, flat_version=flat_version, version=version).strip() renders.append(rendered) + versions[flat_version] = { + "version": version, + "source_extension": ext, + "hash": digest + } all_versions = all_versions_template.render(pkg_versions=renders).strip() - with open("./nix/botan_pkg_versions.nix", "w") as handle: + with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + def fetch_cryptopp(): + pkg = "cryptopp" owner = "weidai11" repo = "cryptopp" release_url = f"https://api.github.com/repos/{owner}/{repo}/releases" @@ -77,6 +89,7 @@ def fetch_cryptopp(): {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} for release in resp.json(): if not release['draft'] and not release['prerelease']: _, *version_values = release['tag_name'].split('_') @@ -84,15 +97,22 @@ def fetch_cryptopp(): flat_version = "v" + "".join(version_values) download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.tar.gz" digest = get_source_hash(download_url, unpack=True) + print(f"{underscored_version}:{digest}") - - rendered = single_version_template.render(pkg="cryptopp", digest=digest, flat_version=flat_version, version=underscored_version).strip() + rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=underscored_version).strip() renders.append(rendered) + versions[flat_version] = { + "version": underscored_version, + "hash": digest + } all_versions = all_versions_template.render(pkg_versions=renders).strip() - with open("./nix/cryptopp_pkg_versions.nix", "w") as handle: + with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + def fetch_openssl(): pkg = "openssl" owner = "openssl" @@ -104,6 +124,7 @@ def fetch_openssl(): {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} for release in resp.json(): if not release['draft'] and not release['prerelease']: try: @@ -114,6 +135,10 @@ def fetch_openssl(): download_url = f"https://www.openssl.org/source/openssl-{dotted_version}.tar.gz" digest = get_source_hash(download_url) print(f"{dotted_version}:{digest}") + versions[flat_version] = { + "version": dotted_version, + "hash": digest + } rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_version).strip() @@ -123,12 +148,15 @@ def fetch_openssl(): with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + + 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}" @@ -140,29 +168,35 @@ def fetch_gcrypt(): };""") renders = [] + versions = {} 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\d+)\.(?P\d+)\.(?P\d+)(?P_do_not_use)?\.(?P.*)", link.text) version = f"{match['major']}.{match['minor']}.{match['patch']}" - print(version) digest = get_source_hash(download_link) - print(digest) + print(f"{version}:{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) + versions[flat_version] = { + "version": version, + "hash": digest + } + all_versions = all_versions_template.render(pkg_versions=renders).strip() with open("./nix/gcrypt_pkg_versions.nix", "w") as handle: handle.write(all_versions) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) def fetch_boringssl(): @@ -172,6 +206,7 @@ def fetch_boringssl(): {{ pkg }} = { rev="{{ rev }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} with tempfile.TemporaryDirectory() as repodir, tempfile.TemporaryDirectory() as gitdir: repodir = pathlib.Path(repodir) gitdir = pathlib.Path(gitdir) @@ -190,11 +225,18 @@ def fetch_boringssl(): rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=f"r{abbrev_commit}", rev=rev).strip() renders.append(rendered) + versions[f"r{abbrev_commit}"] = { + "rev": rev, + "hash": digest, + } 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) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + def fetch_mbedtls(): # Mbed-TLS/mbedtls pkg = "mbedtls" @@ -207,22 +249,29 @@ def fetch_mbedtls(): {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} 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) - + print(f"{version}:{digest}") rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=version).strip() renders.append(rendered) + versions[flat_version] = { + "version": version, + "hash": digest, + } 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) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + def fetch_ippcp(): # https://api.github.com/repos/intel/ipp-crypto/releases pkg = "ippcp" @@ -235,22 +284,29 @@ def fetch_ippcp(): {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} for release in resp.json(): if not release['draft'] and not release['prerelease']: version = release['tag_name'].split('_')[1] - print(version) flat_version = "v" + version.replace('.', '_') download_url = f"https://github.com/{owner}/{repo}/archive/{release['tag_name']}.tar.gz" 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() renders.append(rendered) + versions[flat_version] = { + "version": version, + "hash": digest, + } 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) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + def fetch_nettle(): # https://api.github.com/repos/intel/ipp-crypto/releases pkg = "nettle" @@ -263,6 +319,7 @@ def fetch_nettle(): {{ pkg }} = { version="{{ version }}"; tag="{{ tag }}"; hash="{{ digest }}"; }; };""") renders = [] + versions = {} for tag in resp.json(): if tag['name'] == 'release_nettle_0.2.20010617': continue @@ -273,17 +330,26 @@ def fetch_nettle(): 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) + print(f"{version}:{digest}") rendered = single_version_template.render( pkg=pkg, digest=digest, flat_version=flat_version, tag=tag['name'], version=version).strip() renders.append(rendered) + versions[flat_version] = { + "version": version, + "tag": tag['name'], + "hash": digest, + } 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) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) + + def fetch_libressl(): pkg = "libressl" release_list = "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/" @@ -296,23 +362,30 @@ def fetch_libressl(): };""") renders = [] + versions = {} for link in soup.find_all("a"): if link.text.startswith("libressl") and link.text.endswith('.tar.gz'): match = re.match(r"libressl-(?P\d+)\.(?P\d+)\.(?P\d+)\.tar.gz", link.text) version = f"{match['major']}.{match['minor']}.{match['patch']}" download_link = download_url.format(version=version) - print(version) digest = get_source_hash(download_link) + print(f"{version}:{digest}") # NOTE: use underscore to separate the versions? flat_version = f"v{match['major']}{match['minor']}{match['patch']}" - rendered = single_version_template.render(pkg="botan", digest=digest, flat_version=flat_version, version=version).strip() + rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=version).strip() renders.append(rendered) + versions[flat_version] = { + "version": version, + "hash": digest, + } all_versions = all_versions_template.render(pkg_versions=renders).strip() - with open("./nix/{pkg}_pkg_versions.nix", "w") as handle: + with open(f"./nix/{pkg}_pkg_versions.nix", "w") as handle: handle.write(all_versions) + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(versions, handle, indent=4) def main(): parser = argparse.ArgumentParser() diff --git a/flake.nix b/flake.nix index d6e29970..6a8150e4 100644 --- a/flake.nix +++ b/flake.nix @@ -533,20 +533,61 @@ } ); + loadVersions = + { libName, function }: + pkgs.lib.mapAttrs (rev: specs: function { ${libName} = specs; }) ( + builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json) + ); + loadVersionsForShim = + { libName, function }: + pkgs.lib.mapAttrs (rev: specs: function specs) ( + builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json) + ); in { packages = rec { default = openssl.v331; - tomcrypt = pkgs.callPackage ./nix/tomcrypt_pkg_versions.nix { inherit buildECTesterStandalone; }; - botan = pkgs.callPackage ./nix/botan_pkg_versions.nix { inherit buildECTesterStandalone; }; - cryptopp = pkgs.callPackage ./nix/cryptopp_pkg_versions.nix { inherit buildECTesterStandalone; }; - openssl = pkgs.callPackage ./nix/openssl_pkg_versions.nix { inherit buildECTesterStandalone; }; - boringssl = pkgs.callPackage ./nix/boringssl_pkg_versions.nix { inherit buildECTesterStandalone; }; - 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; }; - libressl = pkgs.callPackage ./nix/libressl_pkg_versions.nix { inherit buildECTesterStandalone; }; + tomcrypt = loadVersions { + libName = "tomcrypt"; + function = buildECTesterStandalone; + }; + botan = loadVersions { + libName = "botan"; + function = buildECTesterStandalone; + }; + cryptopp = loadVersions { + libName = "cryptopp"; + function = buildECTesterStandalone; + }; + openssl = loadVersions { + libName = "openssl"; + function = buildECTesterStandalone; + }; + boringssl = loadVersions { + libName = "boringssl"; + function = buildECTesterStandalone; + }; + gcrypt = loadVersions { + libName = "gcrypt"; + function = buildECTesterStandalone; + }; + mbedtls = loadVersions { + libName = "mbedtls"; + function = buildECTesterStandalone; + }; + ippcp = loadVersions { + libName = "ippcp"; + function = buildECTesterStandalone; + }; + nettle = loadVersions { + libName = "nettle"; + function = buildECTesterStandalone; + }; + libressl = loadVersions { + libName = "libressl"; + function = buildECTesterStandalone; + }; + fetchReleases = with pkgs.python3Packages; diff --git a/nix/boringssl_pkg_versions.json b/nix/boringssl_pkg_versions.json new file mode 100644 index 00000000..77c4e62f --- /dev/null +++ b/nix/boringssl_pkg_versions.json @@ -0,0 +1,402 @@ +{ + "rb7f5443c": { + "rev": "b7f5443cfc1298d77dfb9e6f2eea68035de521a4", + "hash": "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po=" + }, + "r1b40d99d": { + "rev": "1b40d99d6a90d0039e9021adde5ad4de743cf0ad", + "hash": "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg=" + }, + "r5af122c3": { + "rev": "5af122c3dfc163b5d1859f1f450756e8e320a142", + "hash": "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk=" + }, + "r1e8c35af": { + "rev": "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74", + "hash": "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI=" + }, + "r14a2f35b": { + "rev": "14a2f35b6e06756902eaa7e188a25895721055fc", + "hash": "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw=" + }, + "re23fe9b6": { + "rev": "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6", + "hash": "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ=" + }, + "r7a6e828d": { + "rev": "7a6e828dc53ba9a56bd49915f2a0780d63af97d2", + "hash": "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk=" + }, + "r9cffd74f": { + "rev": "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e", + "hash": "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4=" + }, + "r82f9853f": { + "rev": "82f9853fc7d7360ae44f1e1357a6422c5244bbd8", + "hash": "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY=" + }, + "r9b3ef1b3": { + "rev": "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3", + "hash": "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE=" + }, + "r096ded9f": { + "rev": "096ded9f097b73a15956b04cd168c7cfe7e28f52", + "hash": "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo=" + }, + "rd274b1ba": { + "rev": "d274b1bacdca36f3941bf78e43dc38acf676a1a8", + "hash": "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk=" + }, + "rb34976ca": { + "rev": "b34976cae99f8d1b864dbab31e20fc00d06acb09", + "hash": "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo=" + }, + "r77ef86d0": { + "rev": "77ef86d0431ec3ceea503b0c59888942fd35b035", + "hash": "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M=" + }, + "r8934b1ef": { + "rev": "8934b1ef0857bc08626a2206a6f5f718942c14fc", + "hash": "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0=" + }, + "r7c2b62e9": { + "rev": "7c2b62e93487b772990fddc1905f22d4cfaee4a4", + "hash": "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4=" + }, + "r12f0f4be": { + "rev": "12f0f4bec2a6db53a53748dd6001d1aacaae26ba", + "hash": "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw=" + }, + "rca2eba6a": { + "rev": "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa", + "hash": "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8=" + }, + "rf01108e4": { + "rev": "f01108e4761e1d4189cb134322c3cb01dc71ef87", + "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + }, + "r26468aea": { + "rev": "26468aea6483135b156fb03a5693c495dbad2e0f", + "hash": "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE=" + }, + "r7811fdc9": { + "rev": "7811fdc94b7ec146937e83f98d411157974ffa32", + "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + }, + "r45db24b3": { + "rev": "45db24b36a030ec54464ea7a26c362f3c82305ee", + "hash": "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0=" + }, + "r45b24641": { + "rev": "45b2464158379f48cec6e35a1ef503ddea1511a6", + "hash": "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY=" + }, + "r2fcdd11f": { + "rev": "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8", + "hash": "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA=" + }, + "r6c98ebeb": { + "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", + "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" + }, + "rd1e6d3b4": { + "rev": "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07", + "hash": "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo=" + }, + "r84dc9bb6": { + "rev": "84dc9bb624b47bda0bf802ae9e04a6eecb40865c", + "hash": "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo=" + }, + "r67422ed4": { + "rev": "67422ed4434116daa8898773692165ddd51a6ac2", + "hash": "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc=" + }, + "rc6c0b650": { + "rev": "c6c0b650091e90e6206a361c14a73223f54d42c1", + "hash": "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg=" + }, + "r66d274df": { + "rev": "66d274dfbab9e4f84599f06504987c418ca087d9", + "hash": "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0=" + }, + "re1d209d4": { + "rev": "e1d209d4432846d28c31d84f269f4edcb9a63509", + "hash": "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg=" + }, + "r9cac8a6b": { + "rev": "9cac8a6b38c1cbd45c77aee108411d588da006fe", + "hash": "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs=" + }, + "r11acdc6a": { + "rev": "11acdc6abf13cc8139c30ac9455840a347793110", + "hash": "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y=" + }, + "r962432c6": { + "rev": "962432c687f67f8df1aa6e3dd364fbc88fea4ed8", + "hash": "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ=" + }, + "ra220a602": { + "rev": "a220a6024f66c123019b5c080f6bd8bcaf75448c", + "hash": "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0=" + }, + "ra6c42d68": { + "rev": "a6c42d6810ea5317fe8ed85704c097cd8f3513ca", + "hash": "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ=" + }, + "r56fb43a2": { + "rev": "56fb43a204e57af68e00f4561c108a7004381aa3", + "hash": "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY=" + }, + "r29223ac3": { + "rev": "29223ac349c144a4d0babc281644c0410dd1e313", + "hash": "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ=" + }, + "re2a801f6": { + "rev": "e2a801f688dbdfac8fde90b849b1bf75f80b466c", + "hash": "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs=" + }, + "r39dd1e3c": { + "rev": "39dd1e3c904341ac14da80224d72a77d95501ad4", + "hash": "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4=" + }, + "r1385dbd5": { + "rev": "1385dbd51dc2eeba39076687a6c9e45c7dc8965c", + "hash": "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk=" + }, + "r2bc9245e": { + "rev": "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a", + "hash": "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM=" + }, + "ra055b938": { + "rev": "a055b93845a1b2a910919e21920e4bd1ce900841", + "hash": "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI=" + }, + "rdec5989b": { + "rev": "dec5989b793c56ad4dd32173bd2d8595ca78b398", + "hash": "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI=" + }, + "rc1d9ac02": { + "rev": "c1d9ac02514a138129872a036e3f8a1074dcb8bd", + "hash": "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8=" + }, + "re1a860c3": { + "rev": "e1a860c3745c77cb83228dde1b73fa62eaf43930", + "hash": "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs=" + }, + "rfb1c75ca": { + "rev": "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549", + "hash": "sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI=" + }, + "re491eeb6": { + "rev": "e491eeb610fcc69b98bc6d1ba08faf78655808f6", + "hash": "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U=" + }, + "ra11277e1": { + "rev": "a11277e187e407d0ef403b8a60d9a32eaab7d301", + "hash": "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo=" + }, + "r25cf1bb9": { + "rev": "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016", + "hash": "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk=" + }, + "rc8100f0f": { + "rev": "c8100f0f0d05c5185d58113e12a867ae0771a6c9", + "hash": "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q=" + }, + "r1eda2363": { + "rev": "1eda2363f9e79aaa5febe91d31b6756ae4f24f30", + "hash": "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g=" + }, + "r261579f0": { + "rev": "261579f08b2f8aa7959670df1e928c1c305a632c", + "hash": "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg=" + }, + "r9540c045": { + "rev": "9540c0452343e684f94515288880b6b35655f792", + "hash": "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk=" + }, + "red3f05a6": { + "rev": "ed3f05a6794adfd39937d0027afefad8f6afcae9", + "hash": "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc=" + }, + "r4a7815c9": { + "rev": "4a7815c94077eebb3546fc287d1fa0e1356a2cd0", + "hash": "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8=" + }, + "r5326e94d": { + "rev": "5326e94dd188beba0a5e536b1d2723aee65bd85d", + "hash": "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0=" + }, + "re09fcf83": { + "rev": "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e", + "hash": "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE=" + }, + "rafd52e91": { + "rev": "afd52e91dfed27ab7193be040f067900947b14ac", + "hash": "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo=" + }, + "re95b0cad": { + "rev": "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94", + "hash": "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw=" + }, + "r13aa2733": { + "rev": "13aa27338663c62600249ece54c94f180d57bbb7", + "hash": "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds=" + }, + "r03982b4c": { + "rev": "03982b4cfadca0e650b384c9539b2fdb5f8aa012", + "hash": "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg=" + }, + "r273a920f": { + "rev": "273a920f84e8b0b258737cea0f2f24627e8c5ed9", + "hash": "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ=" + }, + "r9f7f4d03": { + "rev": "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d", + "hash": "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw=" + }, + "rd7278ceb": { + "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", + "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" + }, + "rbfcab2aa": { + "rev": "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f", + "hash": "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY=" + }, + "r68c29a24": { + "rev": "68c29a24ee6c9c70ecce56766ca70b115aad768f", + "hash": "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo=" + }, + "rde6ba216": { + "rev": "de6ba216656b819d4d8de7602006561f82a8c669", + "hash": "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4=" + }, + "r29c9e64c": { + "rev": "29c9e64ce548ff8278e9d98aa53f611f115c2bed", + "hash": "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4=" + }, + "r58745d61": { + "rev": "58745d61afe244a37941d391f5dec3ab08f5cf2c", + "hash": "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ=" + }, + "rc798e3a5": { + "rev": "c798e3a54912a1bfbf1c846630e2bb86e9b543a7", + "hash": "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig=" + }, + "rba62c812": { + "rev": "ba62c812f01fb379f49f94a08a2d1282ce46e678", + "hash": "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU=" + }, + "r2fb5f9cb": { + "rev": "2fb5f9cb8feec2234952f6999af941ac48555710", + "hash": "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8=" + }, + "rd477c0d7": { + "rev": "d477c0d7c40ddca3a64ae26fc02d2dac175836d3", + "hash": "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag=" + }, + "rc7019036": { + "rev": "c70190368c7040c37c1d655f0690bcde2b109a0d", + "hash": "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE=" + }, + "r7662e58e": { + "rev": "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2", + "hash": "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4=" + }, + "r0355048c": { + "rev": "0355048ce0302fdeb4744dae4b8a156a38496150", + "hash": "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY=" + }, + "r3a01cba9": { + "rev": "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee", + "hash": "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk=" + }, + "r07f27b1d": { + "rev": "07f27b1d445a27433f2c871935da2cefcfbdb458", + "hash": "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A=" + }, + "rfc953df2": { + "rev": "fc953df2352e1c1bcb34cb5f75a0e409014c1690", + "hash": "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU=" + }, + "r1a9edc3e": { + "rev": "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba", + "hash": "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI=" + }, + "rb8912d71": { + "rev": "b8912d713cb82a748bbe63f28f28b17632c70964", + "hash": "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc=" + }, + "rb6bca9c6": { + "rev": "b6bca9c6dde177f641137d2991aa677997c54c67", + "hash": "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI=" + }, + "r03d1b7c5": { + "rev": "03d1b7c544851d9f44df1e9ff21839742e08c819", + "hash": "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA=" + }, + "r6b36ad2b": { + "rev": "6b36ad2bd6001f17a997b7a1e0ab254b001438ef", + "hash": "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY=" + }, + "r1d24e04c": { + "rev": "1d24e04c7143171ae2010c842e3e1438510fd1c0", + "hash": "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc=" + }, + "r8a0da669": { + "rev": "8a0da669a08b6c6b805fd7ec9d1e67694fda3711", + "hash": "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc=" + }, + "r4d50a595": { + "rev": "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2", + "hash": "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA=" + }, + "rd34f540e": { + "rev": "d34f540e57394de22a1599c3c5d852519d388d6c", + "hash": "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0=" + }, + "re7d76da9": { + "rev": "e7d76da920a1bd79b6ebc77e75b407cdf0a58962", + "hash": "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0=" + }, + "r3efe2eb9": { + "rev": "3efe2eb9e3dfb49cb110c53e3430caeae4599f52", + "hash": "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I=" + }, + "r35a91094": { + "rev": "35a910949d684aea8b86a8c42db76c4f43e31a96", + "hash": "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw=" + }, + "r8e6aa7f3": { + "rev": "8e6aa7f39f4357a6ad15944884f72db8d25b9dff", + "hash": "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M=" + }, + "r7c44f450": { + "rev": "7c44f450547cc777229462c2ac864a9326c0106c", + "hash": "sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk=" + }, + "r6ab7c148": { + "rev": "6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec", + "hash": "sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE=" + }, + "rb17231cd": { + "rev": "b17231cdb9ec4e877b470c57d3280d9195811cd9", + "hash": "sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s=" + }, + "r3e89a7e8": { + "rev": "3e89a7e8db8139db356b892ca9993172346c80cf", + "hash": "sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k=" + }, + "r8de798be": { + "rev": "8de798be4b850cf88ad2c50602abe2ca3bb285df", + "hash": "sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM=" + }, + "rd2e3212d": { + "rev": "d2e3212de29bac1ceed33ca8ab8bbff3f41a2459", + "hash": "sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y=" + }, + "r783ae722": { + "rev": "783ae722ed307a3b3782cd253fd4ffb387f38767", + "hash": "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo=" + } +} \ No newline at end of file diff --git a/nix/boringssl_pkg_versions.nix b/nix/boringssl_pkg_versions.nix deleted file mode 100644 index 675d495d..00000000 --- a/nix/boringssl_pkg_versions.nix +++ /dev/null @@ -1,603 +0,0 @@ -{ buildECTesterStandalone }: -{ - rb7f5443c = buildECTesterStandalone { - boringssl = { - rev = "b7f5443cfc1298d77dfb9e6f2eea68035de521a4"; - hash = "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po="; - }; - }; - r1b40d99d = buildECTesterStandalone { - boringssl = { - rev = "1b40d99d6a90d0039e9021adde5ad4de743cf0ad"; - hash = "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg="; - }; - }; - r5af122c3 = buildECTesterStandalone { - boringssl = { - rev = "5af122c3dfc163b5d1859f1f450756e8e320a142"; - hash = "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk="; - }; - }; - r1e8c35af = buildECTesterStandalone { - boringssl = { - rev = "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74"; - hash = "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI="; - }; - }; - r14a2f35b = buildECTesterStandalone { - boringssl = { - rev = "14a2f35b6e06756902eaa7e188a25895721055fc"; - hash = "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw="; - }; - }; - re23fe9b6 = buildECTesterStandalone { - boringssl = { - rev = "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6"; - hash = "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ="; - }; - }; - r7a6e828d = buildECTesterStandalone { - boringssl = { - rev = "7a6e828dc53ba9a56bd49915f2a0780d63af97d2"; - hash = "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk="; - }; - }; - r9cffd74f = buildECTesterStandalone { - boringssl = { - rev = "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e"; - hash = "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4="; - }; - }; - r82f9853f = buildECTesterStandalone { - boringssl = { - rev = "82f9853fc7d7360ae44f1e1357a6422c5244bbd8"; - hash = "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY="; - }; - }; - r9b3ef1b3 = buildECTesterStandalone { - boringssl = { - rev = "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3"; - hash = "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE="; - }; - }; - r096ded9f = buildECTesterStandalone { - boringssl = { - rev = "096ded9f097b73a15956b04cd168c7cfe7e28f52"; - hash = "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo="; - }; - }; - rd274b1ba = buildECTesterStandalone { - boringssl = { - rev = "d274b1bacdca36f3941bf78e43dc38acf676a1a8"; - hash = "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk="; - }; - }; - rb34976ca = buildECTesterStandalone { - boringssl = { - rev = "b34976cae99f8d1b864dbab31e20fc00d06acb09"; - hash = "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo="; - }; - }; - r77ef86d0 = buildECTesterStandalone { - boringssl = { - rev = "77ef86d0431ec3ceea503b0c59888942fd35b035"; - hash = "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M="; - }; - }; - r8934b1ef = buildECTesterStandalone { - boringssl = { - rev = "8934b1ef0857bc08626a2206a6f5f718942c14fc"; - hash = "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0="; - }; - }; - r7c2b62e9 = buildECTesterStandalone { - boringssl = { - rev = "7c2b62e93487b772990fddc1905f22d4cfaee4a4"; - hash = "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4="; - }; - }; - r12f0f4be = buildECTesterStandalone { - boringssl = { - rev = "12f0f4bec2a6db53a53748dd6001d1aacaae26ba"; - hash = "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw="; - }; - }; - rca2eba6a = buildECTesterStandalone { - boringssl = { - rev = "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa"; - hash = "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8="; - }; - }; - rf01108e4 = buildECTesterStandalone { - boringssl = { - rev = "f01108e4761e1d4189cb134322c3cb01dc71ef87"; - hash = "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; - }; - }; - r26468aea = buildECTesterStandalone { - boringssl = { - rev = "26468aea6483135b156fb03a5693c495dbad2e0f"; - hash = "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE="; - }; - }; - r7811fdc9 = buildECTesterStandalone { - boringssl = { - rev = "7811fdc94b7ec146937e83f98d411157974ffa32"; - hash = "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY="; - }; - }; - r45db24b3 = buildECTesterStandalone { - boringssl = { - rev = "45db24b36a030ec54464ea7a26c362f3c82305ee"; - hash = "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0="; - }; - }; - r45b24641 = buildECTesterStandalone { - boringssl = { - rev = "45b2464158379f48cec6e35a1ef503ddea1511a6"; - hash = "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY="; - }; - }; - r2fcdd11f = buildECTesterStandalone { - boringssl = { - rev = "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8"; - hash = "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA="; - }; - }; - r6c98ebeb = buildECTesterStandalone { - boringssl = { - rev = "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec"; - hash = "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI="; - }; - }; - rd1e6d3b4 = buildECTesterStandalone { - boringssl = { - rev = "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07"; - hash = "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo="; - }; - }; - r84dc9bb6 = buildECTesterStandalone { - boringssl = { - rev = "84dc9bb624b47bda0bf802ae9e04a6eecb40865c"; - hash = "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo="; - }; - }; - r67422ed4 = buildECTesterStandalone { - boringssl = { - rev = "67422ed4434116daa8898773692165ddd51a6ac2"; - hash = "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc="; - }; - }; - rc6c0b650 = buildECTesterStandalone { - boringssl = { - rev = "c6c0b650091e90e6206a361c14a73223f54d42c1"; - hash = "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg="; - }; - }; - r66d274df = buildECTesterStandalone { - boringssl = { - rev = "66d274dfbab9e4f84599f06504987c418ca087d9"; - hash = "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0="; - }; - }; - re1d209d4 = buildECTesterStandalone { - boringssl = { - rev = "e1d209d4432846d28c31d84f269f4edcb9a63509"; - hash = "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg="; - }; - }; - r9cac8a6b = buildECTesterStandalone { - boringssl = { - rev = "9cac8a6b38c1cbd45c77aee108411d588da006fe"; - hash = "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs="; - }; - }; - r11acdc6a = buildECTesterStandalone { - boringssl = { - rev = "11acdc6abf13cc8139c30ac9455840a347793110"; - hash = "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y="; - }; - }; - r962432c6 = buildECTesterStandalone { - boringssl = { - rev = "962432c687f67f8df1aa6e3dd364fbc88fea4ed8"; - hash = "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ="; - }; - }; - ra220a602 = buildECTesterStandalone { - boringssl = { - rev = "a220a6024f66c123019b5c080f6bd8bcaf75448c"; - hash = "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0="; - }; - }; - ra6c42d68 = buildECTesterStandalone { - boringssl = { - rev = "a6c42d6810ea5317fe8ed85704c097cd8f3513ca"; - hash = "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ="; - }; - }; - r56fb43a2 = buildECTesterStandalone { - boringssl = { - rev = "56fb43a204e57af68e00f4561c108a7004381aa3"; - hash = "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY="; - }; - }; - r29223ac3 = buildECTesterStandalone { - boringssl = { - rev = "29223ac349c144a4d0babc281644c0410dd1e313"; - hash = "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ="; - }; - }; - re2a801f6 = buildECTesterStandalone { - boringssl = { - rev = "e2a801f688dbdfac8fde90b849b1bf75f80b466c"; - hash = "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs="; - }; - }; - r39dd1e3c = buildECTesterStandalone { - boringssl = { - rev = "39dd1e3c904341ac14da80224d72a77d95501ad4"; - hash = "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4="; - }; - }; - r1385dbd5 = buildECTesterStandalone { - boringssl = { - rev = "1385dbd51dc2eeba39076687a6c9e45c7dc8965c"; - hash = "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk="; - }; - }; - r2bc9245e = buildECTesterStandalone { - boringssl = { - rev = "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a"; - hash = "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM="; - }; - }; - ra055b938 = buildECTesterStandalone { - boringssl = { - rev = "a055b93845a1b2a910919e21920e4bd1ce900841"; - hash = "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI="; - }; - }; - rdec5989b = buildECTesterStandalone { - boringssl = { - rev = "dec5989b793c56ad4dd32173bd2d8595ca78b398"; - hash = "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI="; - }; - }; - rc1d9ac02 = buildECTesterStandalone { - boringssl = { - rev = "c1d9ac02514a138129872a036e3f8a1074dcb8bd"; - hash = "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8="; - }; - }; - re1a860c3 = buildECTesterStandalone { - boringssl = { - rev = "e1a860c3745c77cb83228dde1b73fa62eaf43930"; - hash = "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs="; - }; - }; - rfb1c75ca = buildECTesterStandalone { - boringssl = { - rev = "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549"; - hash = "sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI="; - }; - }; - re491eeb6 = buildECTesterStandalone { - boringssl = { - rev = "e491eeb610fcc69b98bc6d1ba08faf78655808f6"; - hash = "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U="; - }; - }; - ra11277e1 = buildECTesterStandalone { - boringssl = { - rev = "a11277e187e407d0ef403b8a60d9a32eaab7d301"; - hash = "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo="; - }; - }; - r25cf1bb9 = buildECTesterStandalone { - boringssl = { - rev = "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016"; - hash = "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk="; - }; - }; - rc8100f0f = buildECTesterStandalone { - boringssl = { - rev = "c8100f0f0d05c5185d58113e12a867ae0771a6c9"; - hash = "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q="; - }; - }; - r1eda2363 = buildECTesterStandalone { - boringssl = { - rev = "1eda2363f9e79aaa5febe91d31b6756ae4f24f30"; - hash = "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g="; - }; - }; - r261579f0 = buildECTesterStandalone { - boringssl = { - rev = "261579f08b2f8aa7959670df1e928c1c305a632c"; - hash = "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg="; - }; - }; - r9540c045 = buildECTesterStandalone { - boringssl = { - rev = "9540c0452343e684f94515288880b6b35655f792"; - hash = "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk="; - }; - }; - red3f05a6 = buildECTesterStandalone { - boringssl = { - rev = "ed3f05a6794adfd39937d0027afefad8f6afcae9"; - hash = "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc="; - }; - }; - r4a7815c9 = buildECTesterStandalone { - boringssl = { - rev = "4a7815c94077eebb3546fc287d1fa0e1356a2cd0"; - hash = "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8="; - }; - }; - r5326e94d = buildECTesterStandalone { - boringssl = { - rev = "5326e94dd188beba0a5e536b1d2723aee65bd85d"; - hash = "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0="; - }; - }; - re09fcf83 = buildECTesterStandalone { - boringssl = { - rev = "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e"; - hash = "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE="; - }; - }; - rafd52e91 = buildECTesterStandalone { - boringssl = { - rev = "afd52e91dfed27ab7193be040f067900947b14ac"; - hash = "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo="; - }; - }; - re95b0cad = buildECTesterStandalone { - boringssl = { - rev = "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94"; - hash = "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw="; - }; - }; - r13aa2733 = buildECTesterStandalone { - boringssl = { - rev = "13aa27338663c62600249ece54c94f180d57bbb7"; - hash = "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds="; - }; - }; - r03982b4c = buildECTesterStandalone { - boringssl = { - rev = "03982b4cfadca0e650b384c9539b2fdb5f8aa012"; - hash = "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg="; - }; - }; - r273a920f = buildECTesterStandalone { - boringssl = { - rev = "273a920f84e8b0b258737cea0f2f24627e8c5ed9"; - hash = "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ="; - }; - }; - r9f7f4d03 = buildECTesterStandalone { - boringssl = { - rev = "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d"; - hash = "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw="; - }; - }; - rd7278ceb = buildECTesterStandalone { - boringssl = { - rev = "d7278cebad5b8eda0901246f2215344cffece4f4"; - hash = "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA="; - }; - }; - rbfcab2aa = buildECTesterStandalone { - boringssl = { - rev = "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f"; - hash = "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY="; - }; - }; - r68c29a24 = buildECTesterStandalone { - boringssl = { - rev = "68c29a24ee6c9c70ecce56766ca70b115aad768f"; - hash = "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo="; - }; - }; - rde6ba216 = buildECTesterStandalone { - boringssl = { - rev = "de6ba216656b819d4d8de7602006561f82a8c669"; - hash = "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4="; - }; - }; - r29c9e64c = buildECTesterStandalone { - boringssl = { - rev = "29c9e64ce548ff8278e9d98aa53f611f115c2bed"; - hash = "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4="; - }; - }; - r58745d61 = buildECTesterStandalone { - boringssl = { - rev = "58745d61afe244a37941d391f5dec3ab08f5cf2c"; - hash = "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ="; - }; - }; - rc798e3a5 = buildECTesterStandalone { - boringssl = { - rev = "c798e3a54912a1bfbf1c846630e2bb86e9b543a7"; - hash = "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig="; - }; - }; - rba62c812 = buildECTesterStandalone { - boringssl = { - rev = "ba62c812f01fb379f49f94a08a2d1282ce46e678"; - hash = "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU="; - }; - }; - r2fb5f9cb = buildECTesterStandalone { - boringssl = { - rev = "2fb5f9cb8feec2234952f6999af941ac48555710"; - hash = "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8="; - }; - }; - rd477c0d7 = buildECTesterStandalone { - boringssl = { - rev = "d477c0d7c40ddca3a64ae26fc02d2dac175836d3"; - hash = "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag="; - }; - }; - rc7019036 = buildECTesterStandalone { - boringssl = { - rev = "c70190368c7040c37c1d655f0690bcde2b109a0d"; - hash = "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE="; - }; - }; - r7662e58e = buildECTesterStandalone { - boringssl = { - rev = "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2"; - hash = "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4="; - }; - }; - r0355048c = buildECTesterStandalone { - boringssl = { - rev = "0355048ce0302fdeb4744dae4b8a156a38496150"; - hash = "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY="; - }; - }; - r3a01cba9 = buildECTesterStandalone { - boringssl = { - rev = "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee"; - hash = "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk="; - }; - }; - r07f27b1d = buildECTesterStandalone { - boringssl = { - rev = "07f27b1d445a27433f2c871935da2cefcfbdb458"; - hash = "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A="; - }; - }; - rfc953df2 = buildECTesterStandalone { - boringssl = { - rev = "fc953df2352e1c1bcb34cb5f75a0e409014c1690"; - hash = "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU="; - }; - }; - r1a9edc3e = buildECTesterStandalone { - boringssl = { - rev = "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba"; - hash = "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI="; - }; - }; - rb8912d71 = buildECTesterStandalone { - boringssl = { - rev = "b8912d713cb82a748bbe63f28f28b17632c70964"; - hash = "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc="; - }; - }; - rb6bca9c6 = buildECTesterStandalone { - boringssl = { - rev = "b6bca9c6dde177f641137d2991aa677997c54c67"; - hash = "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI="; - }; - }; - r03d1b7c5 = buildECTesterStandalone { - boringssl = { - rev = "03d1b7c544851d9f44df1e9ff21839742e08c819"; - hash = "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA="; - }; - }; - r6b36ad2b = buildECTesterStandalone { - boringssl = { - rev = "6b36ad2bd6001f17a997b7a1e0ab254b001438ef"; - hash = "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY="; - }; - }; - r1d24e04c = buildECTesterStandalone { - boringssl = { - rev = "1d24e04c7143171ae2010c842e3e1438510fd1c0"; - hash = "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc="; - }; - }; - r8a0da669 = buildECTesterStandalone { - boringssl = { - rev = "8a0da669a08b6c6b805fd7ec9d1e67694fda3711"; - hash = "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc="; - }; - }; - r4d50a595 = buildECTesterStandalone { - boringssl = { - rev = "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2"; - hash = "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA="; - }; - }; - rd34f540e = buildECTesterStandalone { - boringssl = { - rev = "d34f540e57394de22a1599c3c5d852519d388d6c"; - hash = "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0="; - }; - }; - re7d76da9 = buildECTesterStandalone { - boringssl = { - rev = "e7d76da920a1bd79b6ebc77e75b407cdf0a58962"; - hash = "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0="; - }; - }; - r3efe2eb9 = buildECTesterStandalone { - boringssl = { - rev = "3efe2eb9e3dfb49cb110c53e3430caeae4599f52"; - hash = "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I="; - }; - }; - r35a91094 = buildECTesterStandalone { - boringssl = { - rev = "35a910949d684aea8b86a8c42db76c4f43e31a96"; - hash = "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw="; - }; - }; - r8e6aa7f3 = buildECTesterStandalone { - boringssl = { - rev = "8e6aa7f39f4357a6ad15944884f72db8d25b9dff"; - hash = "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M="; - }; - }; - r7c44f450 = buildECTesterStandalone { - boringssl = { - rev = "7c44f450547cc777229462c2ac864a9326c0106c"; - hash = "sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk="; - }; - }; - r6ab7c148 = buildECTesterStandalone { - boringssl = { - rev = "6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec"; - hash = "sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE="; - }; - }; - rb17231cd = buildECTesterStandalone { - boringssl = { - rev = "b17231cdb9ec4e877b470c57d3280d9195811cd9"; - hash = "sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s="; - }; - }; - r3e89a7e8 = buildECTesterStandalone { - boringssl = { - rev = "3e89a7e8db8139db356b892ca9993172346c80cf"; - hash = "sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k="; - }; - }; - r8de798be = buildECTesterStandalone { - boringssl = { - rev = "8de798be4b850cf88ad2c50602abe2ca3bb285df"; - hash = "sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM="; - }; - }; - rd2e3212d = buildECTesterStandalone { - boringssl = { - rev = "d2e3212de29bac1ceed33ca8ab8bbff3f41a2459"; - hash = "sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y="; - }; - }; - r783ae722 = buildECTesterStandalone { - boringssl = { - rev = "783ae722ed307a3b3782cd253fd4ffb387f38767"; - hash = "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo="; - }; - }; -} diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json new file mode 100644 index 00000000..0f3753d6 --- /dev/null +++ b/nix/botan_pkg_versions.json @@ -0,0 +1 @@ +{"v200": {"version": "2.0.0", "source_extension": "tgz", "hash": "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="}, "v201": {"version": "2.0.1", "source_extension": "tgz", "hash": "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="}, "v210": {"version": "2.1.0", "source_extension": "tgz", "hash": "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="}, "v2100": {"version": "2.10.0", "source_extension": "tgz", "hash": "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="}, "v2110": {"version": "2.11.0", "source_extension": "tar.xz", "hash": "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="}, "v2120": {"version": "2.12.0", "source_extension": "tar.xz", "hash": "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="}, "v2121": {"version": "2.12.1", "source_extension": "tar.xz", "hash": "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="}, "v2130": {"version": "2.13.0", "source_extension": "tar.xz", "hash": "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="}, "v2140": {"version": "2.14.0", "source_extension": "tar.xz", "hash": "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="}, "v2150": {"version": "2.15.0", "source_extension": "tar.xz", "hash": "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="}, "v2160": {"version": "2.16.0", "source_extension": "tar.xz", "hash": "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="}, "v2170": {"version": "2.17.0", "source_extension": "tar.xz", "hash": "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="}, "v2171": {"version": "2.17.1", "source_extension": "tar.xz", "hash": "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="}, "v2172": {"version": "2.17.2", "source_extension": "tar.xz", "hash": "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="}, "v2173": {"version": "2.17.3", "source_extension": "tar.xz", "hash": "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="}, "v2180": {"version": "2.18.0", "source_extension": "tar.xz", "hash": "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="}, "v2181": {"version": "2.18.1", "source_extension": "tar.xz", "hash": "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="}, "v2182": {"version": "2.18.2", "source_extension": "tar.xz", "hash": "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="}, "v2190": {"version": "2.19.0", "source_extension": "tar.xz", "hash": "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="}, "v2191": {"version": "2.19.1", "source_extension": "tar.xz", "hash": "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="}, "v2192": {"version": "2.19.2", "source_extension": "tar.xz", "hash": "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="}, "v2193": {"version": "2.19.3", "source_extension": "tar.xz", "hash": "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="}, "v2194": {"version": "2.19.4", "source_extension": "tar.xz", "hash": "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="}, "v2195": {"version": "2.19.5", "source_extension": "tar.xz", "hash": "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="}, "v220": {"version": "2.2.0", "source_extension": "tgz", "hash": "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="}, "v230": {"version": "2.3.0", "source_extension": "tgz", "hash": "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="}, "v240": {"version": "2.4.0", "source_extension": "tgz", "hash": "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="}, "v250": {"version": "2.5.0", "source_extension": "tgz", "hash": "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="}, "v260": {"version": "2.6.0", "source_extension": "tgz", "hash": "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="}, "v270": {"version": "2.7.0", "source_extension": "tgz", "hash": "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="}, "v280": {"version": "2.8.0", "source_extension": "tgz", "hash": "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="}, "v290": {"version": "2.9.0", "source_extension": "tgz", "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="}, "v300": {"version": "3.0.0", "source_extension": "tar.xz", "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="}, "v310": {"version": "3.1.0", "source_extension": "tar.xz", "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="}, "v311": {"version": "3.1.1", "source_extension": "tar.xz", "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="}, "v320": {"version": "3.2.0", "source_extension": "tar.xz", "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="}, "v330": {"version": "3.3.0", "source_extension": "tar.xz", "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="}, "v340": {"version": "3.4.0", "source_extension": "tar.xz", "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="}, "v350": {"version": "3.5.0", "source_extension": "tar.xz", "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="}} \ No newline at end of file diff --git a/nix/botan_pkg_versions.nix b/nix/botan_pkg_versions.nix deleted file mode 100644 index 254bca96..00000000 --- a/nix/botan_pkg_versions.nix +++ /dev/null @@ -1,276 +0,0 @@ -{ buildECTesterStandalone }: -{ - v200 = buildECTesterStandalone { - botan = { - version = "2.0.0"; - source_extension = "tgz"; - hash = "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="; - }; - }; - v201 = buildECTesterStandalone { - botan = { - version = "2.0.1"; - source_extension = "tgz"; - hash = "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="; - }; - }; - v210 = buildECTesterStandalone { - botan = { - version = "2.1.0"; - source_extension = "tgz"; - hash = "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="; - }; - }; - v2100 = buildECTesterStandalone { - botan = { - version = "2.10.0"; - source_extension = "tgz"; - hash = "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="; - }; - }; - v2110 = buildECTesterStandalone { - botan = { - version = "2.11.0"; - source_extension = "tar.xz"; - hash = "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="; - }; - }; - v2120 = buildECTesterStandalone { - botan = { - version = "2.12.0"; - source_extension = "tar.xz"; - hash = "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="; - }; - }; - v2121 = buildECTesterStandalone { - botan = { - version = "2.12.1"; - source_extension = "tar.xz"; - hash = "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="; - }; - }; - v2130 = buildECTesterStandalone { - botan = { - version = "2.13.0"; - source_extension = "tar.xz"; - hash = "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="; - }; - }; - v2140 = buildECTesterStandalone { - botan = { - version = "2.14.0"; - source_extension = "tar.xz"; - hash = "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="; - }; - }; - v2150 = buildECTesterStandalone { - botan = { - version = "2.15.0"; - source_extension = "tar.xz"; - hash = "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="; - }; - }; - v2160 = buildECTesterStandalone { - botan = { - version = "2.16.0"; - source_extension = "tar.xz"; - hash = "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="; - }; - }; - v2170 = buildECTesterStandalone { - botan = { - version = "2.17.0"; - source_extension = "tar.xz"; - hash = "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="; - }; - }; - v2171 = buildECTesterStandalone { - botan = { - version = "2.17.1"; - source_extension = "tar.xz"; - hash = "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="; - }; - }; - v2172 = buildECTesterStandalone { - botan = { - version = "2.17.2"; - source_extension = "tar.xz"; - hash = "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="; - }; - }; - v2173 = buildECTesterStandalone { - botan = { - version = "2.17.3"; - source_extension = "tar.xz"; - hash = "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="; - }; - }; - v2180 = buildECTesterStandalone { - botan = { - version = "2.18.0"; - source_extension = "tar.xz"; - hash = "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="; - }; - }; - v2181 = buildECTesterStandalone { - botan = { - version = "2.18.1"; - source_extension = "tar.xz"; - hash = "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="; - }; - }; - v2182 = buildECTesterStandalone { - botan = { - version = "2.18.2"; - source_extension = "tar.xz"; - hash = "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="; - }; - }; - v2190 = buildECTesterStandalone { - botan = { - version = "2.19.0"; - source_extension = "tar.xz"; - hash = "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="; - }; - }; - v2191 = buildECTesterStandalone { - botan = { - version = "2.19.1"; - source_extension = "tar.xz"; - hash = "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="; - }; - }; - v2192 = buildECTesterStandalone { - botan = { - version = "2.19.2"; - source_extension = "tar.xz"; - hash = "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="; - }; - }; - v2193 = buildECTesterStandalone { - botan = { - version = "2.19.3"; - source_extension = "tar.xz"; - hash = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="; - }; - }; - v2194 = buildECTesterStandalone { - botan = { - version = "2.19.4"; - source_extension = "tar.xz"; - hash = "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="; - }; - }; - v2195 = buildECTesterStandalone { - botan = { - version = "2.19.5"; - source_extension = "tar.xz"; - hash = "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="; - }; - }; - v220 = buildECTesterStandalone { - botan = { - version = "2.2.0"; - source_extension = "tgz"; - hash = "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="; - }; - }; - v230 = buildECTesterStandalone { - botan = { - version = "2.3.0"; - source_extension = "tgz"; - hash = "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="; - }; - }; - v240 = buildECTesterStandalone { - botan = { - version = "2.4.0"; - source_extension = "tgz"; - hash = "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="; - }; - }; - v250 = buildECTesterStandalone { - botan = { - version = "2.5.0"; - source_extension = "tgz"; - hash = "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="; - }; - }; - v260 = buildECTesterStandalone { - botan = { - version = "2.6.0"; - source_extension = "tgz"; - hash = "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="; - }; - }; - v270 = buildECTesterStandalone { - botan = { - version = "2.7.0"; - source_extension = "tgz"; - hash = "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="; - }; - }; - v280 = buildECTesterStandalone { - botan = { - version = "2.8.0"; - source_extension = "tgz"; - hash = "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="; - }; - }; - v290 = buildECTesterStandalone { - botan = { - version = "2.9.0"; - source_extension = "tgz"; - hash = "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="; - }; - }; - v300 = buildECTesterStandalone { - botan = { - version = "3.0.0"; - source_extension = "tar.xz"; - hash = "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="; - }; - }; - v310 = buildECTesterStandalone { - botan = { - version = "3.1.0"; - source_extension = "tar.xz"; - hash = "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="; - }; - }; - v311 = buildECTesterStandalone { - botan = { - version = "3.1.1"; - source_extension = "tar.xz"; - hash = "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; - }; - }; - v320 = buildECTesterStandalone { - botan = { - version = "3.2.0"; - source_extension = "tar.xz"; - hash = "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="; - }; - }; - v330 = buildECTesterStandalone { - botan = { - version = "3.3.0"; - source_extension = "tar.xz"; - hash = "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="; - }; - }; - v340 = buildECTesterStandalone { - botan = { - version = "3.4.0"; - source_extension = "tar.xz"; - hash = "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="; - }; - }; - v350 = buildECTesterStandalone { - botan = { - version = "3.5.0"; - source_extension = "tar.xz"; - hash = "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="; - }; - }; -} diff --git a/nix/cryptopp_pkg_versions.json b/nix/cryptopp_pkg_versions.json new file mode 100644 index 00000000..194d12c1 --- /dev/null +++ b/nix/cryptopp_pkg_versions.json @@ -0,0 +1 @@ +{"v890": {"version": "8_9_0", "hash": "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="}, "v880": {"version": "8_8_0", "hash": "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="}, "v870": {"version": "8_7_0", "hash": "sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="}, "v860": {"version": "8_6_0", "hash": "sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="}, "v850": {"version": "8_5_0", "hash": "sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="}, "v840": {"version": "8_4_0", "hash": "sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="}, "v830": {"version": "8_3_0", "hash": "sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="}, "v820": {"version": "8_2_0", "hash": "sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="}, "v810": {"version": "8_1_0", "hash": "sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="}, "v800": {"version": "8_0_0", "hash": "sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="}, "v700": {"version": "7_0_0", "hash": "sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="}, "v610": {"version": "6_1_0", "hash": "sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="}, "v600": {"version": "6_0_0", "hash": "sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="}, "v565": {"version": "5_6_5", "hash": "sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="}, "v564": {"version": "5_6_4", "hash": "sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="}, "v563": {"version": "5_6_3", "hash": "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="}} \ No newline at end of file diff --git a/nix/cryptopp_pkg_versions.nix b/nix/cryptopp_pkg_versions.nix deleted file mode 100644 index a4b01e57..00000000 --- a/nix/cryptopp_pkg_versions.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ buildECTesterStandalone }: -{ - v890 = buildECTesterStandalone { - cryptopp = { - version = "8_9_0"; - hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; - }; - }; - v880 = buildECTesterStandalone { - cryptopp = { - version = "8_8_0"; - hash = "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="; - }; - }; - v870 = buildECTesterStandalone { - cryptopp = { - version = "8_7_0"; - hash = "sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="; - }; - }; - v860 = buildECTesterStandalone { - cryptopp = { - version = "8_6_0"; - hash = "sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="; - }; - }; - v850 = buildECTesterStandalone { - cryptopp = { - version = "8_5_0"; - hash = "sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="; - }; - }; - v840 = buildECTesterStandalone { - cryptopp = { - version = "8_4_0"; - hash = "sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="; - }; - }; - v830 = buildECTesterStandalone { - cryptopp = { - version = "8_3_0"; - hash = "sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="; - }; - }; - v820 = buildECTesterStandalone { - cryptopp = { - version = "8_2_0"; - hash = "sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="; - }; - }; - v810 = buildECTesterStandalone { - cryptopp = { - version = "8_1_0"; - hash = "sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="; - }; - }; - v800 = buildECTesterStandalone { - cryptopp = { - version = "8_0_0"; - hash = "sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="; - }; - }; - v700 = buildECTesterStandalone { - cryptopp = { - version = "7_0_0"; - hash = "sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="; - }; - }; - v610 = buildECTesterStandalone { - cryptopp = { - version = "6_1_0"; - hash = "sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="; - }; - }; - v600 = buildECTesterStandalone { - cryptopp = { - version = "6_0_0"; - hash = "sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="; - }; - }; - v565 = buildECTesterStandalone { - cryptopp = { - version = "5_6_5"; - hash = "sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="; - }; - }; - v564 = buildECTesterStandalone { - cryptopp = { - version = "5_6_4"; - hash = "sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="; - }; - }; - v563 = buildECTesterStandalone { - cryptopp = { - version = "5_6_3"; - hash = "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="; - }; - }; -} diff --git a/nix/gcrypt_pkg_versions.json b/nix/gcrypt_pkg_versions.json new file mode 100644 index 00000000..c17dbe62 --- /dev/null +++ b/nix/gcrypt_pkg_versions.json @@ -0,0 +1,234 @@ +{ + "v1110": { + "version": "1.11.0", + "hash": "sha256-CRIMmGfOfyCB1qqhd1OGuYwvLyRhNXYarkfYH1hoW5w=" + }, + "v1103": { + "version": "1.10.3", + "hash": "sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo=" + }, + "v1102": { + "version": "1.10.2", + "hash": "sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM=" + }, + "v1101": { + "version": "1.10.1", + "hash": "sha256-7xSuVGsAhM2EJZ9hpV4Ho4w7U6/A9Ua//O8vAbr/6d4=" + }, + "v1100": { + "version": "1.10.0", + "hash": "sha256-agD1wFyqTErMEgxGtjhX2g1P9h3EtLA5M/qNRgE/roE=" + }, + "v194": { + "version": "1.9.4", + "hash": "sha256-6oScg6ckVOPtQmdpfoygM5Cu6XKrQh599p3+QrZcqvc=" + }, + "v193": { + "version": "1.9.3", + "hash": "sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0=" + }, + "v192": { + "version": "1.9.2", + "hash": "sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo=" + }, + "v191": { + "version": "1.9.1", + "hash": "sha256-xaZ6i5sr03D7QV7R7jHHFy5Wgwdkk89KNnig+98CZdk=" + }, + "v190_do_not_use": { + "version": "1.9.0", + "hash": "sha256-TZzKpfmdtZ68tk1z9iglsFzoprf4bRkXhVnvhN4Tgcs=" + }, + "v1811": { + "version": "1.8.11", + "hash": "sha256-yYJJ+1ux9gF/X5v0hDJ6lAtZB1vKfEb6aeu1QJgkmGA=" + }, + "v1810": { + "version": "1.8.10", + "hash": "sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590=" + }, + "v189": { + "version": "1.8.9", + "hash": "sha256-K9pHkKpfCJXTQHz3v2vXcn/ZkvJaRaY9kv7xB2f6N2k=" + }, + "v188": { + "version": "1.8.8", + "hash": "sha256-iV3iu5gd0Sfwgh0c4T+t99dg+fp3N2SLFfLB/hPMWvU=" + }, + "v187": { + "version": "1.8.7", + "hash": "sha256-A7cPAoKZVhtwNLiWbX3XfvFu0TnENECSX+h4JWGXR0g=" + }, + "v186": { + "version": "1.8.6", + "hash": "sha256-DLonAGF7mfwzhkoMFrH6f9+XgdntNQn112cXjl/XuXU=" + }, + "v185": { + "version": "1.8.5", + "hash": "sha256-O0oqlMtjfv9b3rvK9G9NlcTyUgb0WYCTOc2toOtXesM=" + }, + "v184": { + "version": "1.8.4", + "hash": "sha256-9jgUOgZyYo/eDK10XpsU3rhd/7F1cJyswfT+JLk/Iic=" + }, + "v183": { + "version": "1.8.3", + "hash": "sha256-ZuyQvgNnR2AvK0j5gxI2GpGAyXxoppCl83b6D2fQr3w=" + }, + "v182": { + "version": "1.8.2", + "hash": "sha256-yAZMrnVYFEsT7w64cJNBI4DvoWxO4wrRLstUiGpSTAc=" + }, + "v181": { + "version": "1.8.1", + "hash": "sha256-eih1+LGuAwFzLoeMDMoslmT/Ce9xQI8IXFDjMmVqeLM=" + }, + "v180": { + "version": "1.8.0", + "hash": "sha256-I+SWl7h8xBc7A7R1fI30MU4xSQWPoYvcT4IJjxA9iRs=" + }, + "v1710": { + "version": "1.7.10", + "hash": "sha256-ifBaQj3WaiXls4MICX4jhuZA0c+DUWDRmlx1NQBx2Uw=" + }, + "v179": { + "version": "1.7.9", + "hash": "sha256-v+m7cDwRJsNkfaKBD9IwOcLwnUaWn3FhLCBl3D+pNzs=" + }, + "v178": { + "version": "1.7.8", + "hash": "sha256-lIJ26kfmugJE82oXtR3N1Sz9HmZLChrDvIITT7bOwZk=" + }, + "v177": { + "version": "1.7.7", + "hash": "sha256-ubheugeT6j5uZriW6wMfoF4aRRcnfMmrEIFrNZJUzZo=" + }, + "v176": { + "version": "1.7.6", + "hash": "sha256-Ymqv7oSvnSziU9LBQ9wcCQLdoEV4DMJB85lw/GC+Bbw=" + }, + "v175": { + "version": "1.7.5", + "hash": "sha256-0f6kEovu8rswpHCva6+rzMUDztNQU0+53Y9aU/+66AA=" + }, + "v174": { + "version": "1.7.4", + "hash": "sha256-O2eGLi9HEeJcTOPMS0jVKlijr9zR2Malf5OhwO8D5cY=" + }, + "v173": { + "version": "1.7.3", + "hash": "sha256-3axhEQd9ChYSJHWHviOMUpTdDuTXbce6eDzFX7AzcHE=" + }, + "v172": { + "version": "1.7.2", + "hash": "sha256-PTXfkG1uqzVFBMBddJqbAhlEyyn/X2XI75w91fe2aJ8=" + }, + "v171": { + "version": "1.7.1", + "hash": "sha256-RQ2c/L8WEcZNvjvQS2J7gzee+J8RQG2UyLujBeNtepU=" + }, + "v170": { + "version": "1.7.0", + "hash": "sha256-sOZ+p0R0k5kTxNnZ70717DeO++K+vjY4ne4xnHm/+pI=" + }, + "v166": { + "version": "1.6.6", + "hash": "sha256-+UYbRhm7eLJzqI1GiRV1DUGOiaPqO2QbqwVjqa9LBNA=" + }, + "v165": { + "version": "1.6.5", + "hash": "sha256-9J68WELUVa5wGd7zPrWgFKDweiqDU9w6pQp2/R2vqSQ=" + }, + "v164": { + "version": "1.6.4", + "hash": "sha256-ybwsf+Ll9OoTsMdPnSS8uxrYibs5KX2Agq6/I/QzYCY=" + }, + "v163": { + "version": "1.6.3", + "hash": "sha256-QbSRe5OuNMag4hJzeNek1m2AWiqGoJkR1Pm9hx23Al8=" + }, + "v162": { + "version": "1.6.2", + "hash": "sha256-3ghEkqazjNsntn6vdJzrp2v3Ap9jqcDDwbBciMmIXEw=" + }, + "v161": { + "version": "1.6.1", + "hash": "sha256-ocPv6mn4/+dp9IizAM4ZDu6www3iSlPxwbbkIC/cIHA=" + }, + "v160": { + "version": "1.6.0", + "hash": "sha256-Zi1QhgCtlMwzTmZbcBYTf+7fzKUiaZjGXd1Wvfyilwg=" + }, + "v156": { + "version": "1.5.6", + "hash": "sha256-MBgmteUhyGcFb9Ywqtbwpg4XbRigF9prwksWld86vnk=" + }, + "v155": { + "version": "1.5.5", + "hash": "sha256-2JWCA+eGvKR5zXyQOQaSXop+AzzLlZv1Mxe1fPEaBlU=" + }, + "v154": { + "version": "1.5.4", + "hash": "sha256-1fiNn0GkaVPcJQzbhXUSmzfuIghAG3+jOMiX9mfH+zM=" + }, + "v153": { + "version": "1.5.3", + "hash": "sha256-vPUzTn2jUsRd5q7F0ghM6aHTACn/SkpdoT8YSIdHWdE=" + }, + "v152": { + "version": "1.5.2", + "hash": "sha256-5BpDOfUClPPJJfL3Gq8kJ+sWLSmU2pFmbfwyYhr+lj8=" + }, + "v151": { + "version": "1.5.1", + "hash": "sha256-rZ6xWAjnaZmMC9jBgayIFCORn08QVYaRPcy8Dfv65Sc=" + }, + "v150": { + "version": "1.5.0", + "hash": "sha256-S2L8UWAElAoFcQJUAaBYHUkZnxp237XOb9Y/UNuBc/o=" + }, + "v146": { + "version": "1.4.6", + "hash": "sha256-Pksw2ms1e1ZTM9AiITO2SgQUvpm6cnMwgRZcjqm8a4U=" + }, + "v145": { + "version": "1.4.5", + "hash": "sha256-SW+QfFMk3nU2fsYcY7/u0TCe8LxkhF3CCzWXcxq9nkA=" + }, + "v144": { + "version": "1.4.4", + "hash": "sha256-MhK4gIDPj6AGFk04/Bdvr6XClZHIOE8oSriA2w2/MG8=" + }, + "v143": { + "version": "1.4.3", + "hash": "sha256-iMgZvZ8B19SBiJjhM6USBE54w0MHqmBrapTuznwLIws=" + }, + "v142": { + "version": "1.4.2", + "hash": "sha256-unQUhG9/O6IrIs842hug6dXCJjixxArAh85RZJgRUsM=" + }, + "v141": { + "version": "1.4.1", + "hash": "sha256-/jsyvfDJLWs7t7Pks8Gaaomanetl8bNvCliC0wjJH6M=" + }, + "v140": { + "version": "1.4.0", + "hash": "sha256-1/hV92aUSltuf/7i1v/fgoq3CazURTsOZK6oCM4nYOw=" + }, + "v124": { + "version": "1.2.4", + "hash": "sha256-fWFVxNCkD7o9ug8hqVnHhIxzS6ZzTejifuomrlPAyIA=" + }, + "v123": { + "version": "1.2.3", + "hash": "sha256-6OKRFjlRFIIHWAeSWILQBlYRPDHgqJAV1ITcFsbYD7Q=" + }, + "v122": { + "version": "1.2.2", + "hash": "sha256-espQrfRId1XGHAWQ1286k1Lie9s908DcDP+Py0Eq5iQ=" + }, + "v121": { + "version": "1.2.1", + "hash": "sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I=" + } +} \ No newline at end of file diff --git a/nix/gcrypt_pkg_versions.nix b/nix/gcrypt_pkg_versions.nix deleted file mode 100644 index d27bfaee..00000000 --- a/nix/gcrypt_pkg_versions.nix +++ /dev/null @@ -1,352 +0,0 @@ -{ buildECTesterStandalone }: -{ - v1110 = buildECTesterStandalone { - gcrypt = { - version = "1.11.0"; - hash = "sha256-CRIMmGfOfyCB1qqhd1OGuYwvLyRhNXYarkfYH1hoW5w="; - }; - }; - v1103 = buildECTesterStandalone { - gcrypt = { - version = "1.10.3"; - hash = "sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo="; - }; - }; - v1102 = buildECTesterStandalone { - gcrypt = { - version = "1.10.2"; - hash = "sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM="; - }; - }; - v1101 = buildECTesterStandalone { - gcrypt = { - version = "1.10.1"; - hash = "sha256-7xSuVGsAhM2EJZ9hpV4Ho4w7U6/A9Ua//O8vAbr/6d4="; - }; - }; - v1100 = buildECTesterStandalone { - gcrypt = { - version = "1.10.0"; - hash = "sha256-agD1wFyqTErMEgxGtjhX2g1P9h3EtLA5M/qNRgE/roE="; - }; - }; - v194 = buildECTesterStandalone { - gcrypt = { - version = "1.9.4"; - hash = "sha256-6oScg6ckVOPtQmdpfoygM5Cu6XKrQh599p3+QrZcqvc="; - }; - }; - v193 = buildECTesterStandalone { - gcrypt = { - version = "1.9.3"; - hash = "sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0="; - }; - }; - v192 = buildECTesterStandalone { - gcrypt = { - version = "1.9.2"; - hash = "sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo="; - }; - }; - v191 = buildECTesterStandalone { - gcrypt = { - version = "1.9.1"; - hash = "sha256-xaZ6i5sr03D7QV7R7jHHFy5Wgwdkk89KNnig+98CZdk="; - }; - }; - # NOTE Do not use copied from the source https://gnupg.org/ftp/gcrypt/libgcrypt/ - v190_do_not_use = buildECTesterStandalone { - gcrypt = { - version = "1.9.0"; - hash = "sha256-TZzKpfmdtZ68tk1z9iglsFzoprf4bRkXhVnvhN4Tgcs="; - }; - }; - v1811 = buildECTesterStandalone { - gcrypt = { - version = "1.8.11"; - hash = "sha256-yYJJ+1ux9gF/X5v0hDJ6lAtZB1vKfEb6aeu1QJgkmGA="; - }; - }; - v1810 = buildECTesterStandalone { - gcrypt = { - version = "1.8.10"; - hash = "sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590="; - }; - }; - v189 = buildECTesterStandalone { - gcrypt = { - version = "1.8.9"; - hash = "sha256-K9pHkKpfCJXTQHz3v2vXcn/ZkvJaRaY9kv7xB2f6N2k="; - }; - }; - v188 = buildECTesterStandalone { - gcrypt = { - version = "1.8.8"; - hash = "sha256-iV3iu5gd0Sfwgh0c4T+t99dg+fp3N2SLFfLB/hPMWvU="; - }; - }; - v187 = buildECTesterStandalone { - gcrypt = { - version = "1.8.7"; - hash = "sha256-A7cPAoKZVhtwNLiWbX3XfvFu0TnENECSX+h4JWGXR0g="; - }; - }; - v186 = buildECTesterStandalone { - gcrypt = { - version = "1.8.6"; - hash = "sha256-DLonAGF7mfwzhkoMFrH6f9+XgdntNQn112cXjl/XuXU="; - }; - }; - v185 = buildECTesterStandalone { - gcrypt = { - version = "1.8.5"; - hash = "sha256-O0oqlMtjfv9b3rvK9G9NlcTyUgb0WYCTOc2toOtXesM="; - }; - }; - v184 = buildECTesterStandalone { - gcrypt = { - version = "1.8.4"; - hash = "sha256-9jgUOgZyYo/eDK10XpsU3rhd/7F1cJyswfT+JLk/Iic="; - }; - }; - v183 = buildECTesterStandalone { - gcrypt = { - version = "1.8.3"; - hash = "sha256-ZuyQvgNnR2AvK0j5gxI2GpGAyXxoppCl83b6D2fQr3w="; - }; - }; - v182 = buildECTesterStandalone { - gcrypt = { - version = "1.8.2"; - hash = "sha256-yAZMrnVYFEsT7w64cJNBI4DvoWxO4wrRLstUiGpSTAc="; - }; - }; - v181 = buildECTesterStandalone { - gcrypt = { - version = "1.8.1"; - hash = "sha256-eih1+LGuAwFzLoeMDMoslmT/Ce9xQI8IXFDjMmVqeLM="; - }; - }; - v180 = buildECTesterStandalone { - gcrypt = { - version = "1.8.0"; - hash = "sha256-I+SWl7h8xBc7A7R1fI30MU4xSQWPoYvcT4IJjxA9iRs="; - }; - }; - v1710 = buildECTesterStandalone { - gcrypt = { - version = "1.7.10"; - hash = "sha256-ifBaQj3WaiXls4MICX4jhuZA0c+DUWDRmlx1NQBx2Uw="; - }; - }; - v179 = buildECTesterStandalone { - gcrypt = { - version = "1.7.9"; - hash = "sha256-v+m7cDwRJsNkfaKBD9IwOcLwnUaWn3FhLCBl3D+pNzs="; - }; - }; - v178 = buildECTesterStandalone { - gcrypt = { - version = "1.7.8"; - hash = "sha256-lIJ26kfmugJE82oXtR3N1Sz9HmZLChrDvIITT7bOwZk="; - }; - }; - v177 = buildECTesterStandalone { - gcrypt = { - version = "1.7.7"; - hash = "sha256-ubheugeT6j5uZriW6wMfoF4aRRcnfMmrEIFrNZJUzZo="; - }; - }; - v176 = buildECTesterStandalone { - gcrypt = { - version = "1.7.6"; - hash = "sha256-Ymqv7oSvnSziU9LBQ9wcCQLdoEV4DMJB85lw/GC+Bbw="; - }; - }; - v175 = buildECTesterStandalone { - gcrypt = { - version = "1.7.5"; - hash = "sha256-0f6kEovu8rswpHCva6+rzMUDztNQU0+53Y9aU/+66AA="; - }; - }; - v174 = buildECTesterStandalone { - gcrypt = { - version = "1.7.4"; - hash = "sha256-O2eGLi9HEeJcTOPMS0jVKlijr9zR2Malf5OhwO8D5cY="; - }; - }; - v173 = buildECTesterStandalone { - gcrypt = { - version = "1.7.3"; - hash = "sha256-3axhEQd9ChYSJHWHviOMUpTdDuTXbce6eDzFX7AzcHE="; - }; - }; - v172 = buildECTesterStandalone { - gcrypt = { - version = "1.7.2"; - hash = "sha256-PTXfkG1uqzVFBMBddJqbAhlEyyn/X2XI75w91fe2aJ8="; - }; - }; - v171 = buildECTesterStandalone { - gcrypt = { - version = "1.7.1"; - hash = "sha256-RQ2c/L8WEcZNvjvQS2J7gzee+J8RQG2UyLujBeNtepU="; - }; - }; - v170 = buildECTesterStandalone { - gcrypt = { - version = "1.7.0"; - hash = "sha256-sOZ+p0R0k5kTxNnZ70717DeO++K+vjY4ne4xnHm/+pI="; - }; - }; - v166 = buildECTesterStandalone { - gcrypt = { - version = "1.6.6"; - hash = "sha256-+UYbRhm7eLJzqI1GiRV1DUGOiaPqO2QbqwVjqa9LBNA="; - }; - }; - v165 = buildECTesterStandalone { - gcrypt = { - version = "1.6.5"; - hash = "sha256-9J68WELUVa5wGd7zPrWgFKDweiqDU9w6pQp2/R2vqSQ="; - }; - }; - v164 = buildECTesterStandalone { - gcrypt = { - version = "1.6.4"; - hash = "sha256-ybwsf+Ll9OoTsMdPnSS8uxrYibs5KX2Agq6/I/QzYCY="; - }; - }; - v163 = buildECTesterStandalone { - gcrypt = { - version = "1.6.3"; - hash = "sha256-QbSRe5OuNMag4hJzeNek1m2AWiqGoJkR1Pm9hx23Al8="; - }; - }; - v162 = buildECTesterStandalone { - gcrypt = { - version = "1.6.2"; - hash = "sha256-3ghEkqazjNsntn6vdJzrp2v3Ap9jqcDDwbBciMmIXEw="; - }; - }; - v161 = buildECTesterStandalone { - gcrypt = { - version = "1.6.1"; - hash = "sha256-ocPv6mn4/+dp9IizAM4ZDu6www3iSlPxwbbkIC/cIHA="; - }; - }; - v160 = buildECTesterStandalone { - gcrypt = { - version = "1.6.0"; - hash = "sha256-Zi1QhgCtlMwzTmZbcBYTf+7fzKUiaZjGXd1Wvfyilwg="; - }; - }; - v156 = buildECTesterStandalone { - gcrypt = { - version = "1.5.6"; - hash = "sha256-MBgmteUhyGcFb9Ywqtbwpg4XbRigF9prwksWld86vnk="; - }; - }; - v155 = buildECTesterStandalone { - gcrypt = { - version = "1.5.5"; - hash = "sha256-2JWCA+eGvKR5zXyQOQaSXop+AzzLlZv1Mxe1fPEaBlU="; - }; - }; - v154 = buildECTesterStandalone { - gcrypt = { - version = "1.5.4"; - hash = "sha256-1fiNn0GkaVPcJQzbhXUSmzfuIghAG3+jOMiX9mfH+zM="; - }; - }; - v153 = buildECTesterStandalone { - gcrypt = { - version = "1.5.3"; - hash = "sha256-vPUzTn2jUsRd5q7F0ghM6aHTACn/SkpdoT8YSIdHWdE="; - }; - }; - v152 = buildECTesterStandalone { - gcrypt = { - version = "1.5.2"; - hash = "sha256-5BpDOfUClPPJJfL3Gq8kJ+sWLSmU2pFmbfwyYhr+lj8="; - }; - }; - v151 = buildECTesterStandalone { - gcrypt = { - version = "1.5.1"; - hash = "sha256-rZ6xWAjnaZmMC9jBgayIFCORn08QVYaRPcy8Dfv65Sc="; - }; - }; - v150 = buildECTesterStandalone { - gcrypt = { - version = "1.5.0"; - hash = "sha256-S2L8UWAElAoFcQJUAaBYHUkZnxp237XOb9Y/UNuBc/o="; - }; - }; - v146 = buildECTesterStandalone { - gcrypt = { - version = "1.4.6"; - hash = "sha256-Pksw2ms1e1ZTM9AiITO2SgQUvpm6cnMwgRZcjqm8a4U="; - }; - }; - v145 = buildECTesterStandalone { - gcrypt = { - version = "1.4.5"; - hash = "sha256-SW+QfFMk3nU2fsYcY7/u0TCe8LxkhF3CCzWXcxq9nkA="; - }; - }; - v144 = buildECTesterStandalone { - gcrypt = { - version = "1.4.4"; - hash = "sha256-MhK4gIDPj6AGFk04/Bdvr6XClZHIOE8oSriA2w2/MG8="; - }; - }; - v143 = buildECTesterStandalone { - gcrypt = { - version = "1.4.3"; - hash = "sha256-iMgZvZ8B19SBiJjhM6USBE54w0MHqmBrapTuznwLIws="; - }; - }; - v142 = buildECTesterStandalone { - gcrypt = { - version = "1.4.2"; - hash = "sha256-unQUhG9/O6IrIs842hug6dXCJjixxArAh85RZJgRUsM="; - }; - }; - v141 = buildECTesterStandalone { - gcrypt = { - version = "1.4.1"; - hash = "sha256-/jsyvfDJLWs7t7Pks8Gaaomanetl8bNvCliC0wjJH6M="; - }; - }; - v140 = buildECTesterStandalone { - gcrypt = { - version = "1.4.0"; - hash = "sha256-1/hV92aUSltuf/7i1v/fgoq3CazURTsOZK6oCM4nYOw="; - }; - }; - v124 = buildECTesterStandalone { - gcrypt = { - version = "1.2.4"; - hash = "sha256-fWFVxNCkD7o9ug8hqVnHhIxzS6ZzTejifuomrlPAyIA="; - }; - }; - v123 = buildECTesterStandalone { - gcrypt = { - version = "1.2.3"; - hash = "sha256-6OKRFjlRFIIHWAeSWILQBlYRPDHgqJAV1ITcFsbYD7Q="; - }; - }; - v122 = buildECTesterStandalone { - gcrypt = { - version = "1.2.2"; - hash = "sha256-espQrfRId1XGHAWQ1286k1Lie9s908DcDP+Py0Eq5iQ="; - }; - }; - v121 = buildECTesterStandalone { - gcrypt = { - version = "1.2.1"; - hash = "sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I="; - }; - }; -} diff --git a/nix/ippcp_pkg_versions.json b/nix/ippcp_pkg_versions.json new file mode 100644 index 00000000..d234dbba --- /dev/null +++ b/nix/ippcp_pkg_versions.json @@ -0,0 +1,98 @@ +{ + "v2021_12_1": { + "version": "2021.12.1", + "hash": "sha256-voxjx9Np/8jy9XS6EvUK4aW18/DGQGaPpTKm9RzuCU8=" + }, + "v2021_12_0": { + "version": "2021.12.0", + "hash": "sha256-FeCfiXwOUM3cL4Ah3IjLa/2SKo9WHTZFUfg/w8WTNcc=" + }, + "v2021_11_1": { + "version": "2021.11.1", + "hash": "sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI=" + }, + "v2021_11_0": { + "version": "2021.11.0", + "hash": "sha256-MVhiKEJxYa1HaicPbkzrAlZxFqIEP7eDLusC/T52gXI=" + }, + "v2021_10_0": { + "version": "2021.10.0", + "hash": "sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg=" + }, + "v2021_9_0": { + "version": "2021.9.0", + "hash": "sha256-+ITnxyrkDQp4xRa+PVzXdYsSkI5sMNwQGfGU+lFJ6co=" + }, + "v2021_8": { + "version": "2021.8", + "hash": "sha256-Iz1Pql+cf2DdPe7KoNpxQ7H76SFwWkUbtL4bJxr7D4w=" + }, + "v2021_7_1": { + "version": "2021.7.1", + "hash": "sha256-iyg4ja7tsbpng7XOZwISri+x8knwEeyh/aP9ldhQY60=" + }, + "v2021_7": { + "version": "2021.7", + "hash": "sha256-3W0LlJgmrp2Rk7xQ+0GQfkF2UpH4htx9R7IL86smtnY=" + }, + "v2021_6": { + "version": "2021.6", + "hash": "sha256-lr6oiJTaTQhTrxhdY5dTfOrl/ZBwOYbuyuNU3tJbEe0=" + }, + "v2021_5": { + "version": "2021.5", + "hash": "sha256-xc44XvGz9KnbLKKMmSJQ2Eq8IhEFVb0tYIWVW4oJRuo=" + }, + "v2021_4": { + "version": "2021.4", + "hash": "sha256-SyRY3BoHY7zQIFA6j0U0W0oD5PZhp3vsvFQVBw4/AXY=" + }, + "v2021_3": { + "version": "2021.3", + "hash": "sha256-QEJXvQ//zhQqibFxXwPMdS1MHewgyb24LRmkycVSGrM=" + }, + "v2021_2": { + "version": "2021.2", + "hash": "sha256-8I3y//LK5TcyC71fdX1biF588rdK2AplO6eh9GUHx9U=" + }, + "v2020u3": { + "version": "2020u3", + "hash": "sha256-i/iPOSTKR02pHzxBRn3odZJ+6SzGtS+pCG1BWo1qdAs=" + }, + "v2020u2": { + "version": "2020u2", + "hash": "sha256-cn76ju41RdEJxH9SmF75Z38V3e9vnLXGdyjh4hISpr8=" + }, + "v2020u1": { + "version": "2020u1", + "hash": "sha256-4h5Zrx4hvsvZkXpHu0ZXJftoLFms34PstTRN0gHCXrM=" + }, + "v2020": { + "version": "2020", + "hash": "sha256-k4CuLLtNX+wrEGRgoIP9e0wp42U1VRF96nhDE8qNkMk=" + }, + "v2019u4": { + "version": "2019u4", + "hash": "sha256-Xi3I0frlR/OjX4IRJyBuFcSkrCaxL9ABRZ1w8FUAseg=" + }, + "v2019u3": { + "version": "2019u3", + "hash": "sha256-8sdPlRNfdjMkc061e6EFpJMMA1QKK5/SpKlMV2E5TH4=" + }, + "v2019u2": { + "version": "2019u2", + "hash": "sha256-WoiO1pXA6UTRdKCcn9ckMk4/6IvbQAK4k7d8P3rGbqc=" + }, + "v2019u1": { + "version": "2019u1", + "hash": "sha256-2KcZz+7NrhbvRVLXtdME73uMBrhw+4q0ajiXeWwZdJs=" + }, + "v2019": { + "version": "2019", + "hash": "sha256-iTupt9pRN+6ze3Hf/dmtve9u15iVL0g2kujUpyGgums=" + }, + "v2019b": { + "version": "2019b", + "hash": "sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8=" + } +} \ No newline at end of file diff --git a/nix/ippcp_pkg_versions.nix b/nix/ippcp_pkg_versions.nix deleted file mode 100644 index a3140cf6..00000000 --- a/nix/ippcp_pkg_versions.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ buildECTesterStandalone }: -{ - v2021_12_1 = buildECTesterStandalone { - ippcp = { - version = "2021.12.1"; - hash = "sha256-voxjx9Np/8jy9XS6EvUK4aW18/DGQGaPpTKm9RzuCU8="; - }; - }; - v2021_12_0 = buildECTesterStandalone { - ippcp = { - version = "2021.12.0"; - hash = "sha256-FeCfiXwOUM3cL4Ah3IjLa/2SKo9WHTZFUfg/w8WTNcc="; - }; - }; - v2021_11_1 = buildECTesterStandalone { - ippcp = { - version = "2021.11.1"; - hash = "sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI="; - }; - }; - v2021_11_0 = buildECTesterStandalone { - ippcp = { - version = "2021.11.0"; - hash = "sha256-MVhiKEJxYa1HaicPbkzrAlZxFqIEP7eDLusC/T52gXI="; - }; - }; - v2021_10_0 = buildECTesterStandalone { - ippcp = { - version = "2021.10.0"; - hash = "sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg="; - }; - }; - v2021_9_0 = buildECTesterStandalone { - ippcp = { - version = "2021.9.0"; - hash = "sha256-+ITnxyrkDQp4xRa+PVzXdYsSkI5sMNwQGfGU+lFJ6co="; - }; - }; - v2021_8 = buildECTesterStandalone { - ippcp = { - version = "2021.8"; - hash = "sha256-Iz1Pql+cf2DdPe7KoNpxQ7H76SFwWkUbtL4bJxr7D4w="; - }; - }; - v2021_7_1 = buildECTesterStandalone { - ippcp = { - version = "2021.7.1"; - hash = "sha256-iyg4ja7tsbpng7XOZwISri+x8knwEeyh/aP9ldhQY60="; - }; - }; - v2021_7 = buildECTesterStandalone { - ippcp = { - version = "2021.7"; - hash = "sha256-3W0LlJgmrp2Rk7xQ+0GQfkF2UpH4htx9R7IL86smtnY="; - }; - }; - v2021_6 = buildECTesterStandalone { - ippcp = { - version = "2021.6"; - hash = "sha256-lr6oiJTaTQhTrxhdY5dTfOrl/ZBwOYbuyuNU3tJbEe0="; - }; - }; - v2021_5 = buildECTesterStandalone { - ippcp = { - version = "2021.5"; - hash = "sha256-xc44XvGz9KnbLKKMmSJQ2Eq8IhEFVb0tYIWVW4oJRuo="; - }; - }; - v2021_4 = buildECTesterStandalone { - ippcp = { - version = "2021.4"; - hash = "sha256-SyRY3BoHY7zQIFA6j0U0W0oD5PZhp3vsvFQVBw4/AXY="; - }; - }; - v2021_3 = buildECTesterStandalone { - ippcp = { - version = "2021.3"; - hash = "sha256-QEJXvQ//zhQqibFxXwPMdS1MHewgyb24LRmkycVSGrM="; - }; - }; - v2021_2 = buildECTesterStandalone { - ippcp = { - version = "2021.2"; - hash = "sha256-8I3y//LK5TcyC71fdX1biF588rdK2AplO6eh9GUHx9U="; - }; - }; - v2020u3 = buildECTesterStandalone { - ippcp = { - version = "2020u3"; - hash = "sha256-i/iPOSTKR02pHzxBRn3odZJ+6SzGtS+pCG1BWo1qdAs="; - }; - }; - v2020u2 = buildECTesterStandalone { - ippcp = { - version = "2020u2"; - hash = "sha256-cn76ju41RdEJxH9SmF75Z38V3e9vnLXGdyjh4hISpr8="; - }; - }; - v2020u1 = buildECTesterStandalone { - ippcp = { - version = "2020u1"; - hash = "sha256-4h5Zrx4hvsvZkXpHu0ZXJftoLFms34PstTRN0gHCXrM="; - }; - }; - v2020 = buildECTesterStandalone { - ippcp = { - version = "2020"; - hash = "sha256-k4CuLLtNX+wrEGRgoIP9e0wp42U1VRF96nhDE8qNkMk="; - }; - }; - v2019u4 = buildECTesterStandalone { - ippcp = { - version = "2019u4"; - hash = "sha256-Xi3I0frlR/OjX4IRJyBuFcSkrCaxL9ABRZ1w8FUAseg="; - }; - }; - v2019u3 = buildECTesterStandalone { - ippcp = { - version = "2019u3"; - hash = "sha256-8sdPlRNfdjMkc061e6EFpJMMA1QKK5/SpKlMV2E5TH4="; - }; - }; - v2019u2 = buildECTesterStandalone { - ippcp = { - version = "2019u2"; - hash = "sha256-WoiO1pXA6UTRdKCcn9ckMk4/6IvbQAK4k7d8P3rGbqc="; - }; - }; - v2019u1 = buildECTesterStandalone { - ippcp = { - version = "2019u1"; - hash = "sha256-2KcZz+7NrhbvRVLXtdME73uMBrhw+4q0ajiXeWwZdJs="; - }; - }; - v2019 = buildECTesterStandalone { - ippcp = { - version = "2019"; - hash = "sha256-iTupt9pRN+6ze3Hf/dmtve9u15iVL0g2kujUpyGgums="; - }; - }; - v2019b = buildECTesterStandalone { - ippcp = { - version = "2019b"; - hash = "sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8="; - }; - }; -} diff --git a/nix/libressl_pkg_versions.json b/nix/libressl_pkg_versions.json new file mode 100644 index 00000000..50425d57 --- /dev/null +++ b/nix/libressl_pkg_versions.json @@ -0,0 +1,478 @@ +{ + "v200": { + "version": "2.0.0", + "hash": "sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s=" + }, + "v201": { + "version": "2.0.1", + "hash": "sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro=" + }, + "v202": { + "version": "2.0.2", + "hash": "sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys=" + }, + "v203": { + "version": "2.0.3", + "hash": "sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ=" + }, + "v204": { + "version": "2.0.4", + "hash": "sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw=" + }, + "v205": { + "version": "2.0.5", + "hash": "sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo=" + }, + "v206": { + "version": "2.0.6", + "hash": "sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y=" + }, + "v210": { + "version": "2.1.0", + "hash": "sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w=" + }, + "v211": { + "version": "2.1.1", + "hash": "sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc=" + }, + "v2110": { + "version": "2.1.10", + "hash": "sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE=" + }, + "v212": { + "version": "2.1.2", + "hash": "sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I=" + }, + "v213": { + "version": "2.1.3", + "hash": "sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w=" + }, + "v214": { + "version": "2.1.4", + "hash": "sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4=" + }, + "v215": { + "version": "2.1.5", + "hash": "sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s=" + }, + "v216": { + "version": "2.1.6", + "hash": "sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g=" + }, + "v217": { + "version": "2.1.7", + "hash": "sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248=" + }, + "v218": { + "version": "2.1.8", + "hash": "sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM=" + }, + "v219": { + "version": "2.1.9", + "hash": "sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654=" + }, + "v220": { + "version": "2.2.0", + "hash": "sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA=" + }, + "v221": { + "version": "2.2.1", + "hash": "sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0=" + }, + "v222": { + "version": "2.2.2", + "hash": "sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ=" + }, + "v223": { + "version": "2.2.3", + "hash": "sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II=" + }, + "v224": { + "version": "2.2.4", + "hash": "sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4=" + }, + "v225": { + "version": "2.2.5", + "hash": "sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs=" + }, + "v226": { + "version": "2.2.6", + "hash": "sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8=" + }, + "v227": { + "version": "2.2.7", + "hash": "sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80=" + }, + "v228": { + "version": "2.2.8", + "hash": "sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws=" + }, + "v229": { + "version": "2.2.9", + "hash": "sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ=" + }, + "v230": { + "version": "2.3.0", + "hash": "sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA=" + }, + "v231": { + "version": "2.3.1", + "hash": "sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4=" + }, + "v2310": { + "version": "2.3.10", + "hash": "sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM=" + }, + "v232": { + "version": "2.3.2", + "hash": "sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo=" + }, + "v233": { + "version": "2.3.3", + "hash": "sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk=" + }, + "v234": { + "version": "2.3.4", + "hash": "sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk=" + }, + "v235": { + "version": "2.3.5", + "hash": "sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs=" + }, + "v236": { + "version": "2.3.6", + "hash": "sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o=" + }, + "v237": { + "version": "2.3.7", + "hash": "sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA=" + }, + "v238": { + "version": "2.3.8", + "hash": "sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I=" + }, + "v239": { + "version": "2.3.9", + "hash": "sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw=" + }, + "v240": { + "version": "2.4.0", + "hash": "sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4=" + }, + "v241": { + "version": "2.4.1", + "hash": "sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc=" + }, + "v242": { + "version": "2.4.2", + "hash": "sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM=" + }, + "v243": { + "version": "2.4.3", + "hash": "sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4=" + }, + "v244": { + "version": "2.4.4", + "hash": "sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E=" + }, + "v245": { + "version": "2.4.5", + "hash": "sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c=" + }, + "v250": { + "version": "2.5.0", + "hash": "sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4=" + }, + "v251": { + "version": "2.5.1", + "hash": "sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80=" + }, + "v252": { + "version": "2.5.2", + "hash": "sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII=" + }, + "v253": { + "version": "2.5.3", + "hash": "sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA=" + }, + "v254": { + "version": "2.5.4", + "hash": "sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo=" + }, + "v255": { + "version": "2.5.5", + "hash": "sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q=" + }, + "v260": { + "version": "2.6.0", + "hash": "sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM=" + }, + "v261": { + "version": "2.6.1", + "hash": "sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4=" + }, + "v262": { + "version": "2.6.2", + "hash": "sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg=" + }, + "v263": { + "version": "2.6.3", + "hash": "sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg=" + }, + "v264": { + "version": "2.6.4", + "hash": "sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8=" + }, + "v265": { + "version": "2.6.5", + "hash": "sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So=" + }, + "v270": { + "version": "2.7.0", + "hash": "sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4=" + }, + "v271": { + "version": "2.7.1", + "hash": "sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA=" + }, + "v272": { + "version": "2.7.2", + "hash": "sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU=" + }, + "v273": { + "version": "2.7.3", + "hash": "sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U=" + }, + "v274": { + "version": "2.7.4", + "hash": "sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY=" + }, + "v275": { + "version": "2.7.5", + "hash": "sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA=" + }, + "v280": { + "version": "2.8.0", + "hash": "sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM=" + }, + "v281": { + "version": "2.8.1", + "hash": "sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I=" + }, + "v282": { + "version": "2.8.2", + "hash": "sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U=" + }, + "v283": { + "version": "2.8.3", + "hash": "sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc=" + }, + "v290": { + "version": "2.9.0", + "hash": "sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ=" + }, + "v291": { + "version": "2.9.1", + "hash": "sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg=" + }, + "v292": { + "version": "2.9.2", + "hash": "sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ=" + }, + "v300": { + "version": "3.0.0", + "hash": "sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY=" + }, + "v301": { + "version": "3.0.1", + "hash": "sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s=" + }, + "v302": { + "version": "3.0.2", + "hash": "sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4=" + }, + "v310": { + "version": "3.1.0", + "hash": "sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY=" + }, + "v311": { + "version": "3.1.1", + "hash": "sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA=" + }, + "v312": { + "version": "3.1.2", + "hash": "sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI=" + }, + "v313": { + "version": "3.1.3", + "hash": "sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A=" + }, + "v314": { + "version": "3.1.4", + "hash": "sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y=" + }, + "v315": { + "version": "3.1.5", + "hash": "sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ=" + }, + "v320": { + "version": "3.2.0", + "hash": "sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU=" + }, + "v321": { + "version": "3.2.1", + "hash": "sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU=" + }, + "v322": { + "version": "3.2.2", + "hash": "sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E=" + }, + "v323": { + "version": "3.2.3", + "hash": "sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM=" + }, + "v324": { + "version": "3.2.4", + "hash": "sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo=" + }, + "v325": { + "version": "3.2.5", + "hash": "sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4=" + }, + "v326": { + "version": "3.2.6", + "hash": "sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls=" + }, + "v327": { + "version": "3.2.7", + "hash": "sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q=" + }, + "v330": { + "version": "3.3.0", + "hash": "sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY=" + }, + "v331": { + "version": "3.3.1", + "hash": "sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s=" + }, + "v332": { + "version": "3.3.2", + "hash": "sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ=" + }, + "v333": { + "version": "3.3.3", + "hash": "sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY=" + }, + "v334": { + "version": "3.3.4", + "hash": "sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE=" + }, + "v335": { + "version": "3.3.5", + "hash": "sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU=" + }, + "v336": { + "version": "3.3.6", + "hash": "sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o=" + }, + "v340": { + "version": "3.4.0", + "hash": "sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI=" + }, + "v341": { + "version": "3.4.1", + "hash": "sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw=" + }, + "v342": { + "version": "3.4.2", + "hash": "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84=" + }, + "v343": { + "version": "3.4.3", + "hash": "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0=" + }, + "v350": { + "version": "3.5.0", + "hash": "sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c=" + }, + "v351": { + "version": "3.5.1", + "hash": "sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg=" + }, + "v352": { + "version": "3.5.2", + "hash": "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8=" + }, + "v353": { + "version": "3.5.3", + "hash": "sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg=" + }, + "v354": { + "version": "3.5.4", + "hash": "sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w=" + }, + "v360": { + "version": "3.6.0", + "hash": "sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ=" + }, + "v361": { + "version": "3.6.1", + "hash": "sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q=" + }, + "v362": { + "version": "3.6.2", + "hash": "sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM=" + }, + "v363": { + "version": "3.6.3", + "hash": "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc=" + }, + "v370": { + "version": "3.7.0", + "hash": "sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY=" + }, + "v371": { + "version": "3.7.1", + "hash": "sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0=" + }, + "v372": { + "version": "3.7.2", + "hash": "sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc=" + }, + "v373": { + "version": "3.7.3", + "hash": "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM=" + }, + "v380": { + "version": "3.8.0", + "hash": "sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw=" + }, + "v381": { + "version": "3.8.1", + "hash": "sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I=" + }, + "v382": { + "version": "3.8.2", + "hash": "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ=" + }, + "v383": { + "version": "3.8.3", + "hash": "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI=" + }, + "v384": { + "version": "3.8.4", + "hash": "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0=" + }, + "v390": { + "version": "3.9.0", + "hash": "sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA=" + }, + "v391": { + "version": "3.9.1", + "hash": "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE=" + }, + "v392": { + "version": "3.9.2", + "hash": "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=" + } +} \ No newline at end of file diff --git a/nix/libressl_pkg_versions.nix b/nix/libressl_pkg_versions.nix deleted file mode 100644 index d723778b..00000000 --- a/nix/libressl_pkg_versions.nix +++ /dev/null @@ -1,717 +0,0 @@ -{ buildECTesterStandalone }: -{ - v200 = buildECTesterStandalone { - libressl = { - version = "2.0.0"; - hash = "sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s="; - }; - }; - v201 = buildECTesterStandalone { - libressl = { - version = "2.0.1"; - hash = "sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro="; - }; - }; - v202 = buildECTesterStandalone { - libressl = { - version = "2.0.2"; - hash = "sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys="; - }; - }; - v203 = buildECTesterStandalone { - libressl = { - version = "2.0.3"; - hash = "sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ="; - }; - }; - v204 = buildECTesterStandalone { - libressl = { - version = "2.0.4"; - hash = "sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw="; - }; - }; - v205 = buildECTesterStandalone { - libressl = { - version = "2.0.5"; - hash = "sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo="; - }; - }; - v206 = buildECTesterStandalone { - libressl = { - version = "2.0.6"; - hash = "sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y="; - }; - }; - v210 = buildECTesterStandalone { - libressl = { - version = "2.1.0"; - hash = "sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w="; - }; - }; - v211 = buildECTesterStandalone { - libressl = { - version = "2.1.1"; - hash = "sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc="; - }; - }; - v2110 = buildECTesterStandalone { - libressl = { - version = "2.1.10"; - hash = "sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE="; - }; - }; - v212 = buildECTesterStandalone { - libressl = { - version = "2.1.2"; - hash = "sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I="; - }; - }; - v213 = buildECTesterStandalone { - libressl = { - version = "2.1.3"; - hash = "sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w="; - }; - }; - v214 = buildECTesterStandalone { - libressl = { - version = "2.1.4"; - hash = "sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4="; - }; - }; - v215 = buildECTesterStandalone { - libressl = { - version = "2.1.5"; - hash = "sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s="; - }; - }; - v216 = buildECTesterStandalone { - libressl = { - version = "2.1.6"; - hash = "sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g="; - }; - }; - v217 = buildECTesterStandalone { - libressl = { - version = "2.1.7"; - hash = "sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248="; - }; - }; - v218 = buildECTesterStandalone { - libressl = { - version = "2.1.8"; - hash = "sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM="; - }; - }; - v219 = buildECTesterStandalone { - libressl = { - version = "2.1.9"; - hash = "sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654="; - }; - }; - v220 = buildECTesterStandalone { - libressl = { - version = "2.2.0"; - hash = "sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA="; - }; - }; - v221 = buildECTesterStandalone { - libressl = { - version = "2.2.1"; - hash = "sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0="; - }; - }; - v222 = buildECTesterStandalone { - libressl = { - version = "2.2.2"; - hash = "sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ="; - }; - }; - v223 = buildECTesterStandalone { - libressl = { - version = "2.2.3"; - hash = "sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II="; - }; - }; - v224 = buildECTesterStandalone { - libressl = { - version = "2.2.4"; - hash = "sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4="; - }; - }; - v225 = buildECTesterStandalone { - libressl = { - version = "2.2.5"; - hash = "sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs="; - }; - }; - v226 = buildECTesterStandalone { - libressl = { - version = "2.2.6"; - hash = "sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8="; - }; - }; - v227 = buildECTesterStandalone { - libressl = { - version = "2.2.7"; - hash = "sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80="; - }; - }; - v228 = buildECTesterStandalone { - libressl = { - version = "2.2.8"; - hash = "sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws="; - }; - }; - v229 = buildECTesterStandalone { - libressl = { - version = "2.2.9"; - hash = "sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ="; - }; - }; - v230 = buildECTesterStandalone { - libressl = { - version = "2.3.0"; - hash = "sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA="; - }; - }; - v231 = buildECTesterStandalone { - libressl = { - version = "2.3.1"; - hash = "sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4="; - }; - }; - v2310 = buildECTesterStandalone { - libressl = { - version = "2.3.10"; - hash = "sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM="; - }; - }; - v232 = buildECTesterStandalone { - libressl = { - version = "2.3.2"; - hash = "sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo="; - }; - }; - v233 = buildECTesterStandalone { - libressl = { - version = "2.3.3"; - hash = "sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk="; - }; - }; - v234 = buildECTesterStandalone { - libressl = { - version = "2.3.4"; - hash = "sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk="; - }; - }; - v235 = buildECTesterStandalone { - libressl = { - version = "2.3.5"; - hash = "sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs="; - }; - }; - v236 = buildECTesterStandalone { - libressl = { - version = "2.3.6"; - hash = "sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o="; - }; - }; - v237 = buildECTesterStandalone { - libressl = { - version = "2.3.7"; - hash = "sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA="; - }; - }; - v238 = buildECTesterStandalone { - libressl = { - version = "2.3.8"; - hash = "sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I="; - }; - }; - v239 = buildECTesterStandalone { - libressl = { - version = "2.3.9"; - hash = "sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw="; - }; - }; - v240 = buildECTesterStandalone { - libressl = { - version = "2.4.0"; - hash = "sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4="; - }; - }; - v241 = buildECTesterStandalone { - libressl = { - version = "2.4.1"; - hash = "sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc="; - }; - }; - v242 = buildECTesterStandalone { - libressl = { - version = "2.4.2"; - hash = "sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM="; - }; - }; - v243 = buildECTesterStandalone { - libressl = { - version = "2.4.3"; - hash = "sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4="; - }; - }; - v244 = buildECTesterStandalone { - libressl = { - version = "2.4.4"; - hash = "sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E="; - }; - }; - v245 = buildECTesterStandalone { - libressl = { - version = "2.4.5"; - hash = "sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c="; - }; - }; - v250 = buildECTesterStandalone { - libressl = { - version = "2.5.0"; - hash = "sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4="; - }; - }; - v251 = buildECTesterStandalone { - libressl = { - version = "2.5.1"; - hash = "sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80="; - }; - }; - v252 = buildECTesterStandalone { - libressl = { - version = "2.5.2"; - hash = "sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII="; - }; - }; - v253 = buildECTesterStandalone { - libressl = { - version = "2.5.3"; - hash = "sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA="; - }; - }; - v254 = buildECTesterStandalone { - libressl = { - version = "2.5.4"; - hash = "sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo="; - }; - }; - v255 = buildECTesterStandalone { - libressl = { - version = "2.5.5"; - hash = "sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q="; - }; - }; - v260 = buildECTesterStandalone { - libressl = { - version = "2.6.0"; - hash = "sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM="; - }; - }; - v261 = buildECTesterStandalone { - libressl = { - version = "2.6.1"; - hash = "sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4="; - }; - }; - v262 = buildECTesterStandalone { - libressl = { - version = "2.6.2"; - hash = "sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg="; - }; - }; - v263 = buildECTesterStandalone { - libressl = { - version = "2.6.3"; - hash = "sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg="; - }; - }; - v264 = buildECTesterStandalone { - libressl = { - version = "2.6.4"; - hash = "sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8="; - }; - }; - v265 = buildECTesterStandalone { - libressl = { - version = "2.6.5"; - hash = "sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So="; - }; - }; - v270 = buildECTesterStandalone { - libressl = { - version = "2.7.0"; - hash = "sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4="; - }; - }; - v271 = buildECTesterStandalone { - libressl = { - version = "2.7.1"; - hash = "sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA="; - }; - }; - v272 = buildECTesterStandalone { - libressl = { - version = "2.7.2"; - hash = "sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU="; - }; - }; - v273 = buildECTesterStandalone { - libressl = { - version = "2.7.3"; - hash = "sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U="; - }; - }; - v274 = buildECTesterStandalone { - libressl = { - version = "2.7.4"; - hash = "sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY="; - }; - }; - v275 = buildECTesterStandalone { - libressl = { - version = "2.7.5"; - hash = "sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA="; - }; - }; - v280 = buildECTesterStandalone { - libressl = { - version = "2.8.0"; - hash = "sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM="; - }; - }; - v281 = buildECTesterStandalone { - libressl = { - version = "2.8.1"; - hash = "sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I="; - }; - }; - v282 = buildECTesterStandalone { - libressl = { - version = "2.8.2"; - hash = "sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U="; - }; - }; - v283 = buildECTesterStandalone { - libressl = { - version = "2.8.3"; - hash = "sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc="; - }; - }; - v290 = buildECTesterStandalone { - libressl = { - version = "2.9.0"; - hash = "sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ="; - }; - }; - v291 = buildECTesterStandalone { - libressl = { - version = "2.9.1"; - hash = "sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg="; - }; - }; - v292 = buildECTesterStandalone { - libressl = { - version = "2.9.2"; - hash = "sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ="; - }; - }; - v300 = buildECTesterStandalone { - libressl = { - version = "3.0.0"; - hash = "sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY="; - }; - }; - v301 = buildECTesterStandalone { - libressl = { - version = "3.0.1"; - hash = "sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s="; - }; - }; - v302 = buildECTesterStandalone { - libressl = { - version = "3.0.2"; - hash = "sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4="; - }; - }; - v310 = buildECTesterStandalone { - libressl = { - version = "3.1.0"; - hash = "sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY="; - }; - }; - v311 = buildECTesterStandalone { - libressl = { - version = "3.1.1"; - hash = "sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA="; - }; - }; - v312 = buildECTesterStandalone { - libressl = { - version = "3.1.2"; - hash = "sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI="; - }; - }; - v313 = buildECTesterStandalone { - libressl = { - version = "3.1.3"; - hash = "sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A="; - }; - }; - v314 = buildECTesterStandalone { - libressl = { - version = "3.1.4"; - hash = "sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y="; - }; - }; - v315 = buildECTesterStandalone { - libressl = { - version = "3.1.5"; - hash = "sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ="; - }; - }; - v320 = buildECTesterStandalone { - libressl = { - version = "3.2.0"; - hash = "sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU="; - }; - }; - v321 = buildECTesterStandalone { - libressl = { - version = "3.2.1"; - hash = "sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU="; - }; - }; - v322 = buildECTesterStandalone { - libressl = { - version = "3.2.2"; - hash = "sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E="; - }; - }; - v323 = buildECTesterStandalone { - libressl = { - version = "3.2.3"; - hash = "sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM="; - }; - }; - v324 = buildECTesterStandalone { - libressl = { - version = "3.2.4"; - hash = "sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo="; - }; - }; - v325 = buildECTesterStandalone { - libressl = { - version = "3.2.5"; - hash = "sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4="; - }; - }; - v326 = buildECTesterStandalone { - libressl = { - version = "3.2.6"; - hash = "sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls="; - }; - }; - v327 = buildECTesterStandalone { - libressl = { - version = "3.2.7"; - hash = "sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q="; - }; - }; - v330 = buildECTesterStandalone { - libressl = { - version = "3.3.0"; - hash = "sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY="; - }; - }; - v331 = buildECTesterStandalone { - libressl = { - version = "3.3.1"; - hash = "sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s="; - }; - }; - v332 = buildECTesterStandalone { - libressl = { - version = "3.3.2"; - hash = "sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ="; - }; - }; - v333 = buildECTesterStandalone { - libressl = { - version = "3.3.3"; - hash = "sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY="; - }; - }; - v334 = buildECTesterStandalone { - libressl = { - version = "3.3.4"; - hash = "sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE="; - }; - }; - v335 = buildECTesterStandalone { - libressl = { - version = "3.3.5"; - hash = "sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU="; - }; - }; - v336 = buildECTesterStandalone { - libressl = { - version = "3.3.6"; - hash = "sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o="; - }; - }; - v340 = buildECTesterStandalone { - libressl = { - version = "3.4.0"; - hash = "sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI="; - }; - }; - v341 = buildECTesterStandalone { - libressl = { - version = "3.4.1"; - hash = "sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw="; - }; - }; - v342 = buildECTesterStandalone { - libressl = { - version = "3.4.2"; - hash = "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84="; - }; - }; - v343 = buildECTesterStandalone { - libressl = { - version = "3.4.3"; - hash = "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0="; - }; - }; - v350 = buildECTesterStandalone { - libressl = { - version = "3.5.0"; - hash = "sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c="; - }; - }; - v351 = buildECTesterStandalone { - libressl = { - version = "3.5.1"; - hash = "sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg="; - }; - }; - v352 = buildECTesterStandalone { - libressl = { - version = "3.5.2"; - hash = "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8="; - }; - }; - v353 = buildECTesterStandalone { - libressl = { - version = "3.5.3"; - hash = "sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg="; - }; - }; - v354 = buildECTesterStandalone { - libressl = { - version = "3.5.4"; - hash = "sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w="; - }; - }; - v360 = buildECTesterStandalone { - libressl = { - version = "3.6.0"; - hash = "sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ="; - }; - }; - v361 = buildECTesterStandalone { - libressl = { - version = "3.6.1"; - hash = "sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q="; - }; - }; - v362 = buildECTesterStandalone { - libressl = { - version = "3.6.2"; - hash = "sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM="; - }; - }; - v363 = buildECTesterStandalone { - libressl = { - version = "3.6.3"; - hash = "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc="; - }; - }; - v370 = buildECTesterStandalone { - libressl = { - version = "3.7.0"; - hash = "sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY="; - }; - }; - v371 = buildECTesterStandalone { - libressl = { - version = "3.7.1"; - hash = "sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0="; - }; - }; - v372 = buildECTesterStandalone { - libressl = { - version = "3.7.2"; - hash = "sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc="; - }; - }; - v373 = buildECTesterStandalone { - libressl = { - version = "3.7.3"; - hash = "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM="; - }; - }; - v380 = buildECTesterStandalone { - libressl = { - version = "3.8.0"; - hash = "sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw="; - }; - }; - v381 = buildECTesterStandalone { - libressl = { - version = "3.8.1"; - hash = "sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I="; - }; - }; - v382 = buildECTesterStandalone { - libressl = { - version = "3.8.2"; - hash = "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ="; - }; - }; - v383 = buildECTesterStandalone { - libressl = { - version = "3.8.3"; - hash = "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI="; - }; - }; - v384 = buildECTesterStandalone { - libressl = { - version = "3.8.4"; - hash = "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0="; - }; - }; - v390 = buildECTesterStandalone { - libressl = { - version = "3.9.0"; - hash = "sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA="; - }; - }; - v391 = buildECTesterStandalone { - libressl = { - version = "3.9.1"; - hash = "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE="; - }; - }; - v392 = buildECTesterStandalone { - libressl = { - version = "3.9.2"; - hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; - }; - }; -} diff --git a/nix/mbedtls_pkg_versions.json b/nix/mbedtls_pkg_versions.json new file mode 100644 index 00000000..37bf6c04 --- /dev/null +++ b/nix/mbedtls_pkg_versions.json @@ -0,0 +1,122 @@ +{ + "v360": { + "version": "v3.6.0", + "hash": "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg=" + }, + "v2288": { + "version": "v2.28.8", + "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=" + }, + "v352": { + "version": "v3.5.2", + "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=" + }, + "v2287": { + "version": "v2.28.7", + "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=" + }, + "v351": { + "version": "v3.5.1", + "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=" + }, + "v2286": { + "version": "v2.28.6", + "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=" + }, + "mbedtls-350": { + "version": "mbedtls-3.5.0", + "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU=" + }, + "mbedtls-2285": { + "version": "mbedtls-2.28.5", + "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=" + }, + "v341": { + "version": "v3.4.1", + "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts=" + }, + "v2284": { + "version": "v2.28.4", + "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=" + }, + "v340": { + "version": "v3.4.0", + "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg=" + }, + "v2283": { + "version": "v2.28.3", + "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=" + }, + "v330": { + "version": "v3.3.0", + "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE=" + }, + "v2282": { + "version": "v2.28.2", + "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=" + }, + "v321": { + "version": "v3.2.1", + "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc=" + }, + "v320": { + "version": "v3.2.0", + "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ=" + }, + "v2281": { + "version": "v2.28.1", + "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=" + }, + "v310": { + "version": "v3.1.0", + "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs=" + }, + "v2280": { + "version": "v2.28.0", + "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=" + }, + "v21612": { + "version": "v2.16.12", + "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=" + }, + "v300": { + "version": "v3.0.0", + "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s=" + }, + "v2270": { + "version": "v2.27.0", + "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M=" + }, + "v21611": { + "version": "v2.16.11", + "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=" + }, + "v2260": { + "version": "v2.26.0", + "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk=" + }, + "v21610": { + "version": "v2.16.10", + "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=" + }, + "v2719": { + "version": "v2.7.19", + "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=" + }, + "v2250": { + "version": "v2.25.0", + "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ=" + }, + "v2169": { + "version": "v2.16.9", + "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c=" + }, + "v2718": { + "version": "v2.7.18", + "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg=" + }, + "v2240": { + "version": "v2.24.0", + "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=" + } +} \ No newline at end of file diff --git a/nix/mbedtls_pkg_versions.nix b/nix/mbedtls_pkg_versions.nix deleted file mode 100644 index 6877800e..00000000 --- a/nix/mbedtls_pkg_versions.nix +++ /dev/null @@ -1,183 +0,0 @@ -{ buildECTesterStandalone }: -{ - v360 = buildECTesterStandalone { - mbedtls = { - version = "v3.6.0"; - hash = "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg="; - }; - }; - v2288 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.8"; - hash = "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o="; - }; - }; - v352 = buildECTesterStandalone { - mbedtls = { - version = "v3.5.2"; - hash = "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM="; - }; - }; - v2287 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.7"; - hash = "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw="; - }; - }; - v351 = buildECTesterStandalone { - mbedtls = { - version = "v3.5.1"; - hash = "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; - }; - }; - v2286 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.6"; - hash = "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="; - }; - }; - mbedtls-350 = buildECTesterStandalone { - mbedtls = { - version = "mbedtls-3.5.0"; - hash = "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="; - }; - }; - mbedtls-2285 = buildECTesterStandalone { - mbedtls = { - version = "mbedtls-2.28.5"; - hash = "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="; - }; - }; - v341 = buildECTesterStandalone { - mbedtls = { - version = "v3.4.1"; - hash = "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts="; - }; - }; - v2284 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.4"; - hash = "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE="; - }; - }; - v340 = buildECTesterStandalone { - mbedtls = { - version = "v3.4.0"; - hash = "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg="; - }; - }; - v2283 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.3"; - hash = "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw="; - }; - }; - v330 = buildECTesterStandalone { - mbedtls = { - version = "v3.3.0"; - hash = "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; - }; - }; - v2282 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.2"; - hash = "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; - }; - }; - v321 = buildECTesterStandalone { - mbedtls = { - version = "v3.2.1"; - hash = "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; - }; - }; - v320 = buildECTesterStandalone { - mbedtls = { - version = "v3.2.0"; - hash = "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ="; - }; - }; - v2281 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.1"; - hash = "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; - }; - }; - v310 = buildECTesterStandalone { - mbedtls = { - version = "v3.1.0"; - hash = "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs="; - }; - }; - v2280 = buildECTesterStandalone { - mbedtls = { - version = "v2.28.0"; - hash = "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="; - }; - }; - v21612 = buildECTesterStandalone { - mbedtls = { - version = "v2.16.12"; - hash = "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q="; - }; - }; - v300 = buildECTesterStandalone { - mbedtls = { - version = "v3.0.0"; - hash = "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s="; - }; - }; - v2270 = buildECTesterStandalone { - mbedtls = { - version = "v2.27.0"; - hash = "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M="; - }; - }; - v21611 = buildECTesterStandalone { - mbedtls = { - version = "v2.16.11"; - hash = "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg="; - }; - }; - v2260 = buildECTesterStandalone { - mbedtls = { - version = "v2.26.0"; - hash = "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk="; - }; - }; - v21610 = buildECTesterStandalone { - mbedtls = { - version = "v2.16.10"; - hash = "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4="; - }; - }; - v2719 = buildECTesterStandalone { - mbedtls = { - version = "v2.7.19"; - hash = "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY="; - }; - }; - v2250 = buildECTesterStandalone { - mbedtls = { - version = "v2.25.0"; - hash = "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ="; - }; - }; - v2169 = buildECTesterStandalone { - mbedtls = { - version = "v2.16.9"; - hash = "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c="; - }; - }; - v2718 = buildECTesterStandalone { - mbedtls = { - version = "v2.7.18"; - hash = "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg="; - }; - }; - v2240 = buildECTesterStandalone { - mbedtls = { - version = "v2.24.0"; - hash = "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM="; - }; - }; -} diff --git a/nix/nettle_pkg_versions.json b/nix/nettle_pkg_versions.json new file mode 100644 index 00000000..dd9eccc9 --- /dev/null +++ b/nix/nettle_pkg_versions.json @@ -0,0 +1,92 @@ +{ + "v3_8_1": { + "version": "3.8.1", + "tag": "nettle_3.8.1_release_20220727", + "hash": "sha256-Nk8+K3fNfc3oP9fEUhnINOVLDHXkKLb4lKI9Et1By/4=" + }, + "v3_8": { + "version": "3.8", + "tag": "nettle_3.8_release_20220602", + "hash": "sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY=" + }, + "v3_7_3": { + "version": "3.7.3", + "tag": "nettle_3.7.3_release_20210606", + "hash": "sha256-Zh9esD8EijuSTDqK0lFdQGjkD2fndOiiaCdlgAfjvPA=" + }, + "v3_7_2": { + "version": "3.7.2", + "tag": "nettle_3.7.2_release_20210321", + "hash": "sha256-jSpgTvHN5M1ft35CJTHqJa0GRnn/Ct+VbnizNS4O8WI=" + }, + "v3_7_1": { + "version": "3.7.1", + "tag": "nettle_3.7.1_release_20210217", + "hash": "sha256-FWYhQnx7AKdf+bNLdwuV00+A73pVw0B96UsWy/Q2xC4=" + }, + "v3_7": { + "version": "3.7", + "tag": "nettle_3.7_release_20210104", + "hash": "sha256-8AH2TrREvxPdkbzsy8IKy8YMQxHW4rIIeEUuuanOx1o=" + }, + "v3_6": { + "version": "3.6", + "tag": "nettle_3.6_release_20200429", + "hash": "sha256-0kwNDyq/+8j0803PEUsPEx7Dd0iV81VZIv4vQPPV4/E=" + }, + "v3_5_1": { + "version": "3.5.1", + "tag": "nettle_3.5.1_release_20190627", + "hash": "sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk=" + }, + "v3_5": { + "version": "3.5", + "tag": "nettle_3.5_release_20190626", + "hash": "sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08=" + }, + "v3_4_1": { + "version": "3.4.1", + "tag": "nettle_3.4.1_release_20181204", + "hash": "sha256-+UHPFTXNXRgZvlzK5bq+8B9tthH5tad3uunHYEuKkq0=" + }, + "v3_4": { + "version": "3.4", + "tag": "nettle_3.4_release_20171119", + "hash": "sha256-rnpC3wJlULhdrKg4m2pgumMTsFZ/N0OS5UkYWIpBHpQ=" + }, + "v3_3": { + "version": "3.3", + "tag": "nettle_3.3_release_20161001", + "hash": "sha256-RpQmJ9XQyhFyD+wY2B/Dj374N+pBl8H2MOcc4NRwsR4=" + }, + "v3_2": { + "version": "3.2", + "tag": "nettle_3.2_release_20160128", + "hash": "sha256-6kKD3vI2QT7ataTPnPMq31QMjfG5tnZBz8IwL8qEnZc=" + }, + "v3_1_1": { + "version": "3.1.1", + "tag": "nettle_3.1.1_release_20150424", + "hash": "sha256-X9TSXWTY3cuF0NiXVyr3OwW00WPGzElDilv7uP8pPUw=" + }, + "v3_1": { + "version": "3.1", + "tag": "nettle_3.1_release_20150407", + "hash": "sha256-9oWdTsiOcIBVkK+YYrS4xDotH8eZHfCnpxGx58qfydM=" + }, + "v3_0": { + "version": "3.0", + "tag": "nettle_3.0_release_20140607", + "hash": "sha256-llHAvSMm63N9DtnrQDREcSQHwBolsP6BNDLvMb682RM=" + }, + "v2_7_1": { + "version": "2.7.1", + "tag": "nettle_2.7.1_release_20130528", + "hash": "sha256-vHHr1DQ1U312d5nkFPzojlIbcnjUjIYGUSFuH8ZVW0A=" + }, + "v2_7": { + "version": "2.7", + "tag": "nettle_2.7_release_20130424", + "hash": "sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY=" + } +} \ No newline at end of file diff --git a/nix/nettle_pkg_versions.nix b/nix/nettle_pkg_versions.nix deleted file mode 100644 index 8350f886..00000000 --- a/nix/nettle_pkg_versions.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ buildECTesterStandalone }: -{ - v3_8_1 = buildECTesterStandalone { - nettle = { - version = "3.8.1"; - tag = "nettle_3.8.1_release_20220727"; - hash = "sha256-Nk8+K3fNfc3oP9fEUhnINOVLDHXkKLb4lKI9Et1By/4="; - }; - }; - v3_8 = buildECTesterStandalone { - nettle = { - version = "3.8"; - tag = "nettle_3.8_release_20220602"; - hash = "sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY="; - }; - }; - v3_7_3 = buildECTesterStandalone { - nettle = { - version = "3.7.3"; - tag = "nettle_3.7.3_release_20210606"; - hash = "sha256-Zh9esD8EijuSTDqK0lFdQGjkD2fndOiiaCdlgAfjvPA="; - }; - }; - v3_7_2 = buildECTesterStandalone { - nettle = { - version = "3.7.2"; - tag = "nettle_3.7.2_release_20210321"; - hash = "sha256-jSpgTvHN5M1ft35CJTHqJa0GRnn/Ct+VbnizNS4O8WI="; - }; - }; - v3_7_1 = buildECTesterStandalone { - nettle = { - version = "3.7.1"; - tag = "nettle_3.7.1_release_20210217"; - hash = "sha256-FWYhQnx7AKdf+bNLdwuV00+A73pVw0B96UsWy/Q2xC4="; - }; - }; - v3_7 = buildECTesterStandalone { - nettle = { - version = "3.7"; - tag = "nettle_3.7_release_20210104"; - hash = "sha256-8AH2TrREvxPdkbzsy8IKy8YMQxHW4rIIeEUuuanOx1o="; - }; - }; - v3_6 = buildECTesterStandalone { - nettle = { - version = "3.6"; - tag = "nettle_3.6_release_20200429"; - hash = "sha256-0kwNDyq/+8j0803PEUsPEx7Dd0iV81VZIv4vQPPV4/E="; - }; - }; - v3_5_1 = buildECTesterStandalone { - nettle = { - version = "3.5.1"; - tag = "nettle_3.5.1_release_20190627"; - hash = "sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk="; - }; - }; - v3_5 = buildECTesterStandalone { - nettle = { - version = "3.5"; - tag = "nettle_3.5_release_20190626"; - hash = "sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08="; - }; - }; - v3_4_1 = buildECTesterStandalone { - nettle = { - version = "3.4.1"; - tag = "nettle_3.4.1_release_20181204"; - hash = "sha256-+UHPFTXNXRgZvlzK5bq+8B9tthH5tad3uunHYEuKkq0="; - }; - }; - v3_4 = buildECTesterStandalone { - nettle = { - version = "3.4"; - tag = "nettle_3.4_release_20171119"; - hash = "sha256-rnpC3wJlULhdrKg4m2pgumMTsFZ/N0OS5UkYWIpBHpQ="; - }; - }; - v3_3 = buildECTesterStandalone { - nettle = { - version = "3.3"; - tag = "nettle_3.3_release_20161001"; - hash = "sha256-RpQmJ9XQyhFyD+wY2B/Dj374N+pBl8H2MOcc4NRwsR4="; - }; - }; - v3_2 = buildECTesterStandalone { - nettle = { - version = "3.2"; - tag = "nettle_3.2_release_20160128"; - hash = "sha256-6kKD3vI2QT7ataTPnPMq31QMjfG5tnZBz8IwL8qEnZc="; - }; - }; - v3_1_1 = buildECTesterStandalone { - nettle = { - version = "3.1.1"; - tag = "nettle_3.1.1_release_20150424"; - hash = "sha256-X9TSXWTY3cuF0NiXVyr3OwW00WPGzElDilv7uP8pPUw="; - }; - }; - v3_1 = buildECTesterStandalone { - nettle = { - version = "3.1"; - tag = "nettle_3.1_release_20150407"; - hash = "sha256-9oWdTsiOcIBVkK+YYrS4xDotH8eZHfCnpxGx58qfydM="; - }; - }; - v3_0 = buildECTesterStandalone { - nettle = { - version = "3.0"; - tag = "nettle_3.0_release_20140607"; - hash = "sha256-llHAvSMm63N9DtnrQDREcSQHwBolsP6BNDLvMb682RM="; - }; - }; - v2_7_1 = buildECTesterStandalone { - nettle = { - version = "2.7.1"; - tag = "nettle_2.7.1_release_20130528"; - hash = "sha256-vHHr1DQ1U312d5nkFPzojlIbcnjUjIYGUSFuH8ZVW0A="; - }; - }; - v2_7 = buildECTesterStandalone { - nettle = { - version = "2.7"; - tag = "nettle_2.7_release_20130424"; - hash = "sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY="; - }; - }; -} diff --git a/nix/openssl_pkg_versions.json b/nix/openssl_pkg_versions.json new file mode 100644 index 00000000..e4930023 --- /dev/null +++ b/nix/openssl_pkg_versions.json @@ -0,0 +1 @@ +{"v331": {"version": "3.3.1", "hash": "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="}, "v322": {"version": "3.2.2", "hash": "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="}, "v316": {"version": "3.1.6", "hash": "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="}, "v3014": {"version": "3.0.14", "hash": "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="}, "v330": {"version": "3.3.0", "hash": "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI="}, "v321": {"version": "3.2.1", "hash": "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk="}, "v315": {"version": "3.1.5", "hash": "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="}, "v3013": {"version": "3.0.13", "hash": "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="}, "v320": {"version": "3.2.0", "hash": "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4="}, "v314": {"version": "3.1.4", "hash": "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM="}, "v3012": {"version": "3.0.12", "hash": "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E="}, "v313": {"version": "3.1.3", "hash": "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY="}, "v3011": {"version": "3.0.11", "hash": "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U="}, "v312": {"version": "3.1.2", "hash": "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk="}, "v3010": {"version": "3.0.10", "hash": "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM="}, "v311": {"version": "3.1.1", "hash": "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ="}, "v309": {"version": "3.0.9", "hash": "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA="}, "v310": {"version": "3.1.0", "hash": "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q="}, "v308": {"version": "3.0.8", "hash": "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="}, "v307": {"version": "3.0.7", "hash": "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4="}} \ No newline at end of file diff --git a/nix/openssl_pkg_versions.nix b/nix/openssl_pkg_versions.nix deleted file mode 100644 index 11add732..00000000 --- a/nix/openssl_pkg_versions.nix +++ /dev/null @@ -1,123 +0,0 @@ -{ buildECTesterStandalone }: -{ - v331 = buildECTesterStandalone { - openssl = { - version = "3.3.1"; - hash = "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; - }; - }; - v322 = buildECTesterStandalone { - openssl = { - version = "3.2.2"; - hash = "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="; - }; - }; - v316 = buildECTesterStandalone { - openssl = { - version = "3.1.6"; - hash = "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="; - }; - }; - v3014 = buildECTesterStandalone { - openssl = { - version = "3.0.14"; - hash = "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="; - }; - }; - v330 = buildECTesterStandalone { - openssl = { - version = "3.3.0"; - hash = "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI="; - }; - }; - v321 = buildECTesterStandalone { - openssl = { - version = "3.2.1"; - hash = "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk="; - }; - }; - v315 = buildECTesterStandalone { - openssl = { - version = "3.1.5"; - hash = "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="; - }; - }; - v3013 = buildECTesterStandalone { - openssl = { - version = "3.0.13"; - hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; - }; - }; - v320 = buildECTesterStandalone { - openssl = { - version = "3.2.0"; - hash = "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4="; - }; - }; - v314 = buildECTesterStandalone { - openssl = { - version = "3.1.4"; - hash = "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM="; - }; - }; - v3012 = buildECTesterStandalone { - openssl = { - version = "3.0.12"; - hash = "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E="; - }; - }; - v313 = buildECTesterStandalone { - openssl = { - version = "3.1.3"; - hash = "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY="; - }; - }; - v3011 = buildECTesterStandalone { - openssl = { - version = "3.0.11"; - hash = "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U="; - }; - }; - v312 = buildECTesterStandalone { - openssl = { - version = "3.1.2"; - hash = "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk="; - }; - }; - v3010 = buildECTesterStandalone { - openssl = { - version = "3.0.10"; - hash = "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM="; - }; - }; - v311 = buildECTesterStandalone { - openssl = { - version = "3.1.1"; - hash = "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ="; - }; - }; - v309 = buildECTesterStandalone { - openssl = { - version = "3.0.9"; - hash = "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA="; - }; - }; - v310 = buildECTesterStandalone { - openssl = { - version = "3.1.0"; - hash = "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q="; - }; - }; - v308 = buildECTesterStandalone { - openssl = { - version = "3.0.8"; - hash = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; - }; - }; - v307 = buildECTesterStandalone { - openssl = { - version = "3.0.7"; - hash = "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4="; - }; - }; -} diff --git a/nix/tomcrypt_pkg_versions.nix b/nix/tomcrypt_pkg_versions.nix deleted file mode 100644 index c3ccc19a..00000000 --- a/nix/tomcrypt_pkg_versions.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ buildECTesterStandalone }: -{ - v1182 = buildECTesterStandalone { - tomcrypt = { - version = "1.18.2"; - hash = "sha256-MEU+u54aXKGSAMPYsh+L9axowzIHiew1uWq8wDsEBmw="; - }; - tommath = { - version = "1.3.0"; - hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; - }; - }; - v1181 = buildECTesterStandalone { - tomcrypt = { - version = "1.18.1"; - hash = "sha256-P00koc4+mAHQ/L5iCuPoiOeI/msZscO5KHZrqmbotRo="; - }; - tommath = { - version = "1.3.0"; - hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; - }; - }; - v1180 = buildECTesterStandalone { - tomcrypt = { - version = "1.18.0"; - hash = "sha256-Y7U+updJI/f3zD6k84DTZDQZh6vhfqR0W8HyizlUZcU="; - }; - tommath = { - version = "1.3.0"; - hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; - }; - }; - # v101 = buildECTesterStandalone { - # tomcrypt = { version = "1.01"; hash = "sha256-lVAPxgkAcBivzZmWfqu0sEh8yGo7Ji2hIYwx4/g0GzM=";}; - # tommath = { version = "1.3.0"; hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; }; - # }; - v117 = buildECTesterStandalone { - tomcrypt = { - version = "1.17"; - hash = "sha256-NWWAs6p27UC64nDL0MwMvzU5aWNe8LZu7DC06d/8isA="; - }; - # NOTE: which is the correct version of libtommath for a particular version of libtomcryp? - tommath = { - version = "1.3.0"; - hash = "sha256-KWJy2TQ1mRMI63NgdgDANLVYgHoH6CnnURQuZcz6nQg="; - }; - }; -} From cad198bccc95267ca3d4fb6767d795d9c7e477ff Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:57:45 +0200 Subject: [PATCH 075/131] Allow fetching all libraries --- fetchReleases.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fetchReleases.py b/fetchReleases.py index 137d9925..ec1b0992 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -413,6 +413,16 @@ def main(): fetch_nettle() case "libressl": fetch_libressl() + case "all": + fetch_botan() + fetch_cryptopp() + fetch_openssl() + fetch_boringssl() + fetch_gcrypt() + fetch_mbedtls() + fetch_ippcp() + fetch_nettle() + fetch_libressl() case _: print("Unknown library") From 1c78a5cdc2e11bcbba2dfd841fbb1967ecb1f617 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:57:53 +0200 Subject: [PATCH 076/131] Patch only LibreSSL 3.8.2 --- flake.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 6a8150e4..941220e9 100644 --- a/flake.nix +++ b/flake.nix @@ -285,13 +285,17 @@ url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; inherit hash; }; - patches = [ - (pkgs.fetchpatch { - url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; - includes = [ "tests/tlstest.sh" ]; - hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; - }) - ]; + patches = + if version == "3.8.2" then + [ + (pkgs.fetchpatch { + url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; + includes = [ "tests/tlstest.sh" ]; + hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; + }) + ] + else + [ ]; # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. # This is not needed for building the individual shims through Nix, as libresslShim build env does not From e3373e5bff5140c5d44adac71070094d93b08c2b Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 16:58:11 +0200 Subject: [PATCH 077/131] Allow building the shims directly --- flake.nix | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/flake.nix b/flake.nix index 941220e9..e7f9eae7 100644 --- a/flake.nix +++ b/flake.nix @@ -592,6 +592,48 @@ function = buildECTesterStandalone; }; + shim = { + tomcrypt = loadVersionsForShim { + libName = "tomcrypt"; + function = tomcryptShimBuilder; + }; + botan = loadVersionsForShim { + libName = "botan"; + function = botanShimBuilder; + }; + cryptopp = loadVersionsForShim { + libName = "cryptopp"; + function = cryptoppShimBuilder; + }; + openssl = loadVersionsForShim { + libName = "openssl"; + function = opensslShimBuilder; + }; + boringssl = loadVersionsForShim { + libName = "boringssl"; + function = boringsslShimBuilder; + }; + gcrypt = loadVersionsForShim { + libName = "gcrypt"; + function = gcryptShimBuilder; + }; + mbedtls = loadVersionsForShim { + libName = "mbedtls"; + function = mbedtlsShimBuilder; + }; + ippcp = loadVersionsForShim { + libName = "ippcp"; + function = ippcpShimBuilder; + }; + nettle = loadVersionsForShim { + libName = "nettle"; + function = nettleShimBuilder; + }; + libressl = loadVersionsForShim { + libName = "libressl"; + function = libresslShimBuilder; + }; + }; fetchReleases = with pkgs.python3Packages; From fee9a6d4994cfffe1754878f8703abccef5d8d9f Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 17:09:08 +0200 Subject: [PATCH 078/131] Autoformat all JSON files --- nix/boringssl_pkg_versions.json | 2 +- nix/botan_pkg_versions.json | 198 +++++++++++++++++++++++++++++++- nix/cryptopp_pkg_versions.json | 67 ++++++++++- nix/gcrypt_pkg_versions.json | 2 +- nix/ippcp_pkg_versions.json | 2 +- nix/libressl_pkg_versions.json | 2 +- nix/mbedtls_pkg_versions.json | 2 +- nix/nettle_pkg_versions.json | 2 +- nix/openssl_pkg_versions.json | 83 ++++++++++++- 9 files changed, 351 insertions(+), 9 deletions(-) diff --git a/nix/boringssl_pkg_versions.json b/nix/boringssl_pkg_versions.json index 77c4e62f..4eca6724 100644 --- a/nix/boringssl_pkg_versions.json +++ b/nix/boringssl_pkg_versions.json @@ -399,4 +399,4 @@ "rev": "783ae722ed307a3b3782cd253fd4ffb387f38767", "hash": "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo=" } -} \ No newline at end of file +} diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json index 0f3753d6..c9e3612f 100644 --- a/nix/botan_pkg_versions.json +++ b/nix/botan_pkg_versions.json @@ -1 +1,197 @@ -{"v200": {"version": "2.0.0", "source_extension": "tgz", "hash": "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo="}, "v201": {"version": "2.0.1", "source_extension": "tgz", "hash": "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs="}, "v210": {"version": "2.1.0", "source_extension": "tgz", "hash": "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ="}, "v2100": {"version": "2.10.0", "source_extension": "tgz", "hash": "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE="}, "v2110": {"version": "2.11.0", "source_extension": "tar.xz", "hash": "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4="}, "v2120": {"version": "2.12.0", "source_extension": "tar.xz", "hash": "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM="}, "v2121": {"version": "2.12.1", "source_extension": "tar.xz", "hash": "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk="}, "v2130": {"version": "2.13.0", "source_extension": "tar.xz", "hash": "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA="}, "v2140": {"version": "2.14.0", "source_extension": "tar.xz", "hash": "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU="}, "v2150": {"version": "2.15.0", "source_extension": "tar.xz", "hash": "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk="}, "v2160": {"version": "2.16.0", "source_extension": "tar.xz", "hash": "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig="}, "v2170": {"version": "2.17.0", "source_extension": "tar.xz", "hash": "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M="}, "v2171": {"version": "2.17.1", "source_extension": "tar.xz", "hash": "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME="}, "v2172": {"version": "2.17.2", "source_extension": "tar.xz", "hash": "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw="}, "v2173": {"version": "2.17.3", "source_extension": "tar.xz", "hash": "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g="}, "v2180": {"version": "2.18.0", "source_extension": "tar.xz", "hash": "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc="}, "v2181": {"version": "2.18.1", "source_extension": "tar.xz", "hash": "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik="}, "v2182": {"version": "2.18.2", "source_extension": "tar.xz", "hash": "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4="}, "v2190": {"version": "2.19.0", "source_extension": "tar.xz", "hash": "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs="}, "v2191": {"version": "2.19.1", "source_extension": "tar.xz", "hash": "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA="}, "v2192": {"version": "2.19.2", "source_extension": "tar.xz", "hash": "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU="}, "v2193": {"version": "2.19.3", "source_extension": "tar.xz", "hash": "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="}, "v2194": {"version": "2.19.4", "source_extension": "tar.xz", "hash": "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY="}, "v2195": {"version": "2.19.5", "source_extension": "tar.xz", "hash": "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ="}, "v220": {"version": "2.2.0", "source_extension": "tgz", "hash": "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ="}, "v230": {"version": "2.3.0", "source_extension": "tgz", "hash": "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw="}, "v240": {"version": "2.4.0", "source_extension": "tgz", "hash": "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU="}, "v250": {"version": "2.5.0", "source_extension": "tgz", "hash": "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs="}, "v260": {"version": "2.6.0", "source_extension": "tgz", "hash": "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU="}, "v270": {"version": "2.7.0", "source_extension": "tgz", "hash": "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA="}, "v280": {"version": "2.8.0", "source_extension": "tgz", "hash": "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA="}, "v290": {"version": "2.9.0", "source_extension": "tgz", "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk="}, "v300": {"version": "3.0.0", "source_extension": "tar.xz", "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="}, "v310": {"version": "3.1.0", "source_extension": "tar.xz", "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="}, "v311": {"version": "3.1.1", "source_extension": "tar.xz", "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="}, "v320": {"version": "3.2.0", "source_extension": "tar.xz", "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="}, "v330": {"version": "3.3.0", "source_extension": "tar.xz", "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="}, "v340": {"version": "3.4.0", "source_extension": "tar.xz", "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="}, "v350": {"version": "3.5.0", "source_extension": "tar.xz", "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="}} \ No newline at end of file +{ + "v200": { + "version": "2.0.0", + "source_extension": "tgz", + "hash": "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo=" + }, + "v201": { + "version": "2.0.1", + "source_extension": "tgz", + "hash": "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs=" + }, + "v210": { + "version": "2.1.0", + "source_extension": "tgz", + "hash": "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ=" + }, + "v2100": { + "version": "2.10.0", + "source_extension": "tgz", + "hash": "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE=" + }, + "v2110": { + "version": "2.11.0", + "source_extension": "tar.xz", + "hash": "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4=" + }, + "v2120": { + "version": "2.12.0", + "source_extension": "tar.xz", + "hash": "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM=" + }, + "v2121": { + "version": "2.12.1", + "source_extension": "tar.xz", + "hash": "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk=" + }, + "v2130": { + "version": "2.13.0", + "source_extension": "tar.xz", + "hash": "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA=" + }, + "v2140": { + "version": "2.14.0", + "source_extension": "tar.xz", + "hash": "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU=" + }, + "v2150": { + "version": "2.15.0", + "source_extension": "tar.xz", + "hash": "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk=" + }, + "v2160": { + "version": "2.16.0", + "source_extension": "tar.xz", + "hash": "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig=" + }, + "v2170": { + "version": "2.17.0", + "source_extension": "tar.xz", + "hash": "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M=" + }, + "v2171": { + "version": "2.17.1", + "source_extension": "tar.xz", + "hash": "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME=" + }, + "v2172": { + "version": "2.17.2", + "source_extension": "tar.xz", + "hash": "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw=" + }, + "v2173": { + "version": "2.17.3", + "source_extension": "tar.xz", + "hash": "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g=" + }, + "v2180": { + "version": "2.18.0", + "source_extension": "tar.xz", + "hash": "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc=" + }, + "v2181": { + "version": "2.18.1", + "source_extension": "tar.xz", + "hash": "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik=" + }, + "v2182": { + "version": "2.18.2", + "source_extension": "tar.xz", + "hash": "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4=" + }, + "v2190": { + "version": "2.19.0", + "source_extension": "tar.xz", + "hash": "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs=" + }, + "v2191": { + "version": "2.19.1", + "source_extension": "tar.xz", + "hash": "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA=" + }, + "v2192": { + "version": "2.19.2", + "source_extension": "tar.xz", + "hash": "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU=" + }, + "v2193": { + "version": "2.19.3", + "source_extension": "tar.xz", + "hash": "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=" + }, + "v2194": { + "version": "2.19.4", + "source_extension": "tar.xz", + "hash": "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY=" + }, + "v2195": { + "version": "2.19.5", + "source_extension": "tar.xz", + "hash": "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ=" + }, + "v220": { + "version": "2.2.0", + "source_extension": "tgz", + "hash": "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ=" + }, + "v230": { + "version": "2.3.0", + "source_extension": "tgz", + "hash": "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw=" + }, + "v240": { + "version": "2.4.0", + "source_extension": "tgz", + "hash": "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU=" + }, + "v250": { + "version": "2.5.0", + "source_extension": "tgz", + "hash": "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs=" + }, + "v260": { + "version": "2.6.0", + "source_extension": "tgz", + "hash": "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU=" + }, + "v270": { + "version": "2.7.0", + "source_extension": "tgz", + "hash": "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA=" + }, + "v280": { + "version": "2.8.0", + "source_extension": "tgz", + "hash": "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA=" + }, + "v290": { + "version": "2.9.0", + "source_extension": "tgz", + "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk=" + }, + "v300": { + "version": "3.0.0", + "source_extension": "tar.xz", + "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc=" + }, + "v310": { + "version": "3.1.0", + "source_extension": "tar.xz", + "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4=" + }, + "v311": { + "version": "3.1.1", + "source_extension": "tar.xz", + "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms=" + }, + "v320": { + "version": "3.2.0", + "source_extension": "tar.xz", + "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=" + }, + "v330": { + "version": "3.3.0", + "source_extension": "tar.xz", + "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk=" + }, + "v340": { + "version": "3.4.0", + "source_extension": "tar.xz", + "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc=" + }, + "v350": { + "version": "3.5.0", + "source_extension": "tar.xz", + "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8=" + } +} diff --git a/nix/cryptopp_pkg_versions.json b/nix/cryptopp_pkg_versions.json index 194d12c1..7920f27b 100644 --- a/nix/cryptopp_pkg_versions.json +++ b/nix/cryptopp_pkg_versions.json @@ -1 +1,66 @@ -{"v890": {"version": "8_9_0", "hash": "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="}, "v880": {"version": "8_8_0", "hash": "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU="}, "v870": {"version": "8_7_0", "hash": "sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE="}, "v860": {"version": "8_6_0", "hash": "sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4="}, "v850": {"version": "8_5_0", "hash": "sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y="}, "v840": {"version": "8_4_0", "hash": "sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8="}, "v830": {"version": "8_3_0", "hash": "sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng="}, "v820": {"version": "8_2_0", "hash": "sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc="}, "v810": {"version": "8_1_0", "hash": "sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI="}, "v800": {"version": "8_0_0", "hash": "sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w="}, "v700": {"version": "7_0_0", "hash": "sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4="}, "v610": {"version": "6_1_0", "hash": "sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo="}, "v600": {"version": "6_0_0", "hash": "sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E="}, "v565": {"version": "5_6_5", "hash": "sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o="}, "v564": {"version": "5_6_4", "hash": "sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4="}, "v563": {"version": "5_6_3", "hash": "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0="}} \ No newline at end of file +{ + "v890": { + "version": "8_9_0", + "hash": "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ=" + }, + "v880": { + "version": "8_8_0", + "hash": "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU=" + }, + "v870": { + "version": "8_7_0", + "hash": "sha256-KtZXW7+J9a4uKHnK8sqj5WVaIjG3d6tzBBDxa7Wv4AE=" + }, + "v860": { + "version": "8_6_0", + "hash": "sha256-a3TYaK34WvKEXN7LKAfGwQ3ZL6a3k/zMZyyVfnkQqO4=" + }, + "v850": { + "version": "8_5_0", + "hash": "sha256-A7eoJNwIOSCrO7vXyA6JER4E18k8vRRKdDsk/BXNx0Y=" + }, + "v840": { + "version": "8_4_0", + "hash": "sha256-gxd3LtvtgwgE1bUQc9pXLT8/WFrQPm3ghIHAGqBHlr8=" + }, + "v830": { + "version": "8_3_0", + "hash": "sha256-PHQol8Q7R0b63wiAf43nq+l+FcGItBzw65JZYSMf1ng=" + }, + "v820": { + "version": "8_2_0", + "hash": "sha256-sg7MrjzuAfWRK0RNZ6xR6cUD6z6F/u/SmtCTYOXP+Qc=" + }, + "v810": { + "version": "8_1_0", + "hash": "sha256-6SRr0Kv+iJrtEixJjb7Rbj/YdVa7vhW7u476FZLTymI=" + }, + "v800": { + "version": "8_0_0", + "hash": "sha256-mq8xhse5xXbP0VcnNbnNz6xxLxJDIj8Gm3Pn/DEOt4w=" + }, + "v700": { + "version": "7_0_0", + "hash": "sha256-6m7ZnIBbOqthlX7I4uj/UvUgh1BEopNE02BC4pyMuU4=" + }, + "v610": { + "version": "6_1_0", + "hash": "sha256-ZbercC0i/XhMhCYv54GwyIJuTygezD89/8HGeSKgkTo=" + }, + "v600": { + "version": "6_0_0", + "hash": "sha256-3IZpDOzlljFmYRfkw/Kxe8BiBxYkqM4zIF03FyNqC/E=" + }, + "v565": { + "version": "5_6_5", + "hash": "sha256-h+7LK8nzk1NlkVB4Loc9VQpN79SUFvBYESSpTZyXZ/o=" + }, + "v564": { + "version": "5_6_4", + "hash": "sha256-IgSRJAF+4lEFSXeboxktfG0iW+a72ZFp6Vibk5/qgz4=" + }, + "v563": { + "version": "5_6_3", + "hash": "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0=" + } +} diff --git a/nix/gcrypt_pkg_versions.json b/nix/gcrypt_pkg_versions.json index c17dbe62..711cfd2e 100644 --- a/nix/gcrypt_pkg_versions.json +++ b/nix/gcrypt_pkg_versions.json @@ -231,4 +231,4 @@ "version": "1.2.1", "hash": "sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I=" } -} \ No newline at end of file +} diff --git a/nix/ippcp_pkg_versions.json b/nix/ippcp_pkg_versions.json index d234dbba..ff1424ab 100644 --- a/nix/ippcp_pkg_versions.json +++ b/nix/ippcp_pkg_versions.json @@ -95,4 +95,4 @@ "version": "2019b", "hash": "sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8=" } -} \ No newline at end of file +} diff --git a/nix/libressl_pkg_versions.json b/nix/libressl_pkg_versions.json index 50425d57..efe80ca4 100644 --- a/nix/libressl_pkg_versions.json +++ b/nix/libressl_pkg_versions.json @@ -475,4 +475,4 @@ "version": "3.9.2", "hash": "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=" } -} \ No newline at end of file +} diff --git a/nix/mbedtls_pkg_versions.json b/nix/mbedtls_pkg_versions.json index 37bf6c04..9e27c762 100644 --- a/nix/mbedtls_pkg_versions.json +++ b/nix/mbedtls_pkg_versions.json @@ -119,4 +119,4 @@ "version": "v2.24.0", "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=" } -} \ No newline at end of file +} diff --git a/nix/nettle_pkg_versions.json b/nix/nettle_pkg_versions.json index dd9eccc9..de955da8 100644 --- a/nix/nettle_pkg_versions.json +++ b/nix/nettle_pkg_versions.json @@ -89,4 +89,4 @@ "tag": "nettle_2.7_release_20130424", "hash": "sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY=" } -} \ No newline at end of file +} diff --git a/nix/openssl_pkg_versions.json b/nix/openssl_pkg_versions.json index e4930023..e04efd50 100644 --- a/nix/openssl_pkg_versions.json +++ b/nix/openssl_pkg_versions.json @@ -1 +1,82 @@ -{"v331": {"version": "3.3.1", "hash": "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="}, "v322": {"version": "3.2.2", "hash": "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="}, "v316": {"version": "3.1.6", "hash": "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc="}, "v3014": {"version": "3.0.14", "hash": "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="}, "v330": {"version": "3.3.0", "hash": "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI="}, "v321": {"version": "3.2.1", "hash": "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk="}, "v315": {"version": "3.1.5", "hash": "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI="}, "v3013": {"version": "3.0.13", "hash": "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="}, "v320": {"version": "3.2.0", "hash": "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4="}, "v314": {"version": "3.1.4", "hash": "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM="}, "v3012": {"version": "3.0.12", "hash": "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E="}, "v313": {"version": "3.1.3", "hash": "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY="}, "v3011": {"version": "3.0.11", "hash": "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U="}, "v312": {"version": "3.1.2", "hash": "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk="}, "v3010": {"version": "3.0.10", "hash": "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM="}, "v311": {"version": "3.1.1", "hash": "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ="}, "v309": {"version": "3.0.9", "hash": "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA="}, "v310": {"version": "3.1.0", "hash": "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q="}, "v308": {"version": "3.0.8", "hash": "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="}, "v307": {"version": "3.0.7", "hash": "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4="}} \ No newline at end of file +{ + "v331": { + "version": "3.3.1", + "hash": "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34=" + }, + "v322": { + "version": "3.2.2", + "hash": "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc=" + }, + "v316": { + "version": "3.1.6", + "hash": "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc=" + }, + "v3014": { + "version": "3.0.14", + "hash": "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o=" + }, + "v330": { + "version": "3.3.0", + "hash": "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI=" + }, + "v321": { + "version": "3.2.1", + "hash": "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk=" + }, + "v315": { + "version": "3.1.5", + "hash": "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI=" + }, + "v3013": { + "version": "3.0.13", + "hash": "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM=" + }, + "v320": { + "version": "3.2.0", + "hash": "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4=" + }, + "v314": { + "version": "3.1.4", + "hash": "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM=" + }, + "v3012": { + "version": "3.0.12", + "hash": "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E=" + }, + "v313": { + "version": "3.1.3", + "hash": "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY=" + }, + "v3011": { + "version": "3.0.11", + "hash": "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U=" + }, + "v312": { + "version": "3.1.2", + "hash": "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk=" + }, + "v3010": { + "version": "3.0.10", + "hash": "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM=" + }, + "v311": { + "version": "3.1.1", + "hash": "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ=" + }, + "v309": { + "version": "3.0.9", + "hash": "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA=" + }, + "v310": { + "version": "3.1.0", + "hash": "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q=" + }, + "v308": { + "version": "3.0.8", + "hash": "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4=" + }, + "v307": { + "version": "3.0.7", + "hash": "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4=" + } +} From fb5961f70d34b325f7c2cb8735e68aa7c77ba8f6 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 17:47:22 +0200 Subject: [PATCH 079/131] Only Botan 2 is currently tested --- nix/botan_pkg_versions.json | 35 ------------------------ testing_building_all_shims.py | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 35 deletions(-) create mode 100644 testing_building_all_shims.py diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json index c9e3612f..81bc0aaf 100644 --- a/nix/botan_pkg_versions.json +++ b/nix/botan_pkg_versions.json @@ -158,40 +158,5 @@ "version": "2.9.0", "source_extension": "tgz", "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk=" - }, - "v300": { - "version": "3.0.0", - "source_extension": "tar.xz", - "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc=" - }, - "v310": { - "version": "3.1.0", - "source_extension": "tar.xz", - "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4=" - }, - "v311": { - "version": "3.1.1", - "source_extension": "tar.xz", - "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms=" - }, - "v320": { - "version": "3.2.0", - "source_extension": "tar.xz", - "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=" - }, - "v330": { - "version": "3.3.0", - "source_extension": "tar.xz", - "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk=" - }, - "v340": { - "version": "3.4.0", - "source_extension": "tar.xz", - "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc=" - }, - "v350": { - "version": "3.5.0", - "source_extension": "tar.xz", - "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8=" } } diff --git a/testing_building_all_shims.py b/testing_building_all_shims.py new file mode 100644 index 00000000..675d8a94 --- /dev/null +++ b/testing_building_all_shims.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +import argparse +import json + +import subprocess as sp + +def get_all_versions(library): + with open(f"./nix/{library}_pkgs_versions.json", "r") as handle: + versions = json.load(handle) + + return versions + +def can_build(library, version): + try: + sp.check_output(["nix", "build", f"'.#shim.{library}.{version}'"]) + except sp.CalledProcessError as e: + return False + return True + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("-l", "--library") + library = args.library + + libraries = [ + "botan", + "cryptopp", + "openssl", + "boringssl", + "gcrypt", + "mbedtls", + "ippcp", + "nettle", + "libressl", + ] + + match library: + case None: + for lib in libraries: + print(lib) + for version in get_all_versions(lib): + print(f"{version}: {can_build(lib, version)}") + case _: + print(lib) + for version in get_all_versions(lib): + print(f"{version}: {can_build(lib, version)}") + + +if __name__ == '__main__': + main() From a1902a04fbf7eefd2ee07f43333f398c2066d045 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 8 Aug 2024 17:48:26 +0200 Subject: [PATCH 080/131] Add script for testing building all shims --- flake.nix | 18 ++++++++++++++++++ ..._all_shims.py => test_building_all_shims.py | 14 ++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) rename testing_building_all_shims.py => test_building_all_shims.py (68%) diff --git a/flake.nix b/flake.nix index e7f9eae7..08fa7cc5 100644 --- a/flake.nix +++ b/flake.nix @@ -653,7 +653,25 @@ installPhase = '' install -Dm755 $src $out/bin/$pname ''; + }; + buildShims = + with pkgs.python3Packages; + buildPythonApplication { + pname = "buildShims"; + version = "0.1.0"; + format = "other"; + + propagatedBuildInputs = [ + ipython + pudb + ]; + + src = ./testing_building_all_shims.py; + dontUnpack = true; + installPhase = '' + install -Dm755 $src $out/bin/$pname + ''; }; }; diff --git a/testing_building_all_shims.py b/test_building_all_shims.py similarity index 68% rename from testing_building_all_shims.py rename to test_building_all_shims.py index 675d8a94..677961fb 100644 --- a/testing_building_all_shims.py +++ b/test_building_all_shims.py @@ -6,14 +6,15 @@ import subprocess as sp def get_all_versions(library): - with open(f"./nix/{library}_pkgs_versions.json", "r") as handle: + with open(f"./nix/{library}_pkg_versions.json", "r") as handle: versions = json.load(handle) return versions def can_build(library, version): + cmd = ["nix", "build", f".#shim.{library}.{version}"] try: - sp.check_output(["nix", "build", f"'.#shim.{library}.{version}'"]) + sp.check_output(cmd, stderr=sp.DEVNULL) except sp.CalledProcessError as e: return False return True @@ -21,6 +22,7 @@ def can_build(library, version): def main(): parser = argparse.ArgumentParser() parser.add_argument("-l", "--library") + args = parser.parse_args() library = args.library libraries = [ @@ -38,13 +40,13 @@ def main(): match library: case None: for lib in libraries: - print(lib) + print(f"Library: {lib}") for version in get_all_versions(lib): print(f"{version}: {can_build(lib, version)}") case _: - print(lib) - for version in get_all_versions(lib): - print(f"{version}: {can_build(lib, version)}") + print(f"Library: {lib}") + for version in get_all_versions(library): + print(f"{version}: {can_build(library, version)}") if __name__ == '__main__': From 4e7c10677ba557e9105ef5a8613ea01b9c568c82 Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 9 Aug 2024 09:56:44 +0200 Subject: [PATCH 081/131] Call the correct script name --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 08fa7cc5..1d58b932 100644 --- a/flake.nix +++ b/flake.nix @@ -667,7 +667,7 @@ pudb ]; - src = ./testing_building_all_shims.py; + src = ./test_building_all_shims.py; dontUnpack = true; installPhase = '' install -Dm755 $src $out/bin/$pname From 91b425798be6cbc918a9b892d7e76eababc08d6b Mon Sep 17 00:00:00 2001 From: quapka Date: Fri, 9 Aug 2024 16:22:00 +0200 Subject: [PATCH 082/131] Show how long it takes to (re)build a shim --- test_building_all_shims.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test_building_all_shims.py b/test_building_all_shims.py index 677961fb..5f59f8fb 100644 --- a/test_building_all_shims.py +++ b/test_building_all_shims.py @@ -2,6 +2,7 @@ import argparse import json +import time import subprocess as sp @@ -13,11 +14,12 @@ def get_all_versions(library): def can_build(library, version): cmd = ["nix", "build", f".#shim.{library}.{version}"] + start = time.time() try: sp.check_output(cmd, stderr=sp.DEVNULL) except sp.CalledProcessError as e: - return False - return True + return False, time.time() - start + return True, time.time() - start def main(): parser = argparse.ArgumentParser() From 7f21a126fa55ad69e6768458abdb36e1a6f361e5 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 9 Aug 2024 20:35:49 +0200 Subject: [PATCH 083/131] Log error in test shim build. --- test_building_all_shims.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test_building_all_shims.py b/test_building_all_shims.py index 5f59f8fb..259a6a11 100644 --- a/test_building_all_shims.py +++ b/test_building_all_shims.py @@ -16,8 +16,9 @@ def can_build(library, version): cmd = ["nix", "build", f".#shim.{library}.{version}"] start = time.time() try: - sp.check_output(cmd, stderr=sp.DEVNULL) + sp.check_output(cmd, stderr=sp.STDOUT) except sp.CalledProcessError as e: + print(e.output.decode()) return False, time.time() - start return True, time.time() - start @@ -46,7 +47,7 @@ def main(): for version in get_all_versions(lib): print(f"{version}: {can_build(lib, version)}") case _: - print(f"Library: {lib}") + print(f"Library: {library}") for version in get_all_versions(library): print(f"{version}: {can_build(library, version)}") From 646607bb3cd1a2c80748ff081493defdff125b4d Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Sat, 10 Aug 2024 17:59:15 +0200 Subject: [PATCH 084/131] Build prng and preload as part of common libs --- nix/commonlibs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/commonlibs.nix b/nix/commonlibs.nix index dde4ccae..22ce2f45 100644 --- a/nix/commonlibs.nix +++ b/nix/commonlibs.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { dontUseCmakeConfigure = true; - libs = "lib_cppsignals.so lib_csignals.so lib_timing.so"; + libs = "lib_cppsignals.so lib_csignals.so lib_timing.so lib_preload.so lib_prng.so"; buildPhase = '' make ${libs} From 4b396817faa5ee2d284245afc3836e8b5d794e2e Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Sun, 11 Aug 2024 18:01:18 +0200 Subject: [PATCH 085/131] Build library shims only when selected --- flake.nix | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index 1d58b932..9fb814a3 100644 --- a/flake.nix +++ b/flake.nix @@ -502,20 +502,27 @@ jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; - preConfigure = '' - cp ${tomcryptShim.out}/lib/tomcrypt_provider.so ${jniLibsPath} - cp ${botanShim.out}/lib/botan_provider.so ${jniLibsPath} - cp ${cryptoppShim.out}/lib/cryptopp_provider.so ${jniLibsPath} - cp ${opensslShim.out}/lib/openssl_provider.so ${jniLibsPath} - cp ${boringsslShim.out}/lib/boringssl_provider.so ${jniLibsPath} - cp ${gcryptShim.out}/lib/gcrypt_provider.so ${jniLibsPath} - cp ${mbedtlsShim.out}/lib/mbedtls_provider.so ${jniLibsPath} - cp ${ippcpShim.out}/lib/ippcp_provider.so ${jniLibsPath} - cp ${nettleShim.out}/lib/nettle_provider.so ${jniLibsPath} - cp ${libresslShim.out}/lib/libressl_provider.so ${jniLibsPath} + # shims = [ "tomcrypt" "botan" "cryptopp" "openssl" "boringssl" "gcrypt" "mbedtls" "ippcp" "nettle" "libressl" ]; + # copyLib = libName: + # ( if ${libName}.version != null then "cp ${libName}Shim.out/lib/libressl_provider.so ${jniLibsPath}" else "" ) + + # FIXME add conditionally libs using map? + preConfigure = pkgs.lib.concatLines [ + ( if tomcrypt.version != null then "cp ${tomcryptShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if botan.version != null then "cp ${botanShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if cryptopp.version != null then "cp ${cryptoppShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if openssl.version != null then "cp ${opensslShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if boringssl.rev != null then "cp ${boringsslShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if gcrypt.version != null then "cp ${gcryptShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if mbedtls.version != null then "cp ${mbedtlsShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if ippcp.version != null then "cp ${ippcpShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if nettle.version != null then "cp ${nettleShim.out}/lib/* ${jniLibsPath}" else "" ) + ( if libressl.version != null then "cp ${libresslShim.out}/lib/* ${jniLibsPath}" else "" ) + '' cp ${wolfcryptjni}/lib/* ${jniLibsPath} cp ${commonLibs}/lib/* ${jniLibsPath} - ''; + '' + ]; nativeBuildInputs = [ makeWrapper ]; From efe198a8cc55c1e0a63463e9a2c7e6fa55ab455a Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Sun, 11 Aug 2024 18:18:13 +0200 Subject: [PATCH 086/131] Show the correct version when building for all shims except TomCrypt (for now) --- flake.nix | 345 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 189 insertions(+), 156 deletions(-) diff --git a/flake.nix b/flake.nix index 9fb814a3..dc5aa9b6 100644 --- a/flake.nix +++ b/flake.nix @@ -30,9 +30,13 @@ # Altered upstream packages boringsslBuilder = - { rev, hash }: + { + rev ? null, + hash ? null, + }: pkgs.boringssl.overrideAttrs ( final: prev: rec { + version = if rev != null then rev else prev.version; src = if rev == null then prev.src @@ -52,94 +56,105 @@ version ? null, hash ? null, }: - (pkgs.openssl.override { static = true; }).overrideAttrs ( - final: prev: rec { - pname = "openssl"; - src = - if version != null then - pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - hash = hash; - } - else - prev.src; - # FIXME Removing patches might cause unwanted things; this should be version based! - patches = [ ]; - } - ); + if version == null then + (pkgs.openssl.override { static = true; }) + else + (pkgs.openssl.override { static = true; }).overrideAttrs ( + final: prev: rec { + inherit version; + src = pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + inherit hash; + }; + # FIXME Removing patches might cause unwanted things; this should be version based! + patches = [ ]; + } + ); botan2Builder = { - version, - source_extension, - hash, + version ? null, + source_extension ? null, + hash ? null, }: - pkgs.botan2.overrideAttrs ( - final: prev: { - src = - if (version == null) then - prev.src - else - pkgs.fetchurl { - urls = [ "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" ]; - inherit hash; - }; - } - ); + if version == null then + pkgs.botan2 + else + pkgs.botan2.overrideAttrs ( + final: prev: { + inherit version; + src = pkgs.fetchurl { + urls = [ "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" ]; + inherit hash; + }; + } + ); + # FIXME we need to build also the correct version of libgpg-error - which is what? libgcryptBuilder = - { version, hash }: - pkgs.libgcrypt.overrideAttrs ( - final: prev: { - configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; - src = - if version == null then - prev.src - else - pkgs.fetchurl { - url = "mirror://gnupg/libgcrypt/${prev.pname}-${version}.tar.bz2"; - inherit hash; - }; - } - ); + { + version ? null, + hash ? null, + }: + if version == null then + pkgs.libgcrypt.overrideAttrs ( + final: prev: { configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; } + ) + else + pkgs.libgcrypt.overrideAttrs ( + final: prev: { + inherit version; + configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; + src = pkgs.fetchurl { + url = "mirror://gnupg/libgcrypt/${prev.pname}-${version}.tar.bz2"; + inherit hash; + }; + } + ); libgpg-error = pkgs.libgpg-error.overrideAttrs ( final: prev: { configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; } ); mbedtlsBuilder = - { version, hash }: - pkgs.mbedtls.overrideAttrs ( - final: prev: { - src = - if version == null then - prev.src - else - pkgs.fetchFromGitHub { - owner = "Mbed-TLS"; - repo = "mbedtls"; - rev = "mbedtls-${version}"; - inherit hash; - # mbedtls >= 3.6.0 uses git submodules - fetchSubmodules = true; - }; - } - ); + { + version ? null, + hash ? null, + }: + if version == null then + pkgs.mbedtls + else + pkgs.mbedtls.overrideAttrs ( + final: prev: { + inherit version; + src = pkgs.fetchFromGitHub { + owner = "Mbed-TLS"; + repo = "mbedtls"; + rev = "mbedtls-${version}"; + inherit hash; + # mbedtls >= 3.6.0 uses git submodules + fetchSubmodules = true; + }; + } + ); ipp-cryptoBuilder = - { version, hash }: - customPkgs.ipp-crypto.overrideAttrs ( - final: prev: { - src = - if version == null then - prev.src - else - pkgs.fetchFromGitHub { - owner = "intel"; - repo = "ipp-crypto"; - rev = "ippcp_${version}"; - inherit hash; - }; - } - ); + { + version ? null, + hash ? null, + }: + if version == null then + customPkgs.ipp-crypto + else + customPkgs.ipp-crypto.overrideAttrs ( + final: prev: { + inherit version; + src = pkgs.fetchFromGitHub { + owner = "intel"; + repo = "ipp-crypto"; + rev = "ippcp_${version}"; + inherit hash; + }; + } + ); libtomcryptBuilder = { @@ -239,52 +254,51 @@ ); nettleBuilder = { - version, - tag, - hash, + version ? null, + tag ? null, + hash ? null, }: - pkgs.nettle.overrideAttrs ( - final: prev: { - configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; - src = - if version == null then - prev.src - else - pkgs.fetchurl { - url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; - inherit hash; - }; - } - ); + if version == null then + pkgs.nettle.overrideAttrs ( + final: prev: { configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; } + ) + else + pkgs.nettle.overrideAttrs ( + final: prev: { + inherit version; + configureFlags = (prev.configureFlags or [ ]) ++ [ "--enable-static" ]; + src = 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 - pkgs.fetchFromGitHub { - owner = "weidai11"; - repo = "cryptopp"; - rev = "CRYPTOPP_${version}"; - inherit hash; - }; - } - ); + { + version ? null, + hash ? null, + }: + if version == null then + (pkgs.cryptopp.override { enableStatic = true; }) + else + (pkgs.cryptopp.override { enableStatic = true; }).overrideAttrs ( + final: prev: { + version = pkgs.strings.replaceStrings [ "_" ] [ "." ] version; + src = pkgs.fetchFromGitHub { + owner = "weidai11"; + repo = "cryptopp"; + rev = "CRYPTOPP_${version}"; + inherit hash; + }; + } + ); libresslBuilder = - { version, hash }: - (pkgs.libressl.override { buildShared = false; }).overrideAttrs ( - final: prev: rec { - - src = - if version == null then - prev.src - else - pkgs.fetchurl { - url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; - inherit hash; - }; + { + version ? null, + hash ? null, + }: + if version == null then + (pkgs.libressl.override { buildShared = false; }).overrideAttrs ({ patches = if version == "3.8.2" then [ @@ -296,23 +310,42 @@ ] else [ ]; + }) + else + (pkgs.libressl.override { buildShared = false; }).overrideAttrs ( + final: prev: rec { + src = pkgs.fetchurl { + url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; + inherit hash; + }; + patches = + if version == "3.8.2" then + [ + (pkgs.fetchpatch { + url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; + includes = [ "tests/tlstest.sh" ]; + hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; + }) + ] + else + [ ]; - # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. - # This is not needed for building the individual shims through Nix, as libresslShim build env does not - # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple - # lib shims are built alongside each other. - postFixup = pkgs.lib.concatLines [ - (prev.postFixup or "") - '' - cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc - sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc - ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so - ln -s $out/lib/libcrypto.a $out/lib/libresslcrypto.a - '' - ]; + # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. + # This is not needed for building the individual shims through Nix, as libresslShim build env does not + # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple + # lib shims are built alongside each other. + postFixup = pkgs.lib.concatLines [ + (prev.postFixup or "") + '' + cp $dev/lib/pkgconfig/libcrypto.pc $dev/lib/pkgconfig/libresslcrypto.pc + sed --in-place --expression 's/-lcrypto/-lresslcrypto/' $dev/lib/pkgconfig/libresslcrypto.pc + ln -s $out/lib/libcrypto.so $out/lib/libresslcrypto.so + ln -s $out/lib/libcrypto.a $out/lib/libresslcrypto.a + '' + ]; - } - ); + } + ); gmp = pkgs.gmp.override { withStatic = true; }; # Custom added packages @@ -502,27 +535,27 @@ jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/"; - # shims = [ "tomcrypt" "botan" "cryptopp" "openssl" "boringssl" "gcrypt" "mbedtls" "ippcp" "nettle" "libressl" ]; - # copyLib = libName: - # ( if ${libName}.version != null then "cp ${libName}Shim.out/lib/libressl_provider.so ${jniLibsPath}" else "" ) - - # FIXME add conditionally libs using map? - preConfigure = pkgs.lib.concatLines [ - ( if tomcrypt.version != null then "cp ${tomcryptShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if botan.version != null then "cp ${botanShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if cryptopp.version != null then "cp ${cryptoppShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if openssl.version != null then "cp ${opensslShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if boringssl.rev != null then "cp ${boringsslShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if gcrypt.version != null then "cp ${gcryptShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if mbedtls.version != null then "cp ${mbedtlsShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if ippcp.version != null then "cp ${ippcpShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if nettle.version != null then "cp ${nettleShim.out}/lib/* ${jniLibsPath}" else "" ) - ( if libressl.version != null then "cp ${libresslShim.out}/lib/* ${jniLibsPath}" else "" ) - '' - cp ${wolfcryptjni}/lib/* ${jniLibsPath} - cp ${commonLibs}/lib/* ${jniLibsPath} - '' - ]; + # shims = [ "tomcrypt" "botan" "cryptopp" "openssl" "boringssl" "gcrypt" "mbedtls" "ippcp" "nettle" "libressl" ]; + # copyLib = libName: + # ( if ${libName}.version != null then "cp ${libName}Shim.out/lib/libressl_provider.so ${jniLibsPath}" else "" ) + + # FIXME add conditionally libs using map? + preConfigure = pkgs.lib.concatLines [ + (if tomcrypt.version != null then "cp ${tomcryptShim.out}/lib/* ${jniLibsPath}" else "") + (if botan.version != null then "cp ${botanShim.out}/lib/* ${jniLibsPath}" else "") + (if cryptopp.version != null then "cp ${cryptoppShim.out}/lib/* ${jniLibsPath}" else "") + (if openssl.version != null then "cp ${opensslShim.out}/lib/* ${jniLibsPath}" else "") + (if boringssl.rev != null then "cp ${boringsslShim.out}/lib/* ${jniLibsPath}" else "") + (if gcrypt.version != null then "cp ${gcryptShim.out}/lib/* ${jniLibsPath}" else "") + (if mbedtls.version != null then "cp ${mbedtlsShim.out}/lib/* ${jniLibsPath}" else "") + (if ippcp.version != null then "cp ${ippcpShim.out}/lib/* ${jniLibsPath}" else "") + (if nettle.version != null then "cp ${nettleShim.out}/lib/* ${jniLibsPath}" else "") + (if libressl.version != null then "cp ${libresslShim.out}/lib/* ${jniLibsPath}" else "") + '' + cp ${wolfcryptjni}/lib/* ${jniLibsPath} + cp ${commonLibs}/lib/* ${jniLibsPath} + '' + ]; nativeBuildInputs = [ makeWrapper ]; From e7eba2da0535e60b948b80eb69574d604800af48 Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Mon, 12 Aug 2024 10:16:43 +0200 Subject: [PATCH 087/131] Allow building target libs separately --- flake.nix | 44 ++++++++++++++++++++++++++++++++++++++ test_building_all_shims.py | 19 ++++++++++++---- 2 files changed, 59 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index dc5aa9b6..e9594cf0 100644 --- a/flake.nix +++ b/flake.nix @@ -252,6 +252,7 @@ ]; } ); + # NOTE: should gmp library be also dependent? nettleBuilder = { version ? null, @@ -675,6 +676,49 @@ }; }; + lib = { + tomcrypt = loadVersionsForShim { + libName = "tomcrypt"; + function = libtomcryptBuilder; + }; + botan = loadVersionsForShim { + libName = "botan"; + function = botan2Builder; + }; + cryptopp = loadVersionsForShim { + libName = "cryptopp"; + function = cryptoppBuilder; + }; + openssl = loadVersionsForShim { + libName = "openssl"; + function = opensslBuilder; + }; + boringssl = loadVersionsForShim { + libName = "boringssl"; + function = boringsslBuilder; + }; + gcrypt = loadVersionsForShim { + libName = "gcrypt"; + function = libgcryptBuilder; + }; + mbedtls = loadVersionsForShim { + libName = "mbedtls"; + function = mbedtlsBuilder; + }; + ippcp = loadVersionsForShim { + libName = "ippcp"; + function = ipp-cryptoBuilder; + }; + nettle = loadVersionsForShim { + libName = "nettle"; + function = nettleBuilder; + }; + libressl = loadVersionsForShim { + libName = "libressl"; + function = libresslBuilder; + }; + }; + fetchReleases = with pkgs.python3Packages; buildPythonApplication { diff --git a/test_building_all_shims.py b/test_building_all_shims.py index 259a6a11..bf2c5097 100644 --- a/test_building_all_shims.py +++ b/test_building_all_shims.py @@ -12,8 +12,8 @@ def get_all_versions(library): return versions -def can_build(library, version): - cmd = ["nix", "build", f".#shim.{library}.{version}"] +def can_build(library, version, variant): + cmd = ["nix", "build", f".#{variant}.{library}.{version}"] start = time.time() try: sp.check_output(cmd, stderr=sp.STDOUT) @@ -22,11 +22,22 @@ def can_build(library, version): return False, time.time() - start return True, time.time() - start +def valid_build_type(value): + value = value.strip() + valid_types = ["shim", "lib"] + if value not in valid_types: + raise argparse.ArgumentTypeError(f"'{value}' not from expected {', '.join(valid_types)})") + return value + + def main(): parser = argparse.ArgumentParser() parser.add_argument("-l", "--library") + parser.add_argument("-d", "--variant", default="shim", type=valid_build_type) args = parser.parse_args() library = args.library + variant = args.variant + libraries = [ "botan", @@ -45,11 +56,11 @@ def main(): for lib in libraries: print(f"Library: {lib}") for version in get_all_versions(lib): - print(f"{version}: {can_build(lib, version)}") + print(f"{version}: {can_build(lib, version, variant)}") case _: print(f"Library: {library}") for version in get_all_versions(library): - print(f"{version}: {can_build(library, version)}") + print(f"{version}: {can_build(library, version, variant)}") if __name__ == '__main__': From b83164b1402e96d5b20d36b5941b79f5636dba71 Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Mon, 12 Aug 2024 10:22:14 +0200 Subject: [PATCH 088/131] Build shims and libs with a single script --- flake.nix | 6 +++--- test_building_all_shims.py => test_building_all.py | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename test_building_all_shims.py => test_building_all.py (100%) diff --git a/flake.nix b/flake.nix index e9594cf0..5d3608bf 100644 --- a/flake.nix +++ b/flake.nix @@ -739,10 +739,10 @@ ''; }; - buildShims = + buildAll = with pkgs.python3Packages; buildPythonApplication { - pname = "buildShims"; + pname = "buildAll"; version = "0.1.0"; format = "other"; @@ -751,7 +751,7 @@ pudb ]; - src = ./test_building_all_shims.py; + src = ./test_building_all.py; dontUnpack = true; installPhase = '' install -Dm755 $src $out/bin/$pname diff --git a/test_building_all_shims.py b/test_building_all.py similarity index 100% rename from test_building_all_shims.py rename to test_building_all.py From 23e27b1e8ab5769ac1578c2670b132a26b58fd7e Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 12 Aug 2024 14:50:48 +0200 Subject: [PATCH 089/131] Save results of building all libs and shim to simplify debugging --- .gitignore | 1 + test_building_all.py | 51 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index aa7fbd3f..f8aa5f86 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ # Ignore Gradle build output directory build +build_all diff --git a/test_building_all.py b/test_building_all.py index bf2c5097..6303ef9e 100644 --- a/test_building_all.py +++ b/test_building_all.py @@ -4,6 +4,8 @@ import json import time +from pathlib import Path + import subprocess as sp def get_all_versions(library): @@ -12,15 +14,24 @@ def get_all_versions(library): return versions -def can_build(library, version, variant): +def attempt_build(library, version, variant): cmd = ["nix", "build", f".#{variant}.{library}.{version}"] start = time.time() + + result = {} try: sp.check_output(cmd, stderr=sp.STDOUT) + success = True + stderr = "" except sp.CalledProcessError as e: - print(e.output.decode()) - return False, time.time() - start - return True, time.time() - start + stderr = e.output.decode() + success = False + + result['build_time'] = time.time() - start + result['success'] = success + result['stderr'] = stderr.split('\n') if stderr else [] + + return result def valid_build_type(value): value = value.strip() @@ -29,16 +40,30 @@ def valid_build_type(value): raise argparse.ArgumentTypeError(f"'{value}' not from expected {', '.join(valid_types)})") return value +def save_build_result(library, variant, version, result): + resdir = Path(f"build_all/{variant}") + resdir.mkdir(parents=True, exist_ok=True) + try: + # Update previous results + with open(resdir / f"{library}.json", "r") as handle: + prev_results = json.load(handle) + # NOTE this is not ideal as the JSON decoding problem can be other than just an empty file + except (FileNotFoundError, json.JSONDecodeError): + prev_results = {} + + prev_results[version] = result + with open(resdir / f"{library}.json", "w") as handle: + json.dump(prev_results, handle, indent=4) + def main(): parser = argparse.ArgumentParser() parser.add_argument("-l", "--library") - parser.add_argument("-d", "--variant", default="shim", type=valid_build_type) + parser.add_argument("-v", "--variant", default="shim", type=valid_build_type) args = parser.parse_args() library = args.library variant = args.variant - libraries = [ "botan", "cryptopp", @@ -53,14 +78,22 @@ def main(): match library: case None: + print("Building all libraries") + # Build all libraries by default for lib in libraries: print(f"Library: {lib}") for version in get_all_versions(lib): - print(f"{version}: {can_build(lib, version, variant)}") - case _: + result = attempt_build(lib, version, variant) + save_build_result(lib, variant, version, result) + print(f"{version}: {result['success']}") + case lib if lib in libraries: print(f"Library: {library}") for version in get_all_versions(library): - print(f"{version}: {can_build(library, version, variant)}") + result = attempt_build(lib, version, variant) + save_build_result(lib, variant, version, result) + print(f"{version}: {result['success']}") + case _: + print(f"Unrecognized library '{library}'. Try one of: {', '.join(libraries)}.") if __name__ == '__main__': From 0c40cf3be9f67f4077c0ac0d991bac0f22bf2b90 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 15:27:36 +0200 Subject: [PATCH 090/131] Fix Botan 2.0.0 and 2.0.1 build. --- flake.nix | 9 +++++++++ nix/botan-2.0.0-2.0.1.patch | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 nix/botan-2.0.0-2.0.1.patch diff --git a/flake.nix b/flake.nix index 5d3608bf..2ca2e297 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,15 @@ urls = [ "http://botan.randombit.net/releases/Botan-${version}.${source_extension}" ]; inherit hash; }; + patches = + if pkgs.lib.hasPrefix "2.0" version then + (prev.patches or [ ]) + ++ [ + # Fix missing include https://github.com/randombit/botan/issues/903 + ./nix/botan-2.0.0-2.0.1.patch + ] + else + [ ]; } ); diff --git a/nix/botan-2.0.0-2.0.1.patch b/nix/botan-2.0.0-2.0.1.patch new file mode 100644 index 00000000..3a198701 --- /dev/null +++ b/nix/botan-2.0.0-2.0.1.patch @@ -0,0 +1,12 @@ +diff --git a/src/lib/filters/threaded_fork.cpp b/src/lib/filters/threaded_fork.cpp +index 170264353e..d379eacda2 100644 +--- a/src/lib/filters/threaded_fork.cpp ++++ b/src/lib/filters/threaded_fork.cpp +@@ -12,6 +12,7 @@ + + #include + #include ++#include + + namespace Botan { + From 317c8f52c03525c7224b075ecf43104935f7819b Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 12 Aug 2024 15:27:23 +0200 Subject: [PATCH 091/131] Fix typo --- test_building_all.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_building_all.py b/test_building_all.py index 6303ef9e..782f8b2e 100644 --- a/test_building_all.py +++ b/test_building_all.py @@ -37,7 +37,7 @@ def valid_build_type(value): value = value.strip() valid_types = ["shim", "lib"] if value not in valid_types: - raise argparse.ArgumentTypeError(f"'{value}' not from expected {', '.join(valid_types)})") + raise argparse.ArgumentTypeError(f"'{value}' not from expected {', '.join(valid_types)}.") return value def save_build_result(library, variant, version, result): From 8e9466cad1983323ec0b7eb1224c3f9cbb0cebe4 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 12 Aug 2024 15:28:23 +0200 Subject: [PATCH 092/131] Fix creating cryptopp dotted version --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 2ca2e297..00501a3c 100644 --- a/flake.nix +++ b/flake.nix @@ -293,7 +293,7 @@ else (pkgs.cryptopp.override { enableStatic = true; }).overrideAttrs ( final: prev: { - version = pkgs.strings.replaceStrings [ "_" ] [ "." ] version; + version = pkgs.lib.strings.replaceStrings [ "_" ] [ "." ] version; src = pkgs.fetchFromGitHub { owner = "weidai11"; repo = "cryptopp"; From 042413d5b3aa26f369acf82458bd75c97664c824 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 17:10:32 +0200 Subject: [PATCH 093/131] Fix Botan builds. --- flake.nix | 18 ++++++++++-------- nix/botan-fe25519-stdexcept.patch | 13 +++++++++++++ nix/botan-types-stdexcept.patch | 12 ++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 nix/botan-fe25519-stdexcept.patch create mode 100644 nix/botan-types-stdexcept.patch diff --git a/flake.nix b/flake.nix index 00501a3c..a2436137 100644 --- a/flake.nix +++ b/flake.nix @@ -87,14 +87,16 @@ inherit hash; }; patches = - if pkgs.lib.hasPrefix "2.0" version then - (prev.patches or [ ]) - ++ [ - # Fix missing include https://github.com/randombit/botan/issues/903 - ./nix/botan-2.0.0-2.0.1.patch - ] - else - [ ]; + { "2.0.0" = ./nix/botan-2.0.0-2.0.1.patch; + "2.0.1" = ./nix/botan-2.0.0-2.0.1.patch; + "2.2.0" = [./nix/botan-fe25519-stdexcept.patch ]; + "2.3.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; + "2.4.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; + "2.5.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; + "2.6.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; + "2.7.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; + "2.8.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch];}."${version}" or (prev.patches or [ ]); + patchFlags = ["-p1" "-r-"]; } ); diff --git a/nix/botan-fe25519-stdexcept.patch b/nix/botan-fe25519-stdexcept.patch new file mode 100644 index 00000000..f85ff4dd --- /dev/null +++ b/nix/botan-fe25519-stdexcept.patch @@ -0,0 +1,13 @@ +diff --git a/src/lib/pubkey/ed25519/ed25519_fe.h b/src/lib/pubkey/ed25519/ed25519_fe.h +--- a/src/lib/pubkey/ed25519/ed25519_fe.h ++++ b/src/lib/pubkey/ed25519/ed25519_fe.h +@@ -11,8 +11,9 @@ + #ifndef BOTAN_ED25519_FE_H__ + #define BOTAN_ED25519_FE_H__ + + #include ++#include + + namespace Botan { + + /** diff --git a/nix/botan-types-stdexcept.patch b/nix/botan-types-stdexcept.patch new file mode 100644 index 00000000..d5a0984d --- /dev/null +++ b/nix/botan-types-stdexcept.patch @@ -0,0 +1,12 @@ +diff --git a/src/lib/utils/types.h b/src/lib/utils/types.h +--- a/src/lib/utils/types.h ++++ b/src/lib/utils/types.h +@@ -15,6 +15,8 @@ + #include // IWYU pragma: export + #include // IWYU pragma: export + #include // IWYU pragma: export ++#include ++#include + + namespace Botan { + From 7971f11044722f2731581ff9f94f3f9f71061728 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 17:56:06 +0200 Subject: [PATCH 094/131] Add Nix build in CI. --- .github/workflows/nix.yml | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/nix.yml diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml new file mode 100644 index 00000000..75140579 --- /dev/null +++ b/.github/workflows/nix.yml @@ -0,0 +1,52 @@ +name: Nix + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + standalone: + runs-on: ubuntu-latest + permissions: + contents: read + + strategy: + matrix: + library: [ "botan", "cryptopp", "openssl", "boringssl", "gcrypt", "mbedtls", "ippcp", "nettle", "libressl" ] + name: Build standalone ${{ matrix.library }} + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + fetch-tags: true + fetch-depth: -1 + + - name: Setup libraries + run: | + sudo apt update + sudo apt install + + - uses: DeterminateSystems/nix-installer-action@v13 + with: + diagnostic-endpoint: "" + + - uses: DeterminateSystems/magic-nix-cache-action@v7 + with: + diagnostic-endpoint: "" + + - name: Build library + run: | + nix build ".#lib.${{ matrix.library }}.default" + + - name: Build shim + run: | + nix build ".#shim.${{ matrix.library }}.default" + + - name: Build standalone + run: | + nix build ".?submodules=1#${{ matrix.library }}.default" + + - name: List library + run: nix run ".?submodules=1#${{ matrix.library }}.default" -- list-libs From 86528d63ad31c1845cd37855ec799682ea2598f9 Mon Sep 17 00:00:00 2001 From: quapka Date: Mon, 12 Aug 2024 18:28:41 +0200 Subject: [PATCH 095/131] Add default targets for all lib and shim builds --- flake.nix | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index a2436137..371fa92e 100644 --- a/flake.nix +++ b/flake.nix @@ -591,18 +591,29 @@ ); loadVersions = { libName, function }: - pkgs.lib.mapAttrs (rev: specs: function { ${libName} = specs; }) ( - builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json) - ); + let + versions = builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json); + firstVersion = builtins.elemAt (pkgs.lib.attrsets.attrValues versions) 0; + in + pkgs.lib.mapAttrs (rev: specs: function { ${libName} = specs; }) versions + // { + default = function { ${libName} = firstVersion; }; + }; + loadVersionsForShim = { libName, function }: - pkgs.lib.mapAttrs (rev: specs: function specs) ( - builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json) - ); + let + versions = builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json); + firstVersion = builtins.elemAt (pkgs.lib.attrsets.attrValues versions) 0; + in + pkgs.lib.mapAttrs (rev: specs: function specs) versions + // (with pkgs.lib; { + default = function firstVersion; + }); in { packages = rec { - default = openssl.v331; + default = openssl.default; tomcrypt = loadVersions { libName = "tomcrypt"; function = buildECTesterStandalone; From bac37f1e676d0f01bcf03679fc58365db5bf2329 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 18:21:02 +0200 Subject: [PATCH 096/131] Cleanup passing of CFLAGS and LFLAGS to shims. --- nix/boringsslshim.nix | 2 +- nix/ippcpshim.nix | 4 ++-- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/boringsslshim.nix b/nix/boringsslshim.nix index a5e7fbd3..715e7212 100644 --- a/nix/boringsslshim.nix +++ b/nix/boringsslshim.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { make boringssl ''; - BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; + BORINGSSL_CFLAGS = "-I${boringssl.dev.outPath}/include"; installPhase = '' mkdir --parents $out/lib diff --git a/nix/ippcpshim.nix b/nix/ippcpshim.nix index 2b1d6762..349817ba 100644 --- a/nix/ippcpshim.nix +++ b/nix/ippcpshim.nix @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { jdk11_headless ]; - IPP_CRYPTO_HEADER = "${ipp-crypto.dev}/include"; - IPP_CRYPTO_LIB = "${ipp-crypto}/lib/"; + IPP_CRYPTO_CFLAGS = "-I${ipp-crypto.dev}/include"; + IPP_CRYPTO_LFLAGS = "-L${ipp-crypto}/lib/"; buildPhase = '' make ippcp 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 baa86350..7c02a1ff 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 @@ -117,7 +117,7 @@ boringssl_provider.so: boringssl.o c_utils.o | clibs $(CC) $(CFLAGS) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -l:lib_boringssl.a -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so boringssl.o: boringssl.c - $(CC) -I$(BORINGSSL_CFLAGS) $(CFLAGS) -c $< + $(CC) $(BORINGSSL_CFLAGS) $(CFLAGS) -c $< # libgcrypt shim @@ -178,10 +178,10 @@ mbedtls.o: mbedtls.c ippcp: ippcp_provider.so ippcp_provider.so: ippcp.o c_utils.o | clibs - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L$(IPP_CRYPTO_LIB) -Wl,-Bstatic -l:libippcp.a -L. -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ $(IPP_CRYPTO_LFLAGS) -Wl,-Bstatic -l:libippcp.a -L. -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so ippcp.o: ippcp.c - $(CC) -I$(IPP_CRYPTO_HEADER) $(CFLAGS) -c $< + $(CC) $(IPP_CRYPTO_CFLAGS) $(CFLAGS) -c $< # Nettle shim From 77f442d88421986d1b1c979ed1bb9b2f81edd02d Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 18:39:19 +0200 Subject: [PATCH 097/131] Do not fail fast in Nix in CI. --- .github/workflows/nix.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 75140579..3c79b0fa 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -15,6 +15,7 @@ jobs: strategy: matrix: library: [ "botan", "cryptopp", "openssl", "boringssl", "gcrypt", "mbedtls", "ippcp", "nettle", "libressl" ] + fail-fast: false name: Build standalone ${{ matrix.library }} steps: - uses: actions/checkout@v4 From 71bb43641a43b5426b2969f036bb89d40413f1fb Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 19:00:31 +0200 Subject: [PATCH 098/131] Fix Botan include directory. --- flake.nix | 47 ++++++++++++++++++++++++++++++++++--------- nix/botan-2.0.0.patch | 26 ++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 nix/botan-2.0.0.patch diff --git a/flake.nix b/flake.nix index 371fa92e..90af4131 100644 --- a/flake.nix +++ b/flake.nix @@ -87,16 +87,43 @@ inherit hash; }; patches = - { "2.0.0" = ./nix/botan-2.0.0-2.0.1.patch; - "2.0.1" = ./nix/botan-2.0.0-2.0.1.patch; - "2.2.0" = [./nix/botan-fe25519-stdexcept.patch ]; - "2.3.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; - "2.4.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; - "2.5.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; - "2.6.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; - "2.7.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch]; - "2.8.0" = [./nix/botan-fe25519-stdexcept.patch ./nix/botan-types-stdexcept.patch];}."${version}" or (prev.patches or [ ]); - patchFlags = ["-p1" "-r-"]; + { + "2.0.0" = [ + ./nix/botan-2.0.0-2.0.1.patch + ./nix/botan-2.0.0.patch + ]; + "2.0.1" = ./nix/botan-2.0.0-2.0.1.patch; + "2.2.0" = [ ./nix/botan-fe25519-stdexcept.patch ]; + "2.3.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + "2.4.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + "2.5.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + "2.6.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + "2.7.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + "2.8.0" = [ + ./nix/botan-fe25519-stdexcept.patch + ./nix/botan-types-stdexcept.patch + ]; + } + ."${version}" or (prev.patches or [ ]); + patchFlags = [ + "-p1" + "-r-" + ]; } ); diff --git a/nix/botan-2.0.0.patch b/nix/botan-2.0.0.patch new file mode 100644 index 00000000..e98612a2 --- /dev/null +++ b/nix/botan-2.0.0.patch @@ -0,0 +1,26 @@ +diff --git a/src/build-data/buildh.in b/src/build-data/buildh.in +index e65aa3ed3a..de2b5c8b52 100644 +--- a/src/build-data/buildh.in ++++ b/src/build-data/buildh.in +@@ -27,7 +27,7 @@ + %{unsafe_fuzzer_mode_define} + + #define BOTAN_INSTALL_PREFIX R"(%{prefix})" +-#define BOTAN_INSTALL_HEADER_DIR "%{includedir}/botan-%{version_major}.%{version_minor}" ++#define BOTAN_INSTALL_HEADER_DIR "%{includedir}/botan-%{version_major}" + #define BOTAN_INSTALL_LIB_DIR "%{libdir}" + #define BOTAN_LIB_LINK "%{link_to}" + +diff --git a/src/scripts/install.py b/src/scripts/install.py +index 0045be844d..e03e5c22c3 100755 +--- a/src/scripts/install.py ++++ b/src/scripts/install.py +@@ -130,7 +130,7 @@ class PercentSignTemplate(string.Template): + 'botan-%d.%d.%d' % (ver_major, ver_minor, ver_patch)) + target_include_dir = os.path.join(options.destdir, + options.includedir, +- 'botan-%d.%d' % (ver_major, ver_minor), ++ 'botan-%d' % (ver_major), + 'botan') + + out_dir = process_template('%{out_dir}') \ No newline at end of file From 7284b3e972d9bd329d066debbff5fd2e502a2072 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 20:08:02 +0200 Subject: [PATCH 099/131] Fix order of versions in lib version files. --- fetchReleases.py | 103 ++--- flake.nix | 1 + nix/boringssl_pkg_versions.json | 598 +++++++++++++-------------- nix/botan_pkg_versions.json | 225 +++++----- nix/cryptopp_pkg_versions.json | 2 +- nix/gcrypt_pkg_versions.json | 2 +- nix/ippcp_pkg_versions.json | 2 +- nix/libressl_pkg_versions.json | 712 ++++++++++++++++---------------- nix/mbedtls_pkg_versions.json | 114 ++--- nix/nettle_pkg_versions.json | 2 +- nix/openssl_pkg_versions.json | 74 ++-- 11 files changed, 918 insertions(+), 917 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index ec1b0992..5ced814f 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -14,6 +14,7 @@ from base64 import b32encode, b32decode, b64encode, b16decode from bs4 import BeautifulSoup +from packaging.version import parse as parse_version, Version env = jinja2.Environment() @@ -36,6 +37,16 @@ def get_source_hash(url, unpack=False): digest_sri = sp.check_output(["nix", "hash", "to-sri", "--type", digest_type, digest_nixbase32.decode()], stderr=sp.DEVNULL).strip().decode() return digest_sri +def serialize_versions(pkg, renders, versions): + sorted_versions = {k: {kk: vv for kk, vv in v.items() if kk != "sort"} for k, v in sorted(versions.items(), key=lambda item: item[1]["sort"], reverse=True)} + + # 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) + + with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: + json.dump(sorted_versions, handle, indent=4) + def fetch_botan(): pkg = "botan" # NOTE: this way omits the older releases at https://botan.randombit.net/releases/old @@ -68,15 +79,10 @@ def fetch_botan(): versions[flat_version] = { "version": version, "source_extension": ext, - "hash": digest + "hash": digest, + "sort": parse_version(version) } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_cryptopp(): pkg = "cryptopp" @@ -103,15 +109,10 @@ def fetch_cryptopp(): renders.append(rendered) versions[flat_version] = { "version": underscored_version, - "hash": digest + "hash": digest, + "sort": parse_version(underscored_version.replace("_", ".")) } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_openssl(): pkg = "openssl" @@ -137,19 +138,13 @@ def fetch_openssl(): print(f"{dotted_version}:{digest}") versions[flat_version] = { "version": dotted_version, - "hash": digest + "hash": digest, + "sort": parse_version(dotted_version) } - rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_tomcrypt(): @@ -187,17 +182,10 @@ def fetch_gcrypt(): renders.append(rendered) versions[flat_version] = { "version": version, - "hash": digest + "hash": digest, + "sort": parse_version(version) } - - - all_versions = all_versions_template.render(pkg_versions=renders).strip() - with open("./nix/gcrypt_pkg_versions.nix", "w") as handle: - handle.write(all_versions) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) - + serialize_versions(pkg, renders, versions) def fetch_boringssl(): pkg = "boringssl" @@ -228,14 +216,9 @@ def fetch_boringssl(): versions[f"r{abbrev_commit}"] = { "rev": rev, "hash": digest, + "sort": i } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_mbedtls(): # Mbed-TLS/mbedtls @@ -253,6 +236,7 @@ def fetch_mbedtls(): for release in resp.json(): if not release['draft'] and not release['prerelease']: version = release['tag_name'] + sort_version = version.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) @@ -263,14 +247,9 @@ def fetch_mbedtls(): versions[flat_version] = { "version": version, "hash": digest, + "sort": parse_version(sort_version) } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_ippcp(): # https://api.github.com/repos/intel/ipp-crypto/releases @@ -298,14 +277,9 @@ def fetch_ippcp(): versions[flat_version] = { "version": version, "hash": digest, + "sort": parse_version(version.replace("u", "+u")) } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_nettle(): # https://api.github.com/repos/intel/ipp-crypto/releases @@ -340,14 +314,9 @@ def fetch_nettle(): "version": version, "tag": tag['name'], "hash": digest, + "sort": parse_version(version) } - - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) + serialize_versions(pkg, renders, versions) def fetch_libressl(): @@ -378,14 +347,10 @@ def fetch_libressl(): versions[flat_version] = { "version": version, "hash": digest, + "sort": parse_version(version) } + serialize_versions(pkg, renders, versions) - 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) - - with open(f"./nix/{pkg}_pkg_versions.json", "w") as handle: - json.dump(versions, handle, indent=4) def main(): parser = argparse.ArgumentParser() diff --git a/flake.nix b/flake.nix index 90af4131..8ebe5040 100644 --- a/flake.nix +++ b/flake.nix @@ -779,6 +779,7 @@ jinja2 requests beautifulsoup4 + packaging ]; src = ./fetchReleases.py; diff --git a/nix/boringssl_pkg_versions.json b/nix/boringssl_pkg_versions.json index 4eca6724..adb6afae 100644 --- a/nix/boringssl_pkg_versions.json +++ b/nix/boringssl_pkg_versions.json @@ -1,402 +1,402 @@ { - "rb7f5443c": { - "rev": "b7f5443cfc1298d77dfb9e6f2eea68035de521a4", - "hash": "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po=" + "r8e6aa7f3": { + "rev": "8e6aa7f39f4357a6ad15944884f72db8d25b9dff", + "hash": "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M=" }, - "r1b40d99d": { - "rev": "1b40d99d6a90d0039e9021adde5ad4de743cf0ad", - "hash": "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg=" + "r35a91094": { + "rev": "35a910949d684aea8b86a8c42db76c4f43e31a96", + "hash": "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw=" }, - "r5af122c3": { - "rev": "5af122c3dfc163b5d1859f1f450756e8e320a142", - "hash": "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk=" + "r3efe2eb9": { + "rev": "3efe2eb9e3dfb49cb110c53e3430caeae4599f52", + "hash": "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I=" }, - "r1e8c35af": { - "rev": "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74", - "hash": "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI=" + "re7d76da9": { + "rev": "e7d76da920a1bd79b6ebc77e75b407cdf0a58962", + "hash": "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0=" }, - "r14a2f35b": { - "rev": "14a2f35b6e06756902eaa7e188a25895721055fc", - "hash": "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw=" + "rd34f540e": { + "rev": "d34f540e57394de22a1599c3c5d852519d388d6c", + "hash": "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0=" }, - "re23fe9b6": { - "rev": "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6", - "hash": "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ=" + "r4d50a595": { + "rev": "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2", + "hash": "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA=" }, - "r7a6e828d": { - "rev": "7a6e828dc53ba9a56bd49915f2a0780d63af97d2", - "hash": "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk=" + "r8a0da669": { + "rev": "8a0da669a08b6c6b805fd7ec9d1e67694fda3711", + "hash": "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc=" }, - "r9cffd74f": { - "rev": "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e", - "hash": "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4=" + "r1d24e04c": { + "rev": "1d24e04c7143171ae2010c842e3e1438510fd1c0", + "hash": "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc=" }, - "r82f9853f": { - "rev": "82f9853fc7d7360ae44f1e1357a6422c5244bbd8", - "hash": "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY=" + "r6b36ad2b": { + "rev": "6b36ad2bd6001f17a997b7a1e0ab254b001438ef", + "hash": "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY=" }, - "r9b3ef1b3": { - "rev": "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3", - "hash": "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE=" + "r03d1b7c5": { + "rev": "03d1b7c544851d9f44df1e9ff21839742e08c819", + "hash": "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA=" }, - "r096ded9f": { - "rev": "096ded9f097b73a15956b04cd168c7cfe7e28f52", - "hash": "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo=" + "rb6bca9c6": { + "rev": "b6bca9c6dde177f641137d2991aa677997c54c67", + "hash": "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI=" }, - "rd274b1ba": { - "rev": "d274b1bacdca36f3941bf78e43dc38acf676a1a8", - "hash": "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk=" + "rb8912d71": { + "rev": "b8912d713cb82a748bbe63f28f28b17632c70964", + "hash": "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc=" }, - "rb34976ca": { - "rev": "b34976cae99f8d1b864dbab31e20fc00d06acb09", - "hash": "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo=" + "r1a9edc3e": { + "rev": "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba", + "hash": "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI=" }, - "r77ef86d0": { - "rev": "77ef86d0431ec3ceea503b0c59888942fd35b035", - "hash": "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M=" + "rfc953df2": { + "rev": "fc953df2352e1c1bcb34cb5f75a0e409014c1690", + "hash": "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU=" }, - "r8934b1ef": { - "rev": "8934b1ef0857bc08626a2206a6f5f718942c14fc", - "hash": "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0=" + "r07f27b1d": { + "rev": "07f27b1d445a27433f2c871935da2cefcfbdb458", + "hash": "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A=" }, - "r7c2b62e9": { - "rev": "7c2b62e93487b772990fddc1905f22d4cfaee4a4", - "hash": "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4=" + "r3a01cba9": { + "rev": "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee", + "hash": "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk=" }, - "r12f0f4be": { - "rev": "12f0f4bec2a6db53a53748dd6001d1aacaae26ba", - "hash": "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw=" + "r0355048c": { + "rev": "0355048ce0302fdeb4744dae4b8a156a38496150", + "hash": "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY=" }, - "rca2eba6a": { - "rev": "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa", - "hash": "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8=" + "r7662e58e": { + "rev": "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2", + "hash": "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4=" }, - "rf01108e4": { - "rev": "f01108e4761e1d4189cb134322c3cb01dc71ef87", - "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + "rc7019036": { + "rev": "c70190368c7040c37c1d655f0690bcde2b109a0d", + "hash": "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE=" }, - "r26468aea": { - "rev": "26468aea6483135b156fb03a5693c495dbad2e0f", - "hash": "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE=" + "rd477c0d7": { + "rev": "d477c0d7c40ddca3a64ae26fc02d2dac175836d3", + "hash": "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag=" }, - "r7811fdc9": { - "rev": "7811fdc94b7ec146937e83f98d411157974ffa32", - "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + "r2fb5f9cb": { + "rev": "2fb5f9cb8feec2234952f6999af941ac48555710", + "hash": "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8=" }, - "r45db24b3": { - "rev": "45db24b36a030ec54464ea7a26c362f3c82305ee", - "hash": "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0=" + "rba62c812": { + "rev": "ba62c812f01fb379f49f94a08a2d1282ce46e678", + "hash": "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU=" }, - "r45b24641": { - "rev": "45b2464158379f48cec6e35a1ef503ddea1511a6", - "hash": "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY=" + "rc798e3a5": { + "rev": "c798e3a54912a1bfbf1c846630e2bb86e9b543a7", + "hash": "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig=" }, - "r2fcdd11f": { - "rev": "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8", - "hash": "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA=" + "r58745d61": { + "rev": "58745d61afe244a37941d391f5dec3ab08f5cf2c", + "hash": "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ=" }, - "r6c98ebeb": { - "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", - "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" + "r29c9e64c": { + "rev": "29c9e64ce548ff8278e9d98aa53f611f115c2bed", + "hash": "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4=" }, - "rd1e6d3b4": { - "rev": "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07", - "hash": "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo=" + "rde6ba216": { + "rev": "de6ba216656b819d4d8de7602006561f82a8c669", + "hash": "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4=" }, - "r84dc9bb6": { - "rev": "84dc9bb624b47bda0bf802ae9e04a6eecb40865c", - "hash": "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo=" + "r68c29a24": { + "rev": "68c29a24ee6c9c70ecce56766ca70b115aad768f", + "hash": "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo=" }, - "r67422ed4": { - "rev": "67422ed4434116daa8898773692165ddd51a6ac2", - "hash": "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc=" + "rbfcab2aa": { + "rev": "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f", + "hash": "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY=" }, - "rc6c0b650": { - "rev": "c6c0b650091e90e6206a361c14a73223f54d42c1", - "hash": "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg=" + "rd7278ceb": { + "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", + "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" }, - "r66d274df": { - "rev": "66d274dfbab9e4f84599f06504987c418ca087d9", - "hash": "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0=" + "r9f7f4d03": { + "rev": "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d", + "hash": "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw=" }, - "re1d209d4": { - "rev": "e1d209d4432846d28c31d84f269f4edcb9a63509", - "hash": "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg=" + "r273a920f": { + "rev": "273a920f84e8b0b258737cea0f2f24627e8c5ed9", + "hash": "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ=" }, - "r9cac8a6b": { - "rev": "9cac8a6b38c1cbd45c77aee108411d588da006fe", - "hash": "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs=" + "r03982b4c": { + "rev": "03982b4cfadca0e650b384c9539b2fdb5f8aa012", + "hash": "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg=" }, - "r11acdc6a": { - "rev": "11acdc6abf13cc8139c30ac9455840a347793110", - "hash": "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y=" + "r13aa2733": { + "rev": "13aa27338663c62600249ece54c94f180d57bbb7", + "hash": "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds=" }, - "r962432c6": { - "rev": "962432c687f67f8df1aa6e3dd364fbc88fea4ed8", - "hash": "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ=" + "re95b0cad": { + "rev": "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94", + "hash": "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw=" }, - "ra220a602": { - "rev": "a220a6024f66c123019b5c080f6bd8bcaf75448c", - "hash": "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0=" + "rafd52e91": { + "rev": "afd52e91dfed27ab7193be040f067900947b14ac", + "hash": "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo=" }, - "ra6c42d68": { - "rev": "a6c42d6810ea5317fe8ed85704c097cd8f3513ca", - "hash": "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ=" + "re09fcf83": { + "rev": "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e", + "hash": "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE=" }, - "r56fb43a2": { - "rev": "56fb43a204e57af68e00f4561c108a7004381aa3", - "hash": "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY=" + "r5326e94d": { + "rev": "5326e94dd188beba0a5e536b1d2723aee65bd85d", + "hash": "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0=" }, - "r29223ac3": { - "rev": "29223ac349c144a4d0babc281644c0410dd1e313", - "hash": "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ=" + "r4a7815c9": { + "rev": "4a7815c94077eebb3546fc287d1fa0e1356a2cd0", + "hash": "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8=" }, - "re2a801f6": { - "rev": "e2a801f688dbdfac8fde90b849b1bf75f80b466c", - "hash": "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs=" + "red3f05a6": { + "rev": "ed3f05a6794adfd39937d0027afefad8f6afcae9", + "hash": "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc=" }, - "r39dd1e3c": { - "rev": "39dd1e3c904341ac14da80224d72a77d95501ad4", - "hash": "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4=" + "r9540c045": { + "rev": "9540c0452343e684f94515288880b6b35655f792", + "hash": "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk=" }, - "r1385dbd5": { - "rev": "1385dbd51dc2eeba39076687a6c9e45c7dc8965c", - "hash": "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk=" + "r261579f0": { + "rev": "261579f08b2f8aa7959670df1e928c1c305a632c", + "hash": "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg=" }, - "r2bc9245e": { - "rev": "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a", - "hash": "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM=" + "r1eda2363": { + "rev": "1eda2363f9e79aaa5febe91d31b6756ae4f24f30", + "hash": "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g=" }, - "ra055b938": { - "rev": "a055b93845a1b2a910919e21920e4bd1ce900841", - "hash": "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI=" + "rc8100f0f": { + "rev": "c8100f0f0d05c5185d58113e12a867ae0771a6c9", + "hash": "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q=" }, - "rdec5989b": { - "rev": "dec5989b793c56ad4dd32173bd2d8595ca78b398", - "hash": "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI=" + "r25cf1bb9": { + "rev": "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016", + "hash": "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk=" }, - "rc1d9ac02": { - "rev": "c1d9ac02514a138129872a036e3f8a1074dcb8bd", - "hash": "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8=" + "ra11277e1": { + "rev": "a11277e187e407d0ef403b8a60d9a32eaab7d301", + "hash": "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo=" }, - "re1a860c3": { - "rev": "e1a860c3745c77cb83228dde1b73fa62eaf43930", - "hash": "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs=" + "re491eeb6": { + "rev": "e491eeb610fcc69b98bc6d1ba08faf78655808f6", + "hash": "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U=" }, "rfb1c75ca": { "rev": "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549", "hash": "sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI=" }, - "re491eeb6": { - "rev": "e491eeb610fcc69b98bc6d1ba08faf78655808f6", - "hash": "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U=" - }, - "ra11277e1": { - "rev": "a11277e187e407d0ef403b8a60d9a32eaab7d301", - "hash": "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo=" + "re1a860c3": { + "rev": "e1a860c3745c77cb83228dde1b73fa62eaf43930", + "hash": "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs=" }, - "r25cf1bb9": { - "rev": "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016", - "hash": "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk=" + "rc1d9ac02": { + "rev": "c1d9ac02514a138129872a036e3f8a1074dcb8bd", + "hash": "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8=" }, - "rc8100f0f": { - "rev": "c8100f0f0d05c5185d58113e12a867ae0771a6c9", - "hash": "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q=" + "rdec5989b": { + "rev": "dec5989b793c56ad4dd32173bd2d8595ca78b398", + "hash": "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI=" }, - "r1eda2363": { - "rev": "1eda2363f9e79aaa5febe91d31b6756ae4f24f30", - "hash": "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g=" + "ra055b938": { + "rev": "a055b93845a1b2a910919e21920e4bd1ce900841", + "hash": "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI=" }, - "r261579f0": { - "rev": "261579f08b2f8aa7959670df1e928c1c305a632c", - "hash": "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg=" + "r2bc9245e": { + "rev": "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a", + "hash": "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM=" }, - "r9540c045": { - "rev": "9540c0452343e684f94515288880b6b35655f792", - "hash": "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk=" + "r1385dbd5": { + "rev": "1385dbd51dc2eeba39076687a6c9e45c7dc8965c", + "hash": "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk=" }, - "red3f05a6": { - "rev": "ed3f05a6794adfd39937d0027afefad8f6afcae9", - "hash": "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc=" + "r39dd1e3c": { + "rev": "39dd1e3c904341ac14da80224d72a77d95501ad4", + "hash": "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4=" }, - "r4a7815c9": { - "rev": "4a7815c94077eebb3546fc287d1fa0e1356a2cd0", - "hash": "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8=" + "re2a801f6": { + "rev": "e2a801f688dbdfac8fde90b849b1bf75f80b466c", + "hash": "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs=" }, - "r5326e94d": { - "rev": "5326e94dd188beba0a5e536b1d2723aee65bd85d", - "hash": "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0=" + "r29223ac3": { + "rev": "29223ac349c144a4d0babc281644c0410dd1e313", + "hash": "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ=" }, - "re09fcf83": { - "rev": "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e", - "hash": "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE=" + "r56fb43a2": { + "rev": "56fb43a204e57af68e00f4561c108a7004381aa3", + "hash": "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY=" }, - "rafd52e91": { - "rev": "afd52e91dfed27ab7193be040f067900947b14ac", - "hash": "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo=" + "ra6c42d68": { + "rev": "a6c42d6810ea5317fe8ed85704c097cd8f3513ca", + "hash": "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ=" }, - "re95b0cad": { - "rev": "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94", - "hash": "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw=" + "ra220a602": { + "rev": "a220a6024f66c123019b5c080f6bd8bcaf75448c", + "hash": "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0=" }, - "r13aa2733": { - "rev": "13aa27338663c62600249ece54c94f180d57bbb7", - "hash": "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds=" + "r962432c6": { + "rev": "962432c687f67f8df1aa6e3dd364fbc88fea4ed8", + "hash": "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ=" }, - "r03982b4c": { - "rev": "03982b4cfadca0e650b384c9539b2fdb5f8aa012", - "hash": "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg=" + "r11acdc6a": { + "rev": "11acdc6abf13cc8139c30ac9455840a347793110", + "hash": "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y=" }, - "r273a920f": { - "rev": "273a920f84e8b0b258737cea0f2f24627e8c5ed9", - "hash": "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ=" + "r9cac8a6b": { + "rev": "9cac8a6b38c1cbd45c77aee108411d588da006fe", + "hash": "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs=" }, - "r9f7f4d03": { - "rev": "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d", - "hash": "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw=" + "re1d209d4": { + "rev": "e1d209d4432846d28c31d84f269f4edcb9a63509", + "hash": "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg=" }, - "rd7278ceb": { - "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", - "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" + "r66d274df": { + "rev": "66d274dfbab9e4f84599f06504987c418ca087d9", + "hash": "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0=" }, - "rbfcab2aa": { - "rev": "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f", - "hash": "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY=" + "rc6c0b650": { + "rev": "c6c0b650091e90e6206a361c14a73223f54d42c1", + "hash": "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg=" }, - "r68c29a24": { - "rev": "68c29a24ee6c9c70ecce56766ca70b115aad768f", - "hash": "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo=" + "r67422ed4": { + "rev": "67422ed4434116daa8898773692165ddd51a6ac2", + "hash": "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc=" }, - "rde6ba216": { - "rev": "de6ba216656b819d4d8de7602006561f82a8c669", - "hash": "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4=" + "r84dc9bb6": { + "rev": "84dc9bb624b47bda0bf802ae9e04a6eecb40865c", + "hash": "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo=" }, - "r29c9e64c": { - "rev": "29c9e64ce548ff8278e9d98aa53f611f115c2bed", - "hash": "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4=" + "rd1e6d3b4": { + "rev": "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07", + "hash": "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo=" }, - "r58745d61": { - "rev": "58745d61afe244a37941d391f5dec3ab08f5cf2c", - "hash": "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ=" + "r6c98ebeb": { + "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", + "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" }, - "rc798e3a5": { - "rev": "c798e3a54912a1bfbf1c846630e2bb86e9b543a7", - "hash": "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig=" + "r2fcdd11f": { + "rev": "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8", + "hash": "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA=" }, - "rba62c812": { - "rev": "ba62c812f01fb379f49f94a08a2d1282ce46e678", - "hash": "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU=" + "r45b24641": { + "rev": "45b2464158379f48cec6e35a1ef503ddea1511a6", + "hash": "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY=" }, - "r2fb5f9cb": { - "rev": "2fb5f9cb8feec2234952f6999af941ac48555710", - "hash": "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8=" + "r45db24b3": { + "rev": "45db24b36a030ec54464ea7a26c362f3c82305ee", + "hash": "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0=" }, - "rd477c0d7": { - "rev": "d477c0d7c40ddca3a64ae26fc02d2dac175836d3", - "hash": "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag=" + "r7811fdc9": { + "rev": "7811fdc94b7ec146937e83f98d411157974ffa32", + "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" }, - "rc7019036": { - "rev": "c70190368c7040c37c1d655f0690bcde2b109a0d", - "hash": "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE=" + "r26468aea": { + "rev": "26468aea6483135b156fb03a5693c495dbad2e0f", + "hash": "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE=" }, - "r7662e58e": { - "rev": "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2", - "hash": "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4=" + "rf01108e4": { + "rev": "f01108e4761e1d4189cb134322c3cb01dc71ef87", + "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" }, - "r0355048c": { - "rev": "0355048ce0302fdeb4744dae4b8a156a38496150", - "hash": "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY=" + "rca2eba6a": { + "rev": "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa", + "hash": "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8=" }, - "r3a01cba9": { - "rev": "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee", - "hash": "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk=" + "r12f0f4be": { + "rev": "12f0f4bec2a6db53a53748dd6001d1aacaae26ba", + "hash": "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw=" }, - "r07f27b1d": { - "rev": "07f27b1d445a27433f2c871935da2cefcfbdb458", - "hash": "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A=" + "r7c2b62e9": { + "rev": "7c2b62e93487b772990fddc1905f22d4cfaee4a4", + "hash": "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4=" }, - "rfc953df2": { - "rev": "fc953df2352e1c1bcb34cb5f75a0e409014c1690", - "hash": "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU=" + "r8934b1ef": { + "rev": "8934b1ef0857bc08626a2206a6f5f718942c14fc", + "hash": "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0=" }, - "r1a9edc3e": { - "rev": "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba", - "hash": "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI=" + "r77ef86d0": { + "rev": "77ef86d0431ec3ceea503b0c59888942fd35b035", + "hash": "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M=" }, - "rb8912d71": { - "rev": "b8912d713cb82a748bbe63f28f28b17632c70964", - "hash": "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc=" + "rb34976ca": { + "rev": "b34976cae99f8d1b864dbab31e20fc00d06acb09", + "hash": "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo=" }, - "rb6bca9c6": { - "rev": "b6bca9c6dde177f641137d2991aa677997c54c67", - "hash": "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI=" + "rd274b1ba": { + "rev": "d274b1bacdca36f3941bf78e43dc38acf676a1a8", + "hash": "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk=" }, - "r03d1b7c5": { - "rev": "03d1b7c544851d9f44df1e9ff21839742e08c819", - "hash": "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA=" + "r096ded9f": { + "rev": "096ded9f097b73a15956b04cd168c7cfe7e28f52", + "hash": "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo=" }, - "r6b36ad2b": { - "rev": "6b36ad2bd6001f17a997b7a1e0ab254b001438ef", - "hash": "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY=" + "r9b3ef1b3": { + "rev": "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3", + "hash": "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE=" }, - "r1d24e04c": { - "rev": "1d24e04c7143171ae2010c842e3e1438510fd1c0", - "hash": "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc=" + "r82f9853f": { + "rev": "82f9853fc7d7360ae44f1e1357a6422c5244bbd8", + "hash": "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY=" }, - "r8a0da669": { - "rev": "8a0da669a08b6c6b805fd7ec9d1e67694fda3711", - "hash": "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc=" + "r9cffd74f": { + "rev": "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e", + "hash": "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4=" }, - "r4d50a595": { - "rev": "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2", - "hash": "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA=" + "r7a6e828d": { + "rev": "7a6e828dc53ba9a56bd49915f2a0780d63af97d2", + "hash": "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk=" }, - "rd34f540e": { - "rev": "d34f540e57394de22a1599c3c5d852519d388d6c", - "hash": "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0=" + "re23fe9b6": { + "rev": "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6", + "hash": "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ=" }, - "re7d76da9": { - "rev": "e7d76da920a1bd79b6ebc77e75b407cdf0a58962", - "hash": "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0=" + "r14a2f35b": { + "rev": "14a2f35b6e06756902eaa7e188a25895721055fc", + "hash": "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw=" }, - "r3efe2eb9": { - "rev": "3efe2eb9e3dfb49cb110c53e3430caeae4599f52", - "hash": "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I=" + "r1e8c35af": { + "rev": "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74", + "hash": "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI=" }, - "r35a91094": { - "rev": "35a910949d684aea8b86a8c42db76c4f43e31a96", - "hash": "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw=" + "r5af122c3": { + "rev": "5af122c3dfc163b5d1859f1f450756e8e320a142", + "hash": "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk=" }, - "r8e6aa7f3": { - "rev": "8e6aa7f39f4357a6ad15944884f72db8d25b9dff", - "hash": "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M=" + "r1b40d99d": { + "rev": "1b40d99d6a90d0039e9021adde5ad4de743cf0ad", + "hash": "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg=" + }, + "rb7f5443c": { + "rev": "b7f5443cfc1298d77dfb9e6f2eea68035de521a4", + "hash": "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po=" }, - "r7c44f450": { - "rev": "7c44f450547cc777229462c2ac864a9326c0106c", - "hash": "sha256-snkPY4R9RKdCI0yUS3ICn4CHyXE9DKaYaHAggD2UAOk=" + "rcee4fe2b": { + "rev": "cee4fe2b78cfd2db8b4429b4fefd9831d3e63c04", + "hash": "sha256-4lTjjalDTNeotXLKPb+c3M+d4OFMEcd93nQwPMmxLJs=" }, - "r6ab7c148": { - "rev": "6ab7c1482bf4cdc91c87bc512aaf68ffb18975ec", - "hash": "sha256-+5ICkcKZRXCSC/y5d5Oo9WtcgdfkLZL/goGXE6V/9hE=" + "r709ba6ee": { + "rev": "709ba6eef8544cb806350a8e1ef0816aece45a10", + "hash": "sha256-7sjgHby3m6pkEXgSx5ksOv2ZDN4xe1CDtpAC2bf3kRs=" }, - "rb17231cd": { - "rev": "b17231cdb9ec4e877b470c57d3280d9195811cd9", - "hash": "sha256-5G/wh35qlfGi6vHEj51QFyIryzKeTiGthfTe7tCWK8s=" + "rfe17d192": { + "rev": "fe17d192e67b6bdc5483bf2af09311206ace2d36", + "hash": "sha256-zsr8C56+cuI3ALRzW5fy2Qc2DMHkhgscCwZO13bMqfk=" }, - "r3e89a7e8": { - "rev": "3e89a7e8db8139db356b892ca9993172346c80cf", - "hash": "sha256-VsTll0A8FfNbObOnoFLah4BMuCzlLNbqOEgSbppQo7k=" + "r369fe288": { + "rev": "369fe288e29ce8b2b39fccfc08441bdd7100a28a", + "hash": "sha256-AtSM2HkyqcEG0eaOsweqBlVFcyo+l+jVfpzdcQLmCVE=" }, - "r8de798be": { - "rev": "8de798be4b850cf88ad2c50602abe2ca3bb285df", - "hash": "sha256-pQ8BTRMOjxLu8UoyTH23wYwy2pC29yZoCyl1c+94hyM=" + "r6ee4f9de": { + "rev": "6ee4f9de0016ad83223e7b5f1f18b968e6258189", + "hash": "sha256-2M7wfnwnzLd4z0JsmDylkd11fpWRid9/QmQ9vy5oqOs=" }, - "rd2e3212d": { - "rev": "d2e3212de29bac1ceed33ca8ab8bbff3f41a2459", - "hash": "sha256-HRa+IdVwchzjJh1Unx8wmu++eiFtY7ctdmwgjJqkx9Y=" + "raaf59e8d": { + "rev": "aaf59e8d8d17308442d9211e670c7f9718362ceb", + "hash": "sha256-yZVXN5Ws4rmZu7gZffPsZ04rKwy0l8FTcm/eGU4imhg=" }, - "r783ae722": { - "rev": "783ae722ed307a3b3782cd253fd4ffb387f38767", - "hash": "sha256-bdhCbLFmXOl07F/yjeYpnoM41F7EkaWDRG45cNOSnVo=" + "r11f33412": { + "rev": "11f334121fd0d13830fefdf08041183da2d30ef3", + "hash": "sha256-mZ/MqMjDBVKzY69Fjl2KGcmK328ls+nSdjqsvuA0TSI=" } -} +} \ No newline at end of file diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json index 81bc0aaf..cd092092 100644 --- a/nix/botan_pkg_versions.json +++ b/nix/botan_pkg_versions.json @@ -1,162 +1,197 @@ { - "v200": { - "version": "2.0.0", - "source_extension": "tgz", - "hash": "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo=" + "v350": { + "version": "3.5.0", + "source_extension": "tar.xz", + "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8=" }, - "v201": { - "version": "2.0.1", - "source_extension": "tgz", - "hash": "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs=" + "v340": { + "version": "3.4.0", + "source_extension": "tar.xz", + "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc=" }, - "v210": { - "version": "2.1.0", - "source_extension": "tgz", - "hash": "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ=" + "v330": { + "version": "3.3.0", + "source_extension": "tar.xz", + "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk=" }, - "v2100": { - "version": "2.10.0", - "source_extension": "tgz", - "hash": "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE=" + "v320": { + "version": "3.2.0", + "source_extension": "tar.xz", + "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=" }, - "v2110": { - "version": "2.11.0", + "v311": { + "version": "3.1.1", "source_extension": "tar.xz", - "hash": "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4=" + "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms=" }, - "v2120": { - "version": "2.12.0", + "v310": { + "version": "3.1.0", "source_extension": "tar.xz", - "hash": "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM=" + "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4=" }, - "v2121": { - "version": "2.12.1", + "v300": { + "version": "3.0.0", "source_extension": "tar.xz", - "hash": "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk=" + "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc=" }, - "v2130": { - "version": "2.13.0", + "v2195": { + "version": "2.19.5", "source_extension": "tar.xz", - "hash": "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA=" + "hash": "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ=" }, - "v2140": { - "version": "2.14.0", + "v2194": { + "version": "2.19.4", "source_extension": "tar.xz", - "hash": "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU=" + "hash": "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY=" }, - "v2150": { - "version": "2.15.0", + "v2193": { + "version": "2.19.3", "source_extension": "tar.xz", - "hash": "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk=" + "hash": "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=" }, - "v2160": { - "version": "2.16.0", + "v2192": { + "version": "2.19.2", "source_extension": "tar.xz", - "hash": "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig=" + "hash": "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU=" }, - "v2170": { - "version": "2.17.0", + "v2191": { + "version": "2.19.1", "source_extension": "tar.xz", - "hash": "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M=" + "hash": "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA=" }, - "v2171": { - "version": "2.17.1", + "v2190": { + "version": "2.19.0", "source_extension": "tar.xz", - "hash": "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME=" + "hash": "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs=" }, - "v2172": { - "version": "2.17.2", + "v2182": { + "version": "2.18.2", "source_extension": "tar.xz", - "hash": "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw=" + "hash": "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4=" }, - "v2173": { - "version": "2.17.3", + "v2181": { + "version": "2.18.1", "source_extension": "tar.xz", - "hash": "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g=" + "hash": "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik=" }, "v2180": { "version": "2.18.0", "source_extension": "tar.xz", "hash": "sha256-zGSFLh4MW7MOzQUuShLVE2ElqM5cO+LvtvsGHIZ34yc=" }, - "v2181": { - "version": "2.18.1", + "v2173": { + "version": "2.17.3", "source_extension": "tar.xz", - "hash": "sha256-+Me0YiKoVxaKdUpcwym7eAUEEisnABjdpTBMmNsorik=" + "hash": "sha256-eRI7ZURFpKu6SG4JpDF4hUXHCCNzgqPnZWZMn1WwO4g=" }, - "v2182": { - "version": "2.18.2", + "v2172": { + "version": "2.17.2", "source_extension": "tar.xz", - "hash": "sha256-VBo7E/G50w+XfGwa5Me/39p2PNpuRN6Ac2nc559CMH4=" + "hash": "sha256-6+J9/itV1+Ar9SDpJmBsSLdrIvrLSDJWsTqzjgGOHmw=" }, - "v2190": { - "version": "2.19.0", + "v2171": { + "version": "2.17.1", "source_extension": "tar.xz", - "hash": "sha256-JA2eVuasuR70zwaoocbA8QHGHUDPSMzPE5+u+CHXBAs=" + "hash": "sha256-dBNYs/FjjtfZsvWbTjRKpG9JZrFZWLVDTArBWA3wwME=" }, - "v2191": { - "version": "2.19.1", + "v2170": { + "version": "2.17.0", "source_extension": "tar.xz", - "hash": "sha256-4m4Az+/aZAgq/dVA08U3kk9kXWpnSv7SzRcQBd7/VWA=" + "hash": "sha256-uXBEsxKqcYNJr3hRMxsGS8e9U1JADV+AeTus5CfQE0M=" }, - "v2192": { - "version": "2.19.2", + "v2160": { + "version": "2.16.0", "source_extension": "tar.xz", - "hash": "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU=" + "hash": "sha256-ku1uvJGNhr0bBCIcpRivTPKcwybEdgdAvS0i5hzqJig=" }, - "v2193": { - "version": "2.19.3", + "v2150": { + "version": "2.15.0", "source_extension": "tar.xz", - "hash": "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=" + "hash": "sha256-2IrxMH8f76x5qk8vUkaZR41pzhWoV88tCpCsa/KlAAk=" }, - "v2194": { - "version": "2.19.4", + "v2140": { + "version": "2.14.0", "source_extension": "tar.xz", - "hash": "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY=" + "hash": "sha256-DBDxK0JKQO4ZveACkgmOIB10mFNcBi2NW1htB4YaVLU=" }, - "v2195": { - "version": "2.19.5", + "v2130": { + "version": "2.13.0", "source_extension": "tar.xz", - "hash": "sha256-3+6g4KbybWckxK8B2pp7iEh62y2Bunxy/K9S21IsmtQ=" + "hash": "sha256-9XrkKkHhCRvKWPRPQa3evZo5C2UWA5UsiB7InVAYfpA=" }, - "v220": { - "version": "2.2.0", + "v2121": { + "version": "2.12.1", + "source_extension": "tar.xz", + "hash": "sha256-fgNfFCpR/KE1lwV5JieigkVtSXSb9io3qOSDddQbqqk=" + }, + "v2120": { + "version": "2.12.0", + "source_extension": "tar.xz", + "hash": "sha256-Hq79RZ1S8n3hgFz/jGh5LgYQkZZI7pjhAZgOlO25CmM=" + }, + "v2110": { + "version": "2.11.0", + "source_extension": "tar.xz", + "hash": "sha256-94dNoq64wBj9d99AshN4eb+Qtm9ViUkMmR6D+z6AlL4=" + }, + "v2100": { + "version": "2.10.0", "source_extension": "tgz", - "hash": "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ=" + "hash": "sha256-iEgZl1eMJ5JHJP6nZhDUPZ9ZyZ7f5WHUGAO7yYhxrTE=" }, - "v230": { - "version": "2.3.0", + "v290": { + "version": "2.9.0", "source_extension": "tgz", - "hash": "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw=" + "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk=" }, - "v240": { - "version": "2.4.0", + "v280": { + "version": "2.8.0", "source_extension": "tgz", - "hash": "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU=" + "hash": "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA=" }, - "v250": { - "version": "2.5.0", + "v270": { + "version": "2.7.0", "source_extension": "tgz", - "hash": "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs=" + "hash": "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA=" }, "v260": { "version": "2.6.0", "source_extension": "tgz", "hash": "sha256-wfJhVVu6cCxzYI3ee9dD7y1jd6QaHClZFbJcW6uvXMU=" }, - "v270": { - "version": "2.7.0", + "v250": { + "version": "2.5.0", "source_extension": "tgz", - "hash": "sha256-5C35FVYxdYjGyg5Bv3lvm9XsXHDgZo5sl8YIxpfCSpA=" + "hash": "sha256-uKMf4D5/BIpb05Z+zQS2pIlmIV54eS3wbjM7Du3k+xs=" }, - "v280": { - "version": "2.8.0", + "v240": { + "version": "2.4.0", "source_extension": "tgz", - "hash": "sha256-5xWbEn6R4MFYJF1hxjjFDUQ+x7RAtrAWEyjEezq6OWA=" + "hash": "sha256-7ZRk4qXP7kzT2b16j4BnO0XIoHGNshgac/VGWmBmCKU=" }, - "v290": { - "version": "2.9.0", + "v230": { + "version": "2.3.0", "source_extension": "tgz", - "hash": "sha256-MFVkNSM03WOuY9sDkHfZauUt+lejJIhxCBcZtqny0Rk=" + "hash": "sha256-Oflw/uWYakw+QlAwrvUKwoTaGFlsAE0anM52iMTm1Hw=" + }, + "v220": { + "version": "2.2.0", + "source_extension": "tgz", + "hash": "sha256-x5TbLsRvb/iPN652gl8MJY8HiAuGW2cHsmrPzEVnuCQ=" + }, + "v210": { + "version": "2.1.0", + "source_extension": "tgz", + "hash": "sha256-Rg8tcgWu0RP4mN9JR7H2bM+NCA7sfawinvC3VMmtYpQ=" + }, + "v201": { + "version": "2.0.1", + "source_extension": "tgz", + "hash": "sha256-oTjtMW0RRQqEBUUbnJZkuOZAqbethNPzrTToBx82Tgs=" + }, + "v200": { + "version": "2.0.0", + "source_extension": "tgz", + "hash": "sha256-AxZZzKD4CGnp2XogkX7b4hZM7bwHnoxT4Oe9m+oVNxo=" } -} +} \ No newline at end of file diff --git a/nix/cryptopp_pkg_versions.json b/nix/cryptopp_pkg_versions.json index 7920f27b..d6e409bf 100644 --- a/nix/cryptopp_pkg_versions.json +++ b/nix/cryptopp_pkg_versions.json @@ -63,4 +63,4 @@ "version": "5_6_3", "hash": "sha256-FDskGxaeACp7x3ZbgYXDr6PpFcPO0d6SEKVsOLIXbN0=" } -} +} \ No newline at end of file diff --git a/nix/gcrypt_pkg_versions.json b/nix/gcrypt_pkg_versions.json index 711cfd2e..c17dbe62 100644 --- a/nix/gcrypt_pkg_versions.json +++ b/nix/gcrypt_pkg_versions.json @@ -231,4 +231,4 @@ "version": "1.2.1", "hash": "sha256-E3hqJqQgH8CfiPqiSDDRYxnJKrKPlJIcKu8JDq8Xp7I=" } -} +} \ No newline at end of file diff --git a/nix/ippcp_pkg_versions.json b/nix/ippcp_pkg_versions.json index ff1424ab..d234dbba 100644 --- a/nix/ippcp_pkg_versions.json +++ b/nix/ippcp_pkg_versions.json @@ -95,4 +95,4 @@ "version": "2019b", "hash": "sha256-5zoY/nad8tQosX8EBxrebbupkFRRbWB8vf33xNAKTH8=" } -} +} \ No newline at end of file diff --git a/nix/libressl_pkg_versions.json b/nix/libressl_pkg_versions.json index efe80ca4..cf17e5eb 100644 --- a/nix/libressl_pkg_versions.json +++ b/nix/libressl_pkg_versions.json @@ -1,478 +1,478 @@ { - "v200": { - "version": "2.0.0", - "hash": "sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s=" + "v392": { + "version": "3.9.2", + "hash": "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=" }, - "v201": { - "version": "2.0.1", - "hash": "sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro=" + "v391": { + "version": "3.9.1", + "hash": "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE=" }, - "v202": { - "version": "2.0.2", - "hash": "sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys=" + "v390": { + "version": "3.9.0", + "hash": "sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA=" }, - "v203": { - "version": "2.0.3", - "hash": "sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ=" + "v384": { + "version": "3.8.4", + "hash": "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0=" }, - "v204": { - "version": "2.0.4", - "hash": "sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw=" + "v383": { + "version": "3.8.3", + "hash": "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI=" }, - "v205": { - "version": "2.0.5", - "hash": "sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo=" + "v382": { + "version": "3.8.2", + "hash": "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ=" }, - "v206": { - "version": "2.0.6", - "hash": "sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y=" + "v381": { + "version": "3.8.1", + "hash": "sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I=" }, - "v210": { - "version": "2.1.0", - "hash": "sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w=" + "v380": { + "version": "3.8.0", + "hash": "sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw=" }, - "v211": { - "version": "2.1.1", - "hash": "sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc=" + "v373": { + "version": "3.7.3", + "hash": "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM=" }, - "v2110": { - "version": "2.1.10", - "hash": "sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE=" + "v372": { + "version": "3.7.2", + "hash": "sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc=" }, - "v212": { - "version": "2.1.2", - "hash": "sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I=" + "v371": { + "version": "3.7.1", + "hash": "sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0=" }, - "v213": { - "version": "2.1.3", - "hash": "sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w=" + "v370": { + "version": "3.7.0", + "hash": "sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY=" }, - "v214": { - "version": "2.1.4", - "hash": "sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4=" + "v363": { + "version": "3.6.3", + "hash": "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc=" }, - "v215": { - "version": "2.1.5", - "hash": "sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s=" + "v362": { + "version": "3.6.2", + "hash": "sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM=" }, - "v216": { - "version": "2.1.6", - "hash": "sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g=" + "v361": { + "version": "3.6.1", + "hash": "sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q=" }, - "v217": { - "version": "2.1.7", - "hash": "sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248=" + "v360": { + "version": "3.6.0", + "hash": "sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ=" }, - "v218": { - "version": "2.1.8", - "hash": "sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM=" + "v354": { + "version": "3.5.4", + "hash": "sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w=" }, - "v219": { - "version": "2.1.9", - "hash": "sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654=" + "v353": { + "version": "3.5.3", + "hash": "sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg=" }, - "v220": { - "version": "2.2.0", - "hash": "sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA=" + "v352": { + "version": "3.5.2", + "hash": "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8=" }, - "v221": { - "version": "2.2.1", - "hash": "sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0=" + "v351": { + "version": "3.5.1", + "hash": "sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg=" }, - "v222": { - "version": "2.2.2", - "hash": "sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ=" + "v350": { + "version": "3.5.0", + "hash": "sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c=" }, - "v223": { - "version": "2.2.3", - "hash": "sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II=" + "v343": { + "version": "3.4.3", + "hash": "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0=" }, - "v224": { - "version": "2.2.4", - "hash": "sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4=" + "v342": { + "version": "3.4.2", + "hash": "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84=" }, - "v225": { - "version": "2.2.5", - "hash": "sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs=" + "v341": { + "version": "3.4.1", + "hash": "sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw=" }, - "v226": { - "version": "2.2.6", - "hash": "sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8=" + "v340": { + "version": "3.4.0", + "hash": "sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI=" }, - "v227": { - "version": "2.2.7", - "hash": "sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80=" + "v336": { + "version": "3.3.6", + "hash": "sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o=" }, - "v228": { - "version": "2.2.8", - "hash": "sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws=" + "v335": { + "version": "3.3.5", + "hash": "sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU=" }, - "v229": { - "version": "2.2.9", - "hash": "sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ=" + "v334": { + "version": "3.3.4", + "hash": "sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE=" }, - "v230": { - "version": "2.3.0", - "hash": "sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA=" + "v333": { + "version": "3.3.3", + "hash": "sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY=" }, - "v231": { - "version": "2.3.1", - "hash": "sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4=" + "v332": { + "version": "3.3.2", + "hash": "sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ=" }, - "v2310": { - "version": "2.3.10", - "hash": "sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM=" + "v331": { + "version": "3.3.1", + "hash": "sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s=" }, - "v232": { - "version": "2.3.2", - "hash": "sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo=" + "v330": { + "version": "3.3.0", + "hash": "sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY=" }, - "v233": { - "version": "2.3.3", - "hash": "sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk=" + "v327": { + "version": "3.2.7", + "hash": "sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q=" }, - "v234": { - "version": "2.3.4", - "hash": "sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk=" + "v326": { + "version": "3.2.6", + "hash": "sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls=" }, - "v235": { - "version": "2.3.5", - "hash": "sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs=" + "v325": { + "version": "3.2.5", + "hash": "sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4=" }, - "v236": { - "version": "2.3.6", - "hash": "sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o=" + "v324": { + "version": "3.2.4", + "hash": "sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo=" }, - "v237": { - "version": "2.3.7", - "hash": "sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA=" + "v323": { + "version": "3.2.3", + "hash": "sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM=" }, - "v238": { - "version": "2.3.8", - "hash": "sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I=" + "v322": { + "version": "3.2.2", + "hash": "sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E=" }, - "v239": { - "version": "2.3.9", - "hash": "sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw=" + "v321": { + "version": "3.2.1", + "hash": "sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU=" }, - "v240": { - "version": "2.4.0", - "hash": "sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4=" + "v320": { + "version": "3.2.0", + "hash": "sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU=" }, - "v241": { - "version": "2.4.1", - "hash": "sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc=" + "v315": { + "version": "3.1.5", + "hash": "sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ=" }, - "v242": { - "version": "2.4.2", - "hash": "sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM=" + "v314": { + "version": "3.1.4", + "hash": "sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y=" }, - "v243": { - "version": "2.4.3", - "hash": "sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4=" + "v313": { + "version": "3.1.3", + "hash": "sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A=" }, - "v244": { - "version": "2.4.4", - "hash": "sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E=" + "v312": { + "version": "3.1.2", + "hash": "sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI=" }, - "v245": { - "version": "2.4.5", - "hash": "sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c=" + "v311": { + "version": "3.1.1", + "hash": "sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA=" }, - "v250": { - "version": "2.5.0", - "hash": "sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4=" + "v310": { + "version": "3.1.0", + "hash": "sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY=" }, - "v251": { - "version": "2.5.1", - "hash": "sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80=" + "v302": { + "version": "3.0.2", + "hash": "sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4=" }, - "v252": { - "version": "2.5.2", - "hash": "sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII=" + "v301": { + "version": "3.0.1", + "hash": "sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s=" }, - "v253": { - "version": "2.5.3", - "hash": "sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA=" + "v300": { + "version": "3.0.0", + "hash": "sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY=" }, - "v254": { - "version": "2.5.4", - "hash": "sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo=" + "v292": { + "version": "2.9.2", + "hash": "sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ=" }, - "v255": { - "version": "2.5.5", - "hash": "sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q=" + "v291": { + "version": "2.9.1", + "hash": "sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg=" }, - "v260": { - "version": "2.6.0", - "hash": "sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM=" + "v290": { + "version": "2.9.0", + "hash": "sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ=" }, - "v261": { - "version": "2.6.1", - "hash": "sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4=" + "v283": { + "version": "2.8.3", + "hash": "sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc=" }, - "v262": { - "version": "2.6.2", - "hash": "sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg=" + "v282": { + "version": "2.8.2", + "hash": "sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U=" }, - "v263": { - "version": "2.6.3", - "hash": "sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg=" + "v281": { + "version": "2.8.1", + "hash": "sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I=" }, - "v264": { - "version": "2.6.4", - "hash": "sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8=" + "v280": { + "version": "2.8.0", + "hash": "sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM=" }, - "v265": { - "version": "2.6.5", - "hash": "sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So=" + "v275": { + "version": "2.7.5", + "hash": "sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA=" }, - "v270": { - "version": "2.7.0", - "hash": "sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4=" + "v274": { + "version": "2.7.4", + "hash": "sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY=" }, - "v271": { - "version": "2.7.1", - "hash": "sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA=" + "v273": { + "version": "2.7.3", + "hash": "sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U=" }, "v272": { "version": "2.7.2", "hash": "sha256-kXqHecNCF3/zdRor+VXQJi0diRaktAiTDEXO8yZwCZU=" }, - "v273": { - "version": "2.7.3", - "hash": "sha256-FscNj+Hebpvt6g1ngEtV84lHF2k6Be1F4V4OL5OcJ5U=" - }, - "v274": { - "version": "2.7.4", - "hash": "sha256-HjqfraBsHAYAEUcK0P+WDeKPmgUVJ31zNvfgk2JRfaY=" + "v271": { + "version": "2.7.1", + "hash": "sha256-k3UH4ja6c3Csq6aJREUV1Oj0KRNvTn42IwgzktlrcHA=" }, - "v275": { - "version": "2.7.5", - "hash": "sha256-vuUDjYXvAWCkK5CWs1Fg6fee9dKb9MtbOEGceTpbwEA=" + "v270": { + "version": "2.7.0", + "hash": "sha256-UM5tb4jepzo+/KYrCp5sp1KSve5skpPv1qdxz9soze4=" }, - "v280": { - "version": "2.8.0", - "hash": "sha256-ryu6llsGBjUY7sbxktQRYx3+HQdxN2DGfDwp00h4ncM=" + "v265": { + "version": "2.6.5", + "hash": "sha256-hZ7fxxAZ0nxEj+FI5nmv3ZcqC6qRsh8CsrL1+KhN3So=" }, - "v281": { - "version": "2.8.1", - "hash": "sha256-M0v3BQ8dtAh/7rswVx7BPZ+pdb8F1gA846ttfSRSz0I=" + "v264": { + "version": "2.6.4", + "hash": "sha256-Y4ogwvnpnuKDqEHNeHq02EbRiA4YDE6WkE/DJ9QZ0R8=" }, - "v282": { - "version": "2.8.2", - "hash": "sha256-uMsx5Z8SlFV7/IDypmKWm8Bk6DAGzu8FdOJVOhwlT9U=" + "v263": { + "version": "2.6.3", + "hash": "sha256-rq1lmCYxcblpcNoNiB5hbQgTtps169xZkfh/8up/XJg=" }, - "v283": { - "version": "2.8.3", - "hash": "sha256-m2QLEwRxgnYamc4+TwAL6Wh1ZuCCi0pycJ6eaj75hHc=" + "v262": { + "version": "2.6.2", + "hash": "sha256-sCnSSStyqbpbX82fPWAsn9C6oIeRLyquzCj1L1Z+xHg=" }, - "v290": { - "version": "2.9.0", - "hash": "sha256-618phAi3I/EaDKAZLBIuy3m0hVv99+6hg6YmQpahPPQ=" + "v261": { + "version": "2.6.1", + "hash": "sha256-wpOztfH8HWNJwBnDkFNV1XffMnNLYx1+ZWUDiU4JEn4=" }, - "v291": { - "version": "2.9.1", - "hash": "sha256-OeTdhWaU3BDVZCAeRUnEbSQxYBorEPNCJQfiTMyPYvg=" + "v260": { + "version": "2.6.0", + "hash": "sha256-5I1VdHRXF5JpkADDKul9zvNCB9E+2T5BJvIT1dy+ilM=" }, - "v292": { - "version": "2.9.2", - "hash": "sha256-xMeBZ/rjJbR669i+tUtgQdb2pWs3Q/S9XXmxVkL51dQ=" + "v255": { + "version": "2.5.5", + "hash": "sha256-5X9ePVhCqB/pNRtugX/K8KdJyk7zWpFGXtup4HHc58Q=" }, - "v300": { - "version": "3.0.0", - "hash": "sha256-AdkQBFfTc5R9MWSnPMKFQ4uxL+KKsGXL4oNa1k3MPHY=" + "v254": { + "version": "2.5.4", + "hash": "sha256-EHpbUi+7gxjUw75mgHXl5gcpbwqSVdcWdMqpRXEzbvo=" }, - "v301": { - "version": "3.0.1", - "hash": "sha256-ZGrbEZf746dULxiEPStK34V7d+ULuHi1j0593ltzQ8s=" + "v253": { + "version": "2.5.3", + "hash": "sha256-FONMxYbsTOV2P3YEbc82bEUQSyzHHXe2O+VQVgjmijA=" }, - "v302": { - "version": "3.0.2", - "hash": "sha256-33sXK/eblX3SfvNtyqH7FiViwOiZnhlKqMGj3y8VOY4=" + "v252": { + "version": "2.5.2", + "hash": "sha256-D/p9cICShKSslullkYphwdeTC8qGVFen2w/wr8ggHII=" }, - "v310": { - "version": "3.1.0", - "hash": "sha256-+RqtDI+5y8Z8kQrW3P+0AagZtP0SIAfqf5eGONsETPY=" + "v251": { + "version": "2.5.1", + "hash": "sha256-9xrgqCS3j7Gkf/ojycJunZbFybKSNOrO3Oa0x3QCh80=" }, - "v311": { - "version": "3.1.1", - "hash": "sha256-vcbOXrs6Lq/ExHX37qpfCo5g2b6tAe+3bi4lQkK22wA=" + "v250": { + "version": "2.5.0", + "hash": "sha256-hlK/a1WrUfs3toaj9gSiZD4Oj94sVuapNgJ9Eq/abq4=" }, - "v312": { - "version": "3.1.2", - "hash": "sha256-+IovfqYXFJo05AwCLZkSlj8A6qYQmvQhMXUl5sl42JI=" + "v245": { + "version": "2.4.5", + "hash": "sha256-0wDE41iu6VGvbf0WhO8MA0dYtHFxVEIw88z2ziT+Q0c=" }, - "v313": { - "version": "3.1.3", - "hash": "sha256-x2sDFqz2Euy2L1ywFKINlypmO9nkCr+VKobzuZi2n6A=" + "v244": { + "version": "2.4.4", + "hash": "sha256-b8+vaTRzPqHcsvak1FnZYA4vSIeT5Rwtr0m3BRjuv9E=" }, - "v314": { - "version": "3.1.4", - "hash": "sha256-QUwUnJljmD+AWggdtb067BRrX4LVKbtjh1rJQbJdy7Y=" + "v243": { + "version": "2.4.3", + "hash": "sha256-vVcm8+JH56fTDOaZRtF0uPuS2ZnSJxDGXxdslpgSlg4=" }, - "v315": { - "version": "3.1.5", - "hash": "sha256-LBPdzsUIHA57p/k9g3CpGREXMJDxkiAH4dkN4nRQBJQ=" + "v242": { + "version": "2.4.2", + "hash": "sha256-X4fXeOXWKCLWDjj6liHBxWSPxVnRmLoxS9nYnL9n2eM=" }, - "v320": { - "version": "3.2.0", - "hash": "sha256-R70utLRQPkfALvp+Z9L82Vx+rGvJ0Gs0OhtHBXk+0dU=" + "v241": { + "version": "2.4.1", + "hash": "sha256-EhkisTFpzUeoXj538LwSn40EJHGTtCSRyx+rkHToBHc=" }, - "v321": { - "version": "3.2.1", - "hash": "sha256-0o2yJM+20YAJsqfoyyE81clDu+yHVQBi/vajhHklAxU=" + "v240": { + "version": "2.4.0", + "hash": "sha256-fmAAz7lDj7/H/n/gVyr1h+Lyo2u9uVQI6YdHWNDDOC4=" }, - "v322": { - "version": "3.2.2", - "hash": "sha256-qdHh0DC4vMZ79kKLjA//FKVgLiI2JXuePXesrxLip6E=" + "v2310": { + "version": "2.3.10", + "hash": "sha256-LQtareDF7TGjwZT61fjdcc3SGLcCBTQnOdJKYlpUxNM=" }, - "v323": { - "version": "3.2.3", - "hash": "sha256-QS3Cuqc5Iox3eek+sHzWRdXJZNLy2Dep/VbbdJhGPXM=" + "v239": { + "version": "2.3.9", + "hash": "sha256-pv8TZk6xOvbboAJZz7VaMGsyt2iP7vUgpS/A9guBlvw=" }, - "v324": { - "version": "3.2.4", - "hash": "sha256-rB27ngWmSRCFZZmxrGERj97Bs9DHAOQkRNgcDV9Qelo=" + "v238": { + "version": "2.3.8", + "hash": "sha256-rmqk7Sx9IBMQ/vGEMQqFyIoxVQb2M+k/zequwNWlT8I=" }, - "v325": { - "version": "3.2.5", - "hash": "sha256-eYpl/WHTheCdVZgQzfpGUS+N71kZJkz+8kGnsIbOfP4=" + "v237": { + "version": "2.3.7", + "hash": "sha256-9Z9dhZzkhnzEdhoT0CAk9plJHid9VKn+duBT5bX3CGA=" }, - "v326": { - "version": "3.2.6", - "hash": "sha256-sENkBSDS7sVr0WrmOc5TAX7srMPYY4i1T4OKVI3jMls=" + "v236": { + "version": "2.3.6", + "hash": "sha256-NYpHeeaBO9BvB9sM8PD+UxQB7Qxu2ViXPUBEFsPVN/o=" }, - "v327": { - "version": "3.2.7", - "hash": "sha256-fDL/A3WXzkccfP2dy4RxzaOgKYOuujMVBZNizrOTS4Q=" + "v235": { + "version": "2.3.5", + "hash": "sha256-9CUnXOfevMcoLJ3LRr1u67r0GsYBNuL9Mtj9YL6LdTs=" }, - "v330": { - "version": "3.3.0", - "hash": "sha256-cope3GPMtBjpFmvtEdS0PpYp/xxNQqObZJNHogQW+tY=" + "v234": { + "version": "2.3.4", + "hash": "sha256-ehE1smIPeJKOiVOMIRpN8dlBWZQAHR58kXjGttct5qk=" }, - "v331": { - "version": "3.3.1", - "hash": "sha256-ptMxhl4BZKE6yFoijlJRf3z4+EiPL5XzTnhXMC+Xz9s=" + "v233": { + "version": "2.3.3", + "hash": "sha256-dnMxZhh8yFh+Dr4eg5Ze8lcmKhpnajaAbt07bVG1Cqk=" }, - "v332": { - "version": "3.3.2", - "hash": "sha256-hDQKxXDz7o6RBp3DoKzXpvbur8BZTZXzrhA0xdvCFlQ=" + "v232": { + "version": "2.3.2", + "hash": "sha256-gPRfrkhZ8WGxmAythG1CF0F9DIkAatKcDqjIjaVkqWo=" }, - "v333": { - "version": "3.3.3", - "hash": "sha256-pHFWWzbM0acNC9fTfG6VxDompigptIfZ0s3r/li+MGY=" + "v231": { + "version": "2.3.1", + "hash": "sha256-QQtY2067yrQ8M1dhLlkQlPZPuTOSacqi5oco42+NWJ4=" }, - "v334": { - "version": "3.3.4", - "hash": "sha256-vM52ej/tJSv9EhD4p+NQWitU0wCPZuQ9m5Xj8wwHKTE=" + "v230": { + "version": "2.3.0", + "hash": "sha256-BFFJjZmcz/R1Im9c+uB6N1SnsoxQfGvaAH4xb8kNkqA=" }, - "v335": { - "version": "3.3.5", - "hash": "sha256-ClE5Pw3xzyfgcAVKJ4ik0HMznzY9ec1ZQHahtMSL6aU=" + "v229": { + "version": "2.2.9", + "hash": "sha256-cQ/zd+qDY3I51QEPTSYfX5HH/c6Ro4l0FJrNA+RcTEQ=" }, - "v336": { - "version": "3.3.6", - "hash": "sha256-PyiEk2XhGQ2yuvkBT/loYBLCWxym34s6CF94niT+S5o=" + "v228": { + "version": "2.2.8", + "hash": "sha256-0QUUd9vF3DbxSLU6qVnD4qCqpZROsEyJ3VSSVIJfuws=" }, - "v340": { - "version": "3.4.0", - "hash": "sha256-5S6udY1AIGpx12OhqHtxA3IjvxmGrCOaa+Gm0qw5FtI=" + "v227": { + "version": "2.2.7", + "hash": "sha256-fixos4O7qO+33OXqHsz9p3BIVH0dKnNVwHLv18zYk80=" }, - "v341": { - "version": "3.4.1", - "hash": "sha256-EHzq5sqADoHLVjWEwWr6NtbHE4+t6UorPp2mVFb3xhw=" + "v226": { + "version": "2.2.6", + "hash": "sha256-HuGZlM/9BH1A9juhSRFduhimgbDMkjvuwwG/QktY1k8=" }, - "v342": { - "version": "3.4.2", - "hash": "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84=" + "v225": { + "version": "2.2.5", + "hash": "sha256-48re0EadjcZPTKL+jkma2k3QFOhNHFpxgY055U5skUs=" }, - "v343": { - "version": "3.4.3", - "hash": "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0=" + "v224": { + "version": "2.2.4", + "hash": "sha256-a0CYWb6GVK/DhiVJSU4JcBfmTI0WfxJYQ4NYYwbvmn4=" }, - "v350": { - "version": "3.5.0", - "hash": "sha256-8B1PdhkVWBWKBq+9wkBf79WwJUChl6slRshA4GpcD7c=" + "v223": { + "version": "2.2.3", + "hash": "sha256-oczCGt+R1g6ZJGAxuZyTDJr14bG1phsb7Ie+728W2II=" }, - "v351": { - "version": "3.5.1", - "hash": "sha256-p9ACb2diInXsj4I53tQiplPVzMhN9V3qKs1AYBcYVgg=" + "v222": { + "version": "2.2.2", + "hash": "sha256-4JSwnzPUaFRe27KxbcF4+VjsL2beGi/HzCogvSSJoRQ=" }, - "v352": { - "version": "3.5.2", - "hash": "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8=" + "v221": { + "version": "2.2.1", + "hash": "sha256-TzMXUKv8O2BbAu7KHomU+g0mKZhbw/YpJDeBl/v+Vy0=" }, - "v353": { - "version": "3.5.3", - "hash": "sha256-OrXl6u9pziDGsXDuZNeFtCI19I8uYrCV/KXXtmcriyg=" + "v220": { + "version": "2.2.0", + "hash": "sha256-lpDY84pdSEJTlUUu6zBbBbsPVgzZbg7jDzcNTxZWMEA=" }, - "v354": { - "version": "3.5.4", - "hash": "sha256-A3naE0Si9xrUpOO+MO+dgu7N3Of43CrmZjGh3+FDQ6w=" + "v2110": { + "version": "2.1.10", + "hash": "sha256-im2jGORME8lhgI0WgMf/vm2v8o5uRlbAmi00D6+HnkE=" }, - "v360": { - "version": "3.6.0", - "hash": "sha256-GxLe/Lvb2+2oaSnkIQAK8PQjM63UgX/SbA2aGuxHhAQ=" + "v219": { + "version": "2.1.9", + "hash": "sha256-Ycva8umWMj5HMzRS7HHNbn8D7dToJQGo8Jy+KZk7654=" }, - "v361": { - "version": "3.6.1", - "hash": "sha256-rPrGExbpO5GcKNYtUwN8pzTehcRrTXA/Gf2Dlc8AZ3Q=" + "v218": { + "version": "2.1.8", + "hash": "sha256-c1rkgktuqgyiqfwd1HEX9wCeMQ2ee8+e22a+Rb2EDbM=" }, - "v362": { - "version": "3.6.2", - "hash": "sha256-S+gP/wc3Rs9QtKjlur4nlayumMaxMqngJRm0Rd+/0DM=" + "v217": { + "version": "2.1.7", + "hash": "sha256-HcS/wD++FHMnBCkdbZy3o8xwV1lXyVin4taGkI6c248=" }, - "v363": { - "version": "3.6.3", - "hash": "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc=" + "v216": { + "version": "2.1.6", + "hash": "sha256-T4Jt2Xs7gAFwcHO96EAUk/nNRmhGW0gcBC0o45c2U6g=" }, - "v370": { - "version": "3.7.0", - "hash": "sha256-P8EpD0AH7HX26azsuyVRJjDRuauMU7p5hE45WGjD4AY=" + "v215": { + "version": "2.1.5", + "hash": "sha256-qCN5kT/X9OJuBF/PAhqpKh9oOVSBa/gXs7aW3mLpw7s=" }, - "v371": { - "version": "3.7.1", - "hash": "sha256-mAhpYaK4tlftD+owVvstsUKUtr+hk8FaUjago1yEPe0=" + "v214": { + "version": "2.1.4", + "hash": "sha256-6OCFNZKHdBGal5QS7o4wdES3oaQsjEesBu4JQjypoE4=" }, - "v372": { - "version": "3.7.2", - "hash": "sha256-sGqlOP78nGszxNtJMaCaX1LZ0jVyGa/L/32T/hLr9vc=" + "v213": { + "version": "2.1.3", + "hash": "sha256-6y83CXFAj7EK9kU+VWRlyO7nKKwzO/HrR+waURIwT3w=" }, - "v373": { - "version": "3.7.3", - "hash": "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM=" + "v212": { + "version": "2.1.2", + "hash": "sha256-B8BfEuXUnb/Pgt0jtrSHe3zbHI5MjdJ8tNnldYpsr1I=" }, - "v380": { - "version": "3.8.0", - "hash": "sha256-ElMcHsgIxcar6zEYmWZLDP7QTUZI9FbclZu5PF8hrKw=" + "v211": { + "version": "2.1.1", + "hash": "sha256-+1raQadbMcjdn/AT2spXslMEetFOQ/Zdi0GHm3uOPBc=" }, - "v381": { - "version": "3.8.1", - "hash": "sha256-wpvW2VInRnc8ueQSbVqaLDXqVQX2/Um2eRc/K0blc3I=" + "v210": { + "version": "2.1.0", + "hash": "sha256-oy2XthqYw180RYS5hcr0mj/D4ObiTQu7vjT+Yd0mJ6w=" }, - "v382": { - "version": "3.8.2", - "hash": "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ=" + "v206": { + "version": "2.0.6", + "hash": "sha256-dlKjYV2uCsML2KZWbyhb2u4NzLc8E9f6h2ce2PV0y2Y=" }, - "v383": { - "version": "3.8.3", - "hash": "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI=" + "v205": { + "version": "2.0.5", + "hash": "sha256-P1Rjtd65Pv0qxOI6IGEqHM8ymaVp0DiAuyBMkGR9/Jo=" }, - "v384": { - "version": "3.8.4", - "hash": "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0=" + "v204": { + "version": "2.0.4", + "hash": "sha256-XMZ9F5AqMiu7iBEE4HyGITwBSqa1LmZRmG1Ct2/P7Tw=" }, - "v390": { - "version": "3.9.0", - "hash": "sha256-HMIyQYSY3jBebVy4DJShZBXAHcs82Y8ujDoiAgkaNCA=" + "v203": { + "version": "2.0.3", + "hash": "sha256-39U7eIA8JctQCD3R+PdzqSTcMc3Z3jlu6uQSDBSq4tQ=" }, - "v391": { - "version": "3.9.1", - "hash": "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE=" + "v202": { + "version": "2.0.2", + "hash": "sha256-TRa2hSy9iV7VVzeBnSwEKzc3Hx2A/LpPskI566Kl1ys=" }, - "v392": { - "version": "3.9.2", - "hash": "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=" + "v201": { + "version": "2.0.1", + "hash": "sha256-lZb2yz6Lr+NddJ3722yYTxu9hiM1mOtf20q/hUpXkro=" + }, + "v200": { + "version": "2.0.0", + "hash": "sha256-E5rIHJR4rM04qetmdiPXWZeiGXzsNvGEzY0j6Yp+R1s=" } -} +} \ No newline at end of file diff --git a/nix/mbedtls_pkg_versions.json b/nix/mbedtls_pkg_versions.json index 9e27c762..c0e7b49c 100644 --- a/nix/mbedtls_pkg_versions.json +++ b/nix/mbedtls_pkg_versions.json @@ -3,58 +3,30 @@ "version": "v3.6.0", "hash": "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg=" }, - "v2288": { - "version": "v2.28.8", - "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=" - }, "v352": { "version": "v3.5.2", "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=" }, - "v2287": { - "version": "v2.28.7", - "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=" - }, "v351": { "version": "v3.5.1", "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=" }, - "v2286": { - "version": "v2.28.6", - "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=" - }, "mbedtls-350": { "version": "mbedtls-3.5.0", "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU=" }, - "mbedtls-2285": { - "version": "mbedtls-2.28.5", - "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=" - }, "v341": { "version": "v3.4.1", "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts=" }, - "v2284": { - "version": "v2.28.4", - "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=" - }, "v340": { "version": "v3.4.0", "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg=" }, - "v2283": { - "version": "v2.28.3", - "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=" - }, "v330": { "version": "v3.3.0", "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE=" }, - "v2282": { - "version": "v2.28.2", - "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=" - }, "v321": { "version": "v3.2.1", "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc=" @@ -63,60 +35,88 @@ "version": "v3.2.0", "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ=" }, - "v2281": { - "version": "v2.28.1", - "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=" - }, "v310": { "version": "v3.1.0", "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs=" }, - "v2280": { - "version": "v2.28.0", - "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=" - }, - "v21612": { - "version": "v2.16.12", - "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=" - }, "v300": { "version": "v3.0.0", "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s=" }, + "v2288": { + "version": "v2.28.8", + "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=" + }, + "v2287": { + "version": "v2.28.7", + "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=" + }, + "v2286": { + "version": "v2.28.6", + "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=" + }, + "mbedtls-2285": { + "version": "mbedtls-2.28.5", + "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=" + }, + "v2284": { + "version": "v2.28.4", + "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=" + }, + "v2283": { + "version": "v2.28.3", + "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=" + }, + "v2282": { + "version": "v2.28.2", + "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=" + }, + "v2281": { + "version": "v2.28.1", + "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=" + }, + "v2280": { + "version": "v2.28.0", + "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=" + }, "v2270": { "version": "v2.27.0", "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M=" }, - "v21611": { - "version": "v2.16.11", - "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=" - }, "v2260": { "version": "v2.26.0", "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk=" }, - "v21610": { - "version": "v2.16.10", - "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=" - }, - "v2719": { - "version": "v2.7.19", - "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=" - }, "v2250": { "version": "v2.25.0", "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ=" }, + "v2240": { + "version": "v2.24.0", + "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=" + }, + "v21612": { + "version": "v2.16.12", + "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=" + }, + "v21611": { + "version": "v2.16.11", + "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=" + }, + "v21610": { + "version": "v2.16.10", + "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=" + }, "v2169": { "version": "v2.16.9", "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c=" }, + "v2719": { + "version": "v2.7.19", + "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=" + }, "v2718": { "version": "v2.7.18", "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg=" - }, - "v2240": { - "version": "v2.24.0", - "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=" } -} +} \ No newline at end of file diff --git a/nix/nettle_pkg_versions.json b/nix/nettle_pkg_versions.json index de955da8..dd9eccc9 100644 --- a/nix/nettle_pkg_versions.json +++ b/nix/nettle_pkg_versions.json @@ -89,4 +89,4 @@ "tag": "nettle_2.7_release_20130424", "hash": "sha256-wpTqEzwFOCzC7/sXNNSfSr6xrYUVVDozPeSaEUIs1NY=" } -} +} \ No newline at end of file diff --git a/nix/openssl_pkg_versions.json b/nix/openssl_pkg_versions.json index e04efd50..d66cff48 100644 --- a/nix/openssl_pkg_versions.json +++ b/nix/openssl_pkg_versions.json @@ -3,74 +3,74 @@ "version": "3.3.1", "hash": "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34=" }, - "v322": { - "version": "3.2.2", - "hash": "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc=" - }, - "v316": { - "version": "3.1.6", - "hash": "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc=" - }, - "v3014": { - "version": "3.0.14", - "hash": "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o=" - }, "v330": { "version": "3.3.0", "hash": "sha256-U+ZrBDMipgar8Ah+dpmg4DOjf6E/65dC3zXDozsY+wI=" }, + "v322": { + "version": "3.2.2", + "hash": "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc=" + }, "v321": { "version": "3.2.1", "hash": "sha256-g8cyn+UshQZ3115dCwyiRTCbl+jsvP3B39xKufrDWzk=" }, - "v315": { - "version": "3.1.5", - "hash": "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI=" - }, - "v3013": { - "version": "3.0.13", - "hash": "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM=" - }, "v320": { "version": "3.2.0", "hash": "sha256-FMgm8Hx+QzcG+1xp+p4l2rlWhIRLTJYqLPG/GD60aQ4=" }, + "v316": { + "version": "3.1.6", + "hash": "sha256-XSvkA2tHjvPLCoVMqbNTByw6DibYpW+PCrn7btMtONc=" + }, + "v315": { + "version": "3.1.5", + "hash": "sha256-auAVRn2r8EabE5rakzGTJ74kuYJR/67O2gIhhI3AkmI=" + }, "v314": { "version": "3.1.4", "hash": "sha256-hAr1Nmq5tSK95SWCa+PvD7Cvgcap69hMqmAP6hcx7uM=" }, - "v3012": { - "version": "3.0.12", - "hash": "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E=" - }, "v313": { "version": "3.1.3", "hash": "sha256-8DFqLr2J5/I1KXZEVFhon4AwIJN4jEZmkvsqGIsurPY=" }, - "v3011": { - "version": "3.0.11", - "hash": "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U=" - }, "v312": { "version": "3.1.2", "hash": "sha256-oM5puLl+pqNblodSNapFO5Zro8uory3iNlfYtnZ9ZTk=" }, - "v3010": { - "version": "3.0.10", - "hash": "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM=" - }, "v311": { "version": "3.1.1", "hash": "sha256-s6phM0IzuFK2PdsEjfGBF3wsZZ651DdgCBGPnAjQdnQ=" }, - "v309": { - "version": "3.0.9", - "hash": "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA=" - }, "v310": { "version": "3.1.0", "hash": "sha256-qqklrZgodFxMrZ2e/rJz3sqCDyzc8sOsfXwSErfEl7Q=" }, + "v3014": { + "version": "3.0.14", + "hash": "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o=" + }, + "v3013": { + "version": "3.0.13", + "hash": "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM=" + }, + "v3012": { + "version": "3.0.12", + "hash": "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E=" + }, + "v3011": { + "version": "3.0.11", + "hash": "sha256-s0JdO7SiIY0Gl+tB9/wM3t4BbtGcpJ0Wi3jo2UeIf1U=" + }, + "v3010": { + "version": "3.0.10", + "hash": "sha256-F2HU9bE6ECi5tvPUuOF/6wztyTcPav5h1xk9LNzoMyM=" + }, + "v309": { + "version": "3.0.9", + "hash": "sha256-6xqwR4FHQ2D3fDGKuJ2MWgOrw45j1lpgPKu/GwCh3JA=" + }, "v308": { "version": "3.0.8", "hash": "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4=" @@ -79,4 +79,4 @@ "version": "3.0.7", "hash": "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4=" } -} +} \ No newline at end of file From 2b8744a7f5259c175e07c8acaf5c7b07cb02d5e1 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 20:17:22 +0200 Subject: [PATCH 100/131] Add version define to shim build. --- nix/boringsslshim.nix | 2 +- nix/botanshim.nix | 2 ++ nix/cryptoppshim.nix | 2 ++ nix/gcryptshim.nix | 2 ++ nix/ippcpshim.nix | 2 +- nix/libresslshim.nix | 2 ++ nix/mbedtlsshim.nix | 2 ++ nix/nettleshim.nix | 2 ++ nix/opensslshim.nix | 2 ++ .../cz/crcs/ectester/standalone/libs/jni/Makefile | 14 +++++++------- 10 files changed, 23 insertions(+), 9 deletions(-) diff --git a/nix/boringsslshim.nix b/nix/boringsslshim.nix index 715e7212..a32a5bca 100644 --- a/nix/boringsslshim.nix +++ b/nix/boringsslshim.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { make boringssl ''; - BORINGSSL_CFLAGS = "-I${boringssl.dev.outPath}/include"; + BORINGSSL_CFLAGS = "-I${boringssl.dev.outPath}/include -DECTESTER_BORINGSSL_${boringssl.version}=1"; installPhase = '' mkdir --parents $out/lib diff --git a/nix/botanshim.nix b/nix/botanshim.nix index 8688b206..ce16b1b7 100644 --- a/nix/botanshim.nix +++ b/nix/botanshim.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation { make botan ''; + BOTAN_CXXFLAGS = "-DECTESTER_BOTAN_${builtins.replaceStrings ["."] ["_"] botan2.version}=1"; + installPhase = '' mkdir --parents $out/lib cp botan_provider.so $out/lib/ diff --git a/nix/cryptoppshim.nix b/nix/cryptoppshim.nix index 8c735d7b..f5262752 100644 --- a/nix/cryptoppshim.nix +++ b/nix/cryptoppshim.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation { make cryptopp ''; + CRYPTOPP_CXXFLAGS = "-DECTESTER_CRYPTOPP_${cryptopp.version}=1"; + installPhase = '' mkdir --parents $out/lib cp cryptopp_provider.so $out/lib/ diff --git a/nix/gcryptshim.nix b/nix/gcryptshim.nix index 764b03cb..869bcd9d 100644 --- a/nix/gcryptshim.nix +++ b/nix/gcryptshim.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation { make gcrypt ''; + LIBGCRYPT_CFLAGS = "-DECTESTER_LIBGCRYPT_${builtins.replaceStrings ["."] ["_"] libgcrypt.version}=1"; + installPhase = '' mkdir --parents $out/lib cp gcrypt_provider.so $out/lib/ diff --git a/nix/ippcpshim.nix b/nix/ippcpshim.nix index 349817ba..a059d5be 100644 --- a/nix/ippcpshim.nix +++ b/nix/ippcpshim.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { jdk11_headless ]; - IPP_CRYPTO_CFLAGS = "-I${ipp-crypto.dev}/include"; + IPP_CRYPTO_CFLAGS = "-I${ipp-crypto.dev}/include -DECTESTER_IPPCP_VERSION=${ipp-crypto.version}"; IPP_CRYPTO_LFLAGS = "-L${ipp-crypto}/lib/"; buildPhase = '' diff --git a/nix/libresslshim.nix b/nix/libresslshim.nix index 9d23f4b3..862701f7 100644 --- a/nix/libresslshim.nix +++ b/nix/libresslshim.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { make libressl ''; + LIBRESSL_CFLAGS = "-DECTESTER_LIBRESSL_${builtins.replaceStrings ["."] ["_"] libressl.version}=1"; + installPhase = '' mkdir --parents $out/lib cp libressl_provider.so $out/lib diff --git a/nix/mbedtlsshim.nix b/nix/mbedtlsshim.nix index d1f54343..06abb0b8 100644 --- a/nix/mbedtlsshim.nix +++ b/nix/mbedtlsshim.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { make mbedtls ''; + MBEDTLS_CFLAGS = "-DECTESTER_MBEDTLS_${builtins.replaceStrings ["."] ["_"] mbedtls.version}=1"; + installPhase = '' mkdir --parents $out/lib cp mbedtls_provider.so $out/lib diff --git a/nix/nettleshim.nix b/nix/nettleshim.nix index f9683577..7488398a 100644 --- a/nix/nettleshim.nix +++ b/nix/nettleshim.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { make nettle ''; + NETTLE_CFLAGS = "-DECTESTER_NETTLE_${builtins.replaceStrings ["."] ["_"] nettle.version}=1"; + installPhase = '' mkdir --parents $out/lib cp nettle_provider.so $out/lib diff --git a/nix/opensslshim.nix b/nix/opensslshim.nix index 1c79e94e..be0263b8 100644 --- a/nix/opensslshim.nix +++ b/nix/opensslshim.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation { make openssl ''; + OPENSSL_CFLAGS = "-DECTESTER_OPENSSL_${builtins.replaceStrings ["."] ["_"] openssl.version}=1"; + installPhase = '' mkdir --parents $out/lib cp openssl_provider.so $out/lib/ 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 7c02a1ff..74d1a932 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 @@ -107,7 +107,7 @@ openssl_provider.so: openssl.o c_utils.o | clibs $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -Wl,-Bstatic $(shell pkg-config --libs libcrypto) -lcrypto -L. -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so openssl.o: openssl.c - $(CC) $(shell pkg-config --cflags openssl) $(CFLAGS) -c $< + $(CC) $(shell pkg-config --cflags openssl) $(OPENSSL_CFLAGS) $(CFLAGS) -c $< # BoringSSL shim @@ -127,7 +127,7 @@ gcrypt_provider.so: gcrypt.o c_utils.o | clibs $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -pthread -lpthread -Wl,-Bstatic $(shell libgcrypt-config --libs) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so gcrypt.o: gcrypt.c - $(CC) $(shell libgcrypt-config --cflags) $(CFLAGS) -c $< + $(CC) $(shell libgcrypt-config --cflags) $(LIBGCRYPT_CFLAGS) $(CFLAGS) -c $< # Libtomcrypt shim @@ -147,7 +147,7 @@ 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 botan.o: botan.cpp - $(CXX) $(shell pkg-config --cflags botan-2) $(CXXFLAGS) -c $< + $(CXX) $(shell pkg-config --cflags botan-2) $(BOTAN_CXXFLAGS) $(CXXFLAGS) -c $< # Crypto++ shim @@ -161,7 +161,7 @@ cryptopp_provider.so: cryptopp.o cpp_utils.o | cpplibs $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs $(CRYPTOPP_NAME)) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so cryptopp.o: cryptopp.cpp - $(CXX) $(shell pkg-config --cflags $(CRYPTOPP_NAME)) $(CXXFLAGS) -c $< + $(CXX) $(shell pkg-config --cflags $(CRYPTOPP_NAME)) $(CRYPTOPP_CXXFLAGS) $(CXXFLAGS) -c $< # mbedTLS shim @@ -171,7 +171,7 @@ mbedtls_provider.so: mbedtls.o c_utils.o | clibs $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic -lmbedcrypto -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so mbedtls.o: mbedtls.c - $(CC) $(CFLAGS) -c $< + $(CC) $(MBEDTLS_CFLAGS) $(CFLAGS) -c $< # Intel Performance Primitives crypto shim @@ -192,7 +192,7 @@ nettle_provider.so: nettle.o c_utils.o | clibs -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so nettle.o: nettle.c - $(CC) -Wl,-static $(shell pkg-config --cflags nettle hogweed gmp) $(CFLAGS) -c $< + $(CC) -Wl,-static $(shell pkg-config --cflags nettle hogweed gmp) $(NETTLE_CFLAGS) $(CFLAGS) -c $< # LibreSSL shim @@ -202,7 +202,7 @@ libressl_provider.so: libressl.o c_utils.o | clibs $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs libresslcrypto) -Wl,-Bdynamic -l:lib_timing.so -l:lib_csignals.so libressl.o: libressl.c - $(CC) $(shell pkg-config --cflags libresslcrypto) $(CFLAGS) -c $< + $(CC) $(shell pkg-config --cflags libresslcrypto) $(LIBRESSL_CFLAGS) $(CFLAGS) -c $< help: @echo "# This makefile builds the JNI shims necessary to test native libraries." From b170ce52826b8e82c6278de980772ed73cb3ea6e Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 20:28:09 +0200 Subject: [PATCH 101/131] Acutally use the last version in build. --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 8ebe5040..52aa90ca 100644 --- a/flake.nix +++ b/flake.nix @@ -620,7 +620,7 @@ { libName, function }: let versions = builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json); - firstVersion = builtins.elemAt (pkgs.lib.attrsets.attrValues versions) 0; + firstVersion = pkgs.lib.lists.last (pkgs.lib.attrsets.attrValues versions); in pkgs.lib.mapAttrs (rev: specs: function { ${libName} = specs; }) versions // { @@ -631,7 +631,7 @@ { libName, function }: let versions = builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json); - firstVersion = builtins.elemAt (pkgs.lib.attrsets.attrValues versions) 0; + firstVersion = pkgs.lib.lists.last (pkgs.lib.attrsets.attrValues versions); in pkgs.lib.mapAttrs (rev: specs: function specs) versions // (with pkgs.lib; { From e0bc60f3257039e9cfcbaa9312c6e40664989646 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 12 Aug 2024 22:41:22 +0200 Subject: [PATCH 102/131] Fix mbedTLS and Botan default builds. --- fetchReleases.py | 19 +++- flake.nix | 11 ++- nix/botan_pkg_versions.json | 35 ------- nix/mbedtls_pkg_versions.json | 98 ++++++++++++------- .../ectester/standalone/libs/jni/Makefile | 8 +- 5 files changed, 91 insertions(+), 80 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index 5ced814f..2de54372 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\d+)\.(?P\d+)\.(?P\d+)\.(?P.*)", 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) diff --git a/flake.nix b/flake.nix index 52aa90ca..333df95d 100644 --- a/flake.nix +++ b/flake.nix @@ -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 cd092092..7d283bf9 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 c0e7b49c..000efd56 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 74d1a932..1393f82c 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 From 427bceb9d578438be1954ea8b5b12fadfc78dc67 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 13 Aug 2024 10:28:37 +0200 Subject: [PATCH 103/131] Fix Crypto++ 7. --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 333df95d..0e989f32 100644 --- a/flake.nix +++ b/flake.nix @@ -331,6 +331,7 @@ rev = "CRYPTOPP_${version}"; inherit hash; }; + installTargets = if pkgs.lib.strings.hasPrefix "8_" version then [ "install-lib" ] else [ "install" ]; } ); libresslBuilder = From 9a00cf0cfb3e4d17a060f335a01b06aa715f871f Mon Sep 17 00:00:00 2001 From: quapka Date: Tue, 13 Aug 2024 09:32:38 +0200 Subject: [PATCH 104/131] Improve formatting --- flake.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 0e989f32..e80dbf71 100644 --- a/flake.nix +++ b/flake.nix @@ -595,9 +595,9 @@ (if nettle.version != null then "cp ${nettleShim.out}/lib/* ${jniLibsPath}" else "") (if libressl.version != null then "cp ${libresslShim.out}/lib/* ${jniLibsPath}" else "") '' - cp ${wolfcryptjni}/lib/* ${jniLibsPath} - cp ${commonLibs}/lib/* ${jniLibsPath} - '' + cp ${wolfcryptjni}/lib/* ${jniLibsPath} + cp ${commonLibs}/lib/* ${jniLibsPath} + '' ]; nativeBuildInputs = [ makeWrapper ]; From 3fa7861737413bcd426b9c2510b69579f9cc6fbf Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 13:35:17 +0200 Subject: [PATCH 105/131] Dumb shit, checkFlags don't work. --- flake.nix | 2 + nix/mbedtls-printf.patch | 95 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 nix/mbedtls-printf.patch diff --git a/flake.nix b/flake.nix index e80dbf71..9dd7cd70 100644 --- a/flake.nix +++ b/flake.nix @@ -173,6 +173,8 @@ # mbedtls >= 3.6.0 uses git submodules fetchSubmodules = true; }; + patches = {"v2.25.0" = ./nix/mbedtls-printf.patch; }."${version}" or (prev.patches or [ ]); + checkFlags = (prev.checkFlags or [ ]) ++ [ "SKIP_TEST_SUITES=ssl" ]; } ); diff --git a/nix/mbedtls-printf.patch b/nix/mbedtls-printf.patch new file mode 100644 index 00000000..f19acf5b --- /dev/null +++ b/nix/mbedtls-printf.patch @@ -0,0 +1,95 @@ +diff --git a/programs/ssl/ssl_pthread_server.c b/programs/ssl/ssl_pthread_server.c +--- a/programs/ssl/ssl_pthread_server.c ++++ b/programs/ssl/ssl_pthread_server.c +@@ -142,7 +142,7 @@ static void *handle_ssl_connection( void *data ) + if( ( ret = mbedtls_ssl_setup( &ssl, thread_info->config ) ) != 0 ) + { + mbedtls_printf( " [ #%ld ] failed: mbedtls_ssl_setup returned -0x%04x\n", +- thread_id, -ret ); ++ thread_id, ( unsigned int ) -ret ); + goto thread_exit; + } + +@@ -158,7 +158,7 @@ static void *handle_ssl_connection( void *data ) + if( ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + mbedtls_printf( " [ #%ld ] failed: mbedtls_ssl_handshake returned -0x%04x\n", +- thread_id, -ret ); ++ thread_id, ( unsigned int ) -ret ); + goto thread_exit; + } + } +@@ -195,7 +195,7 @@ static void *handle_ssl_connection( void *data ) + + default: + mbedtls_printf( " [ #%ld ] mbedtls_ssl_read returned -0x%04x\n", +- thread_id, -ret ); ++ thread_id, ( unsigned int ) -ret ); + goto thread_exit; + } + } +@@ -229,7 +229,7 @@ static void *handle_ssl_connection( void *data ) + if( ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + mbedtls_printf( " [ #%ld ] failed: mbedtls_ssl_write returned -0x%04x\n", +- thread_id, ret ); ++ thread_id, ( unsigned int ) ret ); + goto thread_exit; + } + } +@@ -246,7 +246,7 @@ static void *handle_ssl_connection( void *data ) + ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + mbedtls_printf( " [ #%ld ] failed: mbedtls_ssl_close_notify returned -0x%04x\n", +- thread_id, ret ); ++ thread_id, ( unsigned int ) ret ); + goto thread_exit; + } + } +@@ -263,7 +263,7 @@ static void *handle_ssl_connection( void *data ) + char error_buf[100]; + mbedtls_strerror( ret, error_buf, 100 ); + mbedtls_printf(" [ #%ld ] Last error was: -0x%04x - %s\n\n", +- thread_id, -ret, error_buf ); ++ thread_id, ( unsigned int ) -ret, error_buf ); + } + #endif + +@@ -408,7 +408,7 @@ int main( void ) + strlen( pers ) ) ) != 0 ) + { + mbedtls_printf( " failed: mbedtls_ctr_drbg_seed returned -0x%04x\n", +- -ret ); ++ ( unsigned int ) -ret ); + goto exit; + } + +@@ -425,7 +425,7 @@ int main( void ) + MBEDTLS_SSL_PRESET_DEFAULT ) ) != 0 ) + { + mbedtls_printf( " failed: mbedtls_ssl_config_defaults returned -0x%04x\n", +- -ret ); ++ ( unsigned int ) -ret ); + goto exit; + } + +@@ -470,7 +470,8 @@ int main( void ) + { + char error_buf[100]; + mbedtls_strerror( ret, error_buf, 100 ); +- mbedtls_printf( " [ main ] Last error was: -0x%04x - %s\n", -ret, error_buf ); ++ mbedtls_printf( " [ main ] Last error was: -0x%04x - %s\n", ( unsigned int ) -ret, ++ error_buf ); + } + #endif + +@@ -482,7 +483,8 @@ int main( void ) + if( ( ret = mbedtls_net_accept( &listen_fd, &client_fd, + NULL, 0, NULL ) ) != 0 ) + { +- mbedtls_printf( " [ main ] failed: mbedtls_net_accept returned -0x%04x\n", ret ); ++ mbedtls_printf( " [ main ] failed: mbedtls_net_accept returned -0x%04x\n", ++ ( unsigned int ) ret ); + goto exit; + } + From cf6816c31b2e0ecaa85ad98fd759badf8eef24b6 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 15 Aug 2024 14:07:40 +0200 Subject: [PATCH 106/131] Fix building Mbed-TLS version 2.25.0 --- flake.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 9dd7cd70..d5da7791 100644 --- a/flake.nix +++ b/flake.nix @@ -173,8 +173,9 @@ # mbedtls >= 3.6.0 uses git submodules fetchSubmodules = true; }; - patches = {"v2.25.0" = ./nix/mbedtls-printf.patch; }."${version}" or (prev.patches or [ ]); - checkFlags = (prev.checkFlags or [ ]) ++ [ "SKIP_TEST_SUITES=ssl" ]; + patches = { "v2.25.0" = ./nix/mbedtls-printf.patch; }."${version}" or (prev.patches or [ ]); + # NOTE using previous cmakeFlags might not be desirec.. + cmakeFlags = (prev.cmakeFlags or [ ]) ++ [ "-DSKIP_TEST_SUITES=ssl,x509parse" ]; } ); From eed91ffe37cd7b533b77832570f3249b1012677a Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 15:12:32 +0200 Subject: [PATCH 107/131] Fix mbedtls shim build for many versions. --- nix/mbedtlsshim.nix | 8 ++- .../ectester/standalone/libs/jni/c_utils.h | 12 ++++- .../ectester/standalone/libs/jni/mbedtls.c | 50 ++++++++++++++----- 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/nix/mbedtlsshim.nix b/nix/mbedtlsshim.nix index 06abb0b8..05cad9cc 100644 --- a/nix/mbedtlsshim.nix +++ b/nix/mbedtlsshim.nix @@ -3,6 +3,7 @@ with pkgs; stdenv.mkDerivation rec { name = "MbedTLSShim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; + rawVersion = pkgs.lib.strings.removePrefix "v" mbedtls.version; buildInputs = [ mbedtls @@ -14,7 +15,12 @@ stdenv.mkDerivation rec { make mbedtls ''; - MBEDTLS_CFLAGS = "-DECTESTER_MBEDTLS_${builtins.replaceStrings ["."] ["_"] mbedtls.version}=1"; + MBEDTLS_CFLAGS = '' + -DECTESTER_MBEDTLS_${builtins.replaceStrings ["."] ["_"] rawVersion}=1 \ + -DECTESTER_MBEDTLS_MAJOR=${pkgs.lib.versions.major rawVersion} \ + -DECTESTER_MBEDTLS_MINOR=${pkgs.lib.versions.minor rawVersion} \ + -DECTESTER_MBEDTLS_PATCH=${pkgs.lib.versions.patch rawVersion} \ + ''; installPhase = '' mkdir --parents $out/lib diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/c_utils.h b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/c_utils.h index 93a11ed2..ec62a40d 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/c_utils.h +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/c_utils.h @@ -65,4 +65,14 @@ char *biginteger_to_hex(JNIEnv *env, jobject big, jint bytes); } while (0) #define ADD_KPG(env, self, kpg_name, kpg_class) ADD_PROPERTY(env, self, "KeyPairGenerator.", "cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$", kpg_name, kpg_class) #define ADD_KA(env, self, ka_name, ka_class) ADD_PROPERTY(env, self, "KeyAgreement.", "cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$", ka_name, ka_class) -#define ADD_SIG(env, self, sig_name, sig_class) ADD_PROPERTY(env, self, "Signature.", "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$", sig_name, sig_class) \ No newline at end of file +#define ADD_SIG(env, self, sig_name, sig_class) ADD_PROPERTY(env, self, "Signature.", "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$", sig_name, sig_class) + + +/** + * Version handling. + */ +#define VERSION_GT(lib,a,b,c) ((ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR == b && ECTESTER_##lib##_PATCH > c) || (ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR > b) || (ECTESTER_##lib##_MAJOR > a)) +#define VERSION_EQ(lib,a,b,c) (ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR == b && ECTESTER_##lib##_PATCH == c) +#define VERSION_GE(lib,a,b,c) (VERSION_GT(lib,a,b,c) || VERSION_EQ(lib,a,b,c)) +#define VERSION_LT(lib,a,b,c) !(VERSION_GE(lib,a,b,c)) +#define VERSION_LE(lib,a,b,c) !(VERSION_GT(lib,a,b,c)) diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c index 8f5e0fb7..e017f4d0 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c @@ -21,6 +21,24 @@ static mbedtls_entropy_context fixed_entropy; static jclass provider_class; +#if VERSION_LT(MBEDTLS, 3, 0, 0) +#define MBEDTLS_PRIVATE(member) member +#else +#define MBEDTLS_PRIVATE(member) private_##member +#endif + + +#if VERSION_LT(MBEDTLS, 3, 1, 0) +#define CURVE_GRP_ID(curve_info) curve_info->MBEDTLS_PRIVATE(grp_id) +#define CURVE_NAME(curve_info) curve_info->MBEDTLS_PRIVATE(name) +#define CURVE_BIT_SIZE(curve_info) curve_info->MBEDTLS_PRIVATE(bit_size) +#else +#define CURVE_GRP_ID(curve_info) curve_info->grp_id +#define CURVE_NAME(curve_info) curve_info->name +#define CURVE_BIT_SIZE(curve_info) curve_info->bit_size +#endif + + JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_createProvider(JNIEnv *env, jobject this) { /* Create the custom provider. */ jclass local_provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$MbedTLS"); @@ -104,10 +122,10 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_getCu jobject result = (*env)->NewObject(env, hash_set_class, hash_set_ctr); for (const mbedtls_ecp_curve_info *curve_info = mbedtls_ecp_curve_list(); - curve_info->grp_id != MBEDTLS_ECP_DP_NONE; + CURVE_GRP_ID(curve_info) != MBEDTLS_ECP_DP_NONE; curve_info++) { - jstring curve_name = (*env)->NewStringUTF(env, curve_info->name); + jstring curve_name = (*env)->NewStringUTF(env, CURVE_NAME(curve_info)); (*env)->CallBooleanMethod(env, result, hash_set_add, curve_name); } return result; @@ -132,7 +150,8 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_setu mbedtls_entropy_init(&fixed_entropy); // This is NASTY! We are accessing something the library does not want us to. - fixed_entropy.private_source_count = 0; + + fixed_entropy.MBEDTLS_PRIVATE(source_count) = 0; mbedtls_entropy_add_source(&fixed_entropy, fixed_random, NULL, 32, MBEDTLS_ENTROPY_SOURCE_STRONG); mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &fixed_entropy, NULL, 0); @@ -141,9 +160,9 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_setu JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024MbedTLS_keysizeSupported(JNIEnv *env, jobject this, jint keysize) { for (const mbedtls_ecp_curve_info *curve_info = mbedtls_ecp_curve_list(); - curve_info->grp_id != MBEDTLS_ECP_DP_NONE; + CURVE_GRP_ID(curve_info) != MBEDTLS_ECP_DP_NONE; curve_info++) { - if (keysize == curve_info->bit_size) { + if (keysize == CURVE_BIT_SIZE(curve_info)) { return JNI_TRUE; } } @@ -170,9 +189,9 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPa jstring name = (*env)->CallObjectMethod(env, params, get_name); const char *utf_name = (*env)->GetStringUTFChars(env, name, NULL); for (const mbedtls_ecp_curve_info *curve_info = mbedtls_ecp_curve_list(); - curve_info->grp_id != MBEDTLS_ECP_DP_NONE; + CURVE_GRP_ID(curve_info) != MBEDTLS_ECP_DP_NONE; curve_info++) { - if (strcasecmp(utf_name, curve_info->name) == 0) { + if (strcasecmp(utf_name, CURVE_NAME(curve_info)) == 0) { (*env)->ReleaseStringUTFChars(env, name, utf_name); return JNI_TRUE; } @@ -244,6 +263,13 @@ static void mpi_from_biginteger(JNIEnv* env, jobject biginteger, mbedtls_mpi *mp (*env)->ReleaseByteArrayElements(env, byte_array, byte_data, JNI_ABORT); } +#if (VERSION_LT(MBEDTLS, 3, 5, 0) && VERSION_GE(MBEDTLS, 3, 0, 0)) || VERSION_LT(MBEDTLS, 2, 28, 5) +static inline int mbedtls_ecp_group_a_is_minus_3(const mbedtls_ecp_group *grp) +{ + return grp->A.MBEDTLS_PRIVATE(p) == NULL; +} +#endif + static jobject create_ec_param_spec(JNIEnv *env, const mbedtls_ecp_group *group) { jobject p = biginteger_from_mpi(env, &group->P); jmethodID fp_field_init = (*env)->GetMethodID(env, fp_field_class, "", "(Ljava/math/BigInteger;)V"); @@ -402,7 +428,7 @@ static jobject generate_from_curve(JNIEnv *env, mbedtls_ecp_group *group) { static jobject generate_from_curve_info(JNIEnv *env, const mbedtls_ecp_curve_info *curve) { mbedtls_ecp_group group; mbedtls_ecp_group_init(&group); - mbedtls_ecp_group_load(&group, curve->grp_id); + mbedtls_ecp_group_load(&group, CURVE_GRP_ID(curve)); jobject result = generate_from_curve(env, &group); mbedtls_ecp_group_free(&group); return result; @@ -411,9 +437,9 @@ static jobject generate_from_curve_info(JNIEnv *env, const mbedtls_ecp_curve_inf JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024MbedTLS_generate__ILjava_security_SecureRandom_2(JNIEnv *env, jobject this, jint keysize, jobject random) { const mbedtls_ecp_curve_info *curve = NULL; for (const mbedtls_ecp_curve_info *curve_info = mbedtls_ecp_curve_list(); - curve_info->grp_id != MBEDTLS_ECP_DP_NONE; + CURVE_GRP_ID(curve_info) != MBEDTLS_ECP_DP_NONE; curve_info++) { - if (keysize == curve_info->bit_size) { + if (keysize == CURVE_BIT_SIZE(curve_info)) { curve = curve_info; break; } @@ -443,9 +469,9 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai const char *utf_name = (*env)->GetStringUTFChars(env, name, NULL); const mbedtls_ecp_curve_info *curve = NULL; for (const mbedtls_ecp_curve_info *curve_info = mbedtls_ecp_curve_list(); - curve_info->grp_id != MBEDTLS_ECP_DP_NONE; + CURVE_GRP_ID(curve_info) != MBEDTLS_ECP_DP_NONE; curve_info++) { - if (strcasecmp(utf_name, curve_info->name) == 0) { + if (strcasecmp(utf_name, CURVE_NAME(curve_info)) == 0) { (*env)->ReleaseStringUTFChars(env, name, utf_name); curve = curve_info; break; From 335782e090deb10f4227aaad256420af1d93c189 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 15 Aug 2024 16:09:24 +0200 Subject: [PATCH 108/131] Plot tables with differences in results --- flake.nix | 19 ++++++++++ plot_versions.py | 95 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 plot_versions.py diff --git a/flake.nix b/flake.nix index d5da7791..94c05ae0 100644 --- a/flake.nix +++ b/flake.nix @@ -815,6 +815,25 @@ ''; }; + plotVersions = + with pkgs.python3Packages; + buildPythonApplication { + pname = "buildAll"; + version = "0.1.0"; + format = "other"; + + propagatedBuildInputs = [ + pandas + jinja2 + ]; + + src = ./plot_versions.py; + dontUnpack = true; + installPhase = '' + install -Dm755 $src $out/bin/$pname + ''; + }; + }; devShells.default = with pkgs; diff --git a/plot_versions.py b/plot_versions.py new file mode 100644 index 00000000..5d82cede --- /dev/null +++ b/plot_versions.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python3 + +import argparse +import json + +from collections import defaultdict +from pathlib import Path + +import pandas as pd + +def get_all_versions(library): + with open(f"./nix/{library}_pkg_versions.json", "r") as handle: + versions = json.load(handle) + return versions + +def build_results_to_latex(library): + versions = get_all_versions(library) + lib_results = get_results(library, "lib") + shim_results = get_results(library, "shim") + + pruned_versions = [] + pruned_libs = [] + pruned_shims = [] + prev = [None, None] + for ver in versions.keys(): + row = [lib_results[ver]["success"], shim_results[ver]["success"]] + if row == prev: + continue + pruned_versions.append(ver) + pruned_libs.append(r"{\color{blue}\cmark}" if lib_results[ver]["success"] else r"{\color{red}\xmark}") + pruned_shims.append(r"{\color{blue}\cmark}" if shim_results[ver]["success"] else r"{\color{red}\xmark}") + prev = row + + + # lib_rows = [r"{\color{blue}\cmark}" if lib_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] + + # shim_rows = [r"{\color{blue}\cmark}" if shim_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] + # shim_rows = [shim_results[ver] for ver in versions.keys()] + + df = pd.DataFrame(dict(Versions=pruned_versions, Library=pruned_libs, Shim=pruned_shims)) + # FIXME there should be a translation from `openssl` -> `OpenSSL` etc. + tabledir = Path(f"./build_all/tables") + tabledir.mkdir(parents=True, exist_ok=True) + with open(tabledir / f"{library}.tex", "w") as handle: + handle.write(df.to_latex(index=False, caption=library, label=f"{library}-lib-and-shim-builds")) + +def get_results(library, variant): + with open(f"./build_all/{variant}/{library}.json", "r") as handle: + return json.load(handle) + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("-l", "--library") + # parser.add_argument("-v", "--variant", default="shim", type=valid_build_type) + args = parser.parse_args() + library = args.library + # variant = args.variant + + libraries = [ + "botan", + "cryptopp", + "openssl", + "boringssl", + "gcrypt", + "mbedtls", + "ippcp", + "nettle", + "libressl", + ] + + match library: + case None: + # print("Building all libraries") + # # Build all libraries by default + for lib in libraries: + build_results_to_latex(lib) + # print(f"Library: {lib}") + # for version in get_all_versions(lib): + # result = attempt_build(lib, version, variant) + # save_build_result(lib, variant, version, result) + # print(f"{version}: {result['success']}") + case lib if lib in libraries: + build_results_to_latex(lib) + # print(f"Library: {library}") + # for version in get_all_versions(library): + # result = attempt_build(lib, version, variant) + # save_build_result(lib, variant, version, result) + # print(f"{version}: {result['success']}") + case _: + pass + print(f"Unrecognized library '{library}'. Try one of: {', '.join(libraries)}.") + + +if __name__ == '__main__': + main() From 0dd90be10b70db6e342f7439340a698c4a0af352 Mon Sep 17 00:00:00 2001 From: quapka Date: Thu, 15 Aug 2024 16:15:52 +0200 Subject: [PATCH 109/131] Create tables with all results --- plot_versions.py | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/plot_versions.py b/plot_versions.py index 5d82cede..012ec3f6 100644 --- a/plot_versions.py +++ b/plot_versions.py @@ -16,28 +16,14 @@ def get_all_versions(library): def build_results_to_latex(library): versions = get_all_versions(library) lib_results = get_results(library, "lib") - shim_results = get_results(library, "shim") - - pruned_versions = [] - pruned_libs = [] - pruned_shims = [] - prev = [None, None] - for ver in versions.keys(): - row = [lib_results[ver]["success"], shim_results[ver]["success"]] - if row == prev: - continue - pruned_versions.append(ver) - pruned_libs.append(r"{\color{blue}\cmark}" if lib_results[ver]["success"] else r"{\color{red}\xmark}") - pruned_shims.append(r"{\color{blue}\cmark}" if shim_results[ver]["success"] else r"{\color{red}\xmark}") - prev = row - + lib_rows = [r"{\color{blue}\cmark}" if lib_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] - # lib_rows = [r"{\color{blue}\cmark}" if lib_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] - - # shim_rows = [r"{\color{blue}\cmark}" if shim_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] + shim_results = get_results(library, "shim") + shim_rows = [r"{\color{blue}\cmark}" if shim_results[ver]["success"] else r"{\color{red}\xmark}" for ver in versions.keys()] # shim_rows = [shim_results[ver] for ver in versions.keys()] - df = pd.DataFrame(dict(Versions=pruned_versions, Library=pruned_libs, Shim=pruned_shims)) + cleaned_versions = [v.replace('_', r"{\_}") for v in versions.keys()] + df = pd.DataFrame(dict(Versions=cleaned_versions, Library=lib_rows, Shim=shim_rows)) # FIXME there should be a translation from `openssl` -> `OpenSSL` etc. tabledir = Path(f"./build_all/tables") tabledir.mkdir(parents=True, exist_ok=True) From d906ea9603d555c400cd4c85536d35f875358457 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 16:25:57 +0200 Subject: [PATCH 110/131] Fixup libressl >= 3.8.2. --- flake.nix | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 94c05ae0..53edd125 100644 --- a/flake.nix +++ b/flake.nix @@ -334,7 +334,8 @@ rev = "CRYPTOPP_${version}"; inherit hash; }; - installTargets = if pkgs.lib.strings.hasPrefix "8_" version then [ "install-lib" ] else [ "install" ]; + installTargets = + if pkgs.lib.strings.hasPrefix "8_" version then [ "install-lib" ] else [ "install" ]; } ); libresslBuilder = @@ -359,12 +360,14 @@ else (pkgs.libressl.override { buildShared = false; }).overrideAttrs ( final: prev: rec { + inherit version; src = pkgs.fetchurl { url = "mirror://openbsd/LibreSSL/${prev.pname}-${version}.tar.gz"; inherit hash; }; + patches = - if version == "3.8.2" then + if (pkgs.lib.strings.versionAtLeast version "3.8.2") then [ (pkgs.fetchpatch { url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; @@ -375,6 +378,19 @@ else [ ]; + preConfigure = '' + ${pkgs.lib.strings.optionalString (pkgs.lib.strings.versionAtLeast version "2.2.2") '' + rm configure + substituteInPlace CMakeLists.txt \ + --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \ + --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}' + ''} + ''; + + postPatch = '' + patchShebangs tests/ + ''; + # NOTE: Due to name conflicts between OpenSSL and LibreSSL we need to resolve this manually. # This is not needed for building the individual shims through Nix, as libresslShim build env does not # contain OpenSSL at all, but for the interactive shell (started with `nix develop`), when multiple @@ -471,7 +487,11 @@ libgcrypt = libgcryptBuilder { inherit version hash; }; }; mbedtlsShimBuilder = - { version, hash, tag }: + { + version, + hash, + tag, + }: import ./nix/mbedtlsshim.nix { inherit pkgs; mbedtls = (mbedtlsBuilder { inherit version hash tag; }); From e4b75bd3061c125448f8d46c813912bee95b6b5b Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 17:18:35 +0200 Subject: [PATCH 111/131] Fixup many libressl versions. --- flake.nix | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/flake.nix b/flake.nix index 53edd125..71fff813 100644 --- a/flake.nix +++ b/flake.nix @@ -346,7 +346,7 @@ if version == null then (pkgs.libressl.override { buildShared = false; }).overrideAttrs ({ patches = - if version == "3.8.2" then + if (pkgs.lib.strings.versionAtLeast version "3.5.1") then [ (pkgs.fetchpatch { url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; @@ -366,25 +366,20 @@ inherit hash; }; - patches = - if (pkgs.lib.strings.versionAtLeast version "3.8.2") then - [ - (pkgs.fetchpatch { - url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch"; - includes = [ "tests/tlstest.sh" ]; - hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA="; - }) - ] - else - [ ]; - + # Disable some TLS, ASN1, and explicit_bzero tests that we do not care for preConfigure = '' - ${pkgs.lib.strings.optionalString (pkgs.lib.strings.versionAtLeast version "2.2.2") '' - rm configure - substituteInPlace CMakeLists.txt \ - --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \ - --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}' - ''} + substituteInPlace tests/CMakeLists.txt \ + --replace-warn "add_test(asn1object asn1object)" "" \ + --replace-warn "if(NOT WIN32)" "if(false)" \ + --replace-warn "if(NOT CMAKE_HOST_WIN32)" "if(false)" + substituteInPlace tests/tlstest.sh --replace-fail "set -e" "exit 0" + + ${pkgs.lib.strings.optionalString (pkgs.lib.strings.versionAtLeast version "2.2.2") '' + rm configure + substituteInPlace CMakeLists.txt \ + --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \ + --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}' + ''} ''; postPatch = '' From 60f4b2e5c4e431ba3b902536d3de30c582b8b42b Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 18:04:44 +0200 Subject: [PATCH 112/131] Fix mbedtls 3.4.0. https://github.com/Mbed-TLS/mbedtls/commit/50745e7e352d3422643320ad900d786dc4e10c63 --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 71fff813..aa499b7d 100644 --- a/flake.nix +++ b/flake.nix @@ -174,8 +174,8 @@ fetchSubmodules = true; }; patches = { "v2.25.0" = ./nix/mbedtls-printf.patch; }."${version}" or (prev.patches or [ ]); - # NOTE using previous cmakeFlags might not be desirec.. - cmakeFlags = (prev.cmakeFlags or [ ]) ++ [ "-DSKIP_TEST_SUITES=ssl,x509parse" ]; + # NOTE using previous cmakeFlags might not be desired.. + cmakeFlags = (prev.cmakeFlags or [ ]) ++ [ "-DSKIP_TEST_SUITES=ssl,x509parse,pkcs7" ]; } ); From 8d5c5fc65068d639b75db993ad23ca328146e6b6 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 18:12:25 +0200 Subject: [PATCH 113/131] Fix mbedtls 3.2.0: https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.2.1 --- flake.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index aa499b7d..67d13317 100644 --- a/flake.nix +++ b/flake.nix @@ -173,7 +173,17 @@ # mbedtls >= 3.6.0 uses git submodules fetchSubmodules = true; }; - patches = { "v2.25.0" = ./nix/mbedtls-printf.patch; }."${version}" or (prev.patches or [ ]); + patches = + { + "v2.25.0" = ./nix/mbedtls-printf.patch; + "v3.2.0" = ( + pkgs.fetchpatch { + url = "https://github.com/Mbed-TLS/mbedtls/commit/c2a938711085813eae11d99550b280c416a8242e.patch"; + hash = "sha256-Rq4wEgJoEBzLpp2GdEMO2Ys2WNqN0LXzlKOVpcyVQ0M="; + } + ); + } + ."${version}" or (prev.patches or [ ]); # NOTE using previous cmakeFlags might not be desired.. cmakeFlags = (prev.cmakeFlags or [ ]) ++ [ "-DSKIP_TEST_SUITES=ssl,x509parse,pkcs7" ]; } From 55c75863518f07ecee19a6d5fd429a43a8a6a8bf Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 18:16:18 +0200 Subject: [PATCH 114/131] Add more OpenSSL versions. --- fetchReleases.py | 52 ++- nix/openssl_pkg_versions.json | 644 ++++++++++++++++++++++++++++++++++ 2 files changed, 682 insertions(+), 14 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index 2de54372..4fe4e537 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -68,6 +68,7 @@ def fetch_botan(): match = re.match(r"Botan-(?P\d+)\.(?P\d+)\.(?P\d+)\.(?P.*)", link.text) if match['major'] == "3": # TODO: Handle Botan-3 + print(f"Skipping Botan-3 {match}") continue version = f"{match['major']}.{match['minor']}.{match['patch']}" ext = f"{match['ext']}" @@ -122,31 +123,54 @@ def fetch_openssl(): owner = "openssl" repo = "openssl" release_url = f"https://api.github.com/repos/{owner}/{repo}/releases" - resp = requests.get(release_url) + resp_releases = requests.get(release_url) + tags_url = f"https://api.github.com/repos/{owner}/{repo}/git/matching-refs/tags" + resp_tags = requests.get(tags_url) + + tags = [release["tag_name"] for release in resp_releases.json() if not release["draft"] and not release["prerelease"]] + tags += [tag_ref["ref"].split("/")[-1] for tag_ref in resp_tags.json() if tag_ref["ref"].startswith("refs/tags/openssl-") or tag_ref["ref"].startswith("refs/tags/OpenSSL_")] + tags = list(filter(lambda tag: "FIPS" not in tag and "reformat" not in tag and "alpha" not in tag and "beta" not in tag and "pre" not in tag, tags)) + for tag in tags: + print(tag) + single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; };""") renders = [] versions = {} - for release in resp.json(): - if not release['draft'] and not release['prerelease']: + for tag in tags: + print(tag) + if tag.startswith("OpenSSL_"): + match = re.match(r"OpenSSL_(?P\d+)_(?P\d+)_(?P\d+)(?P.*)", tag) + sort_version = f"{match['major']}.{match['minor']}.{match['patch']}{'+' + match['ext'] if match['ext'] else ''}" + dotted_version = f"{match['major']}.{match['minor']}.{match['patch']}{ match['ext'] if match['ext'] else ''}" + else: try: - _, dotted_version = release['tag_name'].split('-') + _, dotted_version = tag.split('-') + sort_version = dotted_version except ValueError: continue - flat_version = "v" + "".join(dotted_version.split('.')) - download_url = f"https://www.openssl.org/source/openssl-{dotted_version}.tar.gz" + flat_version = "v" + "".join(dotted_version.split('.')) + download_url = f"https://www.openssl.org/source/openssl-{dotted_version}.tar.gz" + old_url = f"https://www.openssl.org/source/old/openssl-{dotted_version}.tar.gz" + try: digest = get_source_hash(download_url) - print(f"{dotted_version}:{digest}") - versions[flat_version] = { - "version": dotted_version, - "hash": digest, - "sort": parse_version(dotted_version) - } + except Exception: + try: + digest = get_source_hash(old_url) + except Exception: + print(f"Skipping {dotted_version} (unavailable)") + continue + print(f"{dotted_version}:{digest}") + versions[flat_version] = { + "version": dotted_version, + "hash": digest, + "sort": parse_version(sort_version) + } - rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_version).strip() - renders.append(rendered) + rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=dotted_version).strip() + renders.append(rendered) serialize_versions(pkg, renders, versions) diff --git a/nix/openssl_pkg_versions.json b/nix/openssl_pkg_versions.json index d66cff48..b977c49a 100644 --- a/nix/openssl_pkg_versions.json +++ b/nix/openssl_pkg_versions.json @@ -78,5 +78,649 @@ "v307": { "version": "3.0.7", "hash": "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4=" + }, + "v305": { + "version": "3.0.5", + "hash": "sha256-qn2Nm+9xrWUlxVuhHl9Dl4ic5Jwsk0nc6m0+TwsCSno=" + }, + "v304": { + "version": "3.0.4", + "hash": "sha256-KDGEPppmigq0eOcCCtY9LWXlH3KXdHLcc+/O+6/AwA8=" + }, + "v303": { + "version": "3.0.3", + "hash": "sha256-7gB4rc7x3l8APGLIDMllJ3IWCcbzu0K3eV3zH4tVjAs=" + }, + "v302": { + "version": "3.0.2", + "hash": "sha256-mOkczq1NR1auPJzeXgkZGo5YbZ9NUIOOfsCdZBHf22M=" + }, + "v301": { + "version": "3.0.1", + "hash": "sha256-wxGthTNTvOeW7a0BqGLFCopYf2Ln4hAO9GWrU+ybBtE=" + }, + "v300": { + "version": "3.0.0", + "hash": "sha256-We7fy0bCUhTJvTftYHgpe03wHQEiZ/6enu4x9hvHBTY=" + }, + "v111w": { + "version": "1.1.1w", + "hash": "sha256-zzCYlQy02FOtlcCEHx+cbT3BAtzPys1SHZOSUgi3asg=" + }, + "v111v": { + "version": "1.1.1v", + "hash": "sha256-1ml+KHHncjhGBALpNi1H0YOCsV758karpse9eA04prA=" + }, + "v111u": { + "version": "1.1.1u", + "hash": "sha256-4vjYS1I+7NBse+diaDA3AwD7zBU4a/UULXJ1j2lj68Y=" + }, + "v111t": { + "version": "1.1.1t", + "hash": "sha256-je6bJL2x3L8MPR6bAvuPa/IhZegH9Fret8lndTaFnTs=" + }, + "v111s": { + "version": "1.1.1s", + "hash": "sha256-xawB52Dub/Dath1rK70wFGck0GPrMiGAxvGKb3Tktqo=" + }, + "v111q": { + "version": "1.1.1q", + "hash": "sha256-15Oc5hQCnN/wtsIPDi5XAxWKSJpyslB7i9Ub+Mj9EMo=" + }, + "v111p": { + "version": "1.1.1p", + "hash": "sha256-v2G2Kqpmx8djmUKpTeTJroKAwI8X1OrC5EZE2fyKzm8=" + }, + "v111o": { + "version": "1.1.1o", + "hash": "sha256-k4SisFcN2ANYhBRkZ3EV33he25QccSEfdQdtcv5rQ48=" + }, + "v111n": { + "version": "1.1.1n", + "hash": "sha256-QNzrUaT2pSdb3g5r8g70uRv8Mu1XwFUuLo4VRjNysXo=" + }, + "v111m": { + "version": "1.1.1m", + "hash": "sha256-+JGZvosjykX8fLnx2NPuZzEjGChq0DD1MWrKZGLbbJY=" + }, + "v111l": { + "version": "1.1.1l", + "hash": "sha256-C3o+XlnDSCf+DDp0t+yLrvMCuY+oAIjX+RU6oW+na9E=" + }, + "v111k": { + "version": "1.1.1k", + "hash": "sha256-iSoIdbmHKs0Eqf3nmx+UMHXV6hYkFd4wR8Mn3zP7ruU=" + }, + "v111j": { + "version": "1.1.1j", + "hash": "sha256-qvL8tXXN9kkbmKtIKav3ij3shAK4uB78jyPADUQ5gb8=" + }, + "v111i": { + "version": "1.1.1i", + "hash": "sha256-6L5qNf5B0QYDw8xjXpMontAL80t5Zxo6TeZPzuANUkI=" + }, + "v111h": { + "version": "1.1.1h", + "hash": "sha256-XJyod0vXsD5XhPJq6enm10nJ2iQ4VFB35rPXVaBlldk=" + }, + "v111g": { + "version": "1.1.1g", + "hash": "sha256-3bBHdPHjLwxJdR4htnIWrIeFLOsFa3UgmvJENABjbUY=" + }, + "v111f": { + "version": "1.1.1f", + "hash": "sha256-GGxr/m7PunpbSMR/ihZz0POw5bouJWAt0jtimXXaPzU=" + }, + "v111e": { + "version": "1.1.1e", + "hash": "sha256-aU9hrBHLUcm/c/VOdx/2AisDJ6Q7vfobLxneFmKm3L4=" + }, + "v111d": { + "version": "1.1.1d", + "hash": "sha256-HjqRvB+d/OAa8mAm+FbgZOq0yO4Kj0V7WuMLQLi3EfI=" + }, + "v111c": { + "version": "1.1.1c", + "hash": "sha256-9vswea0VB2FU7alBP+1Ch31mjnBp2bhzltCAT9s/TJA=" + }, + "v111b": { + "version": "1.1.1b", + "hash": "sha256-XFV7AjIwQT37B1bzE3oT5tcmg4zNFDCIitFb+ytD6ks=" + }, + "v111a": { + "version": "1.1.1a", + "hash": "sha256-/CATD4t8vS+5GLLxTi9CnhCcMd3Q+zj8XXHZ/+0/n0E=" + }, + "v111": { + "version": "1.1.1", + "hash": "sha256-KDaHWg+JwD0P30g5QVEmE6UM+0Idb9lLn0HXJ51Yaj0=" + }, + "v110l": { + "version": "1.1.0l", + "hash": "sha256-dKL3VsZP1zhqKRhNwDRPSDEZLWHcJIGpOkxd1yf0EUg=" + }, + "v110k": { + "version": "1.1.0k", + "hash": "sha256-76SWX093NXTWy9oc+HTbvkVascDU+QYRX4Z9MEREcLE=" + }, + "v110j": { + "version": "1.1.0j", + "hash": "sha256-Mb7GwgPOGo6T1ZlPTtMExjzPB2dhGLZjTt3tEq0bMkY=" + }, + "v110i": { + "version": "1.1.0i", + "hash": "sha256-67/IRKjIzA6l3BC4bJzpf0AYN/P6CMF7LNrcEYJTz5k=" + }, + "v110h": { + "version": "1.1.0h", + "hash": "sha256-WDVibN6emWVlhfx6qiMCpzp+E0C/jBT9Y1pixmgCpRc=" + }, + "v110g": { + "version": "1.1.0g", + "hash": "sha256-3k1QEmfaOTEJBcttyMYSH3osrUWncH9234KP4bhQc68=" + }, + "v110f": { + "version": "1.1.0f", + "hash": "sha256-EvdG8/JJOy852n7PY9fuGcasnsak/NjCKdqKUiyxJ2U=" + }, + "v110e": { + "version": "1.1.0e", + "hash": "sha256-V76GGJedgMkQcoz8mTab+XsqGr2PNmq2697ol1rTh0w=" + }, + "v110d": { + "version": "1.1.0d", + "hash": "sha256-fV67nol1ZUXBVv+cE88qpiFBk7AQpGijvHicPCj+YN8=" + }, + "v110c": { + "version": "1.1.0c", + "hash": "sha256-/ENkQaLgV1LTG05GEV64lwmiiu+W1P54ar6SQJsv1vU=" + }, + "v110b": { + "version": "1.1.0b", + "hash": "sha256-pF3gcr+b5N6kNyMKrwNgAPDmjGpmWTHFfna1sDbO9vc=" + }, + "v110a": { + "version": "1.1.0a", + "hash": "sha256-wuaW40KWzeLJ7F3NrZ5PBCzXA5MlkdOVw4neSIMCRCs=" + }, + "v110": { + "version": "1.1.0", + "hash": "sha256-9caf+awUcsgLho78HBwNjc/HRtKevlY94jZd1W29jII=" + }, + "v102u": { + "version": "1.0.2u", + "hash": "sha256-7NDG/7ST3QZwfTixS7TYwiiLtwM3NWBladj5D4lmnRY=" + }, + "v102t": { + "version": "1.0.2t", + "hash": "sha256-FMtGTv56xrVHmbNEVr1pVYp0mkkx7P2c+fcdeIHKx7w=" + }, + "v102s": { + "version": "1.0.2s", + "hash": "sha256-yr1clJKCXOW9I/PDru1ql/gUL2BtiT3yFkEfB9Grq5Y=" + }, + "v102r": { + "version": "1.0.2r", + "hash": "sha256-rlHQi7qKg5WOiUlG8VMD/4lNdcK4u9RKhStk4/4R0NY=" + }, + "v102q": { + "version": "1.0.2q", + "hash": "sha256-V0TPy87CsbSGKfc1QgO8Hl6bVGaZi7zMW1/N47GOtoQ=" + }, + "v102p": { + "version": "1.0.2p", + "hash": "sha256-UKmOB7Gonrj2qZR38mLfccb6e+93303IMCWihFyCfQA=" + }, + "v102o": { + "version": "1.0.2o", + "hash": "sha256-7D9clxS6D9RctOCHMB6xM2wxfg0gtXWhJQUEcOgInk0=" + }, + "v102n": { + "version": "1.0.2n", + "hash": "sha256-Nwurt18njDngxQ6MTnSTvA8Y22hnR4NBqDKpgv0VqP4=" + }, + "v102m": { + "version": "1.0.2m", + "hash": "sha256-jG/xXsazGbUHiPQserwokMCLpaHNzTgQ65CS3q2jew8=" + }, + "v102l": { + "version": "1.0.2l", + "hash": "sha256-zgcZW2WedfTh20NVKGAHAGHxVqmLs3tnKxAbpuPd8ww=" + }, + "v102k": { + "version": "1.0.2k", + "hash": "sha256-azl3xh8q7fD5Y2fc+1xuV4zzfnuNkTtOy2ZDw8uI2MA=" + }, + "v102j": { + "version": "1.0.2j", + "hash": "sha256-56/ykr4hwlnGryZGnHqbO6Jumrqv/TJePczJeFJWxDE=" + }, + "v102i": { + "version": "1.0.2i", + "hash": "sha256-kodIfRHJVFtu+yh823BTXU6bKE3RDVFEHZuZY9AA3m8=" + }, + "v102h": { + "version": "1.0.2h", + "hash": "sha256-HUAH5TqtlKWyAC/gRe57sLPZjxpH+LK8hR3NHHQzKRk=" + }, + "v102g": { + "version": "1.0.2g", + "hash": "sha256-t4Sxs5B845q/QJhwLa3mNlUiolOtFVLiZ6mg6JWUqjM=" + }, + "v102f": { + "version": "1.0.2f", + "hash": "sha256-kytO5N7ytDT4VDXZ4+GcqLqZzpoGWmFSS0KanV6bLpw=" + }, + "v102e": { + "version": "1.0.2e", + "hash": "sha256-4jzK/bdc/N54LaAVFzGqIYUZWsdF7qOEYTPy4FwOC/8=" + }, + "v102d": { + "version": "1.0.2d", + "hash": "sha256-Zxw2SHeFYopwM3TGUq0s6+pF+pIK5WgVFd8l2fLJqMg=" + }, + "v102c": { + "version": "1.0.2c", + "hash": "sha256-ADi6N/NaY2fFjxenp/aHlT74zk+WhLvexj5iUV7TaoM=" + }, + "v102b": { + "version": "1.0.2b", + "hash": "sha256-1dSIzJ8KB5dBladCcJTqPKuYAKTpAXi5iapiH7wjjj8=" + }, + "v102a": { + "version": "1.0.2a", + "hash": "sha256-FbY5PCADCqsCyOL+AkPLHR0YBi9sCV1nvKkYcdx/Mko=" + }, + "v102": { + "version": "1.0.2", + "hash": "sha256-jEi687q+DVBdFs/AzyclicZtNiQmQJghPbD7AANHKOk=" + }, + "v101u": { + "version": "1.0.1u", + "hash": "sha256-QxK0yhIVtvLJcAdQPYDbgNUVf3b499P+u+a0xW/yZzk=" + }, + "v101t": { + "version": "1.0.1t", + "hash": "sha256-Sm7kkaL9si5RnHb9wqYouzzsEnYs1FaGHSB5lsigcIg=" + }, + "v101s": { + "version": "1.0.1s", + "hash": "sha256-5+gdgvPNU4qwzbpJQAbUSqud2Wt/YjPOmXH7fHkW1RE=" + }, + "v101r": { + "version": "1.0.1r", + "hash": "sha256-eEvY01XtAc6YuBL4c/iyMT2mHffHtWd/zy5XsIY6M0Y=" + }, + "v101q": { + "version": "1.0.1q", + "hash": "sha256-s2WLhOnqYGpd7TyXKlUXzXhSgufqhrIMeKpLdzoEf7c=" + }, + "v101p": { + "version": "1.0.1p", + "hash": "sha256-vV7mgDFlwPtgu+y6ys8kTx+Q0qoNcTU69hDCkSHpsvE=" + }, + "v101o": { + "version": "1.0.1o", + "hash": "sha256-FuZ4xqBfJQKBHgdfLEBZrAHIeNCRycWFr8SevFQfexM=" + }, + "v101n": { + "version": "1.0.1n", + "hash": "sha256-NYGkBcy+D9H28X6kF3P3fN1R21XAHhtNhUnlGYgsbK8=" + }, + "v101m": { + "version": "1.0.1m", + "hash": "sha256-CV8LewkRbAxVJkIgiAWNx+bgAKoU0irMpqTiurzf73Q=" + }, + "v101l": { + "version": "1.0.1l", + "hash": "sha256-ss9NSP5dSfJAxhyeYkGTpvIyte0LrwEGgeclljxA0dQ=" + }, + "v101k": { + "version": "1.0.1k", + "hash": "sha256-j5+urrrQiOdy9O9eOCUtRyvk2HjGs6JxjBCk/OvnpBw=" + }, + "v101j": { + "version": "1.0.1j", + "hash": "sha256-G2DKh4m6bwPo7yDaIpO43BMcOdg4FOd1Bp8C0mNU7fM=" + }, + "v101i": { + "version": "1.0.1i", + "hash": "sha256-PBefRsp3BppqC6xwISqbO4OLL2YSnLUtVog3/HnY/Mc=" + }, + "v101h": { + "version": "1.0.1h", + "hash": "sha256-nRyKmDaqY+LGrbaEGGy9Q3HJ6dzAHW47tEer8tTT0JM=" + }, + "v101g": { + "version": "1.0.1g", + "hash": "sha256-U8uBjDuQ5QeoNI9PXq7bBdi/5TWKq7UItyY8xnDD4Cg=" + }, + "v101f": { + "version": "1.0.1f", + "hash": "sha256-bMKoCxfWTea3usmFdF/aupcdVP/X0401VvmY18DJy1o=" + }, + "v101e": { + "version": "1.0.1e", + "hash": "sha256-908V6Mj/Eao9W7XydtIC7BjXJG6V+WHbdgVBmcacGuM=" + }, + "v101d": { + "version": "1.0.1d", + "hash": "sha256-iKQj+bCKmUBUWDaRuWiBWHVYDhLfdU6IHXz+nxvR9J0=" + }, + "v101c": { + "version": "1.0.1c", + "hash": "sha256-Kp6zzU6LEU65F5wNOITWFljn2Oi/SYR5il9b1I4yXr4=" + }, + "v101b": { + "version": "1.0.1b", + "hash": "sha256-EYe/LVzfCyhrlRv1x3eql4Vc19sk/blgTLVXyLHXNks=" + }, + "v101a": { + "version": "1.0.1a", + "hash": "sha256-00h+CdiRx3LPlGJzo7sMpHR555Qb5tgiJ0Mg58/MNhs=" + }, + "v101": { + "version": "1.0.1", + "hash": "sha256-TZ8KWUqaibKOGgSpUEwEEE9lCO4nrR4O/dF6em277u4=" + }, + "v100t": { + "version": "1.0.0t", + "hash": "sha256-WrbjSMbCqV1FfnoA4KplO/x+tN97JOfJq2MWOsApkJc=" + }, + "v100s": { + "version": "1.0.0s", + "hash": "sha256-+4Ofdbm3GVoKrzB8oGS0NY7bloqVJMvfCp5W1jLyens=" + }, + "v100r": { + "version": "1.0.0r", + "hash": "sha256-ZTizOhuVaByGrIxcxU0ig18PClv0LubfQTjGctfnXxc=" + }, + "v100q": { + "version": "1.0.0q", + "hash": "sha256-Iw3BnqM7h4NsOIwRF6cfjrU5y/i+Qdk8O2yKauKd7Dk=" + }, + "v100p": { + "version": "1.0.0p", + "hash": "sha256-t0XRHxlTFiCi50AhZ9VIRdJT8to+UjwtCVBZWu8QT8g=" + }, + "v100o": { + "version": "1.0.0o", + "hash": "sha256-O29apPqlGQ8pZHzOaJmxRvWWhQPEGImAxDfKbxHYyP0=" + }, + "v100n": { + "version": "1.0.0n", + "hash": "sha256-OJXrWxwroHlAbQgTQNnh3AZPT79ND0HVPO/RVK3vKqI=" + }, + "v100m": { + "version": "1.0.0m", + "hash": "sha256-Ik27+u461zN2ZeJOq1FsZ0RtUIE3mkCy9iPPeAHmct4=" + }, + "v100l": { + "version": "1.0.0l", + "hash": "sha256-KgcuZ9njrpAFSMQ9eTYwW6V2AlvQg9HpH/FNaN7R/ew=" + }, + "v100k": { + "version": "1.0.0k", + "hash": "sha256-KYKy6Wl6hXszbFwbG3tGN0flwdVg8l9qzpU2V5Gx79E=" + }, + "v100j": { + "version": "1.0.0j", + "hash": "sha256-Ym+4/LPrfpZu2+cVU/+ZPRN/boqHsFBRo2leYhCYuK8=" + }, + "v100i": { + "version": "1.0.0i", + "hash": "sha256-VIJi0Vd3xQS+Grm7j6vvHhSj3lSDemWTyPQD3YQ9Xlc=" + }, + "v100h": { + "version": "1.0.0h", + "hash": "sha256-fj38IapX7TPqZzFwBT0ZITIoA7impiSk8NLkwwi9QY0=" + }, + "v100g": { + "version": "1.0.0g", + "hash": "sha256-kFEGoVBefZ98Nu6BQI06o9QarCkalgPQwpDJUwyS/Cw=" + }, + "v100f": { + "version": "1.0.0f", + "hash": "sha256-+vHqsO+F/Ww77KJxw1azG1zIMeLGt/I89nLnq0aA/eE=" + }, + "v100e": { + "version": "1.0.0e", + "hash": "sha256-42HcJ3VzP7hN57W/e1BHeLdyhp6Pe/rAsouTXL9zgPc=" + }, + "v100d": { + "version": "1.0.0d", + "hash": "sha256-klEdHwyqopjbolBCb459XQCycYR4htGtxiQid41jINs=" + }, + "v100c": { + "version": "1.0.0c", + "hash": "sha256-9zGzbePtqjYRea5vRJZoskijYONOMekpAtl26bnWBOs=" + }, + "v100b": { + "version": "1.0.0b", + "hash": "sha256-TntOL7M+4tl8XhQ1YatJXbv8CPCoY+YXoMetyhkBczE=" + }, + "v100a": { + "version": "1.0.0a", + "hash": "sha256-GKm9H8ArjvkN3tNPr6qQibqq/vJ4oZ/E6JwqsNz3D2M=" + }, + "v100": { + "version": "1.0.0", + "hash": "sha256-G7+a/FpiFRIawJQUfQqEF4KU/kw9CiMXMQOP03F7p8o=" + }, + "v098zh": { + "version": "0.9.8zh", + "hash": "sha256-8dnz7RuFqC7PgNDi04nh/aP8qaTboL8Hrb8jHhpeL9Y=" + }, + "v098zg": { + "version": "0.9.8zg", + "hash": "sha256-BlAAYGOZMORxBQR09Tf80o7JNK+S7igteLUkYPvo9YA=" + }, + "v098zf": { + "version": "0.9.8zf", + "hash": "sha256-1SRaKRKJhBkqzFsfwB43Qpt6AcU8rcsmReVGcYswDts=" + }, + "v098ze": { + "version": "0.9.8ze", + "hash": "sha256-7j2mAoJul1tH5Neviie+gljBYIdhlImMWIgeq4FLVbg=" + }, + "v098zd": { + "version": "0.9.8zd", + "hash": "sha256-WSZtz7C+D75hge3q0ESsPtr4O8WJkfJk3PUysB1THuM=" + }, + "v098zc": { + "version": "0.9.8zc", + "hash": "sha256-RhzGlPKecvWcIufqYb9EZxpfwviz/C7qyJcUt76RWIE=" + }, + "v098zb": { + "version": "0.9.8zb", + "hash": "sha256-lQ4imCN94WlxaN69QoYL9B6tYY4MA9yaOlbiMljkNb4=" + }, + "v098za": { + "version": "0.9.8za", + "hash": "sha256-zcuY0PvAJsp5ixeRkzQxAnHTpZNVT/1qWWWbkiL9Tkg=" + }, + "v098y": { + "version": "0.9.8y", + "hash": "sha256-u+zxNJXmEpNuOphgwpwHAUE1ZLepZL93GjV16qhnzuM=" + }, + "v098x": { + "version": "0.9.8x", + "hash": "sha256-fODH8sRRBwtEl+p8pvI+umzvGlbbLobkM/ZZJqe8dJc=" + }, + "v098w": { + "version": "0.9.8w", + "hash": "sha256-U3QR/iz+JJqKW5iz+AmgftX5E7lKIWs8UQ/TUzGORZM=" + }, + "v098v": { + "version": "0.9.8v", + "hash": "sha256-cBrE29J7kjeRmyFLU7wNCOXhRI8tD74cgEeSk9I3mmU=" + }, + "v098u": { + "version": "0.9.8u", + "hash": "sha256-BUjkuRcaYty76F5j2biXo13nGOD+GbP+VgAsj1o7pYc=" + }, + "v098t": { + "version": "0.9.8t", + "hash": "sha256-a5s+9eqULXtcPOI+npKdjuzQkOgfGNh606ry65oiahQ=" + }, + "v098s": { + "version": "0.9.8s", + "hash": "sha256-7cljm+ry1eI52OXJ0v4ZWeZyal1/irhDBhODX0Yj+bo=" + }, + "v098r": { + "version": "0.9.8r", + "hash": "sha256-QrI2j3hrBe076EaDjc4Sa06OPbqPsuDOgxAt8owQL60=" + }, + "v098q": { + "version": "0.9.8q", + "hash": "sha256-1SKz6KK0joO6HhQtcgXqygE1ihN7tY6NZFg1dOaX/9c=" + }, + "v098p": { + "version": "0.9.8p", + "hash": "sha256-smReKiryIfojC172qiuTiKh1gBt0y927Fr5Vf4D0UkI=" + }, + "v098o": { + "version": "0.9.8o", + "hash": "sha256-vvraGsOBmx0xffgZe16C7HaLOdJQ/L74Hisct/Fl1Eg=" + }, + "v098n": { + "version": "0.9.8n", + "hash": "sha256-sBq8KDdrhmUV31jxsATahFMWYpF4PU50d82omwAMHwE=" + }, + "v098m": { + "version": "0.9.8m", + "hash": "sha256-NgNxYCgc9Jd9lk5APSvAaA+8oKf/n2XjMTbXX64Sy1s=" + }, + "v098l": { + "version": "0.9.8l", + "hash": "sha256-7NBU6e7S6cFiC6FSV+b8TYgsmkrqZj0jt2niE43oyRo=" + }, + "v098k": { + "version": "0.9.8k", + "hash": "sha256-fnzU85dBmbcp5uOgrwi9Qnn94DcKESDBo7NRqwkMYQE=" + }, + "v098j": { + "version": "0.9.8j", + "hash": "sha256-cTEkIELb1jH72DQ29CrqF3Xnwy9Yf6StpaAd9MOujos=" + }, + "v098i": { + "version": "0.9.8i", + "hash": "sha256-6Pxfz7cV/+klspgqqcooeDKpNJXX//A/F/ZEnwcycYw=" + }, + "v098h": { + "version": "0.9.8h", + "hash": "sha256-Ik4co67tqKzHLlxIs0hDkEudWFqq201aFVJMJfbGoc4=" + }, + "v098g": { + "version": "0.9.8g", + "hash": "sha256-DiaIaEXelXFsnxubdcDgbp1AddK9yeEVBOql9+6QHPA=" + }, + "v098f": { + "version": "0.9.8f", + "hash": "sha256-vlr9OG9des/wGayvRs2q2JqLQsyc7oXRrbJ3RifzK0I=" + }, + "v098e": { + "version": "0.9.8e", + "hash": "sha256-QU6EKLlfvFFweWX9oxOQSX0FgpA1ZCa/4IS0lGSmA0A=" + }, + "v098d": { + "version": "0.9.8d", + "hash": "sha256-AiGUlEzCDa2RfIbJFtuKTgBQ3y3pG5tnQN3U+y2vF10=" + }, + "v098c": { + "version": "0.9.8c", + "hash": "sha256-iW94MMGSFojyLG/k+z17dRic7915rMpfsMrStZkTkEg=" + }, + "v098b": { + "version": "0.9.8b", + "hash": "sha256-ae/tYnWUL5MS3mHPaarvErBsEvaxDzGWcs4CanVvZcA=" + }, + "v098a": { + "version": "0.9.8a", + "hash": "sha256-MPj2H7Exb0+1FBDHQLSHm44mtBfI2HDkhhRLELgEHHM=" + }, + "v098": { + "version": "0.9.8", + "hash": "sha256-wRVLimpFFodA7MnzjUbfrUDrJ65Rq9doM6GNTJpktR0=" + }, + "v097m": { + "version": "0.9.7m", + "hash": "sha256-yYuXA4h+LdpiF7kUBdDZSIP3xn4gX8TXqBu2kNLhBXI=" + }, + "v097l": { + "version": "0.9.7l", + "hash": "sha256-ftGYWckuHBPp+O1cPeNcPUjkW/8bUv/EOEXMDIVvo9E=" + }, + "v097k": { + "version": "0.9.7k", + "hash": "sha256-m7znXVXAP61H98peZ5D6zKSyA7KMbDNCjRpHHvc+5iI=" + }, + "v097j": { + "version": "0.9.7j", + "hash": "sha256-ZabojDOXy2jRnbtXbs+fnY3EFCOqmsMCXNKeOYcnRGA=" + }, + "v097i": { + "version": "0.9.7i", + "hash": "sha256-L92SNfwIxDU4ddCYF0GUfy+p+INfBNl8MEYcwUqYbdA=" + }, + "v097h": { + "version": "0.9.7h", + "hash": "sha256-tjjDhTEtK9ao8BdsJgW9YTyXjlVdPS14AnDhYIfyDeE=" + }, + "v097g": { + "version": "0.9.7g", + "hash": "sha256-5+GihxQd0b5/S0/t1U7Cn6kEZV7XahOsh65po/x2sGI=" + }, + "v097f": { + "version": "0.9.7f", + "hash": "sha256-Nn2z7nXmMySyCQB0sSqBcCGLps7ziydWOQ0IlBwWJgg=" + }, + "v097e": { + "version": "0.9.7e", + "hash": "sha256-JRIbXb0rgwkpUZMl4DMIbORYYc/y0AANko9IJhseC3w=" + }, + "v097d": { + "version": "0.9.7d", + "hash": "sha256-Bf39B+iBz+tYTneRnt3HTaw/laziOsvqAIwq+Ut2wUc=" + }, + "v097c": { + "version": "0.9.7c", + "hash": "sha256-wLjHD9Z3xIGwL7nXsCDqVJZrf5tOmwtrK+fpAFLlZQY=" + }, + "v097b": { + "version": "0.9.7b", + "hash": "sha256-LhniMMNuwXJzavdugx+aYYaAnDYzVXSPTlFAahEvCDE=" + }, + "v097a": { + "version": "0.9.7a", + "hash": "sha256-1cVx3PPCLCrKa50tL5oILmDgfu45eqNFIxgXfR9QlaI=" + }, + "v097": { + "version": "0.9.7", + "hash": "sha256-CoBRPltBb69HBMbi2/3hG0gmlHm+QX8JIKooNg0lkQA=" + }, + "v096m": { + "version": "0.9.6m", + "hash": "sha256-p3jAe13iSOGrizc0O8xgM/s62VXN1XmV6awKRM6UL9Y=" + }, + "v096l": { + "version": "0.9.6l", + "hash": "sha256-JyPnyLT66JkY89QKbRq53WGATe2Zh/aOAJr+i3B43Zc=" + }, + "v096k": { + "version": "0.9.6k", + "hash": "sha256-eLPwYwnagXHFwGuq/TAh3I/TMNYoxTXQhdWqcagROtE=" + }, + "v096j": { + "version": "0.9.6j", + "hash": "sha256-PPct3ugGSOpFZ7Aw0C1bMdLhCVuDCD/tRO3boYWpkwM=" + }, + "v096i": { + "version": "0.9.6i", + "hash": "sha256-59i6mRAKUQetrEZd6MsVzTX9ScxtwbEnMWmAhUVlg1k=" + }, + "v096": { + "version": "0.9.6", + "hash": "sha256-UhW2cMJnTfmmQlZepopn5tlV2O/MoaobTmpbT9J0Tug=" } } \ No newline at end of file From ba11d870fbef49ac9fc1b738a95c5e86764fd8cc Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 18:25:01 +0200 Subject: [PATCH 115/131] Fix broken nettle. --- fetchReleases.py | 9 ++++----- nix/nettle_pkg_versions.json | 5 ----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index 4fe4e537..eb8afd6f 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -129,10 +129,7 @@ def fetch_openssl(): tags = [release["tag_name"] for release in resp_releases.json() if not release["draft"] and not release["prerelease"]] tags += [tag_ref["ref"].split("/")[-1] for tag_ref in resp_tags.json() if tag_ref["ref"].startswith("refs/tags/openssl-") or tag_ref["ref"].startswith("refs/tags/OpenSSL_")] - tags = list(filter(lambda tag: "FIPS" not in tag and "reformat" not in tag and "alpha" not in tag and "beta" not in tag and "pre" not in tag, tags)) - for tag in tags: - print(tag) - + tags = list(filter(lambda tag: "FIPS" not in tag and "reformat" not in tag and "alpha" not in tag and "beta" not in tag and "pre" not in tag, tags)) single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { {{ pkg }} = { version="{{ version }}"; hash="{{ digest }}"; }; @@ -140,7 +137,6 @@ def fetch_openssl(): renders = [] versions = {} for tag in tags: - print(tag) if tag.startswith("OpenSSL_"): match = re.match(r"OpenSSL_(?P\d+)_(?P\d+)_(?P\d+)(?P.*)", tag) sort_version = f"{match['major']}.{match['minor']}.{match['patch']}{'+' + match['ext'] if match['ext'] else ''}" @@ -330,6 +326,9 @@ def fetch_nettle(): for tag in resp.json(): if tag['name'] == 'release_nettle_0.2.20010617': continue + if tag['name'] == 'nettle_3.5_release_20190626': + # broken upstream! https://git.lysator.liu.se/nettle/nettle/-/commit/ee5d62898cf070f08beedc410a8d7c418588bd95 + continue version = tag['name'].split('_')[1] # NOTE skip release candidates if re.search(r'\drc\d', version): diff --git a/nix/nettle_pkg_versions.json b/nix/nettle_pkg_versions.json index dd9eccc9..7e80a1b7 100644 --- a/nix/nettle_pkg_versions.json +++ b/nix/nettle_pkg_versions.json @@ -39,11 +39,6 @@ "tag": "nettle_3.5.1_release_20190627", "hash": "sha256-dcyhmYdhsC4W8ttW2lKZKu9iK/VaO0XsU4vC7trclBk=" }, - "v3_5": { - "version": "3.5", - "tag": "nettle_3.5_release_20190626", - "hash": "sha256-Qy2Y3NNBy9BjqWMCVSQSI2jB8u6cchu2jXcdXjRnS08=" - }, "v3_4_1": { "version": "3.4.1", "tag": "nettle_3.4.1_release_20181204", From fc2ad83ac0c59ca1b663a769b36a509689c519f4 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 18:40:01 +0200 Subject: [PATCH 116/131] Fix mbedtls v2.26.0. --- flake.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 67d13317..d1d89444 100644 --- a/flake.nix +++ b/flake.nix @@ -175,7 +175,20 @@ }; patches = { - "v2.25.0" = ./nix/mbedtls-printf.patch; + "v2.25.0" = pkgs.fetchpatch { + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; + hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; + }; + "v2.26.0" = [ + (pkgs.fetchpatch { + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/2065a8d8af27c6cb1e40c9462b5933336dca7434.patch"; + hash = "sha256-gLMiozagnzARt6jRhklUYqZgdvrKySBXTkuQ2Xm3lJs="; + }) + (pkgs.fetchpatch { + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; + hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; + }) + ]; "v3.2.0" = ( pkgs.fetchpatch { url = "https://github.com/Mbed-TLS/mbedtls/commit/c2a938711085813eae11d99550b280c416a8242e.patch"; From 6c5776d523aca9ab86697402177342df06bc0e37 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 20:08:13 +0200 Subject: [PATCH 117/131] Fix many more OpenSSLs. --- flake.nix | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/flake.nix b/flake.nix index d1d89444..93deff9d 100644 --- a/flake.nix +++ b/flake.nix @@ -59,17 +59,23 @@ if version == null then (pkgs.openssl.override { static = true; }) else - (pkgs.openssl.override { static = true; }).overrideAttrs ( - final: prev: rec { - inherit version; - src = pkgs.fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; - inherit hash; - }; - # FIXME Removing patches might cause unwanted things; this should be version based! - patches = [ ]; - } - ); + (pkgs.openssl.override { + static = true; + enableKTLS = false; + }).overrideAttrs + ( + final: prev: rec { + inherit version; + src = pkgs.fetchurl { + url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + inherit hash; + }; + # FIXME Removing patches might cause unwanted things; this should be version based! + patches = [ ]; + + configureFlags = if pkgs.lib.versionOlder version "1.1.2" then (pkgs.lib.lists.remove "no-module" prev.configureFlags) else prev.configureFlags; + } + ); botan2Builder = { version ? null, @@ -176,17 +182,17 @@ patches = { "v2.25.0" = pkgs.fetchpatch { - url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; - hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; + hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; }; "v2.26.0" = [ (pkgs.fetchpatch { - url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/2065a8d8af27c6cb1e40c9462b5933336dca7434.patch"; - hash = "sha256-gLMiozagnzARt6jRhklUYqZgdvrKySBXTkuQ2Xm3lJs="; + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/2065a8d8af27c6cb1e40c9462b5933336dca7434.patch"; + hash = "sha256-gLMiozagnzARt6jRhklUYqZgdvrKySBXTkuQ2Xm3lJs="; }) - (pkgs.fetchpatch { - url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; - hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; + (pkgs.fetchpatch { + url = "https://github.com/Mbed-TLS/mbedtls/pull/4237/commits/29b641688d038143a193c69eac4d6e8eacc934d8.patch"; + hash = "sha256-i8Kn+QVCeJbrm0z6d60FbzCZ5t0oP2EhdYw8w3nV8b8="; }) ]; "v3.2.0" = ( From 19f304e159135a6f80f7d08b885696bde8ebc737 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 21:22:36 +0200 Subject: [PATCH 118/131] More OpenSSL. --- flake.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 93deff9d..cb97af96 100644 --- a/flake.nix +++ b/flake.nix @@ -73,8 +73,20 @@ # FIXME Removing patches might cause unwanted things; this should be version based! patches = [ ]; - configureFlags = if pkgs.lib.versionOlder version "1.1.2" then (pkgs.lib.lists.remove "no-module" prev.configureFlags) else prev.configureFlags; - } + configureFlags = + if pkgs.lib.versionOlder version "1.1.2" then + (pkgs.lib.lists.remove "no-module" prev.configureFlags) + else + prev.configureFlags; + + preConfigure = + if pkgs.lib.versionOlder version "1.1.0h" && pkgs.lib.versionAtLeast version "1.1.0" then + '' + substituteInPlace Configure test/build.info test/run_tests.pl test/recipes/90-test_fuzz.t test/recipes/80-test_ssl_new.t test/recipes/40-test_rehash.t util/process_docs.pl --replace-fail "qw/glob/" "qw/bsd_glob/" + '' + else + ""; + } ); botan2Builder = { From cb8a0e0fe322fb45d7d2fc40ebe2af546ec63261 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 22:36:32 +0200 Subject: [PATCH 119/131] OpenSSL 1.1.0. --- flake.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index cb97af96..7df48472 100644 --- a/flake.nix +++ b/flake.nix @@ -82,7 +82,10 @@ preConfigure = if pkgs.lib.versionOlder version "1.1.0h" && pkgs.lib.versionAtLeast version "1.1.0" then '' - substituteInPlace Configure test/build.info test/run_tests.pl test/recipes/90-test_fuzz.t test/recipes/80-test_ssl_new.t test/recipes/40-test_rehash.t util/process_docs.pl --replace-fail "qw/glob/" "qw/bsd_glob/" + substituteInPlace Configure test/build.info test/run_tests.pl util/process_docs.pl --replace-warn "qw/glob/" "qw/bsd_glob/" + for t in test/recipes/*.t; do + substituteInPlace "$t" --replace-quiet "qw/glob/" "qw/bsd_glob/" + done '' else ""; From 280630ad39983c5e646938d4711bfb0d277cf3fa Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 22:36:45 +0200 Subject: [PATCH 120/131] Crypto++ 6.1.0. --- nix/cryptoppshim.nix | 10 +++++++++- .../crcs/ectester/standalone/libs/jni/cpp_utils.hpp | 11 ++++++++++- .../cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp | 6 +++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/nix/cryptoppshim.nix b/nix/cryptoppshim.nix index f5262752..29890660 100644 --- a/nix/cryptoppshim.nix +++ b/nix/cryptoppshim.nix @@ -1,5 +1,8 @@ { pkgs, cryptopp }: with pkgs; +let + dotVersion = builtins.replaceStrings ["_"] ["."] cryptopp.version; +in stdenv.mkDerivation { name = "Crypto++ Shim"; src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni; @@ -14,7 +17,12 @@ stdenv.mkDerivation { make cryptopp ''; - CRYPTOPP_CXXFLAGS = "-DECTESTER_CRYPTOPP_${cryptopp.version}=1"; + CRYPTOPP_CXXFLAGS = '' + -DECTESTER_CRYPTOPP_${cryptopp.version}=1 \ + -DECTESTER_CRYPTOPP_MAJOR=${pkgs.lib.versions.major dotVersion} \ + -DECTESTER_CRYPTOPP_MINOR=${pkgs.lib.versions.minor dotVersion} \ + -DECTESTER_CRYPTOPP_PATCH=${pkgs.lib.versions.patch dotVersion} \ + ''; installPhase = '' mkdir --parents $out/lib diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp index ed26c01e..0e74ee0a 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp @@ -47,4 +47,13 @@ void add_ka(JNIEnv *env, const std::string &type, const std::string &klass, jobj /** * Add a SignatureSpi class to this provider. */ -void add_sig(JNIEnv *env, const std::string &type, const std::string &klass, jobject provider, jmethodID put_method); \ No newline at end of file +void add_sig(JNIEnv *env, const std::string &type, const std::string &klass, jobject provider, jmethodID put_method); + +/** + * Version handling. + */ +#define VERSION_GT(lib,a,b,c) ((ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR == b && ECTESTER_##lib##_PATCH > c) || (ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR > b) || (ECTESTER_##lib##_MAJOR > a)) +#define VERSION_EQ(lib,a,b,c) (ECTESTER_##lib##_MAJOR == a && ECTESTER_##lib##_MINOR == b && ECTESTER_##lib##_PATCH == c) +#define VERSION_GE(lib,a,b,c) (VERSION_GT(lib,a,b,c) || VERSION_EQ(lib,a,b,c)) +#define VERSION_LT(lib,a,b,c) !(VERSION_GE(lib,a,b,c)) +#define VERSION_LE(lib,a,b,c) !(VERSION_GT(lib,a,b,c)) diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp index 2cff58c2..c194bf6a 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp @@ -163,7 +163,11 @@ static std::vector get_all_curve_oids() { } static std::string oid_to_str(const OID &oid) { +#if VERSION_LT(CRYPTOPP, 8, 0, 0) + const std::vector& oid_values = oid.m_values; +#else const std::vector& oid_values = oid.GetValues(); +#endif std::stringstream ss; for (size_t i = 0; i < oid_values.size(); ++i) { if(i != 0) @@ -839,4 +843,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } // unreachable return JNI_FALSE; -} \ No newline at end of file +} From e631d3f9ef7cebbea93ed14099d5aab2b3773c10 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 15 Aug 2024 22:40:57 +0200 Subject: [PATCH 121/131] Fix cryptopp 7.0.0. --- .../resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp index c194bf6a..a7eb6a6f 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp @@ -163,7 +163,7 @@ static std::vector get_all_curve_oids() { } static std::string oid_to_str(const OID &oid) { -#if VERSION_LT(CRYPTOPP, 8, 0, 0) +#if VERSION_LT(CRYPTOPP, 7, 0, 0) const std::vector& oid_values = oid.m_values; #else const std::vector& oid_values = oid.GetValues(); From 7ca62947e95044354e3e09bfcda213a851f140af Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 16 Aug 2024 00:02:00 +0200 Subject: [PATCH 122/131] Pull older BoringSSL versions, not 100 newest. --- fetchReleases.py | 8 +- nix/boringssl_pkg_versions.json | 684 ++++++++++++++++++-------------- 2 files changed, 390 insertions(+), 302 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index eb8afd6f..dc287fcc 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -212,6 +212,7 @@ def fetch_gcrypt(): def fetch_boringssl(): pkg = "boringssl" + upto = "76bb1411acf5cf6935586182a3a037d372ed1636" single_version_template = env.from_string("""{{ flat_version }} = buildECTesterStandalone { {{ pkg }} = { rev="{{ rev }}"; hash="{{ digest }}"; }; @@ -228,7 +229,10 @@ def fetch_boringssl(): output = sp.check_output(["git", "-C", str(repodir), "--git-dir", str(gitdir / ".git"), "log", "--pretty=format:%H"]) refs = output.decode().split('\n') - for i, rev in enumerate(refs[:100]): + upto_index = refs.index(upto) + + # pick roughly 100 commits evenly spaced from the "upto" commit + for i, rev in enumerate(refs[upto_index:0:-40]): sp.run(["git", "-C", str(repodir), "--git-dir", str(gitdir / ".git"), "checkout", rev]) digest = sp.check_output(["nix", "hash", "path", str(repodir)]).decode().strip() print(f"{i + 1: 4d}:{rev}:{digest}") @@ -239,7 +243,7 @@ def fetch_boringssl(): versions[f"r{abbrev_commit}"] = { "rev": rev, "hash": digest, - "sort": i + "sort": -i } serialize_versions(pkg, renders, versions) diff --git a/nix/boringssl_pkg_versions.json b/nix/boringssl_pkg_versions.json index adb6afae..d8fefc76 100644 --- a/nix/boringssl_pkg_versions.json +++ b/nix/boringssl_pkg_versions.json @@ -1,402 +1,486 @@ { - "r8e6aa7f3": { - "rev": "8e6aa7f39f4357a6ad15944884f72db8d25b9dff", - "hash": "sha256-Tdm9SExUr/YsxIbV9GsUqlTZpFZMAAlbUv/u7+GuE+M=" + "r76bb1411": { + "rev": "76bb1411acf5cf6935586182a3a037d372ed1636", + "hash": "sha256-f3wfLZ8caYOETpvy8olsED+PwEFLUbYaayZNOcEvGB8=" }, - "r35a91094": { - "rev": "35a910949d684aea8b86a8c42db76c4f43e31a96", - "hash": "sha256-vgtsVwEspe5gUDOwOHrchvwjfVC9lM4Ks0eFFQrzDMw=" + "rd17d1dae": { + "rev": "d17d1dae84ecf76da3a924facdfe1d8c2d4ac578", + "hash": "sha256-nPKFto60FViG55WK87b87r55wYc3pi1rwUsOZTikAjg=" }, - "r3efe2eb9": { - "rev": "3efe2eb9e3dfb49cb110c53e3430caeae4599f52", - "hash": "sha256-i2xw3iE1EGNxWd43qKDum0z7Krfp30WqIoICQD4R45I=" + "r2df010e4": { + "rev": "2df010e4f4eae6806cd1d855b63c3891116f065d", + "hash": "sha256-ohiRSNRSp8DhrcwVd3+w7OEIsLcddwSqonSeSUruIq0=" }, - "re7d76da9": { - "rev": "e7d76da920a1bd79b6ebc77e75b407cdf0a58962", - "hash": "sha256-mb7io8ljofKPKD4jlZjfqk8+SjiMrlLUrnWod2b9/v0=" + "r8d5f9da2": { + "rev": "8d5f9da2e36b593a098200bd332fd9e51f0bed54", + "hash": "sha256-YanXypsEr46jzSKJvNLEuNwlE3076vyyb5ZEROTbeLg=" }, - "rd34f540e": { - "rev": "d34f540e57394de22a1599c3c5d852519d388d6c", - "hash": "sha256-4ErkViNNPnrqzoXjiTA0yRM22XhNIMsc6fLpBcVjjE0=" + "r0efa7592": { + "rev": "0efa7592e3fb2ae647518a82ab19679b7c933d99", + "hash": "sha256-fLF4sd2eRYUvpGTwHMOElRJ8mZXMYouwq+0a4WSJYl0=" }, - "r4d50a595": { - "rev": "4d50a595b49a2e7b7017060a4d402c4ee9fe28a2", - "hash": "sha256-nuPaIVPLUxQVrjOx5kfeWOq8XZfrP+wwnZc8gH/diGA=" + "r52940c49": { + "rev": "52940c494517b1256d9569da0c2aefd018518348", + "hash": "sha256-arL/WA6dFWrdKGE3hBN8E9RNj5jLsBIZKDCxAj3A0IQ=" }, - "r8a0da669": { - "rev": "8a0da669a08b6c6b805fd7ec9d1e67694fda3711", - "hash": "sha256-kxx37r693eFZFyjTssS2KrSGYBjYb4hjNljc1wazAbc=" + "rf6d64efd": { + "rev": "f6d64efd1985d4668e084cabe03e41c3574b494f", + "hash": "sha256-JTxe75Z7ZZmJKz0L5qlRCEdPA5hvX/LEat9gkBEOXpI=" }, - "r1d24e04c": { - "rev": "1d24e04c7143171ae2010c842e3e1438510fd1c0", - "hash": "sha256-fgsqIdp4ua4G1bpZflD/eRk7OLh+jlBn3gKmKoa5Qbc=" + "rd5c565a9": { + "rev": "d5c565a98d4d036db91d34810e39fb116bf38c56", + "hash": "sha256-fYNraa7yy6ZgOvrjs01ld7pfIWIOpDGeFKCkZ5lTrcs=" }, - "r6b36ad2b": { - "rev": "6b36ad2bd6001f17a997b7a1e0ab254b001438ef", - "hash": "sha256-bwu01bczIOLU93LYOJXRU0bZ5+a14eqEo8G6EVaXXzY=" + "r2ddc461a": { + "rev": "2ddc461a3f319a3d704891bde0a819959b9437cc", + "hash": "sha256-QjZ9Ior1bbI8k3SeRpkILwcOiTkdRKbBUFJq3qZUDy8=" }, - "r03d1b7c5": { - "rev": "03d1b7c544851d9f44df1e9ff21839742e08c819", - "hash": "sha256-bRmRC4iO1TdyKmb98inr9XNB0hna9z7iZg3CGEQPwIA=" + "rfc2d78dd": { + "rev": "fc2d78dd1e900e43be1812de1b1e1d4083267a54", + "hash": "sha256-8aR8nDOVgKhBKlgRNuvmhhEi+/w/aIi7pex7drxkclE=" }, - "rb6bca9c6": { - "rev": "b6bca9c6dde177f641137d2991aa677997c54c67", - "hash": "sha256-Qo/cW+FSCDoEDZClVZmlHurz3CbVN3iqYmpJwmANFcI=" + "rbf833c34": { + "rev": "bf833c346d532558a4c1c98940fa42e4e80a0a02", + "hash": "sha256-BlGzWt1dSoTUCJOI8Eis6BlMy1V2o2Nqufy3Mdz7xwU=" }, - "rb8912d71": { - "rev": "b8912d713cb82a748bbe63f28f28b17632c70964", - "hash": "sha256-UJBdbyc0uv9NcAxKtVUh5L9FL35gk3PqVbRyxaUhbHc=" + "rddd5ba78": { + "rev": "ddd5ba78a949c5458aad9f7c3f19d214a2e8338e", + "hash": "sha256-BiVNiS+01LE4mk8ATUeie2+CgfBHGsGjEzVkC4dPvkA=" }, - "r1a9edc3e": { - "rev": "1a9edc3e3b1024af4f6dc1ed6bb391510cb494ba", - "hash": "sha256-nYN7UhORegjNiH5XB+6wS+NPkxBtAXazps1KzNgyXnI=" + "r13a129d3": { + "rev": "13a129d301f4b2f9ab5d68c19902fc95c5dad89a", + "hash": "sha256-unIC3msCKL5UjGhsI+l9Z/uDCVx8dly+GDc7H7JOvz8=" }, - "rfc953df2": { - "rev": "fc953df2352e1c1bcb34cb5f75a0e409014c1690", - "hash": "sha256-cxmSyN3FYc1/uC0qrf0SWbzzKikyQCNCYajlLldAxDU=" + "rafd88c27": { + "rev": "afd88c27f2fe9f8f1a6d5b287cc16b1bc8f06198", + "hash": "sha256-YMzAFNv9rw2kD0pK38FMNQ7JW2XCXyxMM94qOCfzyK8=" }, - "r07f27b1d": { - "rev": "07f27b1d445a27433f2c871935da2cefcfbdb458", - "hash": "sha256-qWhcq7fcteKLlC/EG+/bkUew5UoNzBbkAvWDh22JC8A=" + "r6dd055d2": { + "rev": "6dd055d2eb39fe66e4b66bcb58eaa5692113caa0", + "hash": "sha256-R0PnUO1FdD+l/rBFoAfZAuHbfjZmcpd72sad3nxuRzI=" }, - "r3a01cba9": { - "rev": "3a01cba9a5a133799dbb58b5fbf15d0ddfe23cee", - "hash": "sha256-2bVUZJToGg1xKKwPAKxCqQCucEccfk4wfZFSLQ3XDMk=" + "r08ab59b8": { + "rev": "08ab59b8d7f0b173bf4179e5615a073993bcdd38", + "hash": "sha256-+f9XhKoUTgCtVt6jF21mByEk2MKf1p86pBo5etCXq/k=" }, - "r0355048c": { - "rev": "0355048ce0302fdeb4744dae4b8a156a38496150", - "hash": "sha256-Cypt4iPc6ZJarXKVloUl7G+XfGSEunOCblTzakSjdIY=" + "r01f8a8c2": { + "rev": "01f8a8c2d5327d0a3c89f36802f72f6278d574ae", + "hash": "sha256-sA2gcLtJsr4XAORmMK1KABFX1U+HFczPK1xVXszWDLU=" }, - "r7662e58e": { - "rev": "7662e58e3e0f6b6bcfd6e93ef8c83062096f22e2", - "hash": "sha256-N++DCJApfXa19xRH+u0WXPdfr1bXFwLEFOxT0wSfiF4=" + "r055375ef": { + "rev": "055375ef2629d1547324113968f824a76879c927", + "hash": "sha256-wCHD4l/a2tIMLFXvprGUqZXpqofdqgTSS5HT+iiKumE=" }, - "rc7019036": { - "rev": "c70190368c7040c37c1d655f0690bcde2b109a0d", - "hash": "sha256-elaaAg/eub/myMsfsN1SQ3AKKMMdduaGHdvU05jxnmE=" + "r0a3663a6": { + "rev": "0a3663a64f00b6337ec80d78c8945f2c77c63dba", + "hash": "sha256-DxvOA1lcLILfiXF5uuVrWX9L1+ZjcNeJbtQo46gHWrk=" }, - "rd477c0d7": { - "rev": "d477c0d7c40ddca3a64ae26fc02d2dac175836d3", - "hash": "sha256-CMLdmGoHH0KBqSLLsTfnWi9Cg5OJZyIZ85ftVjzfcag=" + "r06a6ed01": { + "rev": "06a6ed0170cc4e655e5655588e7c8e82c7fe28c5", + "hash": "sha256-So+OHLsm77WITjttixxOJ7w3RGHIz5ZRBLHE32Qh5Zc=" }, - "r2fb5f9cb": { - "rev": "2fb5f9cb8feec2234952f6999af941ac48555710", - "hash": "sha256-dS+ze7Pz8oB2rAFFODOZYD49N7ngea5GKKi76+MLNs8=" + "r1ffb4a42": { + "rev": "1ffb4a4283a7ac5e795bf7c145cf133fb8acbb53", + "hash": "sha256-FOSD1m310rVq3c5+4iwgKtvNailvGEKzSfTSzjPATAs=" }, - "rba62c812": { - "rev": "ba62c812f01fb379f49f94a08a2d1282ce46e678", - "hash": "sha256-u0F0CNV5F6kIfTRnTXLIHXkQ5bOBEUAG/SUItU/g2vU=" + "r1386aad1": { + "rev": "1386aad102bfcdadbb7e0911f141067f6d67966d", + "hash": "sha256-LFA92v7RRMNVdfzAiiCh1UdqT5Rxfm4+gk09JBiwGQg=" }, - "rc798e3a5": { - "rev": "c798e3a54912a1bfbf1c846630e2bb86e9b543a7", - "hash": "sha256-sBDyJuTz8yHcSwDgrXlKjQqvuifaXegb3qwqH0naGig=" + "rd363247f": { + "rev": "d363247f1eed9b84b22cf02720b030d409ef49a6", + "hash": "sha256-SOe63Oum1fie46XTAg+7ZMjORtzP37gtriDcy1fMpIw=" }, - "r58745d61": { - "rev": "58745d61afe244a37941d391f5dec3ab08f5cf2c", - "hash": "sha256-IcfvFmoFoxzorWfKdPfcKLpqmNflqFFR5mxZ5y3fSIQ=" + "r02b1d195": { + "rev": "02b1d1953aa8cf44b887309b14496e235146b32f", + "hash": "sha256-mlaZyhbAi1TbuA2bGUNTYwy7UsDTFBjsqXXgJ5Wqmu8=" }, - "r29c9e64c": { - "rev": "29c9e64ce548ff8278e9d98aa53f611f115c2bed", - "hash": "sha256-29Qkg39XceB0LMHAvFkhbkg9jxlNbiPaSgXjKQ6e5c4=" + "r0a471910": { + "rev": "0a471910b41d6e5846b7874d9705c192b72dd8a3", + "hash": "sha256-2DJdzlwSni9AUqwkPIMynRtxmY6Ru4GNHbQ8tzAFg14=" }, - "rde6ba216": { - "rev": "de6ba216656b819d4d8de7602006561f82a8c669", - "hash": "sha256-U4d7K/3YDXOaUGtdJ56YMZ3o7Pb4rUoigo88+/m8oV4=" + "r288ca7dc": { + "rev": "288ca7dcb44a177a1f3f7fa5be4f581edf1da668", + "hash": "sha256-6nrajlvKYMyCdA5ScOLoc8oPmnuObcayHNpxJcnPtiQ=" }, - "r68c29a24": { - "rev": "68c29a24ee6c9c70ecce56766ca70b115aad768f", - "hash": "sha256-yf5eELIkNrJepihcf4SMg78wM8GpNGCgLZIYujHHlRo=" + "r57533465": { + "rev": "575334657fcb66a4861c9d125430b2aef60476a6", + "hash": "sha256-vHc4MxkQkbJ4FlwS47znQW+sMqIH2kW4OdGPcb4tn94=" }, - "rbfcab2aa": { - "rev": "bfcab2aa518899ce71e7ffbc23bb22c4ef51858f", - "hash": "sha256-DZRdCZA1BTQgBb7WWQylfsI+5naekSj8fmzTL7NeXGY=" + "r666d16e2": { + "rev": "666d16e262bb333cdf9d0971a1221133b35dc474", + "hash": "sha256-xA/Adrp1IggXLZvaIvQhZuIu7tIkvEySufZDOP/umws=" }, - "rd7278ceb": { - "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", - "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" + "r049fdfc7": { + "rev": "049fdfc7e0cd1e1390128459fb159265e5861420", + "hash": "sha256-HnviL88MBOK1sfcvEWzbDe240KkWVX1Pp2vf9KOciJU=" }, - "r9f7f4d03": { - "rev": "9f7f4d033b03ae1b6e7b69c9e3bfb368f06a887d", - "hash": "sha256-op7ClsGIL/o1ulHquGq+Uegtn8auPONTs/uWn92ieGw=" + "r2eb28897": { + "rev": "2eb2889702d9c57b89cfcc38ce57541251b421fc", + "hash": "sha256-RHTU0BXNxyvJFn1137jb5oxOkMmcYRVEefxk2SKM+Y8=" }, - "r273a920f": { - "rev": "273a920f84e8b0b258737cea0f2f24627e8c5ed9", - "hash": "sha256-fBvaQk2cJE57DRfTV9avEKG2A+MBzsNJeQLQX63kykQ=" + "r40e4ecb7": { + "rev": "40e4ecb793e057d3c8b01a489603d7f90bafe53c", + "hash": "sha256-gmFycsMeT/YNWfYInLXGchpjj+z9hp/C648TDK7HDM0=" }, - "r03982b4c": { - "rev": "03982b4cfadca0e650b384c9539b2fdb5f8aa012", - "hash": "sha256-CKd60IZM09YYxXyvrnGvv2z7ecWFsTX2u6rP+wOtCyg=" + "r48eaa28a": { + "rev": "48eaa28a124e702edf373e212011cb283f0f0161", + "hash": "sha256-kl+C/REClp8E5R74VBUVL5HexZ1whLmnz/Gehi3nRlk=" }, - "r13aa2733": { - "rev": "13aa27338663c62600249ece54c94f180d57bbb7", - "hash": "sha256-Wj2gBLAe/C0A6p20lwjc9xa/eo/8ukATxP8dwiRQgds=" + "r380bc30f": { + "rev": "380bc30f0c048368b884ec9da90eeda2a28cb1e7", + "hash": "sha256-UvLSoas5SI+DS3Tptp78uIZ41dckrFhz3nIn+vexv4E=" }, - "re95b0cad": { - "rev": "e95b0cad901abd49755d2a2a2f1f6c3e87d12b94", - "hash": "sha256-xv3Q30yLrM0l8oDtyLxnfLGH1ZnfHs6F6XEJHjgu6Dw=" + "ra4f78775": { + "rev": "a4f78775b97928387704bd1ab780ee68365f4ee5", + "hash": "sha256-FL5nDp4KoA5aRXig+0n4vXVU/BObx9o+y1SEW/sBFuQ=" }, - "rafd52e91": { - "rev": "afd52e91dfed27ab7193be040f067900947b14ac", - "hash": "sha256-wi5sQnj631WuCLmDLa0DrM6GJoVKBsI4NUaXeREIEeo=" + "r2ccdf584": { + "rev": "2ccdf584aa3304e5c9aaa221cc1fd1368c62d096", + "hash": "sha256-wPvGh11clvLUlWibMcgbEahi0rmDJsqYqZl3pUJQtJo=" }, - "re09fcf83": { - "rev": "e09fcf8302f75dc50afcfe40f0d59a92b40a3c2e", - "hash": "sha256-S2/UyMz3xuQTwO5sXx9l+871q/aIvQVq9ezSOPTveUE=" + "r02808ddc": { + "rev": "02808ddcaad2de63773f566835916bc0a1e36f87", + "hash": "sha256-5fyEPP3IuDzafoYrG9JlTQZ/UA5HfjRJBpN4cgrVxTU=" }, - "r5326e94d": { - "rev": "5326e94dd188beba0a5e536b1d2723aee65bd85d", - "hash": "sha256-FzKzPLXG9IiqtS1xzY/8Rkrs064YaZcISKADI1bwgP0=" + "rac97cc0e": { + "rev": "ac97cc0e515b802c537fe50efc6e2faa2c7b0a0b", + "hash": "sha256-VRqv+ekEL7lktXkSr/4iTBzqomd8iOrCATK3lFW06uo=" }, - "r4a7815c9": { - "rev": "4a7815c94077eebb3546fc287d1fa0e1356a2cd0", - "hash": "sha256-PWwhREqN/KUSNX7A+8sGJHd2ZUI+WsLW3+eVFBsLjN8=" + "reb7c3008": { + "rev": "eb7c3008cc85c9cfedca7690f147f5773483f941", + "hash": "sha256-iephAcVqFFmn/dpHGR6bFsjf2OZfPsnOhA8JqNyjamU=" }, - "red3f05a6": { - "rev": "ed3f05a6794adfd39937d0027afefad8f6afcae9", - "hash": "sha256-dL2IJZIKYUoH9lnQMV6e95Ju9bl6D93JvLeio5waZrc=" + "rd3192050": { + "rev": "d319205007c10ca27280496b2de9d7256dbd953d", + "hash": "sha256-JSWLhC5ZebuBOHX8Ax6mLdQj1bO9xN8OV5x9K78TW2g=" }, - "r9540c045": { - "rev": "9540c0452343e684f94515288880b6b35655f792", - "hash": "sha256-7y6OxtmpHp3N48RRqP6us3twYHB/JGE5ElCxhxXOXCk=" + "r041dd68c": { + "rev": "041dd68cecd28bdaf5506d148df4634cd0c540af", + "hash": "sha256-2ZkPSH22Y/Uaa/IjzPPGNjNs0nrdAXz6P7PRMovzEb4=" }, - "r261579f0": { - "rev": "261579f08b2f8aa7959670df1e928c1c305a632c", - "hash": "sha256-fnnCC4JcUtp3i3rTVbKAzzH/6YX8ZHXzv86oC9o61Tg=" + "r1d339558": { + "rev": "1d339558acc7f2e21b8f9df094e43178c05139c0", + "hash": "sha256-trHB7x9QcLVChT+ONraqikPKJwppjx4Mn/9ydd6bgfQ=" }, - "r1eda2363": { - "rev": "1eda2363f9e79aaa5febe91d31b6756ae4f24f30", - "hash": "sha256-zQ+y78EaZ36yeCi/pk9v7W7M2t5yPLpEO0QXyxtKJ0g=" + "rd12f2ba5": { + "rev": "d12f2ba55e015a16f97e53c7314babd483e10ea3", + "hash": "sha256-ufpj+f6lc62AtBTjaWv1Zf02r/o0YQwH8hAmq8aXRNE=" }, - "rc8100f0f": { - "rev": "c8100f0f0d05c5185d58113e12a867ae0771a6c9", - "hash": "sha256-oTa8ZyNJH86rWRlq2+wOl6cc0MFm/yD0N3RK0/8t91Q=" + "r9f9c938a": { + "rev": "9f9c938af0affceee30eef308ed2596e1d7f53e0", + "hash": "sha256-odnwO/idLZc+H9TQL1fB8vV3VcI/DkdgoVfVs0veB3w=" }, - "r25cf1bb9": { - "rev": "25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016", - "hash": "sha256-suA9B4DZyRrSKCSrJifvYbRC923GstqPr8qLzUPmyfk=" + "r82639e6f": { + "rev": "82639e6f5341a3129b7cb62a5a2dd9b65f3c91ef", + "hash": "sha256-Ryq0VoO1K8U2+0clK9lAVvzrhzln8pMUlYV2evuGgwM=" }, - "ra11277e1": { - "rev": "a11277e187e407d0ef403b8a60d9a32eaab7d301", - "hash": "sha256-7RsYw9E4fQgy5bdLviRIqLZE3/kbkOQmI+SCGgyCeuo=" + "re833a6df": { + "rev": "e833a6dfa2a89420d37070cd9b27688e37e83c8c", + "hash": "sha256-FWXVbDGOiyTC7igmTwxzhk4L/a/P80/fhOdwobVEwYU=" }, - "re491eeb6": { - "rev": "e491eeb610fcc69b98bc6d1ba08faf78655808f6", - "hash": "sha256-5Ju7KKWLJheH9E7aicjJEMCzrky1/6bhV8OsARsrK0U=" + "r378cca80": { + "rev": "378cca8016622e372a2da6cad0026ee12c426d6d", + "hash": "sha256-Sv4G8325ZpI9x0r8DFjanUtogttIWYmzdNA4gOPRALc=" }, - "rfb1c75ca": { - "rev": "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549", - "hash": "sha256-A4qrMxsfBMpkTl+GbhIp6tfa4ArbwYUy+wdl3M01kMI=" + "r350257db": { + "rev": "350257db77b736385fdbad16308bef9be22d60cf", + "hash": "sha256-vHZKmyk1X8P+P7WMays+OatkXcjwt1tgcoN+JA/3KpU=" }, - "re1a860c3": { - "rev": "e1a860c3745c77cb83228dde1b73fa62eaf43930", - "hash": "sha256-hVVyDOiPrmYFZVOEVPH+gQDdpAJQQXMpslyhXwRIESs=" + "r62a4dcd2": { + "rev": "62a4dcd256a028918b17756f7fd3f95eaae5ab7e", + "hash": "sha256-5sbkiXtuy71ujJhncHAp0m4vbI9tQnW75iz1/oAx2rc=" }, - "rc1d9ac02": { - "rev": "c1d9ac02514a138129872a036e3f8a1074dcb8bd", - "hash": "sha256-C1+2oEyLY58IqeLD0G6kHs10cJvMt2AwfhMUEqb8Lt8=" + "r9edbc7ff": { + "rev": "9edbc7ff9f56dff801a49f5ecb15ee06718b995c", + "hash": "sha256-ReWBiMykRsIC6xJU3hRg5Mj6se1eRSdjD/kvgD6nKzw=" }, - "rdec5989b": { - "rev": "dec5989b793c56ad4dd32173bd2d8595ca78b398", - "hash": "sha256-IRlarsuNbK7hBJ6W8bXqbHEfk0K9Gqy7h1uHZ1xazhI=" + "r045ee419": { + "rev": "045ee41928e482d7e3022ff9d9c73ed2bab48b91", + "hash": "sha256-NPftv8mj9KLZ0BEo5uSezGY7kvmjRfApNVllCWr7Gbc=" }, - "ra055b938": { - "rev": "a055b93845a1b2a910919e21920e4bd1ce900841", - "hash": "sha256-ZjQC/pT8pdGMj1km4k9RPlMNB6FXkLStClfiazQJonI=" + "r74944287": { + "rev": "74944287e1ab95e091107c9f26ce46bd50e13043", + "hash": "sha256-ZbyjkLVsdhz76p8pPox9uC3YvCL6pjU590IaF7h2yfg=" }, - "r2bc9245e": { - "rev": "2bc9245eb4b50bd9e6b8bd0aa4ac94b91eda997a", - "hash": "sha256-Wn1rWoaCIfNZuouxt9FPV8L0akTkgXULG68SGNyYDQM=" + "rb65ce68c": { + "rev": "b65ce68c8f2c1e3e9d18b6ebf0f48905b5368a39", + "hash": "sha256-ZSCII2Qi5iIpLSidsrYEnKqrAwqJNw0xV8LHBDGY7RM=" }, - "r1385dbd5": { - "rev": "1385dbd51dc2eeba39076687a6c9e45c7dc8965c", - "hash": "sha256-wutjtx+JxOdWOVxdwSDosQVAQag/u3KAlQqpUBSPkyk=" + "r0a87c498": { + "rev": "0a87c4982c617799d48cad210945ec6429c13b8f", + "hash": "sha256-zFf1d0So61ij4BqnB/96kRqt6SYUsdKGnJNGveS90ms=" }, - "r39dd1e3c": { - "rev": "39dd1e3c904341ac14da80224d72a77d95501ad4", - "hash": "sha256-hyCIctgppjZmLquRQ7TfvOza9M5gUSPjkECeXIuhw/4=" + "r8d685ec8": { + "rev": "8d685ec867c4975013b11e72b280a1af850737f5", + "hash": "sha256-VsdQQ7zbl/xVrQgpBsAoAKhelmfn90ouH6haBAi7mXI=" }, - "re2a801f6": { - "rev": "e2a801f688dbdfac8fde90b849b1bf75f80b466c", - "hash": "sha256-me6iT8/l4uCeTPo0L6ID0GiUklFEiwR7JGOB+OhotLs=" + "rc67076d6": { + "rev": "c67076d653f7501136f7b208df4b011a7275e8f5", + "hash": "sha256-MALoEV07gCSnSZgivQDkzIU7/xokXxoQMp0pOev7Nyc=" }, - "r29223ac3": { - "rev": "29223ac349c144a4d0babc281644c0410dd1e313", - "hash": "sha256-0zOLcNJh7SMzI1r5AVdFpzZxH1Li9+m0rhXyIg+hiMQ=" + "r9b896cf1": { + "rev": "9b896cf148e692fca46d7f34d0e45d1c58764db3", + "hash": "sha256-hGf31gWcCFzhsREgESoY988gAeEUVxB1bJU5MbHnl/M=" }, - "r56fb43a2": { - "rev": "56fb43a204e57af68e00f4561c108a7004381aa3", - "hash": "sha256-CK3EhbxQxL0SR1lznYTbOGO4PVU0ajHyJ6lVi6OzJGY=" + "ra866ba5d": { + "rev": "a866ba5d704973e5678d744ebd10ffbee3e3d3a3", + "hash": "sha256-i5NP3rxLGGmtgatQbXLNcaV9uB/8i2BmosFHPrxLCsA=" }, - "ra6c42d68": { - "rev": "a6c42d6810ea5317fe8ed85704c097cd8f3513ca", - "hash": "sha256-tqgorwXUKb4wkTRD1OlMKNOp8LTDzyci5ulfaYHYGkQ=" + "r356a9a08": { + "rev": "356a9a0895bbda5e78f5627dd546d4f09c380166", + "hash": "sha256-RGFLQV1c/lmqoChsoxv27JrPWT8VW92yJXob5TLYHSY=" }, - "ra220a602": { - "rev": "a220a6024f66c123019b5c080f6bd8bcaf75448c", - "hash": "sha256-0R5EhwUi1Sc3hhwVhzCBAPxRhcftdmp2/FnwFckxlU0=" + "r1458b49a": { + "rev": "1458b49a9e53b0db0ad63e8ef3156214f1473d87", + "hash": "sha256-x3nEtHyzZPn7WxtsLnCs3fox2dHjJXa5RsLzR/2SsOI=" }, - "r962432c6": { - "rev": "962432c687f67f8df1aa6e3dd364fbc88fea4ed8", - "hash": "sha256-BPOeSCjPiLh3pY/07J0vqUGdj6529idZtc+LCKb2MuQ=" + "rde1d2881": { + "rev": "de1d2881aea4aa23ba580da752387e52a5fd3eb2", + "hash": "sha256-0KnJ1+ii8WUaVyQCgzb6re0ZBjJW4aLma9OUTf8pJVg=" }, - "r11acdc6a": { - "rev": "11acdc6abf13cc8139c30ac9455840a347793110", - "hash": "sha256-FPiV4a+MmC3UdBZPqQRu2vUe0v7w+ar6/p19f0YGS+Y=" + "r15cd8bf4": { + "rev": "15cd8bf433750187d6c8babc83abec83f6215eb3", + "hash": "sha256-zNBKpVbx7EHMdYcjHw0EuvAb1kiWnxt4/dyU06c9bGk=" }, - "r9cac8a6b": { - "rev": "9cac8a6b38c1cbd45c77aee108411d588da006fe", - "hash": "sha256-oVRzPR4OSpgifskilpke116E4mpx+9baXw6rfW/jegs=" + "r98b4cdba": { + "rev": "98b4cdba1e4ede26d845bcae8185ddb5b2feea93", + "hash": "sha256-MuQosdGCJejCzi0lWz8p7Dqgi2Q3VuhFUj3CutLxXIc=" }, - "re1d209d4": { - "rev": "e1d209d4432846d28c31d84f269f4edcb9a63509", - "hash": "sha256-K2/9RS+UHCkHiog+//Q99RFWxLVXASE62l8yhJ6JVjg=" + "rf1efbc8f": { + "rev": "f1efbc8f8be9ce2918eaf46c48f294cb214023b9", + "hash": "sha256-kev4zyibpHEbmuVIAF4gR9QXONQH9A3iDEr5D+RBuzI=" }, - "r66d274df": { - "rev": "66d274dfbab9e4f84599f06504987c418ca087d9", - "hash": "sha256-eppy21RtniwE5gpD0ff4B1Gd0xLCdwc71i2DP7Y3nt0=" + "re8434d30": { + "rev": "e8434d304cb10d2b52a426a13e6a1f852d63bba2", + "hash": "sha256-sqVazinRxRbwryjDUvHPv5jmyu15lXuIXyMxqz7PFLU=" }, - "rc6c0b650": { - "rev": "c6c0b650091e90e6206a361c14a73223f54d42c1", - "hash": "sha256-GirZs6NfiMvoXqDkW+J5zSK4NJJtI0rl2GOb+B+Hyeg=" + "r14d192e9": { + "rev": "14d192e930802135eadf57d1cd90165a94e3441a", + "hash": "sha256-7lYiZsgfjsaqo+6sQ7H3TaiS+dHgM4H8KqAM4LRLe5k=" }, - "r67422ed4": { - "rev": "67422ed4434116daa8898773692165ddd51a6ac2", - "hash": "sha256-7ScEX6ZqBl3PL+zn4bBBPFu5xxP1YswGQxh7g8+9VUc=" + "r2309f645": { + "rev": "2309f645e509507a1cc8f9845771110fcf986fd9", + "hash": "sha256-V24YX21Ze9KykwCMghKnuCXixYUUKZ7U1udi8I9mv88=" }, - "r84dc9bb6": { - "rev": "84dc9bb624b47bda0bf802ae9e04a6eecb40865c", - "hash": "sha256-iM2dQCZIemZZysm5tQ83THHsdv3SAl8g6bR2eV5jqqo=" + "rde196121": { + "rev": "de196121b05adea2f9b7e400271266495a40b0f4", + "hash": "sha256-TtgmEPl75KJ6wayrPoD+2rTPlCV+rAgGbppWofww0iU=" }, - "rd1e6d3b4": { - "rev": "d1e6d3b4af50c9490cc6210e2763b3c45ba14b07", - "hash": "sha256-Da2bMR7COJib9Y6GLpQmsTRt9oyDWZcbz3OkEExYvYo=" + "r5eeaf302": { + "rev": "5eeaf3029dab6b7264522c57a7a2acb461c0a434", + "hash": "sha256-LzLdeWyZ0/D7vicUO197AKi6QHr8qe/Su0IxXgPHbJE=" }, - "r6c98ebeb": { - "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", - "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" + "r3989c997": { + "rev": "3989c99706bf30054798ff82f1cb010e50e385f5", + "hash": "sha256-UnupFj0S9Oe9v4a2U2WUWQ3hleN/oFaZnCP+Il7TsEk=" + }, + "r2c8445c5": { + "rev": "2c8445c5f7515f8125f41aa1e3da2501b8b040d1", + "hash": "sha256-jncx5QcrmJs0t5qgCv7Wh4cs8gCbDNosjKPp6e1r9dk=" + }, + "r92de0b53": { + "rev": "92de0b53a799a8724865fe816200c1421381d128", + "hash": "sha256-4ZYn1Yh91ALqQ+bHdqV/sPK9t8pD1/4KfFvENjGq330=" + }, + "rc295935a": { + "rev": "c295935a9bf345acb597ffefb69f7e095c3eee72", + "hash": "sha256-QMfhNhx9P5qNbRyeIqmdxxqhiL84hz+04Q9RZE4tyd4=" + }, + "rc02c19e0": { + "rev": "c02c19e0d842f54d903a9b62316476f4b9c4e3f0", + "hash": "sha256-jtpyvtMRMRCG5vIyl+1QMqvTaUgyX9RR0EY7h7aS3lY=" + }, + "r3d15a94a": { + "rev": "3d15a94add73c195fa0e68250afae8c030818437", + "hash": "sha256-NECKcKEWsaPXOaVEvCJ2ElVTbK9I7QwB94DtntWKLy0=" + }, + "r8d4c8fc4": { + "rev": "8d4c8fc41be567bca17ce7c15304dc06539a060a", + "hash": "sha256-rO0KW9bLeZUlEZ99BlCH0v+FI43mCIcvLl5eupM5kzk=" + }, + "r468cde90": { + "rev": "468cde90ca58421d63f4dfeaebcf8bb3fccb4127", + "hash": "sha256-aXCE8KmtZDVud5v12eECS8kMInh1slqMwK5kc/diWD0=" + }, + "r71a3b826": { + "rev": "71a3b826636eee85c20f064ef318f0935416a479", + "hash": "sha256-WUb4HfQv9Tt3776inSUVB5zc5giAFXpHOYaYjM5HumU=" + }, + "r4e93cd48": { + "rev": "4e93cd487f0a7f447d194621a59018a88d246379", + "hash": "sha256-8OWFPnV+5Vk3LY6BpHIE7I3Bp6v+n3Z1vqXG4dtO70E=" + }, + "r52067828": { + "rev": "52067828463443821e175975d19085b2c8bf2f54", + "hash": "sha256-CDaSjRjV9ou3fM+Lmfwpiv/ylwlwHv0VUUTzLGpGh0A=" + }, + "r5799ebfe": { + "rev": "5799ebfe5f895ecd29fcd699789854fc1790d6cd", + "hash": "sha256-wB0haPGSwvPepfVCgb8ueqVAk9aRHp/Hme6hETyqMnY=" }, - "r2fcdd11f": { - "rev": "2fcdd11f6d33b667968a5bc5147e2ba83a2082b8", - "hash": "sha256-aEZ3/t6Jg3LH+ZYuaqrB/sK44d8nilVfUleJEvN/qKA=" + "rb27438e1": { + "rev": "b27438e1268d3ef645c6f8ce10c184bb7d57825d", + "hash": "sha256-TdochIfhmyaCs4cRaMIRU4HNLA9142HYuinBpUXHH+E=" }, - "r45b24641": { - "rev": "45b2464158379f48cec6e35a1ef503ddea1511a6", - "hash": "sha256-YLgAs3CzvTJ50C/VPUrflD2THBMLLNoEFEpOALrZQhY=" + "r1c2473eb": { + "rev": "1c2473ebae2411949027c950eea5261a3a8f7922", + "hash": "sha256-Z+xI0Rea5WuZnUinMF9FOdMVe5CtXvihAgoCzs9/r00=" }, - "r45db24b3": { - "rev": "45db24b36a030ec54464ea7a26c362f3c82305ee", - "hash": "sha256-dQhTNkyN+yVKpEWUSiaezfnktHr2EySScCANDcQjgq0=" + "r686d05aa": { + "rev": "686d05aaa57604b5d867f1d40e85f04759151ce1", + "hash": "sha256-e9LCleyoKgqmcHNnZMTEk3wA8iCTWrTHnBwwe9dhb8Q=" }, - "r7811fdc9": { - "rev": "7811fdc94b7ec146937e83f98d411157974ffa32", - "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + "rc3c540b9": { + "rev": "c3c540b9a4d066476e8be372e0c5059979c8578e", + "hash": "sha256-teW60idbGmIwZYk/YEyeSfeDeZJ+bLGhasDB2b924wo=" }, - "r26468aea": { - "rev": "26468aea6483135b156fb03a5693c495dbad2e0f", - "hash": "sha256-a8r0bjKqsd/0FMhp5yR8iMU5LIC4ICV9cxsTIidWMUE=" + "r123eaaef": { + "rev": "123eaaef26abc278f53ae338e9c758eb01c70b08", + "hash": "sha256-6vAJ6bUZQKXFuiPEgPaaXhaLzynKe6hyqp2nO+RlXfc=" }, - "rf01108e4": { - "rev": "f01108e4761e1d4189cb134322c3cb01dc71ef87", - "hash": "sha256-jZ9T5/6t1ImeCDBAMzW0aSmT/NcLxbESYv/F+cBjIFY=" + "rbdc35b63": { + "rev": "bdc35b63617f78037768f4897d8835696f02181a", + "hash": "sha256-i7vQzzPr2SVvoq87gUVcnMRtaaeQc9+K89olB1ZYnZo=" }, - "rca2eba6a": { - "rev": "ca2eba6a5e6a1db7fc970b38c2975fb7bb7153fa", - "hash": "sha256-XVBOVn9ZuO9tobQ8TA6zDBwD/hxkMkcigGUpwn6Hnd8=" + "r9a836f78": { + "rev": "9a836f7840b965e66085f8380116a54076f44a4b", + "hash": "sha256-dbAExSW2fud0EaDItO+MyyOBPSJdKnyQymWCtUBbntU=" }, - "r12f0f4be": { - "rev": "12f0f4bec2a6db53a53748dd6001d1aacaae26ba", - "hash": "sha256-uj99vsXUoHicoysqcPOn/yJf1M7fTPL3gSlikNyzUJw=" + "r801a8010": { + "rev": "801a801024febe1a33add5ddaa719e257d97aba5", + "hash": "sha256-BvDaLePWJKXdVCSo8qY1dSeKH0rNz0Vo8+AV7k8HkPM=" }, - "r7c2b62e9": { - "rev": "7c2b62e93487b772990fddc1905f22d4cfaee4a4", - "hash": "sha256-FGpAeOQ4Sfd/kbKs/Ziv+H/UzN3yH4FmUnFE5afszU4=" + "rf2029899": { + "rev": "f2029899b2c1dcf3e3120876794da088f42ad351", + "hash": "sha256-L7NXMdHITp4aUXZFQeRp6F55DMCBkmqTPoZfN0ErCYc=" }, - "r8934b1ef": { - "rev": "8934b1ef0857bc08626a2206a6f5f718942c14fc", - "hash": "sha256-3haLXiXWipf27XCChJQ9UU76hjydoGAC/HS+8AftZd0=" + "r8ce0e1c1": { + "rev": "8ce0e1c14e48109773f1e94e5f8b020aa1e24dc5", + "hash": "sha256-N4MWyTJPgwQN+d1wv4s/rq/930dBaEudJDI6/GrybrI=" }, - "r77ef86d0": { - "rev": "77ef86d0431ec3ceea503b0c59888942fd35b035", - "hash": "sha256-DprfilhYcYUcQA4kDtvh6UNsntXJwTo7YDm16yduJ1M=" + "r9f426b60": { + "rev": "9f426b60fabf5e5fec0a0a05120de19289ef1fdf", + "hash": "sha256-jPJhMJPkPjTqRILCpyeDq+XBU9NFA8Sw5Izh78l50tk=" }, - "rb34976ca": { - "rev": "b34976cae99f8d1b864dbab31e20fc00d06acb09", - "hash": "sha256-QUeBGFNQJE9DHq/thfk3RsRMTUhwB2Z6LRN0SJYJsVo=" + "r3592aa30": { + "rev": "3592aa3009eb883f7e5431ad7ce08dc3ae979902", + "hash": "sha256-LkHwOGR3YmpVDEOmBZwXZEtaOyf7+m/7aVXmHMipDJE=" }, - "rd274b1ba": { - "rev": "d274b1bacdca36f3941bf78e43dc38acf676a1a8", - "hash": "sha256-FtJFZorlGqPBfkPgFbEztNvYHweFaRVeuAM8xOMleMk=" + "rde434576": { + "rev": "de434576d7412b95a8eb90d613fc9f01e2d7166b", + "hash": "sha256-nupZ+yTMYwLeARfszeXFLEaeeLBmeN73V9EUH4Hr84E=" }, - "r096ded9f": { - "rev": "096ded9f097b73a15956b04cd168c7cfe7e28f52", - "hash": "sha256-WL0ndihbDyZnT3dJmwDIZWilxNtjsoZTQCbQ9+hjofo=" + "r02397c7c": { + "rev": "02397c7c973e9dbdda0f4d610e91395b7a72d3c6", + "hash": "sha256-FCZeP2lgTsRo/cVI+ES090pYAaDi5Rom0TI8E8LvsD0=" }, - "r9b3ef1b3": { - "rev": "9b3ef1b3d34d09c40b999d05ca6a92c77a9345e3", - "hash": "sha256-LJF+ooOKaB0Zj+VoLMJO5HDilQKEZfWJSl92X+ZMZmE=" + "r65ad925f": { + "rev": "65ad925f51d879f8babd22ecb2ca4dc779b2cc24", + "hash": "sha256-8/54cNgeCzdm0bnswToe/d3XyixLls9Gv1s+Z/g5ydI=" }, - "r82f9853f": { - "rev": "82f9853fc7d7360ae44f1e1357a6422c5244bbd8", - "hash": "sha256-oppWaOb3gmQN5O+xtdCZJfbwc4GbFmuAJxZDp9e/GEY=" + "rf3165478": { + "rev": "f31654786c0e9c54c227b1e966faadc615780ef5", + "hash": "sha256-gHJLYi1TeYSzfE5DjB17Tt/2paE3Q8/iLcQgqLgguNg=" }, - "r9cffd74f": { - "rev": "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e", - "hash": "sha256-xy0eVPmLnoV/K8S0q0vsKvMR0bjGw2q1HzCeYclQBJ4=" + "r908b1300": { + "rev": "908b1300ff4ed3cfc3c965d846560f2593a51491", + "hash": "sha256-cJs3RnYEI1lVEy5cmHN5EmULIDjZY4PgDjF0eGicZiM=" }, - "r7a6e828d": { - "rev": "7a6e828dc53ba9a56bd49915f2a0780d63af97d2", - "hash": "sha256-BloPVeQvY7wxvxx6IqFbuo5dt1ATbl2epcgG8PmVXQk=" + "r474ddf8b": { + "rev": "474ddf8ba95f30e69acea37d76b3e671d89381c3", + "hash": "sha256-T/FCRe7w8B6W7Xw+DMbj750CNKLbALm2EeSAPLgSvrU=" }, - "re23fe9b6": { - "rev": "e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6", - "hash": "sha256-jB5WXaxGKCqT9tuKwiMr68RMrQgp8ElbQ+WZB8PY8NQ=" + "r860cc73b": { + "rev": "860cc73bb2964457461a6f3cb5807dbd79256372", + "hash": "sha256-D1v3lfaL07pzn1p+tAIvflBtEw1seNUniBLdZMhIBs0=" }, - "r14a2f35b": { - "rev": "14a2f35b6e06756902eaa7e188a25895721055fc", - "hash": "sha256-wmbkh5Gh3ewKBNrLgeUPTUKBFrVy5J/vKMnckvFR2Aw=" + "r5fb362c6": { + "rev": "5fb362c66a57b4d1e300a1d56b461bbb69e8c8ae", + "hash": "sha256-gCuFIHQj9gQA2BqGB1VSEma4Brf/2IztMaaipJUPn88=" }, - "r1e8c35af": { - "rev": "1e8c35af5363c21f0f349b4e570dcccfb9ec3f74", - "hash": "sha256-inBz7hCoJjO/wFY8Rrvov+9lPO66zjWn4tUOwS+qLEI=" + "ra02b7435": { + "rev": "a02b7435ca52b81c7cce656d577c8423b1cc4bb3", + "hash": "sha256-lwOC5VETlv/Nq3+dR3XhBd8qnnMvgjH7HAb+60OgGTw=" }, - "r5af122c3": { - "rev": "5af122c3dfc163b5d1859f1f450756e8e320a142", - "hash": "sha256-q4fuH35u6WlmDweGFf7WOmOJyq3F6NeJe6B8oTWjutk=" + "rdd521945": { + "rev": "dd5219451c3ce26221762a15d867edf43b463bb2", + "hash": "sha256-SLWV9JkMwUC0lZ18D3Tt79gqQ/2vTIapxAwKU3Y2Cac=" }, - "r1b40d99d": { - "rev": "1b40d99d6a90d0039e9021adde5ad4de743cf0ad", - "hash": "sha256-2z2h71y5MyM5ExL/b8EzVVK4e88z6Q9vbui3Ju/4kpg=" + "r3f680b0e": { + "rev": "3f680b0eff18ddd6c878b92bffbc1b53fe6bd797", + "hash": "sha256-nt3xV1wO5svpgQk///eWTikcqOoaRIqIFwLqZhxGT2A=" }, - "rb7f5443c": { - "rev": "b7f5443cfc1298d77dfb9e6f2eea68035de521a4", - "hash": "sha256-ojt43tOnQRRLXZL9amoIDk1J7xncpMmiHf4qtgMQ2Po=" + "r5d3124a3": { + "rev": "5d3124a304df8c69d38a73619bf4eae05b9d5545", + "hash": "sha256-jmfIlhwWrHeDX1F0znwOlR7NznXyfisRG5RB5s1KQHU=" }, - "rcee4fe2b": { - "rev": "cee4fe2b78cfd2db8b4429b4fefd9831d3e63c04", - "hash": "sha256-4lTjjalDTNeotXLKPb+c3M+d4OFMEcd93nQwPMmxLJs=" + "ra4f8755f": { + "rev": "a4f8755f8e66b77ca2230f376bc5d5d54b28544e", + "hash": "sha256-z5G6N6vr0wUpvRLafOMHE5tLX2Aj2ipvfsTSScdb2oE=" }, - "r709ba6ee": { - "rev": "709ba6eef8544cb806350a8e1ef0816aece45a10", - "hash": "sha256-7sjgHby3m6pkEXgSx5ksOv2ZDN4xe1CDtpAC2bf3kRs=" + "r18b1b8b1": { + "rev": "18b1b8b1c4567190fe4a37262fdfba57aa446dc7", + "hash": "sha256-95x1QJTbAXQUXWAaLCXxNJrxH7P7E7mFvuOm2gtcxdk=" }, - "rfe17d192": { - "rev": "fe17d192e67b6bdc5483bf2af09311206ace2d36", - "hash": "sha256-zsr8C56+cuI3ALRzW5fy2Qc2DMHkhgscCwZO13bMqfk=" + "r235ee97b": { + "rev": "235ee97b469ca6761e5096ea829f4da032c591fe", + "hash": "sha256-slvLt9rpIdpkZWLhrdUogsz2rLMjuE99r3HXvrVo0p0=" }, - "r369fe288": { - "rev": "369fe288e29ce8b2b39fccfc08441bdd7100a28a", - "hash": "sha256-AtSM2HkyqcEG0eaOsweqBlVFcyo+l+jVfpzdcQLmCVE=" + "r3763efb5": { + "rev": "3763efb56b5282cf92d71c259576352555c1a8f8", + "hash": "sha256-KI3iryvJplRurCGgYMdD7ryUHBh/Vrajpzuxh2XKUnA=" }, - "r6ee4f9de": { - "rev": "6ee4f9de0016ad83223e7b5f1f18b968e6258189", - "hash": "sha256-2M7wfnwnzLd4z0JsmDylkd11fpWRid9/QmQ9vy5oqOs=" + "ra4851dd8": { + "rev": "a4851dd8c67a2b311403d67270e02e7296d31157", + "hash": "sha256-7cW4LQ3w0YgpY1WvY9c00VgFBmlZ+SyUTMgs8Df0e/E=" }, - "raaf59e8d": { - "rev": "aaf59e8d8d17308442d9211e670c7f9718362ceb", - "hash": "sha256-yZVXN5Ws4rmZu7gZffPsZ04rKwy0l8FTcm/eGU4imhg=" + "r2d7adaea": { + "rev": "2d7adaea91627b77b3d560d12703191fa5c434c0", + "hash": "sha256-ok7CxYZdi1uY5g4kGUhxaFi3Uj1EV5sH6r3B/O6pEBY=" + }, + "rfaac623b": { + "rev": "faac623b09d6b14fbb06fe5150016de78b359eea", + "hash": "sha256-x5THk9BRkFGcomeu0rY9IWiMVDGJyQKNYlnfz4nRtiA=" + }, + "rec6a4055": { + "rev": "ec6a4055437bd384a1dff3842c084eec49e203a8", + "hash": "sha256-gSwNYUaq2JRgBeUUo/QWqdRILrzd7pDne/Pvo6Q20mA=" + }, + "rbecb3ffc": { + "rev": "becb3ffccdecff83047285ebea20e5b85b2d65b1", + "hash": "sha256-jfv1Eztcgow3v+t4nGpAG4O7ztFi3a7+nKPOei5II7I=" + }, + "r38d17d34": { + "rev": "38d17d345c73a3ac0cb451fa0696fd8efabadc0d", + "hash": "sha256-zMIaNxiBjb1H/d9Qu7fXWW43/8T/Uc9626XTwfvGEQ0=" + }, + "rd4faa8d6": { + "rev": "d4faa8d63a06a5feff2e5b68695adf9bf8fd1f81", + "hash": "sha256-BtrreTatwvQMHW3DEzhaRqirYf6czUReaqgGskm81co=" + }, + "rcf4f615d": { + "rev": "cf4f615d706d54fca9323fb1595d88f7ee2d7517", + "hash": "sha256-2DGnYooj8D1+eF++1z8jvHxZqB8LcqwVCavdWgOMYKo=" + }, + "r6cbf2c09": { + "rev": "6cbf2c09f280fbf2190affee046783d0fe543113", + "hash": "sha256-lxWwe+UCPsQybZL9dCPUXlSs1maRlrkeWwmnVDXRlKg=" + }, + "re2d7f2d6": { + "rev": "e2d7f2d625257b2c250ea2f18d3f832add5b43bf", + "hash": "sha256-ZDGX6wKYBbK8B6IkaHOz9GbY2AVZmtPWXWdeFditXLw=" + }, + "rd7278ceb": { + "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", + "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" + }, + "r6c98ebeb": { + "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", + "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" }, - "r11f33412": { - "rev": "11f334121fd0d13830fefdf08041183da2d30ef3", - "hash": "sha256-mZ/MqMjDBVKzY69Fjl2KGcmK328ls+nSdjqsvuA0TSI=" + "r41754d58": { + "rev": "41754d58e549d45762f906ba9e0da6ccf28c7b3f", + "hash": "sha256-vFuLW2eNrvH4X4rwOi2wPSPoeG+qmfbnq8lsePgGMFo=" } } \ No newline at end of file From c1feb52a5a2cf307e2fedb5a3530a72d47970101 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 16 Aug 2024 00:04:49 +0200 Subject: [PATCH 123/131] Reorder BoringSSL versions properly. --- fetchReleases.py | 2 +- nix/boringssl_pkg_versions.json | 722 ++++++++++++++++---------------- 2 files changed, 362 insertions(+), 362 deletions(-) diff --git a/fetchReleases.py b/fetchReleases.py index dc287fcc..e6f03b57 100644 --- a/fetchReleases.py +++ b/fetchReleases.py @@ -243,7 +243,7 @@ def fetch_boringssl(): versions[f"r{abbrev_commit}"] = { "rev": rev, "hash": digest, - "sort": -i + "sort": i } serialize_versions(pkg, renders, versions) diff --git a/nix/boringssl_pkg_versions.json b/nix/boringssl_pkg_versions.json index d8fefc76..f9b7c4b0 100644 --- a/nix/boringssl_pkg_versions.json +++ b/nix/boringssl_pkg_versions.json @@ -1,486 +1,486 @@ { - "r76bb1411": { - "rev": "76bb1411acf5cf6935586182a3a037d372ed1636", - "hash": "sha256-f3wfLZ8caYOETpvy8olsED+PwEFLUbYaayZNOcEvGB8=" + "r41754d58": { + "rev": "41754d58e549d45762f906ba9e0da6ccf28c7b3f", + "hash": "sha256-vFuLW2eNrvH4X4rwOi2wPSPoeG+qmfbnq8lsePgGMFo=" }, - "rd17d1dae": { - "rev": "d17d1dae84ecf76da3a924facdfe1d8c2d4ac578", - "hash": "sha256-nPKFto60FViG55WK87b87r55wYc3pi1rwUsOZTikAjg=" + "r6c98ebeb": { + "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", + "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" }, - "r2df010e4": { - "rev": "2df010e4f4eae6806cd1d855b63c3891116f065d", - "hash": "sha256-ohiRSNRSp8DhrcwVd3+w7OEIsLcddwSqonSeSUruIq0=" + "rd7278ceb": { + "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", + "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" }, - "r8d5f9da2": { - "rev": "8d5f9da2e36b593a098200bd332fd9e51f0bed54", - "hash": "sha256-YanXypsEr46jzSKJvNLEuNwlE3076vyyb5ZEROTbeLg=" + "re2d7f2d6": { + "rev": "e2d7f2d625257b2c250ea2f18d3f832add5b43bf", + "hash": "sha256-ZDGX6wKYBbK8B6IkaHOz9GbY2AVZmtPWXWdeFditXLw=" }, - "r0efa7592": { - "rev": "0efa7592e3fb2ae647518a82ab19679b7c933d99", - "hash": "sha256-fLF4sd2eRYUvpGTwHMOElRJ8mZXMYouwq+0a4WSJYl0=" + "r6cbf2c09": { + "rev": "6cbf2c09f280fbf2190affee046783d0fe543113", + "hash": "sha256-lxWwe+UCPsQybZL9dCPUXlSs1maRlrkeWwmnVDXRlKg=" }, - "r52940c49": { - "rev": "52940c494517b1256d9569da0c2aefd018518348", - "hash": "sha256-arL/WA6dFWrdKGE3hBN8E9RNj5jLsBIZKDCxAj3A0IQ=" + "rcf4f615d": { + "rev": "cf4f615d706d54fca9323fb1595d88f7ee2d7517", + "hash": "sha256-2DGnYooj8D1+eF++1z8jvHxZqB8LcqwVCavdWgOMYKo=" }, - "rf6d64efd": { - "rev": "f6d64efd1985d4668e084cabe03e41c3574b494f", - "hash": "sha256-JTxe75Z7ZZmJKz0L5qlRCEdPA5hvX/LEat9gkBEOXpI=" + "rd4faa8d6": { + "rev": "d4faa8d63a06a5feff2e5b68695adf9bf8fd1f81", + "hash": "sha256-BtrreTatwvQMHW3DEzhaRqirYf6czUReaqgGskm81co=" }, - "rd5c565a9": { - "rev": "d5c565a98d4d036db91d34810e39fb116bf38c56", - "hash": "sha256-fYNraa7yy6ZgOvrjs01ld7pfIWIOpDGeFKCkZ5lTrcs=" + "r38d17d34": { + "rev": "38d17d345c73a3ac0cb451fa0696fd8efabadc0d", + "hash": "sha256-zMIaNxiBjb1H/d9Qu7fXWW43/8T/Uc9626XTwfvGEQ0=" }, - "r2ddc461a": { - "rev": "2ddc461a3f319a3d704891bde0a819959b9437cc", - "hash": "sha256-QjZ9Ior1bbI8k3SeRpkILwcOiTkdRKbBUFJq3qZUDy8=" + "rbecb3ffc": { + "rev": "becb3ffccdecff83047285ebea20e5b85b2d65b1", + "hash": "sha256-jfv1Eztcgow3v+t4nGpAG4O7ztFi3a7+nKPOei5II7I=" }, - "rfc2d78dd": { - "rev": "fc2d78dd1e900e43be1812de1b1e1d4083267a54", - "hash": "sha256-8aR8nDOVgKhBKlgRNuvmhhEi+/w/aIi7pex7drxkclE=" + "rec6a4055": { + "rev": "ec6a4055437bd384a1dff3842c084eec49e203a8", + "hash": "sha256-gSwNYUaq2JRgBeUUo/QWqdRILrzd7pDne/Pvo6Q20mA=" }, - "rbf833c34": { - "rev": "bf833c346d532558a4c1c98940fa42e4e80a0a02", - "hash": "sha256-BlGzWt1dSoTUCJOI8Eis6BlMy1V2o2Nqufy3Mdz7xwU=" + "rfaac623b": { + "rev": "faac623b09d6b14fbb06fe5150016de78b359eea", + "hash": "sha256-x5THk9BRkFGcomeu0rY9IWiMVDGJyQKNYlnfz4nRtiA=" }, - "rddd5ba78": { - "rev": "ddd5ba78a949c5458aad9f7c3f19d214a2e8338e", - "hash": "sha256-BiVNiS+01LE4mk8ATUeie2+CgfBHGsGjEzVkC4dPvkA=" + "r2d7adaea": { + "rev": "2d7adaea91627b77b3d560d12703191fa5c434c0", + "hash": "sha256-ok7CxYZdi1uY5g4kGUhxaFi3Uj1EV5sH6r3B/O6pEBY=" }, - "r13a129d3": { - "rev": "13a129d301f4b2f9ab5d68c19902fc95c5dad89a", - "hash": "sha256-unIC3msCKL5UjGhsI+l9Z/uDCVx8dly+GDc7H7JOvz8=" + "ra4851dd8": { + "rev": "a4851dd8c67a2b311403d67270e02e7296d31157", + "hash": "sha256-7cW4LQ3w0YgpY1WvY9c00VgFBmlZ+SyUTMgs8Df0e/E=" }, - "rafd88c27": { - "rev": "afd88c27f2fe9f8f1a6d5b287cc16b1bc8f06198", - "hash": "sha256-YMzAFNv9rw2kD0pK38FMNQ7JW2XCXyxMM94qOCfzyK8=" + "r3763efb5": { + "rev": "3763efb56b5282cf92d71c259576352555c1a8f8", + "hash": "sha256-KI3iryvJplRurCGgYMdD7ryUHBh/Vrajpzuxh2XKUnA=" }, - "r6dd055d2": { - "rev": "6dd055d2eb39fe66e4b66bcb58eaa5692113caa0", - "hash": "sha256-R0PnUO1FdD+l/rBFoAfZAuHbfjZmcpd72sad3nxuRzI=" + "r235ee97b": { + "rev": "235ee97b469ca6761e5096ea829f4da032c591fe", + "hash": "sha256-slvLt9rpIdpkZWLhrdUogsz2rLMjuE99r3HXvrVo0p0=" }, - "r08ab59b8": { - "rev": "08ab59b8d7f0b173bf4179e5615a073993bcdd38", - "hash": "sha256-+f9XhKoUTgCtVt6jF21mByEk2MKf1p86pBo5etCXq/k=" + "r18b1b8b1": { + "rev": "18b1b8b1c4567190fe4a37262fdfba57aa446dc7", + "hash": "sha256-95x1QJTbAXQUXWAaLCXxNJrxH7P7E7mFvuOm2gtcxdk=" }, - "r01f8a8c2": { - "rev": "01f8a8c2d5327d0a3c89f36802f72f6278d574ae", - "hash": "sha256-sA2gcLtJsr4XAORmMK1KABFX1U+HFczPK1xVXszWDLU=" + "ra4f8755f": { + "rev": "a4f8755f8e66b77ca2230f376bc5d5d54b28544e", + "hash": "sha256-z5G6N6vr0wUpvRLafOMHE5tLX2Aj2ipvfsTSScdb2oE=" }, - "r055375ef": { - "rev": "055375ef2629d1547324113968f824a76879c927", - "hash": "sha256-wCHD4l/a2tIMLFXvprGUqZXpqofdqgTSS5HT+iiKumE=" + "r5d3124a3": { + "rev": "5d3124a304df8c69d38a73619bf4eae05b9d5545", + "hash": "sha256-jmfIlhwWrHeDX1F0znwOlR7NznXyfisRG5RB5s1KQHU=" }, - "r0a3663a6": { - "rev": "0a3663a64f00b6337ec80d78c8945f2c77c63dba", - "hash": "sha256-DxvOA1lcLILfiXF5uuVrWX9L1+ZjcNeJbtQo46gHWrk=" + "r3f680b0e": { + "rev": "3f680b0eff18ddd6c878b92bffbc1b53fe6bd797", + "hash": "sha256-nt3xV1wO5svpgQk///eWTikcqOoaRIqIFwLqZhxGT2A=" }, - "r06a6ed01": { - "rev": "06a6ed0170cc4e655e5655588e7c8e82c7fe28c5", - "hash": "sha256-So+OHLsm77WITjttixxOJ7w3RGHIz5ZRBLHE32Qh5Zc=" + "rdd521945": { + "rev": "dd5219451c3ce26221762a15d867edf43b463bb2", + "hash": "sha256-SLWV9JkMwUC0lZ18D3Tt79gqQ/2vTIapxAwKU3Y2Cac=" }, - "r1ffb4a42": { - "rev": "1ffb4a4283a7ac5e795bf7c145cf133fb8acbb53", - "hash": "sha256-FOSD1m310rVq3c5+4iwgKtvNailvGEKzSfTSzjPATAs=" + "ra02b7435": { + "rev": "a02b7435ca52b81c7cce656d577c8423b1cc4bb3", + "hash": "sha256-lwOC5VETlv/Nq3+dR3XhBd8qnnMvgjH7HAb+60OgGTw=" }, - "r1386aad1": { - "rev": "1386aad102bfcdadbb7e0911f141067f6d67966d", - "hash": "sha256-LFA92v7RRMNVdfzAiiCh1UdqT5Rxfm4+gk09JBiwGQg=" + "r5fb362c6": { + "rev": "5fb362c66a57b4d1e300a1d56b461bbb69e8c8ae", + "hash": "sha256-gCuFIHQj9gQA2BqGB1VSEma4Brf/2IztMaaipJUPn88=" }, - "rd363247f": { - "rev": "d363247f1eed9b84b22cf02720b030d409ef49a6", - "hash": "sha256-SOe63Oum1fie46XTAg+7ZMjORtzP37gtriDcy1fMpIw=" + "r860cc73b": { + "rev": "860cc73bb2964457461a6f3cb5807dbd79256372", + "hash": "sha256-D1v3lfaL07pzn1p+tAIvflBtEw1seNUniBLdZMhIBs0=" }, - "r02b1d195": { - "rev": "02b1d1953aa8cf44b887309b14496e235146b32f", - "hash": "sha256-mlaZyhbAi1TbuA2bGUNTYwy7UsDTFBjsqXXgJ5Wqmu8=" + "r474ddf8b": { + "rev": "474ddf8ba95f30e69acea37d76b3e671d89381c3", + "hash": "sha256-T/FCRe7w8B6W7Xw+DMbj750CNKLbALm2EeSAPLgSvrU=" }, - "r0a471910": { - "rev": "0a471910b41d6e5846b7874d9705c192b72dd8a3", - "hash": "sha256-2DJdzlwSni9AUqwkPIMynRtxmY6Ru4GNHbQ8tzAFg14=" + "r908b1300": { + "rev": "908b1300ff4ed3cfc3c965d846560f2593a51491", + "hash": "sha256-cJs3RnYEI1lVEy5cmHN5EmULIDjZY4PgDjF0eGicZiM=" }, - "r288ca7dc": { - "rev": "288ca7dcb44a177a1f3f7fa5be4f581edf1da668", - "hash": "sha256-6nrajlvKYMyCdA5ScOLoc8oPmnuObcayHNpxJcnPtiQ=" + "rf3165478": { + "rev": "f31654786c0e9c54c227b1e966faadc615780ef5", + "hash": "sha256-gHJLYi1TeYSzfE5DjB17Tt/2paE3Q8/iLcQgqLgguNg=" }, - "r57533465": { - "rev": "575334657fcb66a4861c9d125430b2aef60476a6", - "hash": "sha256-vHc4MxkQkbJ4FlwS47znQW+sMqIH2kW4OdGPcb4tn94=" + "r65ad925f": { + "rev": "65ad925f51d879f8babd22ecb2ca4dc779b2cc24", + "hash": "sha256-8/54cNgeCzdm0bnswToe/d3XyixLls9Gv1s+Z/g5ydI=" }, - "r666d16e2": { - "rev": "666d16e262bb333cdf9d0971a1221133b35dc474", - "hash": "sha256-xA/Adrp1IggXLZvaIvQhZuIu7tIkvEySufZDOP/umws=" + "r02397c7c": { + "rev": "02397c7c973e9dbdda0f4d610e91395b7a72d3c6", + "hash": "sha256-FCZeP2lgTsRo/cVI+ES090pYAaDi5Rom0TI8E8LvsD0=" }, - "r049fdfc7": { - "rev": "049fdfc7e0cd1e1390128459fb159265e5861420", - "hash": "sha256-HnviL88MBOK1sfcvEWzbDe240KkWVX1Pp2vf9KOciJU=" + "rde434576": { + "rev": "de434576d7412b95a8eb90d613fc9f01e2d7166b", + "hash": "sha256-nupZ+yTMYwLeARfszeXFLEaeeLBmeN73V9EUH4Hr84E=" }, - "r2eb28897": { - "rev": "2eb2889702d9c57b89cfcc38ce57541251b421fc", - "hash": "sha256-RHTU0BXNxyvJFn1137jb5oxOkMmcYRVEefxk2SKM+Y8=" + "r3592aa30": { + "rev": "3592aa3009eb883f7e5431ad7ce08dc3ae979902", + "hash": "sha256-LkHwOGR3YmpVDEOmBZwXZEtaOyf7+m/7aVXmHMipDJE=" }, - "r40e4ecb7": { - "rev": "40e4ecb793e057d3c8b01a489603d7f90bafe53c", - "hash": "sha256-gmFycsMeT/YNWfYInLXGchpjj+z9hp/C648TDK7HDM0=" + "r9f426b60": { + "rev": "9f426b60fabf5e5fec0a0a05120de19289ef1fdf", + "hash": "sha256-jPJhMJPkPjTqRILCpyeDq+XBU9NFA8Sw5Izh78l50tk=" }, - "r48eaa28a": { - "rev": "48eaa28a124e702edf373e212011cb283f0f0161", - "hash": "sha256-kl+C/REClp8E5R74VBUVL5HexZ1whLmnz/Gehi3nRlk=" + "r8ce0e1c1": { + "rev": "8ce0e1c14e48109773f1e94e5f8b020aa1e24dc5", + "hash": "sha256-N4MWyTJPgwQN+d1wv4s/rq/930dBaEudJDI6/GrybrI=" }, - "r380bc30f": { - "rev": "380bc30f0c048368b884ec9da90eeda2a28cb1e7", - "hash": "sha256-UvLSoas5SI+DS3Tptp78uIZ41dckrFhz3nIn+vexv4E=" + "rf2029899": { + "rev": "f2029899b2c1dcf3e3120876794da088f42ad351", + "hash": "sha256-L7NXMdHITp4aUXZFQeRp6F55DMCBkmqTPoZfN0ErCYc=" }, - "ra4f78775": { - "rev": "a4f78775b97928387704bd1ab780ee68365f4ee5", - "hash": "sha256-FL5nDp4KoA5aRXig+0n4vXVU/BObx9o+y1SEW/sBFuQ=" + "r801a8010": { + "rev": "801a801024febe1a33add5ddaa719e257d97aba5", + "hash": "sha256-BvDaLePWJKXdVCSo8qY1dSeKH0rNz0Vo8+AV7k8HkPM=" }, - "r2ccdf584": { - "rev": "2ccdf584aa3304e5c9aaa221cc1fd1368c62d096", - "hash": "sha256-wPvGh11clvLUlWibMcgbEahi0rmDJsqYqZl3pUJQtJo=" + "r9a836f78": { + "rev": "9a836f7840b965e66085f8380116a54076f44a4b", + "hash": "sha256-dbAExSW2fud0EaDItO+MyyOBPSJdKnyQymWCtUBbntU=" }, - "r02808ddc": { - "rev": "02808ddcaad2de63773f566835916bc0a1e36f87", - "hash": "sha256-5fyEPP3IuDzafoYrG9JlTQZ/UA5HfjRJBpN4cgrVxTU=" + "rbdc35b63": { + "rev": "bdc35b63617f78037768f4897d8835696f02181a", + "hash": "sha256-i7vQzzPr2SVvoq87gUVcnMRtaaeQc9+K89olB1ZYnZo=" }, - "rac97cc0e": { - "rev": "ac97cc0e515b802c537fe50efc6e2faa2c7b0a0b", - "hash": "sha256-VRqv+ekEL7lktXkSr/4iTBzqomd8iOrCATK3lFW06uo=" + "r123eaaef": { + "rev": "123eaaef26abc278f53ae338e9c758eb01c70b08", + "hash": "sha256-6vAJ6bUZQKXFuiPEgPaaXhaLzynKe6hyqp2nO+RlXfc=" }, - "reb7c3008": { - "rev": "eb7c3008cc85c9cfedca7690f147f5773483f941", - "hash": "sha256-iephAcVqFFmn/dpHGR6bFsjf2OZfPsnOhA8JqNyjamU=" + "rc3c540b9": { + "rev": "c3c540b9a4d066476e8be372e0c5059979c8578e", + "hash": "sha256-teW60idbGmIwZYk/YEyeSfeDeZJ+bLGhasDB2b924wo=" }, - "rd3192050": { - "rev": "d319205007c10ca27280496b2de9d7256dbd953d", - "hash": "sha256-JSWLhC5ZebuBOHX8Ax6mLdQj1bO9xN8OV5x9K78TW2g=" + "r686d05aa": { + "rev": "686d05aaa57604b5d867f1d40e85f04759151ce1", + "hash": "sha256-e9LCleyoKgqmcHNnZMTEk3wA8iCTWrTHnBwwe9dhb8Q=" }, - "r041dd68c": { - "rev": "041dd68cecd28bdaf5506d148df4634cd0c540af", - "hash": "sha256-2ZkPSH22Y/Uaa/IjzPPGNjNs0nrdAXz6P7PRMovzEb4=" + "r1c2473eb": { + "rev": "1c2473ebae2411949027c950eea5261a3a8f7922", + "hash": "sha256-Z+xI0Rea5WuZnUinMF9FOdMVe5CtXvihAgoCzs9/r00=" }, - "r1d339558": { - "rev": "1d339558acc7f2e21b8f9df094e43178c05139c0", - "hash": "sha256-trHB7x9QcLVChT+ONraqikPKJwppjx4Mn/9ydd6bgfQ=" + "rb27438e1": { + "rev": "b27438e1268d3ef645c6f8ce10c184bb7d57825d", + "hash": "sha256-TdochIfhmyaCs4cRaMIRU4HNLA9142HYuinBpUXHH+E=" }, - "rd12f2ba5": { - "rev": "d12f2ba55e015a16f97e53c7314babd483e10ea3", - "hash": "sha256-ufpj+f6lc62AtBTjaWv1Zf02r/o0YQwH8hAmq8aXRNE=" + "r5799ebfe": { + "rev": "5799ebfe5f895ecd29fcd699789854fc1790d6cd", + "hash": "sha256-wB0haPGSwvPepfVCgb8ueqVAk9aRHp/Hme6hETyqMnY=" }, - "r9f9c938a": { - "rev": "9f9c938af0affceee30eef308ed2596e1d7f53e0", - "hash": "sha256-odnwO/idLZc+H9TQL1fB8vV3VcI/DkdgoVfVs0veB3w=" + "r52067828": { + "rev": "52067828463443821e175975d19085b2c8bf2f54", + "hash": "sha256-CDaSjRjV9ou3fM+Lmfwpiv/ylwlwHv0VUUTzLGpGh0A=" }, - "r82639e6f": { - "rev": "82639e6f5341a3129b7cb62a5a2dd9b65f3c91ef", - "hash": "sha256-Ryq0VoO1K8U2+0clK9lAVvzrhzln8pMUlYV2evuGgwM=" + "r4e93cd48": { + "rev": "4e93cd487f0a7f447d194621a59018a88d246379", + "hash": "sha256-8OWFPnV+5Vk3LY6BpHIE7I3Bp6v+n3Z1vqXG4dtO70E=" }, - "re833a6df": { - "rev": "e833a6dfa2a89420d37070cd9b27688e37e83c8c", - "hash": "sha256-FWXVbDGOiyTC7igmTwxzhk4L/a/P80/fhOdwobVEwYU=" + "r71a3b826": { + "rev": "71a3b826636eee85c20f064ef318f0935416a479", + "hash": "sha256-WUb4HfQv9Tt3776inSUVB5zc5giAFXpHOYaYjM5HumU=" }, - "r378cca80": { - "rev": "378cca8016622e372a2da6cad0026ee12c426d6d", - "hash": "sha256-Sv4G8325ZpI9x0r8DFjanUtogttIWYmzdNA4gOPRALc=" + "r468cde90": { + "rev": "468cde90ca58421d63f4dfeaebcf8bb3fccb4127", + "hash": "sha256-aXCE8KmtZDVud5v12eECS8kMInh1slqMwK5kc/diWD0=" }, - "r350257db": { - "rev": "350257db77b736385fdbad16308bef9be22d60cf", - "hash": "sha256-vHZKmyk1X8P+P7WMays+OatkXcjwt1tgcoN+JA/3KpU=" + "r8d4c8fc4": { + "rev": "8d4c8fc41be567bca17ce7c15304dc06539a060a", + "hash": "sha256-rO0KW9bLeZUlEZ99BlCH0v+FI43mCIcvLl5eupM5kzk=" }, - "r62a4dcd2": { - "rev": "62a4dcd256a028918b17756f7fd3f95eaae5ab7e", - "hash": "sha256-5sbkiXtuy71ujJhncHAp0m4vbI9tQnW75iz1/oAx2rc=" + "r3d15a94a": { + "rev": "3d15a94add73c195fa0e68250afae8c030818437", + "hash": "sha256-NECKcKEWsaPXOaVEvCJ2ElVTbK9I7QwB94DtntWKLy0=" }, - "r9edbc7ff": { - "rev": "9edbc7ff9f56dff801a49f5ecb15ee06718b995c", - "hash": "sha256-ReWBiMykRsIC6xJU3hRg5Mj6se1eRSdjD/kvgD6nKzw=" + "rc02c19e0": { + "rev": "c02c19e0d842f54d903a9b62316476f4b9c4e3f0", + "hash": "sha256-jtpyvtMRMRCG5vIyl+1QMqvTaUgyX9RR0EY7h7aS3lY=" }, - "r045ee419": { - "rev": "045ee41928e482d7e3022ff9d9c73ed2bab48b91", - "hash": "sha256-NPftv8mj9KLZ0BEo5uSezGY7kvmjRfApNVllCWr7Gbc=" + "rc295935a": { + "rev": "c295935a9bf345acb597ffefb69f7e095c3eee72", + "hash": "sha256-QMfhNhx9P5qNbRyeIqmdxxqhiL84hz+04Q9RZE4tyd4=" }, - "r74944287": { - "rev": "74944287e1ab95e091107c9f26ce46bd50e13043", - "hash": "sha256-ZbyjkLVsdhz76p8pPox9uC3YvCL6pjU590IaF7h2yfg=" + "r92de0b53": { + "rev": "92de0b53a799a8724865fe816200c1421381d128", + "hash": "sha256-4ZYn1Yh91ALqQ+bHdqV/sPK9t8pD1/4KfFvENjGq330=" }, - "rb65ce68c": { - "rev": "b65ce68c8f2c1e3e9d18b6ebf0f48905b5368a39", - "hash": "sha256-ZSCII2Qi5iIpLSidsrYEnKqrAwqJNw0xV8LHBDGY7RM=" + "r2c8445c5": { + "rev": "2c8445c5f7515f8125f41aa1e3da2501b8b040d1", + "hash": "sha256-jncx5QcrmJs0t5qgCv7Wh4cs8gCbDNosjKPp6e1r9dk=" }, - "r0a87c498": { - "rev": "0a87c4982c617799d48cad210945ec6429c13b8f", - "hash": "sha256-zFf1d0So61ij4BqnB/96kRqt6SYUsdKGnJNGveS90ms=" + "r3989c997": { + "rev": "3989c99706bf30054798ff82f1cb010e50e385f5", + "hash": "sha256-UnupFj0S9Oe9v4a2U2WUWQ3hleN/oFaZnCP+Il7TsEk=" }, - "r8d685ec8": { - "rev": "8d685ec867c4975013b11e72b280a1af850737f5", - "hash": "sha256-VsdQQ7zbl/xVrQgpBsAoAKhelmfn90ouH6haBAi7mXI=" + "r5eeaf302": { + "rev": "5eeaf3029dab6b7264522c57a7a2acb461c0a434", + "hash": "sha256-LzLdeWyZ0/D7vicUO197AKi6QHr8qe/Su0IxXgPHbJE=" }, - "rc67076d6": { - "rev": "c67076d653f7501136f7b208df4b011a7275e8f5", - "hash": "sha256-MALoEV07gCSnSZgivQDkzIU7/xokXxoQMp0pOev7Nyc=" + "rde196121": { + "rev": "de196121b05adea2f9b7e400271266495a40b0f4", + "hash": "sha256-TtgmEPl75KJ6wayrPoD+2rTPlCV+rAgGbppWofww0iU=" }, - "r9b896cf1": { - "rev": "9b896cf148e692fca46d7f34d0e45d1c58764db3", - "hash": "sha256-hGf31gWcCFzhsREgESoY988gAeEUVxB1bJU5MbHnl/M=" + "r2309f645": { + "rev": "2309f645e509507a1cc8f9845771110fcf986fd9", + "hash": "sha256-V24YX21Ze9KykwCMghKnuCXixYUUKZ7U1udi8I9mv88=" }, - "ra866ba5d": { - "rev": "a866ba5d704973e5678d744ebd10ffbee3e3d3a3", - "hash": "sha256-i5NP3rxLGGmtgatQbXLNcaV9uB/8i2BmosFHPrxLCsA=" + "r14d192e9": { + "rev": "14d192e930802135eadf57d1cd90165a94e3441a", + "hash": "sha256-7lYiZsgfjsaqo+6sQ7H3TaiS+dHgM4H8KqAM4LRLe5k=" }, - "r356a9a08": { - "rev": "356a9a0895bbda5e78f5627dd546d4f09c380166", - "hash": "sha256-RGFLQV1c/lmqoChsoxv27JrPWT8VW92yJXob5TLYHSY=" + "re8434d30": { + "rev": "e8434d304cb10d2b52a426a13e6a1f852d63bba2", + "hash": "sha256-sqVazinRxRbwryjDUvHPv5jmyu15lXuIXyMxqz7PFLU=" }, - "r1458b49a": { - "rev": "1458b49a9e53b0db0ad63e8ef3156214f1473d87", - "hash": "sha256-x3nEtHyzZPn7WxtsLnCs3fox2dHjJXa5RsLzR/2SsOI=" + "rf1efbc8f": { + "rev": "f1efbc8f8be9ce2918eaf46c48f294cb214023b9", + "hash": "sha256-kev4zyibpHEbmuVIAF4gR9QXONQH9A3iDEr5D+RBuzI=" }, - "rde1d2881": { - "rev": "de1d2881aea4aa23ba580da752387e52a5fd3eb2", - "hash": "sha256-0KnJ1+ii8WUaVyQCgzb6re0ZBjJW4aLma9OUTf8pJVg=" + "r98b4cdba": { + "rev": "98b4cdba1e4ede26d845bcae8185ddb5b2feea93", + "hash": "sha256-MuQosdGCJejCzi0lWz8p7Dqgi2Q3VuhFUj3CutLxXIc=" }, "r15cd8bf4": { "rev": "15cd8bf433750187d6c8babc83abec83f6215eb3", "hash": "sha256-zNBKpVbx7EHMdYcjHw0EuvAb1kiWnxt4/dyU06c9bGk=" }, - "r98b4cdba": { - "rev": "98b4cdba1e4ede26d845bcae8185ddb5b2feea93", - "hash": "sha256-MuQosdGCJejCzi0lWz8p7Dqgi2Q3VuhFUj3CutLxXIc=" - }, - "rf1efbc8f": { - "rev": "f1efbc8f8be9ce2918eaf46c48f294cb214023b9", - "hash": "sha256-kev4zyibpHEbmuVIAF4gR9QXONQH9A3iDEr5D+RBuzI=" + "rde1d2881": { + "rev": "de1d2881aea4aa23ba580da752387e52a5fd3eb2", + "hash": "sha256-0KnJ1+ii8WUaVyQCgzb6re0ZBjJW4aLma9OUTf8pJVg=" }, - "re8434d30": { - "rev": "e8434d304cb10d2b52a426a13e6a1f852d63bba2", - "hash": "sha256-sqVazinRxRbwryjDUvHPv5jmyu15lXuIXyMxqz7PFLU=" + "r1458b49a": { + "rev": "1458b49a9e53b0db0ad63e8ef3156214f1473d87", + "hash": "sha256-x3nEtHyzZPn7WxtsLnCs3fox2dHjJXa5RsLzR/2SsOI=" }, - "r14d192e9": { - "rev": "14d192e930802135eadf57d1cd90165a94e3441a", - "hash": "sha256-7lYiZsgfjsaqo+6sQ7H3TaiS+dHgM4H8KqAM4LRLe5k=" + "r356a9a08": { + "rev": "356a9a0895bbda5e78f5627dd546d4f09c380166", + "hash": "sha256-RGFLQV1c/lmqoChsoxv27JrPWT8VW92yJXob5TLYHSY=" }, - "r2309f645": { - "rev": "2309f645e509507a1cc8f9845771110fcf986fd9", - "hash": "sha256-V24YX21Ze9KykwCMghKnuCXixYUUKZ7U1udi8I9mv88=" + "ra866ba5d": { + "rev": "a866ba5d704973e5678d744ebd10ffbee3e3d3a3", + "hash": "sha256-i5NP3rxLGGmtgatQbXLNcaV9uB/8i2BmosFHPrxLCsA=" }, - "rde196121": { - "rev": "de196121b05adea2f9b7e400271266495a40b0f4", - "hash": "sha256-TtgmEPl75KJ6wayrPoD+2rTPlCV+rAgGbppWofww0iU=" + "r9b896cf1": { + "rev": "9b896cf148e692fca46d7f34d0e45d1c58764db3", + "hash": "sha256-hGf31gWcCFzhsREgESoY988gAeEUVxB1bJU5MbHnl/M=" }, - "r5eeaf302": { - "rev": "5eeaf3029dab6b7264522c57a7a2acb461c0a434", - "hash": "sha256-LzLdeWyZ0/D7vicUO197AKi6QHr8qe/Su0IxXgPHbJE=" + "rc67076d6": { + "rev": "c67076d653f7501136f7b208df4b011a7275e8f5", + "hash": "sha256-MALoEV07gCSnSZgivQDkzIU7/xokXxoQMp0pOev7Nyc=" }, - "r3989c997": { - "rev": "3989c99706bf30054798ff82f1cb010e50e385f5", - "hash": "sha256-UnupFj0S9Oe9v4a2U2WUWQ3hleN/oFaZnCP+Il7TsEk=" + "r8d685ec8": { + "rev": "8d685ec867c4975013b11e72b280a1af850737f5", + "hash": "sha256-VsdQQ7zbl/xVrQgpBsAoAKhelmfn90ouH6haBAi7mXI=" }, - "r2c8445c5": { - "rev": "2c8445c5f7515f8125f41aa1e3da2501b8b040d1", - "hash": "sha256-jncx5QcrmJs0t5qgCv7Wh4cs8gCbDNosjKPp6e1r9dk=" + "r0a87c498": { + "rev": "0a87c4982c617799d48cad210945ec6429c13b8f", + "hash": "sha256-zFf1d0So61ij4BqnB/96kRqt6SYUsdKGnJNGveS90ms=" }, - "r92de0b53": { - "rev": "92de0b53a799a8724865fe816200c1421381d128", - "hash": "sha256-4ZYn1Yh91ALqQ+bHdqV/sPK9t8pD1/4KfFvENjGq330=" + "rb65ce68c": { + "rev": "b65ce68c8f2c1e3e9d18b6ebf0f48905b5368a39", + "hash": "sha256-ZSCII2Qi5iIpLSidsrYEnKqrAwqJNw0xV8LHBDGY7RM=" }, - "rc295935a": { - "rev": "c295935a9bf345acb597ffefb69f7e095c3eee72", - "hash": "sha256-QMfhNhx9P5qNbRyeIqmdxxqhiL84hz+04Q9RZE4tyd4=" + "r74944287": { + "rev": "74944287e1ab95e091107c9f26ce46bd50e13043", + "hash": "sha256-ZbyjkLVsdhz76p8pPox9uC3YvCL6pjU590IaF7h2yfg=" }, - "rc02c19e0": { - "rev": "c02c19e0d842f54d903a9b62316476f4b9c4e3f0", - "hash": "sha256-jtpyvtMRMRCG5vIyl+1QMqvTaUgyX9RR0EY7h7aS3lY=" + "r045ee419": { + "rev": "045ee41928e482d7e3022ff9d9c73ed2bab48b91", + "hash": "sha256-NPftv8mj9KLZ0BEo5uSezGY7kvmjRfApNVllCWr7Gbc=" }, - "r3d15a94a": { - "rev": "3d15a94add73c195fa0e68250afae8c030818437", - "hash": "sha256-NECKcKEWsaPXOaVEvCJ2ElVTbK9I7QwB94DtntWKLy0=" + "r9edbc7ff": { + "rev": "9edbc7ff9f56dff801a49f5ecb15ee06718b995c", + "hash": "sha256-ReWBiMykRsIC6xJU3hRg5Mj6se1eRSdjD/kvgD6nKzw=" }, - "r8d4c8fc4": { - "rev": "8d4c8fc41be567bca17ce7c15304dc06539a060a", - "hash": "sha256-rO0KW9bLeZUlEZ99BlCH0v+FI43mCIcvLl5eupM5kzk=" + "r62a4dcd2": { + "rev": "62a4dcd256a028918b17756f7fd3f95eaae5ab7e", + "hash": "sha256-5sbkiXtuy71ujJhncHAp0m4vbI9tQnW75iz1/oAx2rc=" }, - "r468cde90": { - "rev": "468cde90ca58421d63f4dfeaebcf8bb3fccb4127", - "hash": "sha256-aXCE8KmtZDVud5v12eECS8kMInh1slqMwK5kc/diWD0=" + "r350257db": { + "rev": "350257db77b736385fdbad16308bef9be22d60cf", + "hash": "sha256-vHZKmyk1X8P+P7WMays+OatkXcjwt1tgcoN+JA/3KpU=" }, - "r71a3b826": { - "rev": "71a3b826636eee85c20f064ef318f0935416a479", - "hash": "sha256-WUb4HfQv9Tt3776inSUVB5zc5giAFXpHOYaYjM5HumU=" + "r378cca80": { + "rev": "378cca8016622e372a2da6cad0026ee12c426d6d", + "hash": "sha256-Sv4G8325ZpI9x0r8DFjanUtogttIWYmzdNA4gOPRALc=" }, - "r4e93cd48": { - "rev": "4e93cd487f0a7f447d194621a59018a88d246379", - "hash": "sha256-8OWFPnV+5Vk3LY6BpHIE7I3Bp6v+n3Z1vqXG4dtO70E=" + "re833a6df": { + "rev": "e833a6dfa2a89420d37070cd9b27688e37e83c8c", + "hash": "sha256-FWXVbDGOiyTC7igmTwxzhk4L/a/P80/fhOdwobVEwYU=" }, - "r52067828": { - "rev": "52067828463443821e175975d19085b2c8bf2f54", - "hash": "sha256-CDaSjRjV9ou3fM+Lmfwpiv/ylwlwHv0VUUTzLGpGh0A=" + "r82639e6f": { + "rev": "82639e6f5341a3129b7cb62a5a2dd9b65f3c91ef", + "hash": "sha256-Ryq0VoO1K8U2+0clK9lAVvzrhzln8pMUlYV2evuGgwM=" }, - "r5799ebfe": { - "rev": "5799ebfe5f895ecd29fcd699789854fc1790d6cd", - "hash": "sha256-wB0haPGSwvPepfVCgb8ueqVAk9aRHp/Hme6hETyqMnY=" + "r9f9c938a": { + "rev": "9f9c938af0affceee30eef308ed2596e1d7f53e0", + "hash": "sha256-odnwO/idLZc+H9TQL1fB8vV3VcI/DkdgoVfVs0veB3w=" }, - "rb27438e1": { - "rev": "b27438e1268d3ef645c6f8ce10c184bb7d57825d", - "hash": "sha256-TdochIfhmyaCs4cRaMIRU4HNLA9142HYuinBpUXHH+E=" + "rd12f2ba5": { + "rev": "d12f2ba55e015a16f97e53c7314babd483e10ea3", + "hash": "sha256-ufpj+f6lc62AtBTjaWv1Zf02r/o0YQwH8hAmq8aXRNE=" }, - "r1c2473eb": { - "rev": "1c2473ebae2411949027c950eea5261a3a8f7922", - "hash": "sha256-Z+xI0Rea5WuZnUinMF9FOdMVe5CtXvihAgoCzs9/r00=" + "r1d339558": { + "rev": "1d339558acc7f2e21b8f9df094e43178c05139c0", + "hash": "sha256-trHB7x9QcLVChT+ONraqikPKJwppjx4Mn/9ydd6bgfQ=" }, - "r686d05aa": { - "rev": "686d05aaa57604b5d867f1d40e85f04759151ce1", - "hash": "sha256-e9LCleyoKgqmcHNnZMTEk3wA8iCTWrTHnBwwe9dhb8Q=" + "r041dd68c": { + "rev": "041dd68cecd28bdaf5506d148df4634cd0c540af", + "hash": "sha256-2ZkPSH22Y/Uaa/IjzPPGNjNs0nrdAXz6P7PRMovzEb4=" }, - "rc3c540b9": { - "rev": "c3c540b9a4d066476e8be372e0c5059979c8578e", - "hash": "sha256-teW60idbGmIwZYk/YEyeSfeDeZJ+bLGhasDB2b924wo=" + "rd3192050": { + "rev": "d319205007c10ca27280496b2de9d7256dbd953d", + "hash": "sha256-JSWLhC5ZebuBOHX8Ax6mLdQj1bO9xN8OV5x9K78TW2g=" }, - "r123eaaef": { - "rev": "123eaaef26abc278f53ae338e9c758eb01c70b08", - "hash": "sha256-6vAJ6bUZQKXFuiPEgPaaXhaLzynKe6hyqp2nO+RlXfc=" + "reb7c3008": { + "rev": "eb7c3008cc85c9cfedca7690f147f5773483f941", + "hash": "sha256-iephAcVqFFmn/dpHGR6bFsjf2OZfPsnOhA8JqNyjamU=" }, - "rbdc35b63": { - "rev": "bdc35b63617f78037768f4897d8835696f02181a", - "hash": "sha256-i7vQzzPr2SVvoq87gUVcnMRtaaeQc9+K89olB1ZYnZo=" + "rac97cc0e": { + "rev": "ac97cc0e515b802c537fe50efc6e2faa2c7b0a0b", + "hash": "sha256-VRqv+ekEL7lktXkSr/4iTBzqomd8iOrCATK3lFW06uo=" }, - "r9a836f78": { - "rev": "9a836f7840b965e66085f8380116a54076f44a4b", - "hash": "sha256-dbAExSW2fud0EaDItO+MyyOBPSJdKnyQymWCtUBbntU=" + "r02808ddc": { + "rev": "02808ddcaad2de63773f566835916bc0a1e36f87", + "hash": "sha256-5fyEPP3IuDzafoYrG9JlTQZ/UA5HfjRJBpN4cgrVxTU=" }, - "r801a8010": { - "rev": "801a801024febe1a33add5ddaa719e257d97aba5", - "hash": "sha256-BvDaLePWJKXdVCSo8qY1dSeKH0rNz0Vo8+AV7k8HkPM=" + "r2ccdf584": { + "rev": "2ccdf584aa3304e5c9aaa221cc1fd1368c62d096", + "hash": "sha256-wPvGh11clvLUlWibMcgbEahi0rmDJsqYqZl3pUJQtJo=" }, - "rf2029899": { - "rev": "f2029899b2c1dcf3e3120876794da088f42ad351", - "hash": "sha256-L7NXMdHITp4aUXZFQeRp6F55DMCBkmqTPoZfN0ErCYc=" + "ra4f78775": { + "rev": "a4f78775b97928387704bd1ab780ee68365f4ee5", + "hash": "sha256-FL5nDp4KoA5aRXig+0n4vXVU/BObx9o+y1SEW/sBFuQ=" }, - "r8ce0e1c1": { - "rev": "8ce0e1c14e48109773f1e94e5f8b020aa1e24dc5", - "hash": "sha256-N4MWyTJPgwQN+d1wv4s/rq/930dBaEudJDI6/GrybrI=" + "r380bc30f": { + "rev": "380bc30f0c048368b884ec9da90eeda2a28cb1e7", + "hash": "sha256-UvLSoas5SI+DS3Tptp78uIZ41dckrFhz3nIn+vexv4E=" }, - "r9f426b60": { - "rev": "9f426b60fabf5e5fec0a0a05120de19289ef1fdf", - "hash": "sha256-jPJhMJPkPjTqRILCpyeDq+XBU9NFA8Sw5Izh78l50tk=" + "r48eaa28a": { + "rev": "48eaa28a124e702edf373e212011cb283f0f0161", + "hash": "sha256-kl+C/REClp8E5R74VBUVL5HexZ1whLmnz/Gehi3nRlk=" }, - "r3592aa30": { - "rev": "3592aa3009eb883f7e5431ad7ce08dc3ae979902", - "hash": "sha256-LkHwOGR3YmpVDEOmBZwXZEtaOyf7+m/7aVXmHMipDJE=" + "r40e4ecb7": { + "rev": "40e4ecb793e057d3c8b01a489603d7f90bafe53c", + "hash": "sha256-gmFycsMeT/YNWfYInLXGchpjj+z9hp/C648TDK7HDM0=" }, - "rde434576": { - "rev": "de434576d7412b95a8eb90d613fc9f01e2d7166b", - "hash": "sha256-nupZ+yTMYwLeARfszeXFLEaeeLBmeN73V9EUH4Hr84E=" + "r2eb28897": { + "rev": "2eb2889702d9c57b89cfcc38ce57541251b421fc", + "hash": "sha256-RHTU0BXNxyvJFn1137jb5oxOkMmcYRVEefxk2SKM+Y8=" }, - "r02397c7c": { - "rev": "02397c7c973e9dbdda0f4d610e91395b7a72d3c6", - "hash": "sha256-FCZeP2lgTsRo/cVI+ES090pYAaDi5Rom0TI8E8LvsD0=" + "r049fdfc7": { + "rev": "049fdfc7e0cd1e1390128459fb159265e5861420", + "hash": "sha256-HnviL88MBOK1sfcvEWzbDe240KkWVX1Pp2vf9KOciJU=" }, - "r65ad925f": { - "rev": "65ad925f51d879f8babd22ecb2ca4dc779b2cc24", - "hash": "sha256-8/54cNgeCzdm0bnswToe/d3XyixLls9Gv1s+Z/g5ydI=" + "r666d16e2": { + "rev": "666d16e262bb333cdf9d0971a1221133b35dc474", + "hash": "sha256-xA/Adrp1IggXLZvaIvQhZuIu7tIkvEySufZDOP/umws=" }, - "rf3165478": { - "rev": "f31654786c0e9c54c227b1e966faadc615780ef5", - "hash": "sha256-gHJLYi1TeYSzfE5DjB17Tt/2paE3Q8/iLcQgqLgguNg=" + "r57533465": { + "rev": "575334657fcb66a4861c9d125430b2aef60476a6", + "hash": "sha256-vHc4MxkQkbJ4FlwS47znQW+sMqIH2kW4OdGPcb4tn94=" }, - "r908b1300": { - "rev": "908b1300ff4ed3cfc3c965d846560f2593a51491", - "hash": "sha256-cJs3RnYEI1lVEy5cmHN5EmULIDjZY4PgDjF0eGicZiM=" + "r288ca7dc": { + "rev": "288ca7dcb44a177a1f3f7fa5be4f581edf1da668", + "hash": "sha256-6nrajlvKYMyCdA5ScOLoc8oPmnuObcayHNpxJcnPtiQ=" }, - "r474ddf8b": { - "rev": "474ddf8ba95f30e69acea37d76b3e671d89381c3", - "hash": "sha256-T/FCRe7w8B6W7Xw+DMbj750CNKLbALm2EeSAPLgSvrU=" + "r0a471910": { + "rev": "0a471910b41d6e5846b7874d9705c192b72dd8a3", + "hash": "sha256-2DJdzlwSni9AUqwkPIMynRtxmY6Ru4GNHbQ8tzAFg14=" }, - "r860cc73b": { - "rev": "860cc73bb2964457461a6f3cb5807dbd79256372", - "hash": "sha256-D1v3lfaL07pzn1p+tAIvflBtEw1seNUniBLdZMhIBs0=" + "r02b1d195": { + "rev": "02b1d1953aa8cf44b887309b14496e235146b32f", + "hash": "sha256-mlaZyhbAi1TbuA2bGUNTYwy7UsDTFBjsqXXgJ5Wqmu8=" }, - "r5fb362c6": { - "rev": "5fb362c66a57b4d1e300a1d56b461bbb69e8c8ae", - "hash": "sha256-gCuFIHQj9gQA2BqGB1VSEma4Brf/2IztMaaipJUPn88=" + "rd363247f": { + "rev": "d363247f1eed9b84b22cf02720b030d409ef49a6", + "hash": "sha256-SOe63Oum1fie46XTAg+7ZMjORtzP37gtriDcy1fMpIw=" }, - "ra02b7435": { - "rev": "a02b7435ca52b81c7cce656d577c8423b1cc4bb3", - "hash": "sha256-lwOC5VETlv/Nq3+dR3XhBd8qnnMvgjH7HAb+60OgGTw=" + "r1386aad1": { + "rev": "1386aad102bfcdadbb7e0911f141067f6d67966d", + "hash": "sha256-LFA92v7RRMNVdfzAiiCh1UdqT5Rxfm4+gk09JBiwGQg=" }, - "rdd521945": { - "rev": "dd5219451c3ce26221762a15d867edf43b463bb2", - "hash": "sha256-SLWV9JkMwUC0lZ18D3Tt79gqQ/2vTIapxAwKU3Y2Cac=" + "r1ffb4a42": { + "rev": "1ffb4a4283a7ac5e795bf7c145cf133fb8acbb53", + "hash": "sha256-FOSD1m310rVq3c5+4iwgKtvNailvGEKzSfTSzjPATAs=" }, - "r3f680b0e": { - "rev": "3f680b0eff18ddd6c878b92bffbc1b53fe6bd797", - "hash": "sha256-nt3xV1wO5svpgQk///eWTikcqOoaRIqIFwLqZhxGT2A=" + "r06a6ed01": { + "rev": "06a6ed0170cc4e655e5655588e7c8e82c7fe28c5", + "hash": "sha256-So+OHLsm77WITjttixxOJ7w3RGHIz5ZRBLHE32Qh5Zc=" }, - "r5d3124a3": { - "rev": "5d3124a304df8c69d38a73619bf4eae05b9d5545", - "hash": "sha256-jmfIlhwWrHeDX1F0znwOlR7NznXyfisRG5RB5s1KQHU=" + "r0a3663a6": { + "rev": "0a3663a64f00b6337ec80d78c8945f2c77c63dba", + "hash": "sha256-DxvOA1lcLILfiXF5uuVrWX9L1+ZjcNeJbtQo46gHWrk=" }, - "ra4f8755f": { - "rev": "a4f8755f8e66b77ca2230f376bc5d5d54b28544e", - "hash": "sha256-z5G6N6vr0wUpvRLafOMHE5tLX2Aj2ipvfsTSScdb2oE=" + "r055375ef": { + "rev": "055375ef2629d1547324113968f824a76879c927", + "hash": "sha256-wCHD4l/a2tIMLFXvprGUqZXpqofdqgTSS5HT+iiKumE=" }, - "r18b1b8b1": { - "rev": "18b1b8b1c4567190fe4a37262fdfba57aa446dc7", - "hash": "sha256-95x1QJTbAXQUXWAaLCXxNJrxH7P7E7mFvuOm2gtcxdk=" + "r01f8a8c2": { + "rev": "01f8a8c2d5327d0a3c89f36802f72f6278d574ae", + "hash": "sha256-sA2gcLtJsr4XAORmMK1KABFX1U+HFczPK1xVXszWDLU=" }, - "r235ee97b": { - "rev": "235ee97b469ca6761e5096ea829f4da032c591fe", - "hash": "sha256-slvLt9rpIdpkZWLhrdUogsz2rLMjuE99r3HXvrVo0p0=" + "r08ab59b8": { + "rev": "08ab59b8d7f0b173bf4179e5615a073993bcdd38", + "hash": "sha256-+f9XhKoUTgCtVt6jF21mByEk2MKf1p86pBo5etCXq/k=" }, - "r3763efb5": { - "rev": "3763efb56b5282cf92d71c259576352555c1a8f8", - "hash": "sha256-KI3iryvJplRurCGgYMdD7ryUHBh/Vrajpzuxh2XKUnA=" + "r6dd055d2": { + "rev": "6dd055d2eb39fe66e4b66bcb58eaa5692113caa0", + "hash": "sha256-R0PnUO1FdD+l/rBFoAfZAuHbfjZmcpd72sad3nxuRzI=" }, - "ra4851dd8": { - "rev": "a4851dd8c67a2b311403d67270e02e7296d31157", - "hash": "sha256-7cW4LQ3w0YgpY1WvY9c00VgFBmlZ+SyUTMgs8Df0e/E=" + "rafd88c27": { + "rev": "afd88c27f2fe9f8f1a6d5b287cc16b1bc8f06198", + "hash": "sha256-YMzAFNv9rw2kD0pK38FMNQ7JW2XCXyxMM94qOCfzyK8=" }, - "r2d7adaea": { - "rev": "2d7adaea91627b77b3d560d12703191fa5c434c0", - "hash": "sha256-ok7CxYZdi1uY5g4kGUhxaFi3Uj1EV5sH6r3B/O6pEBY=" + "r13a129d3": { + "rev": "13a129d301f4b2f9ab5d68c19902fc95c5dad89a", + "hash": "sha256-unIC3msCKL5UjGhsI+l9Z/uDCVx8dly+GDc7H7JOvz8=" }, - "rfaac623b": { - "rev": "faac623b09d6b14fbb06fe5150016de78b359eea", - "hash": "sha256-x5THk9BRkFGcomeu0rY9IWiMVDGJyQKNYlnfz4nRtiA=" + "rddd5ba78": { + "rev": "ddd5ba78a949c5458aad9f7c3f19d214a2e8338e", + "hash": "sha256-BiVNiS+01LE4mk8ATUeie2+CgfBHGsGjEzVkC4dPvkA=" }, - "rec6a4055": { - "rev": "ec6a4055437bd384a1dff3842c084eec49e203a8", - "hash": "sha256-gSwNYUaq2JRgBeUUo/QWqdRILrzd7pDne/Pvo6Q20mA=" + "rbf833c34": { + "rev": "bf833c346d532558a4c1c98940fa42e4e80a0a02", + "hash": "sha256-BlGzWt1dSoTUCJOI8Eis6BlMy1V2o2Nqufy3Mdz7xwU=" }, - "rbecb3ffc": { - "rev": "becb3ffccdecff83047285ebea20e5b85b2d65b1", - "hash": "sha256-jfv1Eztcgow3v+t4nGpAG4O7ztFi3a7+nKPOei5II7I=" + "rfc2d78dd": { + "rev": "fc2d78dd1e900e43be1812de1b1e1d4083267a54", + "hash": "sha256-8aR8nDOVgKhBKlgRNuvmhhEi+/w/aIi7pex7drxkclE=" }, - "r38d17d34": { - "rev": "38d17d345c73a3ac0cb451fa0696fd8efabadc0d", - "hash": "sha256-zMIaNxiBjb1H/d9Qu7fXWW43/8T/Uc9626XTwfvGEQ0=" + "r2ddc461a": { + "rev": "2ddc461a3f319a3d704891bde0a819959b9437cc", + "hash": "sha256-QjZ9Ior1bbI8k3SeRpkILwcOiTkdRKbBUFJq3qZUDy8=" }, - "rd4faa8d6": { - "rev": "d4faa8d63a06a5feff2e5b68695adf9bf8fd1f81", - "hash": "sha256-BtrreTatwvQMHW3DEzhaRqirYf6czUReaqgGskm81co=" + "rd5c565a9": { + "rev": "d5c565a98d4d036db91d34810e39fb116bf38c56", + "hash": "sha256-fYNraa7yy6ZgOvrjs01ld7pfIWIOpDGeFKCkZ5lTrcs=" }, - "rcf4f615d": { - "rev": "cf4f615d706d54fca9323fb1595d88f7ee2d7517", - "hash": "sha256-2DGnYooj8D1+eF++1z8jvHxZqB8LcqwVCavdWgOMYKo=" + "rf6d64efd": { + "rev": "f6d64efd1985d4668e084cabe03e41c3574b494f", + "hash": "sha256-JTxe75Z7ZZmJKz0L5qlRCEdPA5hvX/LEat9gkBEOXpI=" }, - "r6cbf2c09": { - "rev": "6cbf2c09f280fbf2190affee046783d0fe543113", - "hash": "sha256-lxWwe+UCPsQybZL9dCPUXlSs1maRlrkeWwmnVDXRlKg=" + "r52940c49": { + "rev": "52940c494517b1256d9569da0c2aefd018518348", + "hash": "sha256-arL/WA6dFWrdKGE3hBN8E9RNj5jLsBIZKDCxAj3A0IQ=" }, - "re2d7f2d6": { - "rev": "e2d7f2d625257b2c250ea2f18d3f832add5b43bf", - "hash": "sha256-ZDGX6wKYBbK8B6IkaHOz9GbY2AVZmtPWXWdeFditXLw=" + "r0efa7592": { + "rev": "0efa7592e3fb2ae647518a82ab19679b7c933d99", + "hash": "sha256-fLF4sd2eRYUvpGTwHMOElRJ8mZXMYouwq+0a4WSJYl0=" }, - "rd7278ceb": { - "rev": "d7278cebad5b8eda0901246f2215344cffece4f4", - "hash": "sha256-QzrhYKnZKtV9SFwMPW2Axvw9mg1HKg3m5XqOKsDPLGA=" + "r8d5f9da2": { + "rev": "8d5f9da2e36b593a098200bd332fd9e51f0bed54", + "hash": "sha256-YanXypsEr46jzSKJvNLEuNwlE3076vyyb5ZEROTbeLg=" }, - "r6c98ebeb": { - "rev": "6c98ebeb8cf24c7be5d462ded7e60d88b2ceccec", - "hash": "sha256-BnD/HKW/2dz7AJz4B3iFvjx6ZTuItR2IyHgAGzexvCI=" + "r2df010e4": { + "rev": "2df010e4f4eae6806cd1d855b63c3891116f065d", + "hash": "sha256-ohiRSNRSp8DhrcwVd3+w7OEIsLcddwSqonSeSUruIq0=" }, - "r41754d58": { - "rev": "41754d58e549d45762f906ba9e0da6ccf28c7b3f", - "hash": "sha256-vFuLW2eNrvH4X4rwOi2wPSPoeG+qmfbnq8lsePgGMFo=" + "rd17d1dae": { + "rev": "d17d1dae84ecf76da3a924facdfe1d8c2d4ac578", + "hash": "sha256-nPKFto60FViG55WK87b87r55wYc3pi1rwUsOZTikAjg=" + }, + "r76bb1411": { + "rev": "76bb1411acf5cf6935586182a3a037d372ed1636", + "hash": "sha256-f3wfLZ8caYOETpvy8olsED+PwEFLUbYaayZNOcEvGB8=" } } \ No newline at end of file From 209a4f83eb43fa20a0f95f957a824a67d02c0214 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 16 Aug 2024 00:41:04 +0200 Subject: [PATCH 124/131] Attempt to fix submodule build. --- standalone/build.gradle.kts | 12 +- .../standalone/libs/BoringsslLib.java | 2 +- .../ectester/standalone/libs/IppcpLib.java | 2 +- .../ectester/standalone/libs/LibresslLib.java | 2 +- .../ectester/standalone/libs/MbedTLSLib.java | 2 +- .../standalone/libs/NativeECLibrary.java | 24 +- .../ectester/standalone/libs/jni/Makefile.ext | 241 ++++++++++++++++++ 7 files changed, 260 insertions(+), 25 deletions(-) create mode 100644 standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext diff --git a/standalone/build.gradle.kts b/standalone/build.gradle.kts index c58be6af..c8baa36d 100644 --- a/standalone/build.gradle.kts +++ b/standalone/build.gradle.kts @@ -11,8 +11,14 @@ repositories { } dependencies { - val wolfcryptLibPath = System.getenv("WOLFCRYPT_LIB_PATH") + "/wolfcrypt-jni.jar"; - implementation(files(wolfcryptLibPath)) + // First see if Nix gave us a path, then try the ext build, then the bundled. + if (System.getenv("WOLFCRYPT_LIB_PATH") != null) { + implementation(files(System.getenv("WOLFCRYPT_LIB_PATH") + "/wolfcrypt-jni.jar")); + } else if (file("$rootDir/ext/wolfcrypt-jni/lib/wolfcrypt-jni.jar").exists()) { + implementation(files("$rootDir/ext/wolfcrypt-jni/lib/wolfcrypt-jni.jar")) + } else { + implementation(files("$rootDir/ext/wolfcrypt-jni.jar")) + } implementation(project(":common")) testImplementation(platform("org.junit:junit-bom:5.10.2")) @@ -102,7 +108,7 @@ tasks.register("libs") { if (osdetector.os == "windows") { commandLine("makefile.bat", "/c", libName) } else if (osdetector.os == "linux") { - commandLine("make", "-k", "-B", libName) + commandLine("make", "-f", "Makefile.ext", "-k", "-B", libName) } } diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java index 5d30d81a..06e6b4ac 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java @@ -8,7 +8,7 @@ */ public class BoringsslLib extends NativeECLibrary { public BoringsslLib() { - super("BoringSSL", "boringssl_provider"); + super("BoringSSL", "boringssl_provider", "lib_boringssl.so"); } @Override diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java index a1c58ce9..fa515857 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/IppcpLib.java @@ -9,7 +9,7 @@ public class IppcpLib extends NativeECLibrary { public IppcpLib() { - super("IPPCP", "ippcp_provider"); + super("IPPCP", "ippcp_provider", "lib_ippcp.so"); } @Override diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java index 09111198..e53399c6 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java @@ -8,7 +8,7 @@ */ public class LibresslLib extends NativeECLibrary { public LibresslLib() { - super("LibreSSL", "libressl_provider"); + super("LibreSSL", "libressl_provider", "lib_libressl.so"); } @Override diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java index 038dbe83..efc8cad0 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java @@ -9,7 +9,7 @@ public class MbedTLSLib extends NativeECLibrary { public MbedTLSLib() { - super("mbedTLS", "mbedtls_provider"); + super("mbedTLS", "mbedtls_provider", "lib_mbedtls.so"); } @Override diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java index fb4e4309..210a6e98 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -38,25 +38,13 @@ public boolean initialize() { return false; } - /* Load the requirements, if they are bundled, write them in and load them. */ - try { - for (String requirement : requriements) { - if (requirement.endsWith(suffix)) { - /* The requirement is bundled, write it */ - Path reqPath = libReqDir.resolve(requirement); - found = FileUtil.write(ECTesterStandalone.LIB_RESOURCE_DIR + requirement, reqPath); - if (!found) { - return false; - } - System.load(reqPath.toString()); - } else { - System.loadLibrary(requirement); - } + /* Load the requirements, if they are bundled, write them in. */ + for (String requirement : requriements) { + if (requirement.endsWith(suffix)) { + /* The requirement is bundled, write it */ + Path reqPath = libReqDir.resolve(requirement); + FileUtil.write(ECTesterStandalone.LIB_RESOURCE_DIR + requirement, reqPath); } - } catch (UnsatisfiedLinkError ule) { - System.err.println(resource); - ule.printStackTrace(); - return false; } System.load(libPath.toString()); diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext new file mode 100644 index 00000000..16a93ff5 --- /dev/null +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext @@ -0,0 +1,241 @@ +############################################################################### +## General CC setup. + +CC?=gcc +CXX?=g++ + +LFLAGS+=-fPIC -shared -L "$(JNI_LIBDIR)" -L "$(JNI_LIBDIR)/server" #-ljsig -ljvm +CFLAGS+=-fPIC -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -Wno-deprecated-declarations +CXXFLAGS+=-fPIC -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -Wno-deprecated-declarations + +DEBUG ?= 0 +PROJECT_ROOT_PATH ?= ../../../../../../../../../.. + +ifeq ($(DEBUG), 1) + CFLAGS+=-g -O0 -Wall + LFLAGS+=-g + CXXFLAGS+=-g -O0 -Wall +else + CFLAGS+=-O2 + LFLAGS+=-O2 + CXXFLAGS+=-O2 +endif + +############################################################################### +## Java JNI setup. + +ifeq ($(JAVA_HOME),) + ifeq ($(OS),Windows_NT) + which = $(shell where $1) + else + which = $(shell which $1) + endif + JAVAC ?= $(realpath $(call which,javac)) + JAVA_HOME = $(abspath $(dir $(JAVAC))..) +endif + +ifneq ($(JAVA_HOME),) + JNI_INCLUDEDIR ?= $(JAVA_HOME)/include + JNI_LIBDIR ?= $(JAVA_HOME)/lib +endif + +ifeq ($(JNI_INCLUDEDIR),) + $(error "Could not determine JNI include dir. Try specifying either JAVA_HOME or JNI_INCLUDEDIR.") +endif + +ifeq ($(JNI_LIBDIR),) + $(error "Could not determine JNI lib dir. Try specifying either JAVA_HOME or JNI_LIBDIR.") +endif + +TARGETTRIPLET := $(shell $(CC) -dumpmachine) + +ifeq ($(JNI_PLATFORM),) + ifeq ($(findstring mingw,$(TARGETTRIPLET)),mingw) + JNI_PLATFORM:= win32 + else + ifeq ($(findstring linux,$(TARGETTRIPLET)),linux) + JNI_PLATFORM:= linux + endif + endif +endif + +JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) + +############################################################################### +## Targets. + +all: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp nettle libressl + +# Common utils +c_utils.o: c_utils.c + $(CC) $(CFLAGS) -c $< + +lib_timing.so: c_timing.c + $(CC) -o $@ -shared $(CFLAGS) -Wl,-soname,lib_timing.so $< + +prng.o: prng/prng.c + $(CC) $(CFLAGS) -c $< + +lib_prng.so: c_prng.c + $(CC) -o $@ -shared -Wl,-soname,lib_prng.so $(CFLAGS) $< + +c_preload.o: c_preload.c + $(CC) $(CFLAGS) -c $< + +lib_preload.so: c_preload.o prng.o + $(CC) -o $@ -shared $(CFLAGS) -ldl -Wl,-soname,lib_preload.so $^ + +lib_csignals.so: c_signals.c + $(CC) -o $@ -shared $(CFLAGS) -pthread -lpthread -Wl,-soname,lib_csignals.so $< + +lib_cppsignals.so: cpp_signals.cpp + $(CC) -o $@ -shared $(CFLAGS) -pthread -lpthread -Wl,-soname,lib_cppsignals.so $< + +cpp_utils.o: cpp_utils.cpp + $(CXX) $(CXXFLAGS) -c $< + + +clibs: lib_timing.so lib_csignals.so lib_preload.so lib_prng.so + +cpplibs: lib_timing.so lib_cppsignals.so lib_preload.so lib_prng.so + +# OpenSSL shim +openssl: openssl_provider.so + +openssl_provider.so: openssl.o c_utils.o | clibs + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs openssl) -l:lib_timing.so -l:lib_csignals.so + +openssl.o: openssl.c + $(CC) $(shell pkg-config --cflags openssl) $(CFLAGS) -c $< + + +# BoringSSL shim +boringssl: boringssl_provider.so + +lib_boringssl.so: + cp $(PROJECT_ROOT_PATH)/ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so + patchelf --set-soname lib_boringssl.so lib_boringssl.so + +boringssl_provider.so: boringssl.o c_utils.o | clibs lib_boringssl.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_boringssl.so -l:lib_timing.so -l:lib_csignals.so + +boringssl.o: boringssl.c + $(CC) -I$(PROJECT_ROOT_PATH)/ext/boringssl/include/ $(CFLAGS) -c $< + + +# libgcrypt shim +gcrypt: gcrypt_provider.so + +gcrypt_provider.so: gcrypt.o c_utils.o | clibs + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -pthread -lpthread $(shell libgcrypt-config --libs) -l:lib_timing.so -l:lib_csignals.so + +gcrypt.o: gcrypt.c + $(CC) $(shell libgcrypt-config --cflags) $(CFLAGS) -c $< + + +# Libtomcrypt shim +tomcrypt: tomcrypt_provider.so + +tomcrypt_provider.so: tomcrypt.o c_utils.o | clibs + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -ltommath $(shell pkg-config --libs libtomcrypt) -l:lib_timing.so -l:lib_csignals.so + +tomcrypt.o: tomcrypt.c + $(CC) -DLTM_DESC $(shell pkg-config --cflags libtomcrypt) $(CFLAGS) -c $< + + +# Botan-2 shim +botan: botan_provider.so + +botan_provider.so: botan.o cpp_utils.o | cpplibs + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs botan-2) -l:lib_timing.so -l:lib_cppsignals.so + +botan.o: botan.cpp + $(CXX) $(shell pkg-config --cflags botan-2) $(CXXFLAGS) -c $< + + +# Crypto++ shim +CRYPTOPP_NAME := "libcrypto++" +ifeq ($(shell pkg-config --exists $(CRYPTOPP_NAME); echo $$?),1) + CRYPTOPP_NAME := "libcryptopp" +endif +cryptopp: cryptopp_provider.so + +cryptopp_provider.so: cryptopp.o cpp_utils.o | cpplibs + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs $(CRYPTOPP_NAME)) -l:lib_timing.so -l:lib_cppsignals.so + +cryptopp.o: cryptopp.cpp + $(CXX) $(shell pkg-config --cflags $(CRYPTOPP_NAME)) $(CXXFLAGS) -c $< + + +# mbedTLS shim +mbedtls: mbedtls_provider.so + +lib_mbedtls.so: + cp $(PROJECT_ROOT_PATH)/ext/mbedtls/build/library/libmbedcrypto.so lib_mbedtls.so + patchelf --set-soname lib_mbedtls.so lib_mbedtls.so + +mbedtls_provider.so: mbedtls.o c_utils.o | clibs lib_mbedtls.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_mbedtls.so -l:lib_timing.so -l:lib_csignals.so + +mbedtls.o: mbedtls.c + $(CC) -I$(PROJECT_ROOT_PATH)/ext/mbedtls/build/include/ $(CFLAGS) -c $< + + +# Intel Performance Primitives crypto shim +ippcp: ippcp_provider.so + +lib_ippcp.so: + cp $(PROJECT_ROOT_PATH)/ext/ipp-crypto/build/.build/RELEASE/lib/libippcp.so lib_ippcp.so + patchelf --set-soname lib_ippcp.so lib_ippcp.so + +ippcp_provider.so: ippcp.o c_utils.o | clibs lib_ippcp.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_ippcp.so -l:lib_timing.so -l:lib_csignals.so + +ippcp.o: ippcp.c + $(CC) -I$(PROJECT_ROOT_PATH)/ext/ipp-crypto/build/.build/RELEASE/include/ $(CFLAGS) -c $< + + +# Nettle shim +nettle: nettle_provider.so + +nettle_provider.so: nettle.o c_utils.o | clibs + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs nettle) -l:lib_timing.so -l:lib_csignals.so $(shell pkg-config --libs hogweed) -lgmp + +nettle.o: nettle.c + $(CC) $(shell pkg-config --cflags nettle) $(shell pkg-config --libs hogweed) -lgmp $(CFLAGS) -c $< + + +# LibreSSL shim +libressl: libressl_provider.so + +lib_libressl.so: + cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so + patchelf --set-soname lib_libressl.co lib_libressl.so + +libressl_provider.so: libressl.o c_utils.o | clibs lib_libressl.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_libressl.so -l:lib_timing.so -l:lib_csignals.so + +libressl.o: libressl.c + $(CC) -I$(PROJECT_ROOT_PATH)/ext/libressl/build/include/ $(CFLAGS) -c $< + + +help: + @echo "# This makefile builds the JNI shims necessary to test native libraries." + @echo "# Targets:" + @echo " - openssl" + @echo " - boringssl" + @echo " - gcrypt" + @echo " - tomcrypt" + @echo " - botan" + @echo " - cryptopp" + @echo " - mbedtls" + @echo " - ippcp" + @echo " - nettle" + @echo " - libressl" + + +clean: + rm -rf *.o + rm -rf *.so + +.PHONY: all help clean openssl boringssl gcrypt tomcrypt botan cryptopp mbedtls ippcp nettle libressl From 87db8e07e9de7e704b4bdbf5e7c63d6142697520 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 16 Aug 2024 01:22:28 +0200 Subject: [PATCH 125/131] Fix LibreSSl old build. --- .../resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext index 16a93ff5..948988b7 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile.ext @@ -210,7 +210,7 @@ libressl: libressl_provider.so lib_libressl.so: cp $(PROJECT_ROOT_PATH)/ext/libressl/build/crypto/libcrypto.so lib_libressl.so - patchelf --set-soname lib_libressl.co lib_libressl.so + patchelf --set-soname lib_libressl.so lib_libressl.so libressl_provider.so: libressl.o c_utils.o | clibs lib_libressl.so $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_libressl.so -l:lib_timing.so -l:lib_csignals.so From 6e01272878080749c23a7644055456a44b0fd9e4 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Aug 2024 13:04:13 +0200 Subject: [PATCH 126/131] Fallback to newest version assumption in shims. --- .../cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp | 7 +++++++ .../cz/crcs/ectester/standalone/libs/jni/mbedtls.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp index a7eb6a6f..25e1ba4f 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp @@ -95,6 +95,13 @@ using CryptoPP::Integer; static jclass provider_class; static std::unique_ptr rng = std::make_unique(); +// Fallback to newest +#if !(defined(ECTESTER_CRYPTOPP_MAJOR) && defined(ECTESTER_CRYPTOPP_MINOR) && defined(ECTESTER_CRYPTOPP_PATCH)) +#define ECTESTER_CRYPTOPP_MAJOR 99 +#define ECTESTER_CRYPTOPP_MINOR 99 +#define ECTESTER_CRYPTOPP_PATCH 99 +#endif + JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_createProvider(JNIEnv *env, jobject self) { /* Create the custom provider. */ diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c index e017f4d0..8b7fbbb8 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/mbedtls.c @@ -21,6 +21,14 @@ static mbedtls_entropy_context fixed_entropy; static jclass provider_class; +// Fallback to newest +#if !(defined(ECTESTER_MBEDTLS_MAJOR) && defined(ECTESTER_MBEDTLS_MINOR) && defined(ECTESTER_MBEDTLS_PATCH)) +#define ECTESTER_MBEDTLS_MAJOR 99 +#define ECTESTER_MBEDTLS_MINOR 99 +#define ECTESTER_MBEDTLS_PATCH 99 +#endif + + #if VERSION_LT(MBEDTLS, 3, 0, 0) #define MBEDTLS_PRIVATE(member) member #else From a707a34044a1988d35c0610371534b3a688e3405 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Aug 2024 13:33:41 +0200 Subject: [PATCH 127/131] Fix default BoringSSL build. --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 7df48472..668cd57c 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ url = "https://boringssl.googlesource.com/boringssl"; inherit rev hash; }; + env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow -Wno-error=array-parameter=2 -Wno-error=maybe-uninitialized"; postFixup = '' cp $out/lib/libcrypto.a $out/lib/lib_boringssl.a ''; From 3a8ccf8ea501e433e57e3406beec4bb19691bb04 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Aug 2024 14:13:18 +0200 Subject: [PATCH 128/131] More BoringSSL builds. --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 668cd57c..cc36fb78 100644 --- a/flake.nix +++ b/flake.nix @@ -45,7 +45,7 @@ url = "https://boringssl.googlesource.com/boringssl"; inherit rev hash; }; - env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow -Wno-error=array-parameter=2 -Wno-error=maybe-uninitialized"; + env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow -Wno-error=array-parameter=2 -Wno-error=maybe-uninitialized -Wno-error=ignored-attributes"; postFixup = '' cp $out/lib/libcrypto.a $out/lib/lib_boringssl.a ''; From fe92e1e383719c393f3933446abf7e202ae2f77a Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Aug 2024 14:48:36 +0200 Subject: [PATCH 129/131] Add Nix info to README. --- README.md | 81 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 379f05f1..3061407e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ cryptographic libraries. It consists of four separate parts: - The ECTester applet, a JavaCard applet that provides the testing interface - The ECTesterReader app, a reader app that works with the applet - - The ECTesterStandalone app, which works with software libraries + - The ECTesterStandalone app, which tests software cryptographic libraries - Jupyter notebooks for analysis and visualization of data from the apps For more information on ECC support on JavaCards see the [GitHub page](https://crocs-muni.github.io/ECTester/), with results, tables and docs. @@ -50,10 +50,9 @@ git submodule update --init --recursive # To initialize submodules (JavaCa The applet comes in several flavors, targeting JavaCard `2.2.1`, `2.2.2` and `3.0.5`. The `2.2.2` and later flavors support extended length APDUs which are necessary for some commands to work properly. -The `:standalone:libs` task invokes a Makefile in `standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni`, which tries to build the -C/C++ shim libraries required for ECTester to test the actual native cryptographic libraries from Java. -The Makefile uses pkg-config to locate the libraries installed, thus if non-standard location of the tested libraries is -used, the Makefile or your pkg-config needs some changes to work. +To build the standalone part, which involves numerous cryptographic libraries, one has two options. + - Install these cryptographic libraries system-wide and let the build use those. + - Use [Nix](https://nixos.org/) to build the tool part with given library versions. See the section on [setup](#setup-1) of standalone library testing for more details. @@ -309,6 +308,48 @@ For more information on ECC libraries see [LIBS](docs/LIBS.md). ### Setup +ECTester interfaces with native libraries by using custom shim libraries that expose the functionality via the +[Java Native Interface](https://en.wikipedia.org/wiki/Java_Native_Interface), these can be found in the +[standalone/src/main/java/cz/crcs/ectester/standalone/libs/jni](standalone/src/main/java/cz/crcs/ectester/standalone/libs/jni) directory along with a Makefile +(Makefile.bat for Windows). The shim library will depend on the native library, and have a name like +`boringssl_provider.so`, `botan_provider.so`, `cryptopp_provider.so` and `openssl_provider.so`. +The Makefile has a target for every library that it supports that builds its shim, see the `help` +target for more info. + +However, building these shims and in general the target libraries can be tricky to do so reliably across +systems and setups. Thus ECTester offers two ways of doing so. + + - The first way is to install the libraries system-wide and rely on pkg-config to find proper configuration + for the shims and link them dynamically. + - The second way is to use [Nix](https://nixos.org/) to build the given versions of the libraries and shims and + link them statically. + +#### Nix + +Install [Nix](https://nixos.org/download/), then to build: + +```shell +# To build a library in a given version run (example OpenSSL 3.3.1): +nix build ".#lib.openssl.v331" +# To build a shim using a given version of a library (example mbedTLS 3.5): +nix build ".#shim.mbedtls.v35" +# To build ECTesterStandalone.jar with a given version of a library (example libgcrypt 1.9.4): +nix build ".#gcrypt.v194" +# The available versions of the libraries are in the nix/*_pkg_versions.json files. +# The "default" version always points to the most recent version. +``` + +Each of the build steps above puts (symlinks really) its results into `./result` directory. +However, subsequent builds then replace that with their own results. To run ECTesterStandalone +with a given library version and arguments do: + +```shell +# This runs the default test-suite agains LibreSSL 3.9.2 +nix run ".#libressl.v392" --- test default LibreSSL +``` + +#### Gradle + ```shell ./gradlew :standalone:libs # To build the native library shims. ./gradlew :standalone:uberJar # To build the standalone tool (jar) -> "standalone/build/libs/ECTesterStandalone.jar" @@ -324,16 +365,22 @@ successfully or that the actual native library couldn't be found and loaded on r build errors during the ant run in the `libs-try` step, for the latter, if the library is in an non-standard location specifying `LD_LIBRARY_PATH` will help load it. Consulting the next sections should help solve both. -#### Native - -ECTester interfaces with native libraries by using custom shim libraries that expose the functionality via the [Java Native Interface](https://en.wikipedia.org/wiki/Java_Native_Interface), these can be found in the [standalone/src/main/java/cz/crcs/ectester/standalone/libs/jni](standalone/src/main/java/cz/crcs/ectester/standalone/libs/jni) directory along with a Makefile (Makefile.bat for Windows). The shim library will depend on the native library, and have a name like `boringssl_provider.so`, `botan_provider.so`, `cryptopp_provider.so` and `openssl_provider.so`. The Makefile has a target for every library that it supports that builds its shim, see the `help` target for more info. The Makefile is automatically ran when the `:standalone:libs` gradle task is triggered, so if all is setup correctly, you do not need to deal with the Makefile while building. +The `:standalone:libs` task invokes the Makefile, which tries to build the +C/C++ shim libraries required for ECTester to test the actual native cryptographic libraries from Java. +The Makefile uses pkg-config to locate the libraries installed, thus if non-standard location of the tested libraries is +used, the Makefile or your pkg-config needs some changes to work. -There are two important environmental variables that should be set in your environment. First, you should set `JAVA_HOME` which should point to your JDK. The tooling uses `JAVA_HOME` to locate native Java library headers, like `jni.h`. Second, ECTester uses pkg-config to locate the native libraries, if your pkg-config files are in an unusual place the pkg-config command would not find them by default, you should set `PKG_CONFIG_PATH` to the directory containing the `*.pc` files. If pkg-config files are unavailable for the library you are trying to test, you will need to change the Makefile manually to apply the correct options to the commands (CFLAGS, include options, linker options...). +There are two important environmental variables that should be set in your environment. First, you should set +`JAVA_HOME` which should point to your JDK. The tooling uses `JAVA_HOME` to locate native Java library headers, +like `jni.h`. Second, ECTester uses pkg-config to locate the native libraries, if your pkg-config files are in an +unusual place the pkg-config command would not find them by default, you should set `PKG_CONFIG_PATH` to the directory +containing the `*.pc` files. If pkg-config files are unavailable for the library you are trying to test, you will need +to change the Makefile manually to apply the correct options to the commands (CFLAGS, include options, linker options...). Below you can see how a full build with all the libraries currently supported on Linux looks ``` > cd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni -> make +> make -f Makefile.ext cc -DLTM_DESC -fPIC -I"/usr/lib/jvm/java-21-openjdk/include" -I"/usr/lib/jvm/java-21-openjdk/include/linux" -I. -Wno-deprecated-declarations -O2 -c tomcrypt.c cc -fPIC -I"/usr/lib/jvm/java-21-openjdk/include" -I"/usr/lib/jvm/java-21-openjdk/include/linux" -I. -Wno-deprecated-declarations -O2 -c c_utils.c cc -o lib_timing.so -shared -fPIC -I"/usr/lib/jvm/java-21-openjdk/include" -I"/usr/lib/jvm/java-21-openjdk/include/linux" -I. -Wno-deprecated-declarations -O2 -Wl,-soname,lib_timing.so c_timing.c @@ -421,20 +468,6 @@ on `LD_LIBRARY_PATH`. Consult the GitHub CI [build script](.github/workflows/build.yml) for an example that runs on Ubuntu 22.04. -#### Java - -OpenJDK JRE is required to test ECDH on Windows properly, as Oracle JRE requires the Java Cryptography Providers -for certain classes (such as a [KeyAgreement](https://docs.oracle.com/javase/8/docs/api/javax/crypto/KeyAgreement.html)) -to be signed by keys that are signed by their JCA Code Signing Authority. ECTester internally uses Java Cryptography Provider -API to expose and test native libraries. - -Installing the Java Cryptography Extension Unlimited Strength policy files is necessary to do testing -(for Java 8) with quite a lot of practical key sizes, they are available for download: - - - [Java 8](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) - -To install, place them in `${java.home}/jre/lib/security/`. - ### Examples Snippet below shows how the `list-libs` command for well, listing currently supported libraries, behaves if all supported libraries are present (on Linux). From 94e821a54d33aee5aef62f328ec3d50dd6867c9e Mon Sep 17 00:00:00 2001 From: quapka Date: Sat, 17 Aug 2024 16:15:34 +0200 Subject: [PATCH 130/131] By default build ECTester with default, aka newest fetched, libraries --- flake.nix | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index cc36fb78..42ba8377 100644 --- a/flake.nix +++ b/flake.nix @@ -683,6 +683,15 @@ } ); + + defaultVersion = + # Default version is the last one, aka the newest that we fetched + libName: + let + versions = builtins.fromJSON (builtins.readFile ./nix/${libName}_pkg_versions.json); + in + pkgs.lib.lists.last (pkgs.lib.attrsets.attrValues versions); + loadVersions = { libName, function }: let @@ -707,7 +716,18 @@ in { packages = rec { - default = openssl.default; + default = buildECTesterStandalone { + # FIXME tomcrypt is missing! + botan = defaultVersion "botan"; + cryptopp = defaultVersion "cryptopp"; + openssl = defaultVersion "openssl"; + boringssl = defaultVersion "boringssl"; + gcrypt = defaultVersion "gcrypt"; + mbedtls = defaultVersion "mbedtls"; + ippcp = defaultVersion "ippcp"; + nettle = defaultVersion "nettle"; + libressl = defaultVersion "libressl"; + }; tomcrypt = loadVersions { libName = "tomcrypt"; function = buildECTesterStandalone; From 8d54fae02136eea7706d3b1d8b3547a61df7bd19 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Aug 2024 16:29:34 +0200 Subject: [PATCH 131/131] Remove old devShell. --- flake.nix | 84 ------------------------------------------------------- 1 file changed, 84 deletions(-) diff --git a/flake.nix b/flake.nix index 42ba8377..a6759107 100644 --- a/flake.nix +++ b/flake.nix @@ -915,90 +915,6 @@ }; }; - devShells.default = - with pkgs; - mkShell rec { - nativeBuildInputs = [ pkg-config ]; - - preConfigure = '' - cp ${boringssl}/lib/lib_boringssl.a standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/ - ''; - - buildInputs = [ - # # gradle2nix - # libresslShim - gdb - ant - jdk17 - pkg-config - global-platform-pro - gradle - # libraries to test - (opensslBuilder { }) - libressl - # glibc - boringssl - libtomcrypt - libtommath - botan2 - cryptopp - - # libraries' dependencies - cmake - ninja - gawk - automake - go - gtest - libunwind - autoconf - libb64 - - # clang - libgcrypt - libgpg-error - mbedtls - nasm - libtool - perl - - wolfssl - nettle - # libressl - - customPkgs.ipp-crypto - - gmp - libgpg-error - wget - libconfig - ]; - - LD_LIBRARY_PATH = - with pkgs; - pkgs.lib.makeLibraryPath [ - libtommath - libtomcrypt - botan2 - cryptopp - (opensslBuilder { }) - boringssl - libgcrypt - libgpg-error - nettle - gmp - libgpg-error - libconfig - wolfcryptjni - ]; - - BORINGSSL_CFLAGS = "${boringssl.dev.outPath}/include"; - WOLFCRYPT_LIB_PATH = "${wolfcryptjni}/lib"; - - IPP_CRYPTO_HEADER = "${customPkgs.ipp-crypto.dev}/include"; - IPP_CRYPTO_LIB = "${customPkgs.ipp-crypto}/lib/"; - - }; } ); }