build/msvc: Add patch for LuaRocks

LuaRocks bundles an outdated wget.exe for downloading packages on Windows. It is too old to support GitHub's TLS, so this patch will replace it with curl.
This commit is contained in:
b-r-o-c-k
2018-03-01 22:44:31 -06:00
parent 305673e923
commit b3d0241416
2 changed files with 39 additions and 2 deletions

View File

@@ -12,7 +12,7 @@ function(BuildLuarocks)
cmake_parse_arguments(_luarocks
""
""
"CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
"PATCH_COMMAND;CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
${ARGN})
if(NOT _luarocks_CONFIGURE_COMMAND AND NOT _luarocks_BUILD_COMMAND
@@ -32,6 +32,7 @@ function(BuildLuarocks)
-DTARGET=luarocks
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
PATCH_COMMAND "${_luarocks_PATCH_COMMAND}"
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND "${_luarocks_CONFIGURE_COMMAND}"
BUILD_COMMAND "${_luarocks_BUILD_COMMAND}"
@@ -50,6 +51,11 @@ if(NOT MSVC)
# version already knows, and passing them here breaks the build
set(LUAROCKS_BUILDARGS CC=${HOSTDEPS_C_COMPILER} LD=${HOSTDEPS_C_COMPILER})
endif()
if(WIN32)
# Use our bundled curl.exe for downloading packages
set(LUAROCKS_BUILDARGS ${LUAROCKS_BUILDARGS} CURL=${DEPS_BIN_DIR}/curl.exe)
endif()
if(UNIX OR (MINGW AND CMAKE_CROSSCOMPILING))
@@ -76,7 +82,12 @@ elseif(MSVC OR MINGW)
endif()
# Ignore USE_BUNDLED_LUAJIT - always ON for native Win32
BuildLuarocks(INSTALL_COMMAND install.bat /FORCECONFIG /NOREG /NOADMIN /Q /F
BuildLuarocks(
PATCH_COMMAND
git -C ${DEPS_BUILD_DIR}/src/luarocks init
COMMAND git -C ${DEPS_BUILD_DIR}/src/luarocks apply
${CMAKE_CURRENT_SOURCE_DIR}/patches/luarocks-Change-default-downloader-to-curl.patch
INSTALL_COMMAND install.bat /FORCECONFIG /NOREG /NOADMIN /Q /F
/LUA ${DEPS_INSTALL_DIR}
/LIB ${DEPS_LIB_DIR}
/BIN ${DEPS_BIN_DIR}
@@ -88,6 +99,8 @@ elseif(MSVC OR MINGW)
/LUAMOD ${DEPS_BIN_DIR}/lua)
set(LUAROCKS_BINARY ${DEPS_INSTALL_DIR}/${LUAROCKS_VERSION}/luarocks.bat)
add_dependencies(luarocks wintools)
else()
message(FATAL_ERROR "Trying to build luarocks in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
endif()

View File

@@ -0,0 +1,24 @@
From 69313032fad04743c96bc8f2a029b691857488f9 Mon Sep 17 00:00:00 2001
Date: Thu, 1 Mar 2018 21:41:29 -0600
Subject: [PATCH] Change default downloader to curl
---
install.bat | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install.bat b/install.bat
index 09cf9aa..76e4059 100644
--- a/install.bat
+++ b/install.bat
@@ -1037,7 +1037,7 @@ f:write(S[=[
site_config.LUAROCKS_UNAME_M=[[$UNAME_M]]
site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]]
site_config.LUAROCKS_PREFIX=[[$PREFIX]]
-site_config.LUAROCKS_DOWNLOADER=[[wget]]
+site_config.LUAROCKS_DOWNLOADER=[[curl]]
site_config.LUAROCKS_MD5CHECKER=[[md5sum]]
]=])
if FORCE_CONFIG then
--
2.16.1.windows.4