diff --git a/mingw-w64-cmake-git/0001-Windows-Add-missing-stringapiset.h-include.patch b/mingw-w64-cmake-git/0001-Windows-Add-missing-stringapiset.h-include.patch new file mode 100644 index 0000000000..0bd4ff567a --- /dev/null +++ b/mingw-w64-cmake-git/0001-Windows-Add-missing-stringapiset.h-include.patch @@ -0,0 +1,25 @@ +From 2efc14886127e36109785f47f6cc6e4fb5e8c57e Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Mon, 23 Jan 2017 12:46:49 +0000 +Subject: [PATCH 1/5] Windows: Add missing stringapiset.h include + +This is needed for WideCharToMultiByte() +--- + Source/cmFileCommand.cxx | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx +index 91cecb3..987e0db 100644 +--- a/Source/cmFileCommand.cxx ++++ b/Source/cmFileCommand.cxx +@@ -72,6 +72,7 @@ static mode_t mode_setgid = S_ISGID; + #endif + + #if defined(_WIN32) ++#include + // libcurl doesn't support file:// urls for unicode filenames on Windows. + // Convert string from UTF-8 to ACP if this is a file:// URL. + static std::string fix_file_url_windows(const std::string& url) +-- +2.10.2 + diff --git a/mingw-w64-cmake-git/0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch b/mingw-w64-cmake-git/0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch new file mode 100644 index 0000000000..fd31fa13d6 --- /dev/null +++ b/mingw-w64-cmake-git/0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch @@ -0,0 +1,25 @@ +From 2f77f157fd496d392752d5b0b402e9c7553a8bd3 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Mon, 23 Jan 2017 13:55:30 +0000 +Subject: [PATCH 2/5] bootstrap: Set DEFAULT_CODEPAGE in + cmake_cxx_flags_EncodingCXX + +--- + bootstrap | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/bootstrap b/bootstrap +index 8063edb..b1528cb 100755 +--- a/bootstrap ++++ b/bootstrap +@@ -1419,6 +1419,7 @@ fi + cmake_c_flags_String="-DKWSYS_STRING_C" + if ${cmake_system_mingw}; then + cmake_c_flags_EncodingC="-DKWSYS_ENCODING_DEFAULT_CODEPAGE=CP_ACP" ++ cmake_cxx_flags_EncodingCXX="${cmake_c_flags_EncodingC}" + cmake_cxx_flags_cmProcessOutput="${cmake_c_flags_EncodingC}" + fi + cmake_cxx_flags_SystemTools=" +-- +2.10.2 + diff --git a/mingw-w64-cmake-git/0001-Disable-response-files-for-MSYS-Generator.patch b/mingw-w64-cmake-git/0003-Disable-response-files-for-MSYS-Generator.patch similarity index 84% rename from mingw-w64-cmake-git/0001-Disable-response-files-for-MSYS-Generator.patch rename to mingw-w64-cmake-git/0003-Disable-response-files-for-MSYS-Generator.patch index e8a8b414f2..7eef010299 100644 --- a/mingw-w64-cmake-git/0001-Disable-response-files-for-MSYS-Generator.patch +++ b/mingw-w64-cmake-git/0003-Disable-response-files-for-MSYS-Generator.patch @@ -1,17 +1,17 @@ -From 2adc7f478abdf1528ba6d519cdc6c938c8310665 Mon Sep 17 00:00:00 2001 +From 73af97d36615ae63be24c1a9fcd189c30a4a6f85 Mon Sep 17 00:00:00 2001 From: Alexpux Date: Mon, 3 Aug 2015 22:00:16 +0100 -Subject: [PATCH 1/3] Disable response files for MSYS Generator +Subject: [PATCH 3/5] Disable response files for MSYS Generator --- Modules/Platform/Windows-GNU.cmake | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake -index d8a423e..4705f8f 100644 +index 22daa62..ed5166a 100644 --- a/Modules/Platform/Windows-GNU.cmake +++ b/Modules/Platform/Windows-GNU.cmake -@@ -84,9 +84,11 @@ macro(__windows_compiler_gnu lang) +@@ -74,9 +74,11 @@ macro(__windows_compiler_gnu lang) set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "") set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "") @@ -27,5 +27,5 @@ index d8a423e..4705f8f 100644 # We prefer "@" for response files but it is not supported by gcc 3. execute_process(COMMAND ${CMAKE_${lang}_COMPILER} --version OUTPUT_VARIABLE _ver ERROR_VARIABLE _ver) -- -2.8.2 +2.10.2 diff --git a/mingw-w64-cmake-git/0002-Implement-Qt5-static-plugin-support.patch b/mingw-w64-cmake-git/0004-Implement-Qt5-static-plugin-support.patch similarity index 71% rename from mingw-w64-cmake-git/0002-Implement-Qt5-static-plugin-support.patch rename to mingw-w64-cmake-git/0004-Implement-Qt5-static-plugin-support.patch index b36fc1e153..0796392817 100644 --- a/mingw-w64-cmake-git/0002-Implement-Qt5-static-plugin-support.patch +++ b/mingw-w64-cmake-git/0004-Implement-Qt5-static-plugin-support.patch @@ -1,7 +1,7 @@ -From 3e14f4ba2c5d0dbaec88daa1034605f02154dabd Mon Sep 17 00:00:00 2001 +From 886063a26237e751991de93c569f60f37fdd88c6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 3 Aug 2015 22:00:16 +0100 -Subject: [PATCH 2/3] Implement Qt5 static plugin support +Subject: [PATCH 4/5] Implement Qt5 static plugin support Enabled via a new target property "AUTOSTATICPLUGINS". @@ -18,15 +18,16 @@ from [1] are necessary [2], [3] and [4] CMake but are necessary for this to work on MinGW-w64 (0040- for example). --- Source/cmGlobalGenerator.cxx | 1 + - Source/cmQtAutoGeneratorInitializer.cxx | 74 +++++++++++++++++++++++++++++++-- - Source/cmTarget.cxx | 2 + - 3 files changed, 74 insertions(+), 3 deletions(-) + Source/cmQtAutoGeneratorInitializer.cxx | 70 ++++++++++++++++++++++++++++++++- + Source/cmTarget.cxx | 1 + + Source/cmTargetPropertyComputer.cxx | 1 + + 4 files changed, 72 insertions(+), 1 deletion(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx -index a1764a3..7448c0c 100644 +index 2808051..a555094 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx -@@ -1352,6 +1352,7 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets() +@@ -1409,6 +1409,7 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets() } if ((!(*ti)->GetPropertyAsBool("AUTOMOC") && !(*ti)->GetPropertyAsBool("AUTOUIC") && @@ -35,29 +36,20 @@ index a1764a3..7448c0c 100644 (*ti)->IsImported()) { continue; diff --git a/Source/cmQtAutoGeneratorInitializer.cxx b/Source/cmQtAutoGeneratorInitializer.cxx -index dd19760..38c7199 100644 +index 825eba0..310936b 100644 --- a/Source/cmQtAutoGeneratorInitializer.cxx +++ b/Source/cmQtAutoGeneratorInitializer.cxx -@@ -20,6 +20,7 @@ - #include - +@@ -26,6 +26,7 @@ + #include #include + #include +#include - - #if defined(_WIN32) && !defined(__CYGWIN__) - #include "cmGlobalVisualStudioGenerator.h" -@@ -28,7 +29,7 @@ - static std::string GetAutogenTargetName(cmGeneratorTarget const* target) - { - std::string autogenTargetName = target->GetName(); -- autogenTargetName += "_automoc"; -+ autogenTargetName += "_autogen"; - return autogenTargetName; - } - -@@ -164,6 +165,65 @@ static void SetupSourceFiles(cmGeneratorTarget const* target, - fileIt != newRccFiles.end(); ++fileIt) { - const_cast(target)->AddSource(*fileIt); + #include + #include + #include +@@ -160,6 +161,65 @@ static void SetupSourceFiles(cmGeneratorTarget const* target, + } + } } + + /* in qt5-static/lib/cmake/Qt5Core/Qt5CoreConfig.cmake, @@ -121,9 +113,9 @@ index dd19760..38c7199 100644 } static void GetCompileDefinitionsAndDirectories( -@@ -748,6 +808,12 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget( - if (target->GetPropertyAsBool("AUTORCC")) { - toolNames.push_back("rcc"); +@@ -745,6 +805,12 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget( + } + autogenComment = "Automatic " + tools + " for target " + target->GetName(); } + /* AUTOSTATICPLUGINS .cpp files are created at cmake execution time, + * and not at build time, so in that case it is possible to get here @@ -132,42 +124,43 @@ index dd19760..38c7199 100644 + return; + } - std::string tools = toolNames[0]; - toolNames.erase(toolNames.begin()); -@@ -920,9 +986,11 @@ void cmQtAutoGeneratorInitializer::SetupAutoGenerateTarget( + #if defined(_WIN32) && !defined(__CYGWIN__) + bool usePRE_BUILD = false; +@@ -894,7 +960,9 @@ void cmQtAutoGeneratorInitializer::SetupAutoGenerateTarget( if (target->GetPropertyAsBool("AUTOMOC") || target->GetPropertyAsBool("AUTOUIC") || - target->GetPropertyAsBool("AUTORCC")) { + target->GetPropertyAsBool("AUTORCC") || + ( target->GetPropertyAsBool("AUTOSTATICPLUGINS") -+ && target->GetType() == cmState::EXECUTABLE)) - SetupSourceFiles(target, skipMoc, mocSources, mocHeaders, skipUic); -- } -+ ++ && target->GetType() == cmState::EXECUTABLE)) { + SetupSourceFiles(target, mocUicSources, mocUicHeaders, skipMoc, skipUic); + } makefile->AddDefinition( - "_cpp_files", - cmOutputConverter::EscapeForCMake(cmJoin(mocSources, ";")).c_str()); diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx -index 5e0d2b7..bea321d 100644 +index d825e5c..335f0a2 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx -@@ -127,6 +127,7 @@ void cmTarget::SetMakefile(cmMakefile* mf) - this->SetPropertyDefault("AUTOMOC", 0); - this->SetPropertyDefault("AUTOUIC", 0); - this->SetPropertyDefault("AUTORCC", 0); -+ this->SetPropertyDefault("AUTOSTATICPLUGINS", 0); - this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", 0); - this->SetPropertyDefault("AUTOUIC_OPTIONS", 0); - this->SetPropertyDefault("AUTORCC_OPTIONS", 0); -@@ -741,6 +742,7 @@ static bool whiteListedInterfaceProperty(const std::string& prop) +@@ -245,6 +245,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type, + this->SetPropertyDefault("AUTOMOC", CM_NULLPTR); + this->SetPropertyDefault("AUTOUIC", CM_NULLPTR); + this->SetPropertyDefault("AUTORCC", CM_NULLPTR); ++ this->SetPropertyDefault("AUTOSTATICPLUGINS", CM_NULLPTR); + this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", CM_NULLPTR); + this->SetPropertyDefault("AUTOUIC_OPTIONS", CM_NULLPTR); + this->SetPropertyDefault("AUTORCC_OPTIONS", CM_NULLPTR); +diff --git a/Source/cmTargetPropertyComputer.cxx b/Source/cmTargetPropertyComputer.cxx +index a57bc5a..b12bd2d 100644 +--- a/Source/cmTargetPropertyComputer.cxx ++++ b/Source/cmTargetPropertyComputer.cxx +@@ -58,6 +58,7 @@ bool cmTargetPropertyComputer::WhiteListedInterfaceProperty( + builtIns.insert("EXPORT_NAME"); builtIns.insert("IMPORTED"); builtIns.insert("NAME"); - builtIns.insert("TYPE"); + builtIns.insert("STATIC_PLUGINS"); + builtIns.insert("TYPE"); } - if (builtIns.count(prop)) { -- -2.8.2 +2.10.2 diff --git a/mingw-w64-cmake-git/0003-Output-line-numbers-in-callstacks.patch b/mingw-w64-cmake-git/0005-Output-line-numbers-in-callstacks.patch similarity index 76% rename from mingw-w64-cmake-git/0003-Output-line-numbers-in-callstacks.patch rename to mingw-w64-cmake-git/0005-Output-line-numbers-in-callstacks.patch index 795b8232d2..d144043c0b 100644 --- a/mingw-w64-cmake-git/0003-Output-line-numbers-in-callstacks.patch +++ b/mingw-w64-cmake-git/0005-Output-line-numbers-in-callstacks.patch @@ -1,7 +1,7 @@ -From db8acc01f8c84301a983ab1c407b6de2df137f9b Mon Sep 17 00:00:00 2001 +From c67091e44c7f4925c9ba65ce79d23ae82c82466f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 3 Aug 2015 22:00:17 +0100 -Subject: [PATCH 3/3] Output line numbers in callstacks +Subject: [PATCH 5/5] Output line numbers in callstacks Now just a marker for where to add the new code. --- @@ -9,11 +9,11 @@ Now just a marker for where to add the new code. 1 file changed, 3 insertions(+) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx -index e684689..cee9a24 100644 +index bfe46ae..af7225f 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx -@@ -3531,6 +3531,9 @@ std::string cmMakefile::FormatListFileStack() const - cmState::Snapshot snp = this->StateSnapshot; +@@ -3636,6 +3636,9 @@ std::string cmMakefile::FormatListFileStack() const + cmStateSnapshot snp = this->StateSnapshot; while (snp.IsValid()) { listFiles.push_back(snp.GetExecutionListFile()); +// GetEntryPointLine() has been removed, replaced with something a lot more complicated, @@ -23,5 +23,5 @@ index e684689..cee9a24 100644 } std::reverse(listFiles.begin(), listFiles.end()); -- -2.8.2 +2.10.2 diff --git a/mingw-w64-cmake-git/PKGBUILD b/mingw-w64-cmake-git/PKGBUILD index 74a13fe632..164a8d958b 100644 --- a/mingw-w64-cmake-git/PKGBUILD +++ b/mingw-w64-cmake-git/PKGBUILD @@ -4,7 +4,7 @@ _realname=cmake pkgbase=mingw-w64-${_realname}-git pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-git" -pkgver=r31739.21094eb +pkgver=r34460.9cc1799 pkgrel=1 pkgdesc="A cross-platform open-source make system (mingw-w64)" arch=('any') @@ -22,16 +22,21 @@ depends=("${MINGW_PACKAGE_PREFIX}-winpthreads" "${MINGW_PACKAGE_PREFIX}-libarchive" "${MINGW_PACKAGE_PREFIX}-ncurses" "${MINGW_PACKAGE_PREFIX}-pkg-config" - "${MINGW_PACKAGE_PREFIX}-zlib") + "${MINGW_PACKAGE_PREFIX}-zlib" + "${MINGW_PACKAGE_PREFIX}-libuv") options=('staticlibs' '!strip' 'debug') source=("${_realname}"::"git+https://cmake.org/cmake.git" - '0001-Disable-response-files-for-MSYS-Generator.patch' - '0002-Implement-Qt5-static-plugin-support.patch' - '0003-Output-line-numbers-in-callstacks.patch') + '0001-Windows-Add-missing-stringapiset.h-include.patch' + '0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch' + '0003-Disable-response-files-for-MSYS-Generator.patch' + '0004-Implement-Qt5-static-plugin-support.patch' + '0005-Output-line-numbers-in-callstacks.patch') sha256sums=('SKIP' - 'ce17e87849e6d07cf69422bb39c0682640ed3a03ea07808395c235a84e22be97' - 'ff0e8311ced5d2c60621ed3290ee27a771db0bed1208b8eafbb9ac6479fd30f7' - '6bab5996412f2ac113c225b26f359df0b5239519baf70e8b0ef725543416ecea') + '4b86678769c1efe718b4e298edf3fc7f7d6f11875d7fca2ebe174feed6145e8c' + '0ca1ef6b5c4e4d73938625a784bd023ea13491ae8d0f14f9e7c6a281a10157db' + '70a21558fad9e807ae37f621b6ed29a5991d2b8fcbcbb687ea6f74d3f2980630' + '537aa39b5888f976ecceab9716612cac4a87de68ab7882e2f18e8521700d7672' + 'a50a7d6517e54c3111710a67e8bfbcb38f87d1a3278ea713cb115d1879039a67') pkgver() { cd "$srcdir/$_realname" @@ -40,9 +45,11 @@ pkgver() { prepare() { cd ${_realname} - gitam_mkpkg "${srcdir}"/0001-Disable-response-files-for-MSYS-Generator.patch - gitam_mkpkg "${srcdir}"/0002-Implement-Qt5-static-plugin-support.patch - gitam_mkpkg "${srcdir}"/0003-Output-line-numbers-in-callstacks.patch + gitam_mkpkg "${srcdir}"/0001-Windows-Add-missing-stringapiset.h-include.patch + gitam_mkpkg "${srcdir}"/0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch + gitam_mkpkg "${srcdir}"/0003-Disable-response-files-for-MSYS-Generator.patch + gitam_mkpkg "${srcdir}"/0004-Implement-Qt5-static-plugin-support.patch + gitam_mkpkg "${srcdir}"/0005-Output-line-numbers-in-callstacks.patch } build() { @@ -56,6 +63,7 @@ build() { --prefix=${MINGW_PREFIX} \ --system-libs \ --no-system-expat \ + --no-system-librhash \ --qt-qmake=$(cygpath -m ${MINGW_PREFIX})/qt5-static/bin/qmake.exe \ --no-qt-gui \ --parallel=${NUMBER_OF_PROCESSORS} \