diff options
-rw-r--r-- | third-party/cmake/BuildLuarocks.cmake | 17 | ||||
-rw-r--r-- | third-party/patches/luarocks-Change-default-downloader-to-curl.patch | 24 |
2 files changed, 39 insertions, 2 deletions
diff --git a/third-party/cmake/BuildLuarocks.cmake b/third-party/cmake/BuildLuarocks.cmake index 356ef94318..297fedb888 100644 --- a/third-party/cmake/BuildLuarocks.cmake +++ b/third-party/cmake/BuildLuarocks.cmake @@ -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() diff --git a/third-party/patches/luarocks-Change-default-downloader-to-curl.patch b/third-party/patches/luarocks-Change-default-downloader-to-curl.patch new file mode 100644 index 0000000000..b7109a3b53 --- /dev/null +++ b/third-party/patches/luarocks-Change-default-downloader-to-curl.patch @@ -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 + |