aboutsummaryrefslogtreecommitdiff
path: root/ports/nettle
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2020-10-28 14:26:41 -0700
committerGitHub <noreply@github.com>2020-10-28 14:26:41 -0700
commit1b1c17de8206231831b2bc8a06cff80506184be1 (patch)
treeb14e701224a7b12015ec3fef4782332251cd34de /ports/nettle
parent0ff714bd520f5315081db50acce43644832451ba (diff)
downloadvcpkg-1b1c17de8206231831b2bc8a06cff80506184be1.tar.gz
vcpkg-1b1c17de8206231831b2bc8a06cff80506184be1.zip
[vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself. (#14003)
Diffstat (limited to 'ports/nettle')
-rw-r--r--ports/nettle/CONTROL2
-rw-r--r--ports/nettle/portfile.cmake19
2 files changed, 11 insertions, 10 deletions
diff --git a/ports/nettle/CONTROL b/ports/nettle/CONTROL
index f76d21412..49308ce95 100644
--- a/ports/nettle/CONTROL
+++ b/ports/nettle/CONTROL
@@ -3,4 +3,4 @@ Version: 3.5.1
Port-Version: 4
Homepage: https://git.lysator.liu.se/nettle/nettle
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.
-Build-Depends: gmp, vs-yasm (windows) \ No newline at end of file
+Build-Depends: gmp, vs-yasm (windows), yasm-tool-helper (windows)
diff --git a/ports/nettle/portfile.cmake b/ports/nettle/portfile.cmake
index 0d7a45eaf..2d3fc952a 100644
--- a/ports/nettle/portfile.cmake
+++ b/ports/nettle/portfile.cmake
@@ -2,7 +2,7 @@ if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ShiftMediaProject/nettle
- REF 1d0a6e64e01458fdf37eaf5d90975deb52c3da41 #v3.5.1
+ REF 1d0a6e64e01458fdf37eaf5d90975deb52c3da41 #v3.5.1
SHA512 6124fbd223e6519d88290c3f4e3b8cc399e038c9c77cfec38e6ab17b075846e662fd0360d62c132c882536489c8a865795f64059e2d2b21467f65d90320e5c39
HEAD_REF master
PATCHES gmp.patch
@@ -10,9 +10,10 @@ if(VCPKG_TARGET_IS_WINDOWS)
runtime.nettle.patch
runtime.hogweed.patch
)
- vcpkg_find_acquire_program(YASM)
- get_filename_component(YASM_DIR "${YASM}" DIRECTORY)
- vcpkg_add_to_path("${YASM_DIR}")
+
+ 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)
@@ -27,7 +28,7 @@ if(VCPKG_TARGET_IS_WINDOWS)
string(APPEND CONFIGURATION_DEBUG WinRT)
endif()
- #Setup YASM integration
+ #Setup YASM integration
set(_file "${SOURCE_PATH}/SMP/libnettle.vcxproj")
file(READ "${_file}" _contents)
string(REPLACE [[<Import Project="$(VCTargetsPath)\BuildCustomizations\yasm.props" />]]
@@ -62,7 +63,7 @@ if(VCPKG_TARGET_IS_WINDOWS)
STRING(REPLACE ">MultiThreaded<" ">MultiThreadedDLL<" _contents "${_contents}")
endif()
file(WRITE "${_file}" "${_contents}")
-
+
vcpkg_install_msbuild(
USE_VCPKG_INTEGRATION
SOURCE_PATH ${SOURCE_PATH}
@@ -73,7 +74,7 @@ if(VCPKG_TARGET_IS_WINDOWS)
RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE}
DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG}
SKIP_CLEAN
- OPTIONS /p:UseEnv=True
+ OPTIONS "/p:YasmPath=${YASM}"
)
get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME)
@@ -103,12 +104,12 @@ else()
GITLAB_URL https://git.lysator.liu.se/
OUT_SOURCE_PATH SOURCE_PATH
REPO nettle/nettle
- REF ee5d62898cf070f08beedc410a8d7c418588bd95 #v3.5.1
+ REF ee5d62898cf070f08beedc410a8d7c418588bd95 #v3.5.1
SHA512 881912548f4abb21460f44334de11439749c8a055830849a8beb4332071d11d9196d9eecaeba5bf822819d242356083fba91eb8719a64f90e41766826e6d75e1
HEAD_REF master # branch name
PATCHES fix-InstallLibPath.patch
)
-
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(OPTIONS --disable-static)
else()