import cmake-3.20.2-7.el9

This commit is contained in:
CentOS Sources 2021-11-03 14:34:00 -04:00 committed by Stepan Oksanichenko
commit 9604be17bf
12 changed files with 2077 additions and 0 deletions

1
.cmake.metadata Normal file
View File

@ -0,0 +1 @@
0c0c76bd90092bbc36288ffd25d8e7f7ebc3c2e5 SOURCES/cmake-3.20.2.tar.gz

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/cmake-3.20.2.tar.gz

View File

@ -0,0 +1,11 @@
diff -up cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake.CPACK_THREADS cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake
--- cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake.CPACK_THREADS 2021-03-23 10:43:17.000000000 -0500
+++ cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake 2021-03-23 13:29:14.539434722 -0500
@@ -1,6 +1,6 @@
install(FILES CMakeLists.txt DESTINATION foo COMPONENT test)
-set(CPACK_THREADS 0)
+set(CPACK_THREADS 4)
if(PACKAGING_TYPE STREQUAL "COMPONENT")
set(CPACK_COMPONENTS_ALL test)

View File

@ -0,0 +1,62 @@
From 635ab930f6185d1ec3e4d99109e2edf0533b0d00 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
Date: Wed, 23 Jun 2021 21:03:15 +0200
Subject: [PATCH] testDynamicLoader: Use LIBDL_SO macro if defined.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Starting with glibc v2.34 there is no external version of libdl.so
anymore. It has been merged into the glibc libc.so.
Assuming libdl.so will be present will break the test, thus the
LIBDL_SO macro should be used. If the macro is not defined on
the system, we ensure it will be defined using the previously
hardcoded value.
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
---
cmake-3.20.4/Source/kwsys/testDynamicLoader.cxx | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
Index: cmake-3.21.0-rc1/Source/kwsys/testDynamicLoader.cxx
===================================================================
--- cmake-3.21.0-rc1.orig/Source/kwsys/testDynamicLoader.cxx
+++ cmake-3.21.0-rc1/Source/kwsys/testDynamicLoader.cxx
@@ -8,6 +8,25 @@
# include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+// Needed for __GLIBC__ test macro.
+#ifdef __linux__
+# include <features.h>
+#endif
+
+// Will define LIBDL_SO macro on systems with glibc.
+#ifdef __GLIBC__
+# include <gnu/lib-names.h>
+// Define to LIBC_SO, if not defined by above header.
+# ifndef LIBDL_SO
+# define LIBDL_SO LIBC_SO
+# endif
+#endif
+
+// Define the LIBDL_SO macro, if not defined above.
+#ifndef LIBDL_SO
+# define LIBDL_SO "libdl.so"
+#endif
+
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
@@ -107,8 +126,8 @@ int testDynamicLoader(int argc, char* ar
// This one is actually fun to test, since dlopen is by default
// loaded...wonder why :)
res += TestDynamicLoader("foobar.lib", "dlopen", 0, 1, 0);
- res += TestDynamicLoader("libdl.so", "dlopen", 1, 1, 1);
- res += TestDynamicLoader("libdl.so", "TestDynamicLoader", 1, 0, 1);
+ res += TestDynamicLoader(LIBDL_SO, "dlopen", 1, 1, 1);
+ res += TestDynamicLoader(LIBDL_SO, "TestDynamicLoader", 1, 0, 1);
#endif
// Now try on the generated library
std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload");

View File

@ -0,0 +1,22 @@
Index: cmake-3.18.0-rc1/Modules/FindRuby.cmake
===================================================================
--- cmake-3.18.0-rc1.orig/Modules/FindRuby.cmake
+++ cmake-3.18.0-rc1/Modules/FindRuby.cmake
@@ -289,14 +289,9 @@ if(Ruby_EXECUTABLE AND NOT Ruby_VERSION_
_RUBY_CONFIG_VAR("sitearchdir" Ruby_SITEARCH_DIR)
_RUBY_CONFIG_VAR("sitelibdir" Ruby_SITELIB_DIR)
- # vendor_ruby available ?
- execute_process(COMMAND ${Ruby_EXECUTABLE} -r vendor-specific -e "print 'true'"
- OUTPUT_VARIABLE Ruby_HAS_VENDOR_RUBY ERROR_QUIET)
-
- if(Ruby_HAS_VENDOR_RUBY)
- _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR)
- _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR)
- endif()
+ # vendor_ruby
+ _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR)
+ _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR)
# save the results in the cache so we don't have to run ruby the next time again
set(Ruby_VERSION_MAJOR ${Ruby_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE)

9
SOURCES/cmake-init.el Normal file
View File

@ -0,0 +1,9 @@
;;
;; Setup cmake-mode for autoloading
;;
(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake listfiles." t)
(setq auto-mode-alist
(append
'(("CMakeLists\\.txt\\'" . cmake-mode))
'(("\\.cmake\\'" . cmake-mode))
auto-mode-alist))

View File

@ -0,0 +1,21 @@
Index: cmake-3.17.0-rc1/Modules/Platform/Windows-GNU.cmake
===================================================================
--- cmake-3.17.0-rc1.orig/Modules/Platform/Windows-GNU.cmake
+++ cmake-3.17.0-rc1/Modules/Platform/Windows-GNU.cmake
@@ -25,12 +25,14 @@ endif()
if(MINGW)
set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a" ".lib")
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
set(CMAKE_C_STANDARD_LIBRARIES_INIT "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32")
set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+ set(CMAKE_DL_LIBS "dl")
+else()
+ set(CMAKE_DL_LIBS "")
endif()
-set(CMAKE_DL_LIBS "")
set(CMAKE_LIBRARY_PATH_FLAG "-L")
set(CMAKE_LINK_LIBRARY_FLAG "-l")
set(CMAKE_LINK_DEF_FILE_FLAG "") # Empty string: passing the file is enough

3
SOURCES/cmake.attr Normal file
View File

@ -0,0 +1,3 @@
%__cmake_provides %{_rpmconfigdir}/cmake.prov
%__cmake_requires %{_rpmconfigdir}/cmake.req
%__cmake_path ^(%{_libdir}|%{_datadir})/cmake/.*/.*(Config\.cmake|-config\.cmake)$

82
SOURCES/cmake.prov Normal file
View File

@ -0,0 +1,82 @@
#!/usr/bin/python3
# -*- coding:utf-8 -*-
#
# Copyright (C) 2015 Daniel Vrátil <dvratil@redhat.com>
# Copyright (C) 2017 Daniel Vrátil <dvratil@fedoraproject.org>
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
import sys
import re
import glob
class CMakeParser:
def __init__(self, filelist = None):
if filelist == None:
filelist = sys.stdin
paths = map(lambda x: x.rstrip(), filelist.readlines())
for path in paths:
modulePath, cmakeModule, lowercase = self.parseCmakeModuleConfig(path)
if modulePath and cmakeModule:
version = self.resolveCMakeModuleVersion(modulePath, cmakeModule, lowercase)
if version:
string = "cmake(" + cmakeModule + ") = " + version
else:
string = "cmake(" + cmakeModule + ")"
if string == string.lower():
print(string)
else:
# Temporarily print both variants to satisfy requires
# by the old version of this generator which made mistakes
print(string)
print(string.lower())
def parseCmakeModuleConfig(self, configFile):
paths = configFile.rsplit("/", 3)
modulePath = "%s/cmake/%s" % (paths[0], paths[2])
cfgFile = paths[3]
if cfgFile.endswith("Config.cmake"):
return (modulePath, cfgFile[0:-len("Config.cmake")], False)
elif cfgFile.endswith("-config.cmake"):
return (modulePath, cfgFile[0:-len("-config.cmake")], True)
else:
return (None, None, False)
def resolveCMakeModuleVersion(self, modulePath, cmakeModule, lowercase):
versionFile = ("%s/%s-config-version.cmake" if lowercase else "%s/%sConfigVersion.cmake") % (modulePath, cmakeModule)
try:
f = open(versionFile, 'r')
except:
return None
for line in f:
line = line.strip()
# set(PACKAGE_VERSION <version>)
version = re.match(r"^set[\ ]*\([\ ]*PACKAGE_VERSION[\ ]+[\"]*([0-9\.]+)[\"]*[\ ]*[.]*\)", line)
if version:
return version.groups(1)[0]
return None
if __name__ == "__main__":
parser = CMakeParser()

70
SOURCES/cmake.req Normal file
View File

@ -0,0 +1,70 @@
#!/usr/bin/python3
# -*- coding:utf-8 -*-
#
# Copyright (C) 2017 Björn Esser <besser82@fedoraproject.org>
#
# based on cmake.prov, which is
# Copyright (C) 2015 Daniel Vrátil <dvratil@redhat.com>
# Copyright (C) 2017 Daniel Vrátil <dvratil@fedoraproject.org>
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
import sys
import re
import subprocess
class CMakeParser:
def __init__(self, filelist = None):
if filelist == None:
filelist = sys.stdin
has_module = False
is_arched = False
isa_suf = subprocess.check_output(["/usr/bin/rpm", "-E %{?_isa}"]).decode().strip()
paths = map(lambda x: x.rstrip(), filelist.readlines())
for path in paths:
modulePath, cmakeModule, lowercase = self.parseCmakeModuleConfig(path)
if modulePath and cmakeModule:
has_module = True
if re.match(".*/usr/lib(64)?/cmake/.*", modulePath):
is_arched = True
if has_module:
if is_arched:
print("cmake-filesystem%s" % isa_suf)
else:
print("cmake-filesystem")
def parseCmakeModuleConfig(self, configFile):
paths = configFile.rsplit("/", 3)
modulePath = "%s/cmake/%s" % (paths[0], paths[2])
cfgFile = paths[3]
if cfgFile.endswith("Config.cmake"):
return (modulePath, cfgFile[0:-len("Config.cmake")], False)
elif cfgFile.endswith("-config.cmake"):
return (modulePath, cfgFile[0:-len("-config.cmake")], True)
else:
return (None, None, False)
if __name__ == "__main__":
parser = CMakeParser()

62
SOURCES/macros.cmake Normal file
View File

@ -0,0 +1,62 @@
#
# Macros for cmake
#
%_cmake_lib_suffix64 -DLIB_SUFFIX=64
%_cmake_shared_libs -DBUILD_SHARED_LIBS:BOOL=ON
%_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON
%_cmake_version @@CMAKE_VERSION@@
%__cmake /usr/bin/cmake
%__ctest /usr/bin/ctest
%__cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
# - Set default compile flags
# - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables
# and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS
# - Turn on verbose makefiles so we can see and verify compile flags
# - Turn off stripping by default so RPM can do it separately
# - Set default install prefixes and library install directories
# - Turn on shared libraries by default
%cmake \
%if 0%{?set_build_flags:1} \
%set_build_flags \
%else \
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; \
FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS ; \
%{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \
%endif \
%__cmake \\\
%{!?__cmake_in_source_build:-S "%{_vpath_srcdir}"} \\\
%{!?__cmake_in_source_build:-B "%{__cmake_builddir}"} \\\
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
-DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
-DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
%if "%{?_lib}" == "lib64" \
%{?_cmake_lib_suffix64} \\\
%endif \
%{?_cmake_shared_libs}
%cmake_build \
%__cmake --build "%{__cmake_builddir}" %{?_smp_mflags} --verbose
%cmake_install \
DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}"
%ctest(:-:) \
cd "%{__cmake_builddir}" \
%__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} \
cd -
%cmake@@CMAKE_MAJOR_VERSION@@ %cmake
%cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build
%cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install
%ctest@@CMAKE_MAJOR_VERSION@@(:-:) %ctest %{**}

1733
SPECS/cmake.spec Normal file

File diff suppressed because it is too large Load Diff