diff --git a/ports/nettle/compile.patch b/ports/nettle/compile.patch new file mode 100644 index 00000000000000..2aa1891c811b74 --- /dev/null +++ b/ports/nettle/compile.patch @@ -0,0 +1,39 @@ +diff --git a/examples/Makefile.in b/examples/Makefile.in +index eb6a81790..1d927079c 100644 +--- a/examples/Makefile.in ++++ b/examples/Makefile.in +@@ -11,7 +11,7 @@ PRE_CPPFLAGS = -I.. -I$(top_srcdir) + PRE_LDFLAGS = -L.. + + OPENSSL_LIBFLAGS = @OPENSSL_LIBFLAGS@ +-BENCH_LIBS = @BENCH_LIBS@ -lm ++BENCH_LIBS = @BENCH_LIBS@ + + HOGWEED_TARGETS = rsa-keygen$(EXEEXT) rsa-sign$(EXEEXT) \ + rsa-verify$(EXEEXT) rsa-encrypt$(EXEEXT) rsa-decrypt$(EXEEXT) \ +diff --git a/streebog.c b/streebog.c +index 7ad619d5e..85609a473 100644 +--- a/streebog.c ++++ b/streebog.c +@@ -1233,7 +1233,7 @@ streebog512_compress (struct streebog512_ctx *ctx, const uint8_t *input, uint64_ + static void + streebog_final (struct streebog512_ctx *ctx) + { +- uint64_t Z[8] = {}; ++ uint64_t Z[8] = {0,0,0,0,0,0,0,0}; + unsigned int i; + + /* PAD. It does not count towards message length */ +diff --git a/Makefile.in b/Makefile.in +index b65ff4960..3887d0c8f 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -322,7 +322,7 @@ $(LIBHOGWEED_FORLINK): $(hogweed_OBJS) $(LIBNETTLE_FORLINK) + + # For building the various *data.c programs. -lm needed for shadata. + %$(EXEEXT_FOR_BUILD): %.c +- $(CC_FOR_BUILD) $< $(CFLAGS) -lm -o $@ ++ $(CC_FOR_BUILD) $< $(CFLAGS) -o $@ + + # Explicit dependency. + eccdata$(EXEEXT_FOR_BUILD): mini-gmp.c mini-gmp.h diff --git a/ports/nettle/gmp.patch b/ports/nettle/gmp.patch deleted file mode 100644 index b9eec5e1e64935..00000000000000 --- a/ports/nettle/gmp.patch +++ /dev/null @@ -1,205 +0,0 @@ -diff --git a/SMP/config.h b/SMP/config.h -index e4de0f1..ba41eb4 100644 ---- a/SMP/config.h -+++ b/SMP/config.h -@@ -102,7 +102,7 @@ - #define HAVE_SYS_TYPES_H 1 - - /* Define to 1 if you have the header file. */ --#define HAVE_UNISTD_H 1 -+//#define HAVE_UNISTD_H 1 - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_VALGRIND_MEMCHECK_H */ -diff --git a/SMP/libhogweed_winrt.vcxproj b/SMP/libhogweed_winrt.vcxproj -index 476f7a7..308bd0b 100644 ---- a/SMP/libhogweed_winrt.vcxproj -+++ b/SMP/libhogweed_winrt.vcxproj -@@ -247,7 +247,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd_winrt.lib;%(AdditionalDependencies) -+ nettled_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -362,7 +362,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd_winrt.lib;%(AdditionalDependencies) -+ nettled_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -705,7 +705,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp_winrt.lib;%(AdditionalDependencies) -+ nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -935,7 +935,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp_winrt.lib;%(AdditionalDependencies) -+ nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/libnettle.vcxproj b/SMP/libnettle.vcxproj -index 088cb85..cc2cbeb 100644 ---- a/SMP/libnettle.vcxproj -+++ b/SMP/libnettle.vcxproj -@@ -18,7 +18,7 @@ - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -131,7 +131,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -472,7 +472,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -586,7 +586,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -815,7 +815,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -1043,7 +1043,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -diff --git a/SMP/libnettle_winrt.vcxproj b/SMP/libnettle_winrt.vcxproj -index cb650ab..188f67a 100644 ---- a/SMP/libnettle_winrt.vcxproj -+++ b/SMP/libnettle_winrt.vcxproj -@@ -18,7 +18,7 @@ - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -131,7 +131,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -245,7 +245,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmpd_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -359,7 +359,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmpd_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -472,7 +472,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -585,7 +585,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -699,7 +699,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -813,7 +813,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -927,7 +927,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -1041,7 +1041,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include diff --git a/ports/nettle/hogweed-x64.def b/ports/nettle/hogweed-x64.def new file mode 100644 index 00000000000000..14a8bcad7ea8ed --- /dev/null +++ b/ports/nettle/hogweed-x64.def @@ -0,0 +1,288 @@ +EXPORTS + _nettle_ecc_curve448_modp + _nettle_ecc_curve25519_modp + _nettle_ecc_secp521r1_modp + _nettle_ecc_secp384r1_modp + _nettle_ecc_secp256r1_redc + _nettle_ecc_secp224r1_modp + _nettle_ecc_secp192r1_modp + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify + _nettle_eddsa_verify_itch + _nettle_eddsa_sign + _nettle_eddsa_sign_itch + _nettle_eddsa_public_key + _nettle_eddsa_public_key_itch + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress + _nettle_eddsa_decompress_itch + _nettle_eddsa_compress + _nettle_eddsa_compress_itch + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_clear + nettle_ecc_scalar_get + nettle_ecc_scalar_init + nettle_ecc_scalar_set + nettle_ecc_point_clear + nettle_ecc_point_get + nettle_ecc_point_init + nettle_ecc_point_set + _nettle_ecc_mod_random + nettle_ecc_scalar_random + _nettle_ecc_hash + _nettle_gost_hash + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _nettle_ecc_add_eh + _nettle_ecc_dup_eh + _nettle_ecc_eh_to_a + _nettle_ecc_add_jjj + _nettle_ecc_add_jja + _nettle_ecc_dup_jj + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_add + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_sub + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_gmp_alloc + _nettle_gmp_alloc_limbs + _nettle_gmp_free + _nettle_gmp_free_limbs + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpz_limbs_cmp + _nettle_mpz_limbs_copy + _nettle_mpz_limbs_read_n + _nettle_mpz_set_n + _nettle_sec_tabselect + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_openssl_private_key_from_der_iterator + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_keypair_from_der + nettle_rsa_private_key_from_der_iterator + nettle_rsa_public_key_from_der_iterator + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_get_bignum + nettle_asn1_der_get_uint32 + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_rsa_keypair_to_openpgp + nettle_pgp_armor + nettle_pgp_crc24 + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_put_length + nettle_pgp_put_mpi + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_string + nettle_pgp_put_sub_packet + nettle_pgp_put_uint16 + nettle_pgp_put_uint32 + nettle_pgp_put_userid + nettle_pgp_sub_packet_end + nettle_pgp_sub_packet_start + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_private_key_clear + nettle_dsa_private_key_init + nettle_dsa_public_key_clear + nettle_dsa_public_key_init + nettle_dsa_params_clear + nettle_dsa_params_init + nettle_dsa_signature_clear + nettle_dsa_signature_init + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_verify + _nettle_rsa_verify_recover + _nettle_rsa_sec_compute_root_tr + nettle_rsa_compute_root_tr + nettle_rsa_compute_root + nettle_rsa_private_key_clear + nettle_rsa_private_key_init + nettle_rsa_private_key_prepare + _nettle_rsa_check_size + nettle_rsa_public_key_clear + nettle_rsa_public_key_init + nettle_rsa_public_key_prepare + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + _nettle_generate_pocklington_prime + nettle_random_prime + nettle_mpz_random + nettle_mpz_random_size + nettle_mpz_get_str_256 + nettle_mpz_init_set_str_256_s + nettle_mpz_init_set_str_256_u + nettle_mpz_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_assoc + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_first + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_next + nettle_sexp_iterator_subexpr diff --git a/ports/nettle/hogweed-x86.def b/ports/nettle/hogweed-x86.def new file mode 100644 index 00000000000000..8824a537c841bb --- /dev/null +++ b/ports/nettle/hogweed-x86.def @@ -0,0 +1,281 @@ +EXPORTS + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify + _nettle_eddsa_verify_itch + _nettle_eddsa_sign + _nettle_eddsa_sign_itch + _nettle_eddsa_public_key + _nettle_eddsa_public_key_itch + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress + _nettle_eddsa_decompress_itch + _nettle_eddsa_compress + _nettle_eddsa_compress_itch + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_clear + nettle_ecc_scalar_get + nettle_ecc_scalar_init + nettle_ecc_scalar_set + nettle_ecc_point_clear + nettle_ecc_point_get + nettle_ecc_point_init + nettle_ecc_point_set + _nettle_ecc_mod_random + nettle_ecc_scalar_random + _nettle_ecc_hash + _nettle_gost_hash + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _nettle_ecc_add_eh + _nettle_ecc_dup_eh + _nettle_ecc_eh_to_a + _nettle_ecc_add_jjj + _nettle_ecc_add_jja + _nettle_ecc_dup_jj + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_add + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_sub + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_gmp_alloc + _nettle_gmp_alloc_limbs + _nettle_gmp_free + _nettle_gmp_free_limbs + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpz_limbs_cmp + _nettle_mpz_limbs_copy + _nettle_mpz_limbs_read_n + _nettle_mpz_set_n + _nettle_sec_tabselect + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_openssl_private_key_from_der_iterator + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_keypair_from_der + nettle_rsa_private_key_from_der_iterator + nettle_rsa_public_key_from_der_iterator + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_get_bignum + nettle_asn1_der_get_uint32 + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_rsa_keypair_to_openpgp + nettle_pgp_armor + nettle_pgp_crc24 + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_put_length + nettle_pgp_put_mpi + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_string + nettle_pgp_put_sub_packet + nettle_pgp_put_uint16 + nettle_pgp_put_uint32 + nettle_pgp_put_userid + nettle_pgp_sub_packet_end + nettle_pgp_sub_packet_start + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_private_key_clear + nettle_dsa_private_key_init + nettle_dsa_public_key_clear + nettle_dsa_public_key_init + nettle_dsa_params_clear + nettle_dsa_params_init + nettle_dsa_signature_clear + nettle_dsa_signature_init + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_verify + _nettle_rsa_verify_recover + _nettle_rsa_sec_compute_root_tr + nettle_rsa_compute_root_tr + nettle_rsa_compute_root + nettle_rsa_private_key_clear + nettle_rsa_private_key_init + nettle_rsa_private_key_prepare + _nettle_rsa_check_size + nettle_rsa_public_key_clear + nettle_rsa_public_key_init + nettle_rsa_public_key_prepare + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + _nettle_generate_pocklington_prime + nettle_random_prime + nettle_mpz_random + nettle_mpz_random_size + nettle_mpz_get_str_256 + nettle_mpz_init_set_str_256_s + nettle_mpz_init_set_str_256_u + nettle_mpz_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_assoc + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_first + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_next + nettle_sexp_iterator_subexpr diff --git a/ports/nettle/libname-windows.patch b/ports/nettle/libname-windows.patch new file mode 100644 index 00000000000000..6a4e38cf4b4194 --- /dev/null +++ b/ports/nettle/libname-windows.patch @@ -0,0 +1,67 @@ +diff --git a/Makefile.in b/Makefile.in +index b65ff4960..3887d0c8f 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -27,7 +27,7 @@ PRE_CPPFLAGS = -I. + EXTRA_CFLAGS = $(CCPIC) + + # FIXME: Add configuration of LIBEXT? +-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a ++LIBTARGETS = @IF_STATIC@ $(LIBNETTLE_FILE) @IF_HOGWEED@ $(LIBHOGWEED_FILE) + SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK) + + getopt_SOURCES = getopt.c getopt1.c +@@ -277,13 +277,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ + hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \ + $(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT) + +-libnettle.a: $(nettle_OBJS) ++$(LIBNETTLE_FILE): $(nettle_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(nettle_OBJS) + $(RANLIB) $@ + echo nettle > libnettle.stamp + +-libhogweed.a: $(hogweed_OBJS) ++$(LIBHOGWEED_FILE): $(hogweed_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) + $(RANLIB) $@ +diff --git a/configure.ac b/configure.ac +index e95f1c825..1d7ef36bb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -662,8 +665,8 @@ case "$host_os" in + # linking to the DLL, is installed into the lib dir. + case "$host_os" in + mingw32*) +- LIBNETTLE_FORLINK='libnettle-$(LIBNETTLE_MAJOR).dll' +- LIBHOGWEED_FORLINK='libhogweed-$(LIBHOGWEED_MAJOR).dll' ++ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll' ++ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll' + ;; + cygwin*) + LIBNETTLE_FORLINK='cygnettle-$(LIBNETTLE_MAJOR).dll' +@@ -684,16 +687,16 @@ case "$host_os" in + W64_ABI=yes + fi + LIBNETTLE_SONAME='' +- LIBNETTLE_FILE='libnettle.dll.a' ++ LIBNETTLE_FILE='nettle.lib' + LIBNETTLE_FILE_SRC='$(LIBNETTLE_FILE)' +- LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBNETTLE_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' ++ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:nettle.def' +- LIBNETTLE_LIBS='-Wl,--no-whole-archive $(LIBS)' ++ LIBNETTLE_LIBS='$(LIBS)' + + LIBHOGWEED_SONAME='' +- LIBHOGWEED_FILE='libhogweed.dll.a' ++ LIBHOGWEED_FILE='hogweed.lib' + LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FILE)' +- LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBHOGWEED_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' ++ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:hogweed.def' +- LIBHOGWEED_LIBS='-Wl,--no-whole-archive $(LIBS) libnettle.dll.a' ++ LIBHOGWEED_LIBS='$(LIBS) $(LIBNETTLE_FILE)' + IF_DLL='' + ;; + darwin*) diff --git a/ports/nettle/name.dir.patch b/ports/nettle/name.dir.patch deleted file mode 100644 index ff1ce206afd115..00000000000000 --- a/ports/nettle/name.dir.patch +++ /dev/null @@ -1,381 +0,0 @@ -diff --git a/SMP/libhogweed.vcxproj b/SMP/libhogweed.vcxproj -index 976d9fc..5fd42ba 100644 ---- a/SMP/libhogweed.vcxproj -+++ b/SMP/libhogweed.vcxproj -@@ -18,7 +18,7 @@ - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -132,7 +132,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -476,7 +476,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -590,7 +590,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -820,7 +820,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -1050,7 +1050,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/libhogweed_winrt.vcxproj b/SMP/libhogweed_winrt.vcxproj -index 308bd0b..a436c69 100644 ---- a/SMP/libhogweed_winrt.vcxproj -+++ b/SMP/libhogweed_winrt.vcxproj -@@ -18,7 +18,7 @@ - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled_winrt.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -132,7 +132,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled_winrt.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -247,7 +247,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettled.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -362,7 +362,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettled.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -476,7 +476,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -590,7 +590,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -705,7 +705,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettle.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -820,7 +820,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -935,7 +935,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettle.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -1050,7 +1050,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/smp_deps.props b/SMP/smp_deps.props -index 487099d..1eade47 100644 ---- a/SMP/smp_deps.props -+++ b/SMP/smp_deps.props -@@ -104,16 +104,16 @@ - - - -- lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -121,7 +121,7 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -129,23 +129,23 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -153,7 +153,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -161,7 +161,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -169,7 +169,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -177,7 +177,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/SMP/smp_winrt_deps.props b/SMP/smp_winrt_deps.props -index d44408a..b44482c 100644 ---- a/SMP/smp_winrt_deps.props -+++ b/SMP/smp_winrt_deps.props -@@ -115,80 +115,80 @@ - - - -- lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/hogweed.pc.in b/hogweed.pc.in -index 97fb9d4..ce977c0 100644 ---- a/hogweed.pc.in -+++ b/hogweed.pc.in -@@ -13,7 +13,7 @@ URL: http://www.lysator.liu.se/~nisse/nettle - Version: @PACKAGE_VERSION@ - Requires: @IF_NOT_SHARED@ nettle - Requires.private: @IF_SHARED@ nettle --Libs: -L${libdir} -lhogweed @IF_NOT_SHARED@ @LIBS@ -+Libs: -L${libdir} @HOGWEED@ @IF_NOT_SHARED@ @LIBS@ - Libs.private: @IF_SHARED@ @LIBS@ - Cflags: -I${includedir} - -diff --git a/nettle.pc.in b/nettle.pc.in -index eb0020c..6e3ed1e 100644 ---- a/nettle.pc.in -+++ b/nettle.pc.in -@@ -7,5 +7,6 @@ Name: Nettle - Description: Nettle low-level cryptographic library (symmetric algorithms) - URL: http://www.lysator.liu.se/~nisse/nettle - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -lnettle -+Requires.private: gmp -+Libs: -L${libdir} @LIBS@ - Cflags: -I${includedir} diff --git a/ports/nettle/nettle-x64.def b/ports/nettle/nettle-x64.def new file mode 100644 index 00000000000000..e202f46fb5fc57 --- /dev/null +++ b/ports/nettle/nettle-x64.def @@ -0,0 +1,509 @@ +EXPORTS + _nettle_sha256_compress_sha_ni + _nettle_sha1_compress_sha_ni + _nettle_salsa20_2core + _nettle_memxor_sse2 + _nettle_aes_decrypt_aesni + _nettle_aes_encrypt_aesni + _nettle_cpuid + _nettle_gcm_hash8 + _nettle_aes_decrypt + _nettle_aes_encrypt + _nettle_sha256_compress + nettle_memxor + nettle_sha1_compress + nettle_xts_aes256_decrypt_message + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes128_decrypt_message + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_set_encrypt_key + nettle_xts_decrypt_message + nettle_xts_encrypt_message + nettle_yarrow_key_event_estimate + nettle_yarrow_key_event_init + nettle_yarrow256_fast_reseed + nettle_yarrow256_init + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_random + nettle_yarrow256_seed + nettle_yarrow256_slow_reseed + nettle_yarrow256_update + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_digest + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac96_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac64_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac32_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3 + _nettle_umac_l3_init + _nettle_umac_l2 + _nettle_umac_l2_final + _nettle_umac_l2_init + _nettle_umac_nh_n + _nettle_umac_nh + nettle_twofish128 + nettle_twofish192 + nettle_twofish256 + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_decrypt + nettle_twofish_encrypt + nettle_twofish_set_key + nettle_streebog256 + nettle_streebog512 + nettle_streebog256_digest + nettle_streebog256_init + nettle_streebog512_digest + nettle_streebog512_init + nettle_streebog512_update + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_serpent_set_key + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_digest + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_384 + nettle_sha3_384_digest + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_256 + nettle_sha3_256_digest + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_224 + nettle_sha3_224_digest + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_permute + _nettle_sha3_pad + _nettle_sha3_update + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha384_digest + nettle_sha384_init + nettle_sha512_224_digest + nettle_sha512_224_init + nettle_sha512_256_digest + nettle_sha512_256_init + nettle_sha512_digest + nettle_sha512_init + nettle_sha512_update + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress_x86_64 + nettle_sha224_digest + nettle_sha224_init + nettle_sha256_digest + nettle_sha256_init + nettle_sha256_update + nettle_sha1 + _nettle_sha1_compress_x86_64 + nettle_sha1_digest + nettle_sha1_init + nettle_sha1_update + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_digest + nettle_ripemd160_init + nettle_ripemd160_update + nettle_realloc + nettle_xrealloc + _nettle_poly1305_block + _nettle_poly1305_digest + _nettle_poly1305_set_key + nettle_poly1305_aes_digest + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + nettle_pbkdf2_hmac_sha1 + nettle_pbkdf2_hmac_gosthash94cp + nettle_pbkdf2 + _nettle_macs + nettle_get_macs + _nettle_hashes + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + _nettle_memxor_x86_64 + nettle_memeql_sec + nettle_md5 + nettle_MD5Final + nettle_MD5Init + nettle_MD5Update + nettle_md5_compress + nettle_md5_digest + nettle_md5_init + nettle_md5_update + nettle_md4 + nettle_md4_digest + nettle_md4_init + nettle_md4_update + nettle_md2 + nettle_md2_digest + nettle_md2_init + nettle_md2_update + nettle_hkdf_expand + nettle_hkdf_extract + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_init + nettle_knuth_lfib_random + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_streebog256_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog512_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_sha512_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha384_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha256_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha224_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha1_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_ripemd160_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_md5_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_digest + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94cp_digest + nettle_gosthash94cp_update + _nettle_gost28147_encrypt_block + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_param_test_3411 + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_digest + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_aes256_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes128_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac64_digest + nettle_cmac64_init + nettle_cmac64_set_key + nettle_cmac64_update + nettle_cmac128_digest + nettle_cmac128_init + nettle_cmac128_set_key + nettle_cmac128_update + nettle_gcm_camellia256 + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_update + nettle_gcm_camellia128 + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_update + nettle_gcm_aes256 + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes192 + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes128 + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_aes_encrypt + nettle_gcm_aes_set_iv + nettle_gcm_aes_set_key + nettle_gcm_aes_update + nettle_gcm_decrypt + nettle_gcm_digest + nettle_gcm_encrypt + nettle_gcm_set_iv + nettle_gcm_set_key + nettle_gcm_update + nettle_eax_aes128 + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_aes128_encrypt + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_decrypt + nettle_eax_digest + nettle_eax_encrypt + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_des3_decrypt + nettle_des3_encrypt + nettle_des3_set_key + nettle_des_check_parity + nettle_des_decrypt + nettle_des_encrypt + nettle_des_fix_parity + nettle_des_set_key + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + _nettle_chacha_core + nettle_chacha_crypt + nettle_chacha_crypt32 + nettle_cnd_memcpy + nettle_siv_cmac_aes256_decrypt_message + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_set_key + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_decrypt_message + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_set_key + nettle_cfb8_decrypt + nettle_cfb8_encrypt + nettle_cfb_decrypt + nettle_cfb_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_decrypt_message + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_decrypt + nettle_ccm_decrypt_message + nettle_ccm_digest + nettle_ccm_encrypt + nettle_ccm_encrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_cbc_decrypt + nettle_cbc_encrypt + nettle_cast128 + nettle_cast128_decrypt + nettle_cast128_encrypt + nettle_cast128_set_key + nettle_cast5_set_key + nettle_camellia256 + nettle_camellia192_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia256_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia192_set_encrypt_key + nettle_camellia256_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia128_invert_key + nettle_camellia_set_decrypt_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_clear + nettle_buffer_copy + nettle_buffer_grow + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_reset + nettle_buffer_space + nettle_buffer_write + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_final + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_encode_final + nettle_base64_encode_group + nettle_base64_encode_init + nettle_base64_encode_raw + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base16 + nettle_base16_decode_final + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + nettle_base16_encode_single + nettle_base16_encode_update + nettle_blowfish_bcrypt_hash + nettle_blowfish_bcrypt_verify + _nettle_blowfish_encround + _nettle_blowfish_initial_ctx + nettle_blowfish128_set_key + nettle_blowfish_decrypt + nettle_blowfish_encrypt + nettle_blowfish_set_key + nettle_arctwo128 + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo_gutmann128 + nettle_arctwo128_set_key + nettle_arctwo128_set_key_gutmann + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo_decrypt + nettle_arctwo_encrypt + nettle_arctwo_set_key + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key_gutmann + nettle_arcfour_crypt + nettle_arcfour128_set_key + nettle_arcfour_set_key + nettle_aes256 + nettle_aes256_invert_key + nettle_aes256_set_decrypt_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_invert_key + nettle_aes192_set_decrypt_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_invert_key + nettle_aes128_set_decrypt_key + nettle_aes128_set_encrypt_key + nettle_aes_invert_key + nettle_aes_set_decrypt_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + _nettle_aes_encrypt_table + nettle_aes128_encrypt + nettle_aes192_encrypt + nettle_aes256_encrypt + nettle_aes_encrypt + _nettle_aes_encrypt_x86_64 + nettle_aes128_decrypt + nettle_aes192_decrypt + nettle_aes256_decrypt + nettle_aes_decrypt + _nettle_aes_decrypt_x86_64 diff --git a/ports/nettle/nettle-x86.def b/ports/nettle/nettle-x86.def new file mode 100644 index 00000000000000..213449531518ce --- /dev/null +++ b/ports/nettle/nettle-x86.def @@ -0,0 +1,496 @@ +EXPORTS + nettle_xts_aes256_decrypt_message + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes128_decrypt_message + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_set_encrypt_key + nettle_xts_decrypt_message + nettle_xts_encrypt_message + nettle_yarrow_key_event_estimate + nettle_yarrow_key_event_init + nettle_yarrow256_fast_reseed + nettle_yarrow256_init + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_random + nettle_yarrow256_seed + nettle_yarrow256_slow_reseed + nettle_yarrow256_update + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_digest + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac96_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac64_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac32_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3 + _nettle_umac_l3_init + _nettle_umac_l2 + _nettle_umac_l2_final + _nettle_umac_l2_init + _nettle_umac_nh_n + _nettle_umac_nh + nettle_twofish128 + nettle_twofish192 + nettle_twofish256 + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_decrypt + nettle_twofish_encrypt + nettle_twofish_set_key + nettle_streebog256 + nettle_streebog512 + nettle_streebog256_digest + nettle_streebog256_init + nettle_streebog512_digest + nettle_streebog512_init + nettle_streebog512_update + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_serpent_set_key + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_digest + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_384 + nettle_sha3_384_digest + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_256 + nettle_sha3_256_digest + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_224 + nettle_sha3_224_digest + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_permute + _nettle_sha3_pad + _nettle_sha3_update + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha384_digest + nettle_sha384_init + nettle_sha512_224_digest + nettle_sha512_224_init + nettle_sha512_256_digest + nettle_sha512_256_init + nettle_sha512_digest + nettle_sha512_init + nettle_sha512_update + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress + nettle_sha224_digest + nettle_sha224_init + nettle_sha256_digest + nettle_sha256_init + nettle_sha256_update + nettle_sha1 + nettle_sha1_compress + nettle_sha1_digest + nettle_sha1_init + nettle_sha1_update + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_digest + nettle_ripemd160_init + nettle_ripemd160_update + nettle_realloc + nettle_xrealloc + _nettle_poly1305_block + _nettle_poly1305_digest + _nettle_poly1305_set_key + nettle_poly1305_aes_digest + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + nettle_pbkdf2_hmac_sha1 + nettle_pbkdf2_hmac_gosthash94cp + nettle_pbkdf2 + _nettle_macs + nettle_get_macs + _nettle_hashes + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + nettle_memxor + nettle_memeql_sec + nettle_md5 + nettle_MD5Final + nettle_MD5Init + nettle_MD5Update + nettle_md5_compress + nettle_md5_digest + nettle_md5_init + nettle_md5_update + nettle_md4 + nettle_md4_digest + nettle_md4_init + nettle_md4_update + nettle_md2 + nettle_md2_digest + nettle_md2_init + nettle_md2_update + nettle_hkdf_expand + nettle_hkdf_extract + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_init + nettle_knuth_lfib_random + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_streebog256_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog512_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_sha512_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha384_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha256_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha224_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha1_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_ripemd160_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_md5_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_digest + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94cp_digest + nettle_gosthash94cp_update + _nettle_gost28147_encrypt_block + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_param_test_3411 + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_digest + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_aes256_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes128_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac64_digest + nettle_cmac64_init + nettle_cmac64_set_key + nettle_cmac64_update + nettle_cmac128_digest + nettle_cmac128_init + nettle_cmac128_set_key + nettle_cmac128_update + nettle_gcm_camellia256 + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_update + nettle_gcm_camellia128 + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_update + nettle_gcm_aes256 + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes192 + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes128 + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_aes_encrypt + nettle_gcm_aes_set_iv + nettle_gcm_aes_set_key + nettle_gcm_aes_update + nettle_gcm_decrypt + nettle_gcm_digest + nettle_gcm_encrypt + nettle_gcm_set_iv + nettle_gcm_set_key + nettle_gcm_update + nettle_eax_aes128 + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_aes128_encrypt + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_decrypt + nettle_eax_digest + nettle_eax_encrypt + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_des3_decrypt + nettle_des3_encrypt + nettle_des3_set_key + nettle_des_check_parity + nettle_des_decrypt + nettle_des_encrypt + nettle_des_fix_parity + nettle_des_set_key + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + _nettle_chacha_core + nettle_chacha_crypt + nettle_chacha_crypt32 + nettle_cnd_memcpy + nettle_siv_cmac_aes256_decrypt_message + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_set_key + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_decrypt_message + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_set_key + nettle_cfb8_decrypt + nettle_cfb8_encrypt + nettle_cfb_decrypt + nettle_cfb_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_decrypt_message + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_decrypt + nettle_ccm_decrypt_message + nettle_ccm_digest + nettle_ccm_encrypt + nettle_ccm_encrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_cbc_decrypt + nettle_cbc_encrypt + nettle_cast128 + nettle_cast128_decrypt + nettle_cast128_encrypt + nettle_cast128_set_key + nettle_cast5_set_key + nettle_camellia256 + nettle_camellia192_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia256_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia192_set_encrypt_key + nettle_camellia256_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia128_invert_key + nettle_camellia_set_decrypt_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_clear + nettle_buffer_copy + nettle_buffer_grow + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_reset + nettle_buffer_space + nettle_buffer_write + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_final + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_encode_final + nettle_base64_encode_group + nettle_base64_encode_init + nettle_base64_encode_raw + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base16 + nettle_base16_decode_final + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + nettle_base16_encode_single + nettle_base16_encode_update + nettle_blowfish_bcrypt_hash + nettle_blowfish_bcrypt_verify + _nettle_blowfish_encround + _nettle_blowfish_initial_ctx + nettle_blowfish128_set_key + nettle_blowfish_decrypt + nettle_blowfish_encrypt + nettle_blowfish_set_key + nettle_arctwo128 + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo_gutmann128 + nettle_arctwo128_set_key + nettle_arctwo128_set_key_gutmann + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo_decrypt + nettle_arctwo_encrypt + nettle_arctwo_set_key + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key_gutmann + nettle_arcfour_crypt + nettle_arcfour128_set_key + nettle_arcfour_set_key + nettle_aes256 + nettle_aes256_invert_key + nettle_aes256_set_decrypt_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_invert_key + nettle_aes192_set_decrypt_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_invert_key + nettle_aes128_set_decrypt_key + nettle_aes128_set_encrypt_key + nettle_aes_invert_key + nettle_aes_set_decrypt_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + _nettle_aes_encrypt_table + nettle_aes128_encrypt + nettle_aes192_encrypt + nettle_aes256_encrypt + nettle_aes_encrypt + _nettle_aes_encrypt + nettle_aes128_decrypt + nettle_aes192_decrypt + nettle_aes256_decrypt + nettle_aes_decrypt + _nettle_aes_decrypt diff --git a/ports/nettle/portfile.cmake b/ports/nettle/portfile.cmake index 5f0fba4f24163d..329cbddc13b5b6 100644 --- a/ports/nettle/portfile.cmake +++ b/ports/nettle/portfile.cmake @@ -1,137 +1,116 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ShiftMediaProject/nettle - REF bf483378326c67d634977287dd576279734b7acc #v3.6 - SHA512 ba125a27c81a800be8bc8d1b0d4f3125587330ef64d8a605b4d3ae211fb675c5ef89e9bf4bcf63b07d0f004c6c5ff851630690cdd1eda6b5b8a526d84edffe73 - HEAD_REF master - PATCHES - gmp.patch - name.dir.patch - runtime.patch - remove_gmpd.patch +vcpkg_list(SET patches) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_list(SET patches + yasm.patch # the asm changes are a downgrade to an older version + compile.patch + libname-windows.patch # Apply common libtool rules for lib naming. ) +endif() - include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) - yasm_tool_helper(OUT_VAR YASM) - file(TO_NATIVE_PATH "${YASM}" YASM) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(CONFIGURATION_RELEASE ReleaseDLL) - set(CONFIGURATION_DEBUG DebugDLL) - else() - set(CONFIGURATION_RELEASE Release) - set(CONFIGURATION_DEBUG Debug) - endif() +vcpkg_from_gitlab( + GITLAB_URL https://git.lysator.liu.se/ + OUT_SOURCE_PATH SOURCE_PATH + REPO nettle/nettle + REF 52bacacaf4339fd78289f58919732f1f35bea1c1 #v3.7.3 + SHA512 0130d14195274eeec11e8299793e3037f4b84d8fb4b5c5c9392b63ee693ed5713434070744b1a44e14a6a5090d655917c1dd296e2011cd99e3c316ef5d8ee395 + HEAD_REF master + PATCHES + fix-InstallLibPath.patch + flags.patch + ${patches} +) - if(VCPKG_TARGET_IS_UWP) - string(APPEND CONFIGURATION_RELEASE WinRT) - string(APPEND CONFIGURATION_DEBUG WinRT) - endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_list(SET OPTIONS --disable-static) +else() + vcpkg_list(SET OPTIONS --disable-shared) +endif() - #Setup YASM integration - set(_nettleproject) - set(_hogweedproject) - if(VCPKG_TARGET_IS_UWP) - set(_nettleproject "${SOURCE_PATH}/SMP/libnettle_winrt.vcxproj") - set(_hogweedproject "${SOURCE_PATH}/SMP/libhogweed_winrt.vcxproj") - else() - set(_nettleproject "${SOURCE_PATH}/SMP/libnettle.vcxproj") - set(_hogweedproject "${SOURCE_PATH}/SMP/libhogweed.vcxproj") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(ENV{CCAS} "${CURRENT_HOST_INSTALLED_DIR}/tools/yasm/yasm${VCPKG_HOST_EXECUTABLE_SUFFIX}") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(asmflag win64) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(asmflag win32) endif() + set(ENV{ASMFLAGS} "-Xvc -f ${asmflag} -pgas -rraw") + vcpkg_list(APPEND OPTIONS + ac_cv_func_memset=yes + nettle_cv_asm_type_percent_function=no + nettle_cv_asm_align_log=no + ) +endif() - file(READ "${_nettleproject}" _contents) - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_INSTALLED_DIR}/share" _contents "${_contents}") # Above already - file(WRITE "${_nettleproject}" "${_contents}") +if(VCPKG_CROSSCOMPILING) + # Silly trick to make configure accept CC_FOR_BUILD but in reallity CC_FOR_BUILD is deactivated. + set(ENV{CC_FOR_BUILD} "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") +endif() - file(READ "${_hogweedproject}" _contents) - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_INSTALLED_DIR}/share" _contents "${_contents}") # Above already - file(WRITE "${_hogweedproject}" "${_contents}") +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS + --disable-documentation + --disable-openssl + ${OPTIONS} +) - vcpkg_install_msbuild( - USE_VCPKG_INTEGRATION - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH SMP/libnettle.sln - PLATFORM ${TRIPLET_SYSTEM_ARCH} - LICENSE_SUBPATH COPYING.LESSERv3 - TARGET Rebuild - RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} - DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} - SKIP_CLEAN - OPTIONS "/p:YasmPath=${YASM}" - ) +set(tool_names des ecc) # aes gcm sha twofish? +list(TRANSFORM tool_names APPEND "data") +list(TRANSFORM tool_names APPEND "${VCPKG_HOST_EXECUTABLE_SUFFIX}") - get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) - file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" "${CURRENT_PACKAGES_DIR}/include") - set(PACKAGE_VERSION 3.6) - set(prefix "${CURRENT_INSTALLED_DIR}") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/include") - set(LIBS "-lnettle -lgmp") - configure_file("${SOURCE_PATH}/nettle.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/nettle.pc" @ONLY) - set(HOGWEED -lhogweed) - set(LIBS -lnettle) - configure_file("${SOURCE_PATH}/hogweed.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libhogweed.pc" @ONLY) - set(prefix "${CURRENT_INSTALLED_DIR}/debug") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/../include") - set(LIBS "-lnettled -lgmp") - configure_file("${SOURCE_PATH}/nettle.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/nettle.pc" @ONLY) - set(LIBS -lnettled) - set(HOGWEED -lhogweedd) - configure_file("${SOURCE_PATH}/hogweed.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libhogweed.pc" @ONLY) - vcpkg_fixup_pkgconfig() -else() - vcpkg_from_gitlab( - GITLAB_URL https://git.lysator.liu.se/ - OUT_SOURCE_PATH SOURCE_PATH - REPO nettle/nettle - REF 9e2bea82b9fb606bffd2d3f648e05248e146e54f #v3.6 - SHA512 008089eba2ef197a0ec6a266baac485e72051e646d19861f3fb605915a591bc2dd38edcb4ea7eaad958ea5d56f7744d42c25b691b49921a1285edd22f9c90b7f - HEAD_REF master - PATCHES - fix-InstallLibPath.patch - flags.patch - ) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPTIONS --disable-static) - else() - set(OPTIONS --disable-shared) +if(VCPKG_CROSSCOMPILING) + list(TRANSFORM tool_names PREPEND "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/") + file(COPY ${tool_names} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + if(NOT VCPKG_BUILD_TYPE) + file(COPY ${tool_names} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/") + endif() +endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # def files are created by running 'llvm-nm | findstr /R /C:"[RT] _*nettle_"' on the static build and replacing '00[0-9abcdef]+ [RT]' with spaces + # please update the defs if the version is bumped + set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + configure_file( + "${CURRENT_PORT_DIR}/nettle-${VCPKG_TARGET_ARCHITECTURE}.def" + "${build_dir}/nettle.def" + COPYONLY + ) + configure_file( + "${CURRENT_PORT_DIR}/hogweed-${VCPKG_TARGET_ARCHITECTURE}.def" + "${build_dir}/hogweed.def" + COPYONLY + ) + if(NOT VCPKG_BUILD_TYPE) + set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/") + configure_file( + "${CURRENT_PORT_DIR}/nettle-${VCPKG_TARGET_ARCHITECTURE}.def" + "${build_dir}/nettle.def" + COPYONLY + ) + configure_file("${CURRENT_PORT_DIR}/hogweed-${VCPKG_TARGET_ARCHITECTURE}.def" + "${build_dir}/hogweed.def" + COPYONLY + ) + endif() endif() +endif() +vcpkg_install_make() - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - --disable-documentation - --disable-openssl - ${OPTIONS} - ) +if(NOT VCPKG_CROSSCOMPILING) + list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + file(COPY ${tool_names} DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() - vcpkg_install_make() - vcpkg_fixup_pkgconfig() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - # # Handle copyright - file(INSTALL "${SOURCE_PATH}/COPYINGv3" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYINGv3" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_IS_LINUX) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_IS_LINUX) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() diff --git a/ports/nettle/runtime.patch b/ports/nettle/runtime.patch deleted file mode 100644 index 3c232d882a7e06..00000000000000 --- a/ports/nettle/runtime.patch +++ /dev/null @@ -1,168 +0,0 @@ -diff --git a/SMP/smp_deps.props b/SMP/smp_deps.props -index 1eade47..ab279f4 100644 ---- a/SMP/smp_deps.props -+++ b/SMP/smp_deps.props -@@ -193,6 +193,7 @@ - $(OutDir)\lib\x86\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -211,6 +212,7 @@ - $(OutDir)\lib\x64\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -230,6 +232,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x86\$(TargetName)$(TargetExt) -@@ -253,6 +256,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x64\$(TargetName)$(TargetExt) -@@ -282,6 +286,7 @@ - SingleFile - $(OutDir)\lib\x86\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -307,6 +312,7 @@ - SingleFile - $(OutDir)\lib\x64\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -331,6 +337,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -362,6 +369,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -392,6 +400,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -423,6 +432,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -diff --git a/SMP/smp_winrt_deps.props b/SMP/smp_winrt_deps.props -index b44482c..35ae231 100644 ---- a/SMP/smp_winrt_deps.props -+++ b/SMP/smp_winrt_deps.props -@@ -206,6 +206,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -226,6 +227,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -247,6 +249,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x86\$(TargetName)$(TargetExt) -@@ -274,6 +277,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x64\$(TargetName)$(TargetExt) -@@ -307,6 +311,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -335,6 +340,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -361,6 +367,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -396,6 +403,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -430,6 +438,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -465,6 +474,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true diff --git a/ports/nettle/vcpkg.json b/ports/nettle/vcpkg.json index 87833d1211cc79..e9f7830bdb5941 100644 --- a/ports/nettle/vcpkg.json +++ b/ports/nettle/vcpkg.json @@ -1,17 +1,21 @@ { "name": "nettle", - "version": "3.6", - "port-version": 2, + "version": "3.7.3", "description": "Nettle is a low-level cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.", "homepage": "https://git.lysator.liu.se/nettle/nettle", + "license": null, "dependencies": [ "gmp", { - "name": "vs-yasm", - "platform": "windows" + "name": "nettle", + "host": true }, { - "name": "yasm-tool-helper", + "name": "yasm", + "host": true, + "features": [ + "tools" + ], "platform": "windows" } ] diff --git a/ports/nettle/yasm.patch b/ports/nettle/yasm.patch new file mode 100644 index 00000000000000..4fa449f32f4220 --- /dev/null +++ b/ports/nettle/yasm.patch @@ -0,0 +1,96 @@ +diff --git a/Makefile.in b/Makefile.in +index b65ff4960..3887d0c8f 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -291,7 +291,7 @@ libhogweed.a: $(hogweed_OBJS) + + %.$(OBJEXT): %.asm $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 + $(M4) $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $< >$*.s +- $(COMPILE) -c $*.s ++ $(COMPILE_AS) -o $*.$(OBJEXT) $*.s + + %.$(OBJEXT): %.c + $(COMPILE) -c $< \ +diff --git a/config.make.in b/config.make.in +index f8e1f74ef..3ae593385 100644 +--- a/config.make.in ++++ b/config.make.in +@@ -73,6 +73,7 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib + # flags before CPPFLAGS and LDFLAGS. While EXTRA_CFLAGS are added at the end. + + COMPILE = $(CC) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(DEP_FLAGS) ++COMPILE_AS = $(CCAS) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(ASMFLAGS) $(DEP_FLAGS) + COMPILE_CXX = $(CXX) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DEP_FLAGS) + LINK = $(CC) $(CFLAGS) $(PRE_LDFLAGS) $(LDFLAGS) + LINK_CXX = $(CXX) $(CXXFLAGS) $(PRE_LDFLAGS) $(LDFLAGS) +diff --git a/configure.ac b/configure.ac +index e95f1c825..1d7ef36bb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -118,6 +118,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ + + # Checks for programs. + AC_PROG_CC ++# Copied from gmp ++test -n "$CCAS" || CCAS="$CC -c" ++AC_SUBST(CCAS) + + NETTLE_CHECK_IFUNC + +@@ -302,7 +305,7 @@ ABI=standard + case "$host_cpu" in + [x86_64 | amd64]) + AC_TRY_COMPILE([ +-#if defined(__x86_64__) || defined(__arch64__) ++#if defined(__x86_64__) || defined(__arch64__) || defined(_M_AMD64) + #error 64-bit x86 + #endif + ], [], [ +diff --git a/x86_64/aes.m4 b/x86_64/aes.m4 +index 3bec9eae2..85cafc046 100644 +--- a/x86_64/aes.m4 ++++ b/x86_64/aes.m4 +@@ -77,9 +77,9 @@ define(`AES_STORE', ` + dnl AES_ROUND(table,a,b,c,d,out,ptr) + dnl Computes one word of the AES round. Leaves result in $6. + define(`AES_ROUND', ` +- movzb LREG($2), $7 ++ movzbq LREG($2), $7 + movl AES_TABLE0 ($1, $7, 4),$6 +- movzb HREG($3), XREG($7) ++ movzbq HREG($3), XREG($7) + xorl AES_TABLE1 ($1, $7, 4),$6 + movl $4,XREG($7) + shr `$'16,$7 +@@ -94,7 +94,7 @@ dnl Computes one word of the final round. Leaves result in $6. Also + dnl performs the first substitution step, on the least significant + dnl byte, and rotates 8 bits. + define(`AES_FINAL_ROUND', ` +- movzb LREG($1),$7 ++ movzbq LREG($1),$7 + movzbl ($5, $7), $6 + movl $2,XREG($7) + andl `$'0x0000ff00,XREG($7) +@@ -113,18 +113,18 @@ dnl each of eax, ebx, ecx and edx, and also rotates + dnl the words one byte to the left. + dnl Uses that AES_SBOX == 0 + define(`AES_SUBST_BYTE', ` +- movzb LREG($1),$6 ++ movzbq LREG($1),$6 + movb ($5, $6),LREG($1) + roll `$'8,$1 + +- movzb LREG($2),$6 ++ movzbq LREG($2),$6 + movb ($5, $6),LREG($2) + roll `$'8,$2 + +- movzb LREG($3),$6 ++ movzbq LREG($3),$6 + movb ($5, $6),LREG($3) + roll `$'8,$3 + +- movzb LREG($4),$6 ++ movzbq LREG($4),$6 + movb ($5, $6),LREG($4) + roll `$'8,$4')dnl diff --git a/versions/baseline.json b/versions/baseline.json index b05230c159b1cd..8eb5631554dd57 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4785,8 +4785,8 @@ "port-version": 2 }, "nettle": { - "baseline": "3.6", - "port-version": 2 + "baseline": "3.7.3", + "port-version": 0 }, "networkdirect-sdk": { "baseline": "2.0.1", diff --git a/versions/n-/nettle.json b/versions/n-/nettle.json index 07261c08a58e40..45061924536ceb 100644 --- a/versions/n-/nettle.json +++ b/versions/n-/nettle.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "17fa323aae2ecee658549bd9a8951a2ce6c9880a", + "version": "3.7.3", + "port-version": 0 + }, { "git-tree": "2d7735edc12e985fbe6bae0489a8c01ff18413cd", "version": "3.6",