From bea1f962177a0617d42c76e8e7ef9d6dc4d8cf61 Mon Sep 17 00:00:00 2001 From: RISCi_ATOM Date: Sat, 16 Sep 2023 11:12:11 -0400 Subject: [PATCH] tools/cmake : Bump to 3.19.8 Resolves compat issues when building against newer distros and toolchains. --- tools/cmake/Makefile | 23 ++++--------- .../cmake/patches/100-disable_qt_tests.patch | 34 ------------------- tools/cmake/patches/100-no-testing.patch | 33 ++++++++++++++++++ .../110-libarchive-fix-libressl-compat.patch | 11 ------ .../120-curl-fix-libressl-linking.patch | 6 ++-- .../130-bootstrap_parallel_make_flag.patch | 8 ++--- .../patches/140-libarchive-fix-libressl.patch | 25 -------------- 7 files changed, 46 insertions(+), 94 deletions(-) delete mode 100644 tools/cmake/patches/100-disable_qt_tests.patch create mode 100644 tools/cmake/patches/100-no-testing.patch delete mode 100644 tools/cmake/patches/110-libarchive-fix-libressl-compat.patch delete mode 100644 tools/cmake/patches/140-libarchive-fix-libressl.patch diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile index 77a35fa984..431acfc7e0 100644 --- a/tools/cmake/Makefile +++ b/tools/cmake/Makefile @@ -7,34 +7,23 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cmake -PKG_VERSION:=3.15.1 +PKG_VERSION:=3.19.8 +PKG_RELEASE:=1 PKG_CPE_ID:=cpe:/a:kitware:cmake PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Kitware/CMake/releases/download/v$(PKG_VERSION)/ \ - https://cmake.org/files/v3.15/ -PKG_HASH:=18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7 + https://cmake.org/files/v3.19/ +PKG_HASH:=09b4fa4837aae55c75fb170f6a6e2b44818deba48335d1969deddfbb34e30369 HOST_BUILD_PARALLEL:=1 HOST_CONFIGURE_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk -# Workaround for GCC versions below 6.X and ccache -# Reference: https://github.com/openwrt/openwrt/pull/1929 -GCC_DMPVER_GREPCMD := grep -E '^(4\.[8-9]|[5]\.?)' -GCC_DMPVER_STRING := $(shell $(HOSTCC_NOCACHE) -dumpversion | $(GCC_DMPVER_GREPCMD)) -ifneq ($(GCC_DMPVER_STRING),) - ifeq ($(CONFIG_CCACHE),y) - $(info GCC version less than 6.0 detected, disabling CCACHE) - HOST_CONFIGURE_VARS:=$(filter-out CC=% gcc%",$(HOST_CONFIGURE_VARS)) CC="$(HOSTCC_NOCACHE)" - HOST_CONFIGURE_VARS:=$(filter-out CXX=% g++%",$(HOST_CONFIGURE_VARS)) CXX="$(HOSTCXX_NOCACHE)" - else - $(info GCC version greater or equal to 6.0 detected, no workaround set for CCACHE) - endif -endif - HOST_CONFIGURE_VARS += \ + CC="$(HOSTCC_NOCACHE)" \ + CXX="$(HOSTCXX_NOCACHE)" \ MAKEFLAGS="$(HOST_JOBS)" \ CXXFLAGS="$(HOST_CFLAGS)" diff --git a/tools/cmake/patches/100-disable_qt_tests.patch b/tools/cmake/patches/100-disable_qt_tests.patch deleted file mode 100644 index 7f83e279f7..0000000000 --- a/tools/cmake/patches/100-disable_qt_tests.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/Tests/RunCMake/CMakeLists.txt -+++ b/Tests/RunCMake/CMakeLists.txt -@@ -325,15 +325,6 @@ add_RunCMake_test(no_install_prefix) - add_RunCMake_test(configure_file) - add_RunCMake_test(CTestTimeoutAfterMatch) - --find_package(Qt4 QUIET) --find_package(Qt5Core QUIET) --if (QT4_FOUND AND Qt5Core_FOUND AND NOT Qt5Core_VERSION VERSION_LESS 5.1.0) -- add_RunCMake_test(IncompatibleQt) --endif() --if (QT4_FOUND) -- add_RunCMake_test(ObsoleteQtMacros -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}) --endif() -- - find_package(PkgConfig QUIET) - if(PKG_CONFIG_FOUND) - add_RunCMake_test(FindPkgConfig) ---- a/Tests/CMakeLists.txt -+++ b/Tests/CMakeLists.txt -@@ -483,13 +483,6 @@ if(BUILD_TESTING) - - list(APPEND TEST_BUILD_DIRS ${CMake_TEST_INSTALL_PREFIX}) - -- if(NOT DEFINED CMake_TEST_Qt4) -- set(CMake_TEST_Qt4 1) -- endif() -- if(CMake_TEST_Qt4 AND NOT QT4_FOUND) -- find_package(Qt4 QUIET) -- endif() -- - if(CMake_TEST_Qt4 AND QT4_FOUND) - # test whether the Qt4 which has been found works, on some machines - # which run nightly builds there were errors like "wrong file format" diff --git a/tools/cmake/patches/100-no-testing.patch b/tools/cmake/patches/100-no-testing.patch new file mode 100644 index 0000000000..44452ce39e --- /dev/null +++ b/tools/cmake/patches/100-no-testing.patch @@ -0,0 +1,33 @@ +--- a/Modules/CTest.cmake ++++ b/Modules/CTest.cmake +@@ -47,7 +47,7 @@ the :variable:`CTEST_USE_LAUNCHERS` vari + in the ``CTestConfig.cmake`` file. + #]=======================================================================] + +-option(BUILD_TESTING "Build the testing tree." ON) ++option(BUILD_TESTING "Build the testing tree." OFF) + + # function to turn generator name into a version string + # like vs9 or vs10 +--- a/Modules/Dart.cmake ++++ b/Modules/Dart.cmake +@@ -33,7 +33,7 @@ whether testing support should be enable + # + # + +-option(BUILD_TESTING "Build the testing tree." ON) ++option(BUILD_TESTING "Build the testing tree." OFF) + + if(BUILD_TESTING) + find_package(Dart QUIET) +--- a/Tests/Contracts/VTK/Dashboard.cmake.in ++++ b/Tests/Contracts/VTK/Dashboard.cmake.in +@@ -25,7 +25,7 @@ ctest_empty_binary_directory(${CTEST_BIN + + file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" " + VTK_BUILD_EXAMPLES:BOOL=ON +- VTK_BUILD_TESTING:STRING=WANT ++ VTK_BUILD_TESTING:STRING=OFF + VTK_WRAP_PYTHON:BOOL=ON + ExternalData_OBJECT_STORES:FILEPATH=@base_dir@/ExternalData + ") diff --git a/tools/cmake/patches/110-libarchive-fix-libressl-compat.patch b/tools/cmake/patches/110-libarchive-fix-libressl-compat.patch deleted file mode 100644 index ba6565b6af..0000000000 --- a/tools/cmake/patches/110-libarchive-fix-libressl-compat.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h -+++ b/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h -@@ -28,7 +28,7 @@ - #include - #include - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - #include /* malloc, free */ - #include /* memset */ - static inline EVP_MD_CTX *EVP_MD_CTX_new(void) diff --git a/tools/cmake/patches/120-curl-fix-libressl-linking.patch b/tools/cmake/patches/120-curl-fix-libressl-linking.patch index e7d9c5ddda..1095a4f8ac 100644 --- a/tools/cmake/patches/120-curl-fix-libressl-linking.patch +++ b/tools/cmake/patches/120-curl-fix-libressl-linking.patch @@ -20,10 +20,10 @@ Signed-off-by: Jo-Philipp Wich --- --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt -@@ -453,6 +453,14 @@ if(CMAKE_USE_OPENSSL) +@@ -508,6 +508,14 @@ if(CMAKE_USE_OPENSSL) + endif() + set(SSL_ENABLED ON) set(USE_OPENSSL ON) - set(HAVE_LIBCRYPTO ON) - set(HAVE_LIBSSL ON) + check_library_exists("rt" clock_gettime "" HAVE_LIBRT) + if(HAVE_LIBRT) + list(APPEND OPENSSL_LIBRARIES rt) diff --git a/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch b/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch index 124cf6d9d4..512765c5af 100644 --- a/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch +++ b/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch @@ -1,14 +1,14 @@ --- a/bootstrap +++ b/bootstrap -@@ -1168,7 +1168,10 @@ int main(){ printf("1%c", (char)0x0a); r +@@ -1397,7 +1397,10 @@ int main(){ printf("1%c", (char)0x0a); r ' > "test.c" cmake_original_make_flags="${cmake_make_flags}" - if [ "x${cmake_parallel_make}" != "x" ]; then + if test "x${cmake_parallel_make}" != "x"; then - cmake_make_flags="${cmake_make_flags} -j ${cmake_parallel_make}" -+ case "$cmake_paralle_make" in ++ case "$cmake_parallel_make" in + [0-9]*) cmake_parallel_make="-j ${cmake_parallel_make}";; + esac + cmake_make_flags="${cmake_make_flags} ${cmake_parallel_make}" fi for a in ${cmake_make_processors}; do - if [ -z "${cmake_make_processor}" ] && cmake_try_make "${a}" "${cmake_make_flags}" >> ../cmake_bootstrap.log 2>&1; then + if test -z "${cmake_make_processor}" && cmake_try_make "${a}" "${cmake_make_flags}" >> ../cmake_bootstrap.log 2>&1; then diff --git a/tools/cmake/patches/140-libarchive-fix-libressl.patch b/tools/cmake/patches/140-libarchive-fix-libressl.patch deleted file mode 100644 index ddddc5e836..0000000000 --- a/tools/cmake/patches/140-libarchive-fix-libressl.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5da00ad75b09e262774ec3675bbe4d5a4502a852 Mon Sep 17 00:00:00 2001 -From: Bernard Spil -Date: Sun, 1 Apr 2018 23:01:44 +0200 -Subject: [PATCH] fix build with LibreSSL 2.7 - -LibreSSL 2.7 adds OpenSSL 1.1 API leading to conflicts on method names - -See also: https://bugs.freebsd.org/226853 -Signed-off-by: Bernard Spil ---- - libarchive/archive_openssl_hmac_private.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h -+++ b/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h -@@ -28,7 +28,8 @@ - #include - #include - --#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - #include /* malloc, free */ - #include /* memset */ - static inline EVP_MD_CTX *EVP_MD_CTX_new(void) -- 2.25.1