From 4642a4fc6c4437b7d68294ab4e34d3fe38051244 Mon Sep 17 00:00:00 2001 From: cskrisz Date: Tue, 2 Jul 2019 22:47:50 +0200 Subject: [PATCH] Fix Python3 tool on Windows (#7051) * Delete python37._pth from python3-embed * Add version number to SUBDIR * [open62541] Use Python in version subdir --- ports/open62541/CONTROL | 2 +- ports/open62541/portfile.cmake | 4 +++- scripts/cmake/vcpkg_find_acquire_program.cmake | 12 +++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ports/open62541/CONTROL b/ports/open62541/CONTROL index ed2224f0fdbbed..28bfd2c0bd0e3c 100644 --- a/ports/open62541/CONTROL +++ b/ports/open62541/CONTROL @@ -1,3 +1,3 @@ Source: open62541 -Version: 0.3.0-1 +Version: 0.3.0-2 Description: open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0. diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index a8c345eb8f1c7d..5132fa7f053f18 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -31,12 +31,14 @@ endif() vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +get_filename_component(PYTHON3_DIR_NAME "${PYTHON3_DIR}" NAME) vcpkg_add_to_path("${PYTHON3_DIR}") + if(NOT EXISTS ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX}) if(NOT EXISTS ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) vcpkg_download_distfile(GET_PIP URLS "https://bootstrap.pypa.io/get-pip.py" - FILENAME "tools/python/python3/get-pip.py" + FILENAME "tools/python/${PYTHON3_DIR_NAME}/get-pip.py" SHA512 99520d223819708b8f6e4b839d1fa215e4e8adc7fcd0db6c25a0399cf2fa10034b35673cf450609303646d12497f301ef53b7e7cc65c78e7bce4af0c673555ad ) execute_process(COMMAND ${PYTHON3_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON3_DIR}/get-pip.py) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 0399fc50cba8be..fcfa6d0a1b848e 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -45,6 +45,7 @@ function(vcpkg_find_acquire_program VAR) unset(_vfa_RENAME) unset(SUBDIR) unset(REQUIRED_INTERPRETER) + unset(POST_INSTALL_COMMAND) vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS) vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT) @@ -77,11 +78,12 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "PYTHON3") if(CMAKE_HOST_WIN32) set(PROGNAME python) - set(SUBDIR "python3") + set(SUBDIR "python-3.7.3") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") set(ARCHIVE "python-3.7.3-embed-win32.zip") set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) + set(POST_INSTALL_COMMAND ${CMAKE_COMMAND} -E remove python37._pth) else() set(PROGNAME python3) set(BREW_PACKAGE_NAME "python") @@ -291,6 +293,14 @@ function(vcpkg_find_acquire_program VAR) endif() endif() + if(DEFINED POST_INSTALL_COMMAND) + vcpkg_execute_required_process( + COMMAND ${POST_INSTALL_COMMAND} + WORKING_DIRECTORY ${PROG_PATH_SUBDIR} + LOGNAME ${VAR}-tool-post-install + ) + endif() + do_find() endif()