diff --git a/ports/nettle/ccas.patch b/ports/nettle/ccas.patch index 087081a33bb..703e622f5ab 100644 --- a/ports/nettle/ccas.patch +++ b/ports/nettle/ccas.patch @@ -7,19 +7,33 @@ index d00b565..c465d0b 100644 %.$(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) -c $*.s ++ $(COMPILE_AS) -c $*.s -o $@ %.$(OBJEXT): %.c $(COMPILE) -c $< \ +diff --git a/aclocal.m4 b/aclocal.m4 +index 1d218a0..1ff02c8 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -301,7 +301,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE], + [cat >conftest.s <&AC_FD_CC + ifelse([$2],,:,[$2]) diff --git a/config.make.in b/config.make.in index f8e1f74..4668884 100644 --- a/config.make.in +++ b/config.make.in -@@ -73,6 +73,8 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib +@@ -73,6 +73,9 @@ 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) +CCAS = @CCAS@ ++ASMFLAGS = @ASMFLAGS@ +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) @@ -28,13 +42,32 @@ diff --git a/configure.ac b/configure.ac index 1012718..8db139d 100644 --- a/configure.ac +++ b/configure.ac -@@ -118,6 +118,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ +@@ -134,6 +134,10 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ # Checks for programs. AC_PROG_CC +# Copied from gmp +test -n "$CCAS" || CCAS='$(CC)' +AC_SUBST(CCAS) ++AC_SUBST(ASMFLAGS) NETTLE_CHECK_IFUNC +@@ -321,7 +325,7 @@ W64_ABI=no # For x86_64 windows + 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 + ], [], [ +@@ -374,7 +378,7 @@ case "$host_cpu" in + ;; + aarch64*) + AC_TRY_COMPILE([ +-#if defined(__aarch64__) ++#if defined(__aarch64__) || defined(_M_ARM64) + #error 64-bit arm + #endif + ], [], [ diff --git a/ports/nettle/hogweed-arm.def b/ports/nettle/hogweed-arm.def new file mode 100644 index 00000000000..dd9dccdde81 --- /dev/null +++ b/ports/nettle/hogweed-arm.def @@ -0,0 +1,282 @@ +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_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _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_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_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_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_tabselect + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_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_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + 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_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_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_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + 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_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_assoc diff --git a/ports/nettle/hogweed-arm64.def b/ports/nettle/hogweed-arm64.def new file mode 100644 index 00000000000..dd9dccdde81 --- /dev/null +++ b/ports/nettle/hogweed-arm64.def @@ -0,0 +1,282 @@ +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_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _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_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_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_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_tabselect + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_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_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + 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_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_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_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + 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_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_assoc diff --git a/ports/nettle/install-dll.patch b/ports/nettle/install-dll.patch deleted file mode 100644 index 1d75a8f9c81..00000000000 --- a/ports/nettle/install-dll.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 6e1585b..88c8b05 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -491,8 +491,8 @@ install-static: $(LIBTARGETS) - done - - install-dll-nettle: -- $(MKDIR_P) $(DESTDIR)$(bindir) -- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK) -+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin -+ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK) - - install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle - $(MKDIR_P) $(DESTDIR)$(libdir) -@@ -504,8 +504,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle - && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) - - install-dll-hogweed: -- $(MKDIR_P) $(DESTDIR)$(bindir) -- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK) -+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin -+ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK) - - install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed - $(MKDIR_P) $(DESTDIR)$(libdir) diff --git a/ports/nettle/msvc-support.patch b/ports/nettle/msvc-support.patch new file mode 100644 index 00000000000..0e335897a07 --- /dev/null +++ b/ports/nettle/msvc-support.patch @@ -0,0 +1,85 @@ +diff --git a/Makefile.in b/Makefile.in +index 6e1585b..88c8b05 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -29,8 +29,9 @@ include config.make + PRE_CPPFLAGS = -I. + EXTRA_CFLAGS = $(CCPIC) + +-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a ++LIBTARGETS = @IF_STATIC@ @LIBNETTLE_ARCHIVE@ @IF_HOGWEED@ @LIBHOGWEED_ARCHIVE@ + SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK) ++MSVC_TARGET = @MSVC_TARGET@ + + getopt_SOURCES = getopt.c getopt1.c + getopt_TARGETS = $(getopt_SOURCES:.c=.$(OBJEXT)) +@@ -279,13 +280,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_ARCHIVE@: $(nettle_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(nettle_OBJS) + $(RANLIB) $@ + echo nettle > libnettle.stamp + +-libhogweed.a: $(hogweed_OBJS) ++@LIBHOGWEED_ARCHIVE@: $(hogweed_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) + $(RANLIB) $@ +@@ -491,8 +492,8 @@ install-static: $(LIBTARGETS) + done + + install-dll-nettle: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK) + + install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + $(MKDIR_P) $(DESTDIR)$(libdir) +@@ -504,8 +505,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) + + install-dll-hogweed: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK) + + install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed + $(MKDIR_P) $(DESTDIR)$(libdir) +diff --git a/configure.ac b/configure.ac +index d50d1f5..2464514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -877,6 +877,27 @@ case "$host_os" in + LIBHOGWEED_LIBS='libnettle.so $(LIBS)' + ;; + esac ++AC_ARG_VAR(MSVC_TARGET,[Enable msvc and set target architecture]) ++case "$MSVC_TARGET" in ++x86|x64|arm|arm64) ++ LIBNETTLE_ARCHIVE='nettle.lib' ++ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll' ++ LIBNETTLE_FILE='nettle.lib' ++ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:$(srcdir)/nettle-$(MSVC_TARGET).def' ++ LIBNETTLE_LIBS='$(LIBS)' ++ LIBHOGWEED_FILE='hogweed.lib' ++ LIBHOGWEED_ARCHIVE='hogweed.lib' ++ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll' ++ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:$(srcdir)/hogweed-$(MSVC_TARGET).def' ++ LIBHOGWEED_LIBS='$(LIBNETTLE_FILE) $(LIBS)' ++ ;; ++*) ++ LIBNETTLE_ARCHIVE='libnettle.a' ++ LIBHOGWEED_ARCHIVE='libhogweed.a' ++ ;; ++esac ++AC_SUBST(LIBNETTLE_ARCHIVE) ++AC_SUBST(LIBHOGWEED_ARCHIVE) + + ASM_SYMBOL_PREFIX='' + ASM_ELF_STYLE='no' diff --git a/ports/nettle/nettle-arm.def b/ports/nettle/nettle-arm.def new file mode 100644 index 00000000000..d174e5f694e --- /dev/null +++ b/ports/nettle/nettle-arm.def @@ -0,0 +1,518 @@ +EXPORTS + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _nettle_umac_l2_final + _nettle_umac_nh_n + _nettle_umac_nh + nettle_twofish128 + nettle_twofish192 + nettle_twofish256 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress + nettle_sha256_init + nettle_sha256_update + nettle_sha256_digest + nettle_sha224_init + nettle_sha224_digest + nettle_sha1 + nettle_sha1_compress + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + 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_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_set_key + _nettle_poly1305_digest + _nettle_poly1305_block + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + 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_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + 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_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + nettle_cmac128_init + nettle_cmac128_update + nettle_cmac128_digest + nettle_gcm_camellia256 + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + nettle_gcm_encrypt + nettle_gcm_decrypt + nettle_gcm_digest + _nettle_ghash_update + _nettle_ghash_set_key + nettle_eax_aes128 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + nettle_chacha_crypt + nettle_chacha_crypt32 + nettle_cnd_memcpy + nettle_siv_cmac_aes256_set_key + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_decrypt_message + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_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_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + nettle_base16_decode_final + nettle_base16_encode_single + nettle_base16_encode_update + nettle_blowfish_bcrypt_hash + nettle_blowfish_bcrypt_verify + _nettle_blowfish_initial_ctx + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_crypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + nettle_aes256_encrypt + nettle_aes192_encrypt + nettle_aes128_encrypt + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + nettle_aes256_decrypt + nettle_aes192_decrypt + nettle_aes128_decrypt + _nettle_aes_decrypt_table + nettle_aes_decrypt + _nettle_aes_decrypt diff --git a/ports/nettle/nettle-arm64.def b/ports/nettle/nettle-arm64.def new file mode 100644 index 00000000000..591c1505e67 --- /dev/null +++ b/ports/nettle/nettle-arm64.def @@ -0,0 +1,542 @@ +EXPORTS + _nettle_sha256_compress_arm64 + _nettle_sha1_compress_arm64 + _nettle_ghash_update_arm64 + _nettle_ghash_set_key_arm64 + _nettle_chacha_4core + _nettle_chacha_4core32 + _nettle_chacha_2core + _nettle_chacha_2core32 + _nettle_aes256_decrypt_arm64 + _nettle_aes256_encrypt_arm64 + _nettle_aes192_decrypt_arm64 + _nettle_aes192_encrypt_arm64 + _nettle_aes128_decrypt_arm64 + _nettle_aes128_encrypt_arm64 + nettle_aes128_encrypt + nettle_aes128_decrypt + nettle_aes192_encrypt + nettle_aes192_decrypt + nettle_aes256_encrypt + nettle_aes256_decrypt + _nettle_ghash_set_key + _nettle_ghash_update + nettle_sha1_compress + _nettle_sha256_compress + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _nettle_umac_l2_final + _nettle_umac_nh_n + _nettle_umac_nh + nettle_twofish128 + nettle_twofish192 + nettle_twofish256 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress_c + nettle_sha256_init + nettle_sha256_update + nettle_sha256_digest + nettle_sha224_init + nettle_sha224_digest + nettle_sha1 + _nettle_sha1_compress_c + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + 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_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_set_key + _nettle_poly1305_digest + _nettle_poly1305_block + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + 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_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + 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_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + nettle_cmac128_init + nettle_cmac128_update + nettle_cmac128_digest + nettle_gcm_camellia256 + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + nettle_gcm_encrypt + nettle_gcm_decrypt + nettle_gcm_digest + _nettle_ghash_update_c + _nettle_ghash_set_key_c + nettle_eax_aes128 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + nettle_chacha_crypt + nettle_chacha_crypt32 + nettle_cnd_memcpy + nettle_siv_cmac_aes256_set_key + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_decrypt_message + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_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_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + nettle_base16_decode_final + nettle_base16_encode_single + nettle_base16_encode_update + nettle_blowfish_bcrypt_hash + nettle_blowfish_bcrypt_verify + _nettle_blowfish_initial_ctx + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_crypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + _nettle_aes256_encrypt_c + _nettle_aes192_encrypt_c + _nettle_aes128_encrypt_c + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + _nettle_aes256_decrypt_c + _nettle_aes192_decrypt_c + _nettle_aes128_decrypt_c + _nettle_aes_decrypt_table + nettle_aes_decrypt + _nettle_aes_decrypt diff --git a/ports/nettle/portfile.cmake b/ports/nettle/portfile.cmake index ba848f86daa..a0b36b05a78 100644 --- a/ports/nettle/portfile.cmake +++ b/ports/nettle/portfile.cmake @@ -1,11 +1,3 @@ -vcpkg_list(SET extra_patches) -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - vcpkg_list(APPEND extra_patches - yasm.patch # the asm changes are a downgrade to an older version - libname-windows.patch # libtool rules for lib naming, exports - ) -endif() - vcpkg_from_gitlab( GITLAB_URL https://git.lysator.liu.se/ OUT_SOURCE_PATH SOURCE_PATH @@ -19,53 +11,72 @@ vcpkg_from_gitlab( compile.patch host-tools.patch ccas.patch - install-dll.patch - ${extra_patches} + msvc-support.patch ) -# Temporarily set to 1 to re-generate the lists of exported symbols. -# This is needed when the version is bumped. +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +# Maintainer switch: Temporarily set this to 1 to re-generate the lists +# of exported symbols. This is needed when the version is bumped. set(GENERATE_SYMBOLS 0) if(GENERATE_SYMBOLS) - if(VCPKG_TARGET_IS_MINGW OR NOT VCPKG_TARGET_IS_WINDOWS) - set(GENERATE_SYMBOLS 0) - else() + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + else() + set(GENERATE_SYMBOLS 0) endif() endif() vcpkg_list(SET OPTIONS) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_list(APPEND OPTIONS --disable-static) -else() - vcpkg_list(APPEND OPTIONS --disable-shared) -endif() - if("tools" IN_LIST FEATURES) vcpkg_list(APPEND OPTIONS --enable-tools) endif() -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) +# As in gmp +set(disable_assembly OFF) +set(ccas "") +set(asmflags "") +if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_list(APPEND OPTIONS ac_cv_func_memset=yes) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(APPEND asmflags " --target=i686-pc-windows-msvc -m32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(APPEND asmflags " --target=x86_64-pc-windows-msvc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + string(APPEND asmflags " --target=arm64-pc-windows-msvc") + else() + set(disable_assembly ON) + endif() + if(NOT disable_assembly) + vcpkg_find_acquire_program(CLANG) + set(ccas "${CLANG}") 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 - ) else() - vcpkg_list(APPEND OPTIONS "CCAS=") # configure will use CC + set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") +endif() + +if(disable_assembly) + vcpkg_list(APPEND OPTIONS "--enable-assembler=no") +elseif(ccas) + cmake_path(GET ccas PARENT_PATH ccas_dir) + vcpkg_add_to_path("${ccas_dir}") + cmake_path(GET ccas FILENAME ccas_command) + vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASMFLAGS=${asmflags}") endif() if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(GLOB def_files "${CMAKE_CURRENT_LIST_DIR}/*.def") + file(COPY ${def_files} DESTINATION "${SOURCE_PATH}") + vcpkg_list(APPEND OPTIONS "MSVC_TARGET=${VCPKG_TARGET_ARCHITECTURE}") +else() + vcpkg_list(APPEND OPTIONS "MSVC_TARGET=no") +endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG @@ -77,40 +88,8 @@ vcpkg_configure_make( OPTIONS_DEBUG --disable-tools ) - -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_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") +vcpkg_fixup_pkgconfig() if(NOT VCPKG_CROSSCOMPILING) set(tool_names desdata eccdata) # aes gcm sha twofish? @@ -120,9 +99,14 @@ if(NOT VCPKG_CROSSCOMPILING) vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") endif() -vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if("tools" IN_LIST FEATURES) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3") diff --git a/ports/nettle/vcpkg.json b/ports/nettle/vcpkg.json index ade31eac428..d7c2e93089d 100644 --- a/ports/nettle/vcpkg.json +++ b/ports/nettle/vcpkg.json @@ -1,6 +1,7 @@ { "name": "nettle", "version": "3.8.1", + "port-version": 1, "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, @@ -11,12 +12,8 @@ "host": true }, { - "name": "yasm", - "host": true, - "features": [ - "tools" - ], - "platform": "windows" + "name": "vcpkg-cmake-get-vars", + "host": true } ], "features": { diff --git a/ports/shiftmedia-libgnutls/vcpkg.json b/ports/shiftmedia-libgnutls/vcpkg.json index 788e0aeb410..d2abccbc581 100644 --- a/ports/shiftmedia-libgnutls/vcpkg.json +++ b/ports/shiftmedia-libgnutls/vcpkg.json @@ -1,11 +1,11 @@ { "name": "shiftmedia-libgnutls", "version": "3.7.6", - "port-version": 1, + "port-version": 2, "description": "Unofficial GnuTLS fork with added custom native Visual Studio project build tools. ", "homepage": "https://github.com/ShiftMediaProject/gnutls", "license": "LGPL-2.1-only", - "supports": "windows", + "supports": "windows & !arm & !mingw", "dependencies": [ "gettext", "gmp", diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index be0d9d76b2b..f6b6210154c 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1052,8 +1052,6 @@ nanodbc:x64-linux=skip nativefiledialog:arm-uwp=fail nativefiledialog:x64-uwp=fail netcdf-cxx4:x64-windows-static-md=fail -nettle:arm-uwp=fail -nettle:arm64-windows=fail ngspice:x64-android=fail ngspice:x64-windows-static=fail nmap:arm-neon-android=fail diff --git a/versions/baseline.json b/versions/baseline.json index be4144ae5e0..c1b9c0919e3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5534,7 +5534,7 @@ }, "nettle": { "baseline": "3.8.1", - "port-version": 0 + "port-version": 1 }, "networkdirect-sdk": { "baseline": "2.0.1", @@ -7358,7 +7358,7 @@ }, "shiftmedia-libgnutls": { "baseline": "3.7.6", - "port-version": 1 + "port-version": 2 }, "shiftmedia-libgpg-error": { "baseline": "1.45", diff --git a/versions/n-/nettle.json b/versions/n-/nettle.json index 6415658430e..ce348da9711 100644 --- a/versions/n-/nettle.json +++ b/versions/n-/nettle.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7734b67cb656bf12488ea137779b56d8865bbb02", + "version": "3.8.1", + "port-version": 1 + }, { "git-tree": "1ca3c1210bb511a4d94b53684fcb557e92678d7b", "version": "3.8.1", diff --git a/versions/s-/shiftmedia-libgnutls.json b/versions/s-/shiftmedia-libgnutls.json index 889cb5531d4..4b698fb548a 100644 --- a/versions/s-/shiftmedia-libgnutls.json +++ b/versions/s-/shiftmedia-libgnutls.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "44e16573e54fa8a8c8599c0b2cb82a0d1f829e22", + "version": "3.7.6", + "port-version": 2 + }, { "git-tree": "1af7188530a656fe2103e74844333d8c37c5232d", "version": "3.7.6",