diff --git a/.cmake.metadata b/.cmake.metadata index fb9ec03..559078a 100644 --- a/.cmake.metadata +++ b/.cmake.metadata @@ -1 +1 @@ -c2441ed6e00ba2c5ad0b7cd06afa8057769b9c1b SOURCES/cmake-3.24.2.tar.gz +7e75b96ea2ca80cc70af6223e094495da3efc03c SOURCES/cmake-3.28.1.tar.gz diff --git a/SOURCES/macros.cmake.in b/SOURCES/macros.cmake.in new file mode 100644 index 0000000..5c9307a --- /dev/null +++ b/SOURCES/macros.cmake.in @@ -0,0 +1,54 @@ +# +# 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 \ + %{set_build_flags} \ + %__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(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \ + %__ctest --test-dir "%{__cmake_builddir}" --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} + + +%cmake@@CMAKE_MAJOR_VERSION@@ %cmake +%cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build +%cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install +%ctest@@CMAKE_MAJOR_VERSION@@(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \ + %ctest %{**} diff --git a/SPECS/cmake.spec b/SPECS/cmake.spec index a8518e5..aa0c827 100644 --- a/SPECS/cmake.spec +++ b/SPECS/cmake.spec @@ -16,8 +16,8 @@ # Run git tests %bcond_without git_test -# Set to bcond_with or use --without gui to disable qt4 gui build -%bcond_without gui +# Set to bcond_with or use --without gui to disable qt gui build +%bcond_with gui # Use ncurses for colorful output %bcond_without ncurses @@ -32,7 +32,7 @@ # Enable RPM dependency generators for cmake files written in Python %bcond_without rpm -%bcond_without sphinx +%bcond_with sphinx %if !0%{?rhel} %bcond_with bundled_jsoncpp @@ -42,6 +42,10 @@ %bcond_without bundled_rhash %endif +# cppdap is currently shipped as a static lib from upstream, +# so we do not have it in the repos. +%bcond_without bundled_cppdap + # Run tests %bcond_without test @@ -49,7 +53,10 @@ %bcond_without X11_test # Do not build non-lto objects to reduce build time significantly. -%global optflags %(echo '%{optflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') +%global build_cflags %(echo '%{build_cflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') +%global build_cxxflags %(echo '%{build_cxxflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') +%global build_fflags %(echo '%{build_fflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') +%global build_fcflags %(echo '%{build_fflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') # Place rpm-macros into proper location %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) @@ -61,22 +68,30 @@ %{!?_vpath_builddir:%global _vpath_builddir %{_target_platform}} %global major_version 3 -%global minor_version 24 -# Set to RC version if building RC, else %%{nil} -#global rcsuf %%{nil} -%{?rcsuf:%global relsuf .%{rcsuf}} -%{?rcsuf:%global versuf -%{rcsuf}} +%global minor_version 28 +%global patch_version 1 # For handling bump release by rpmdev-bumpspec and mass rebuild %global baserelease 1 +# Set to RC version if building RC, else comment out. +#global rcsuf rc1 + +%if 0%{?rcsuf:1} +%global pkg_version %{major_version}.%{minor_version}.%{patch_version}~%{rcsuf} +%global tar_version %{major_version}.%{minor_version}.%{patch_version}-%{rcsuf} +%else +%global pkg_version %{major_version}.%{minor_version}.%{patch_version} +%global tar_version %{major_version}.%{minor_version}.%{patch_version} +%endif + # Uncomment if building for EPEL #global name_suffix %%{major_version} %global orig_name cmake Name: %{orig_name}%{?name_suffix} -Version: %{major_version}.%{minor_version}.2 -Release: %{baserelease}%{?relsuf}%{?dist} +Version: %{pkg_version} +Release: %{baserelease}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -84,11 +99,11 @@ Summary: Cross-platform make system # Source/kwsys/MD5.c is zlib # some GPL-licensed bison-generated files, which all include an # exception granting redistribution under terms of your choice -License: BSD and MIT and zlib +License: BSD-3-Clause AND MIT-open-group AND Zlib%{?with_bundled_cppdap: AND Apache-2.0} URL: http://www.cmake.org -Source0: http://www.cmake.org/files/v%{major_version}.%{minor_version}/%{orig_name}-%{version}%{?versuf}.tar.gz +Source0: http://www.cmake.org/files/v%{major_version}.%{minor_version}/%{orig_name}-%{tar_version}.tar.gz Source1: %{name}-init.el -Source2: macros.%{name} +Source2: macros.%{name}.in # See https://bugzilla.redhat.com/show_bug.cgi?id=1202899 Source3: %{name}.attr Source4: %{name}.prov @@ -102,17 +117,10 @@ Source5: %{name}.req # http://public.kitware.com/Bug/view.php?id=12965 # https://bugzilla.redhat.com/show_bug.cgi?id=822796 Patch100: %{name}-findruby.patch -# replace release flag -O3 with -O2 for fedora -%if 0%{?fedora} && 0%{?fedora} < 34 -Patch101: %{name}-fedora-flag_release.patch -%endif -# Add dl to CMAKE_DL_LIBS on MINGW -# https://gitlab.kitware.com/cmake/cmake/issues/17600 -Patch102: %{name}-mingw-dl.patch # Patch for renaming on EPEL %if 0%{?name_suffix:1} -Patch1: %{name}-rename.patch +Patch1: %{name}-rename.patch %endif BuildRequires: coreutils @@ -138,6 +146,11 @@ BuildRequires: %{_bindir}/sphinx-build %if %{without bootstrap} BuildRequires: bzip2-devel BuildRequires: curl-devel +%if %{with bundled_cppdap} +Provides: bundled(cppdap) +%else +BuildRequires: cppdap-devel +%endif BuildRequires: expat-devel %if %{with bundled_jsoncpp} Provides: bundled(jsoncpp) @@ -172,7 +185,9 @@ BuildRequires: python2-devel %endif %endif %if %{with gui} -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 9 +BuildRequires: pkgconfig(Qt6Widgets) +%elif 0%{?rhel} > 7 BuildRequires: pkgconfig(Qt5Widgets) %else BuildRequires: pkgconfig(QtGui) @@ -190,7 +205,7 @@ BuildRequires: %{name}-rpm-macros BuildRequires: make Requires: %{name}-data = %{version}-%{release} -Requires: %{name}-rpm-macros = %{version}-%{release} +Requires: (%{name}-rpm-macros = %{version}-%{release} if rpm-build) Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} # Explicitly require make. (rhbz#1862014) @@ -219,7 +234,7 @@ generation, code generation, and template instantiation. Summary: Common data-files for %{name} Requires: %{name} = %{version}-%{release} Requires: %{name}-filesystem = %{version}-%{release} -Requires: %{name}-rpm-macros = %{version}-%{release} +Requires: (%{name}-rpm-macros = %{version}-%{release} if rpm-build) %if %{with emacs} %if 0%{?fedora} || 0%{?rhel} >= 7 Requires: emacs-filesystem%{?_emacs_version: >= %{_emacs_version}} @@ -274,7 +289,7 @@ This package contains common RPM macros for %{name}. %prep -%autosetup -n %{orig_name}-%{version}%{?versuf} -p 1 +%autosetup -n %{orig_name}-%{tar_version} -p 1 %if %{with rpm} %if %{with python3} @@ -290,15 +305,7 @@ tail -n +2 %{SOURCE5} >> %{name}.req %build -%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 SRCDIR="$(/usr/bin/pwd)" mkdir %{_vpath_builddir} pushd %{_vpath_builddir} @@ -308,6 +315,9 @@ $SRCDIR/bootstrap --prefix=%{_prefix} \ --mandir=/share/man \ --%{?with_bootstrap:no-}system-libs \ --parallel="$(echo %{?_smp_mflags} | sed -e 's|-j||g')" \ +%if %{with bundled_cppdap} + --no-system-cppdap \ +%endif %if %{with bundled_rhash} --no-system-librhash \ %endif @@ -368,6 +378,10 @@ do dname=$(basename $dir) cp -p $f ./${fname}_${dname} done +%if %{with bundled_cppdap} +cp -p Utilities/cmcppdap/LICENSE LICENSE.cppdap +cp -p Utilities/cmcppdap/NOTICE NOTICE.cppdap +%endif # Cleanup pre-installed documentation %if %{with sphinx} mv %{buildroot}%{_docdir}/%{name}/html . @@ -443,22 +457,24 @@ find %{buildroot}%{_bindir} -type f -or -type l -or -xtype l | \ %if %{with test} %check pushd %{_vpath_builddir} -# CTestTestUpload, BundleUtilities, ExternalProject, and CTest.UpdateGIT require internet access -# CPackComponentsForAll-RPM-IgnoreGroup failing wih rpm 4.15 - https://gitlab.kitware.com/cmake/cmake/issues/19983 -NO_TEST="CTestTestUpload|BundleUtilities|ExternalProject|CTest.UpdateGIT" -# Likely failing for GCC 12 -NO_TEST="$NO_TEST|CustomCommand|CMakeLib.testCTestResourceAllocator" -NO_TEST="$NO_TEST|CMakeLib.testCTestResourceSpec|RunCMake.PositionIndependentCode" -# kwsys.testProcess-{4,5} are flaky on s390x. -%ifarch s390x -NO_TEST="$NO_TEST|kwsys.testProcess-4|kwsys.testProcess-5" -%endif +# CTestTestUpload requires internet access. +NO_TEST="CTestTestUpload" +# Likely failing for hardening flags from system. +NO_TEST="$NO_TEST|CustomCommand|RunCMake.PositionIndependentCode" +# Failing for rpm 4.19 +NO_TEST="$NO_TEST|CPackComponentsForAll-RPM-default" +NO_TEST="$NO_TEST|CPackComponentsForAll-RPM-OnePackPerGroup" +NO_TEST="$NO_TEST|CPackComponentsForAll-RPM-AllInOne" # curl test may fail during bootstrap %if %{with bootstrap} NO_TEST="$NO_TEST|curl" %endif +%ifarch riscv64 +# These three tests timeout on riscv64, skip them. +NO_TEST="$NO_TEST|Qt5Autogen.ManySources|Qt5Autogen.MocInclude|Qt5Autogen.MocIncludeSymlink" +%endif bin/ctest%{?name_suffix} %{?_smp_mflags} -V -E "$NO_TEST" --output-on-failure -## do this only periodically, not for every build -- rdieter 20210429 +## do this only periodically, not for every build -- besser82 20221102 # Keep an eye on failing tests #bin/ctest%{?name_suffix} %{?_smp_mflags} -V -R "$NO_TEST" --output-on-failure || : popd @@ -469,6 +485,10 @@ popd %doc %dir %{_pkgdocdir} %license Copyright.txt* %license COPYING* +%if %{with bundled_cppdap} +%license LICENSE.cppdap +%license NOTICE.cppdap +%endif %if %{with sphinx} %{_mandir}/man1/c%{name}.1.* %{_mandir}/man1/%{name}.1.* @@ -529,6 +549,201 @@ popd %changelog +* Sat Oct 07 2023 Björn Esser - 3.27.7-1 +- cmake-3.27.7 + Fixes rhbz#2242491 + +* Tue Oct 03 2023 Björn Esser - 3.27.6-2 +- Include new upstream patches + +* Wed Sep 27 2023 Björn Esser - 3.27.6-1 +- cmake-3.27.6 + Fixes rhbz#2239015, rhbz#2240311 +- Include new upstream patch + +* Fri Sep 15 2023 Björn Esser - 3.27.5-1 +- cmake-3.27.5 + Fixes rhbz#2239015 + +* Fri Sep 15 2023 Björn Esser - 3.27.4-9 +- Fix CI failure finally + +* Thu Sep 14 2023 Björn Esser - 3.27.4-8 +- Fix CI failure + +* Thu Sep 14 2023 Björn Esser - 3.27.4-7 +- Add upstream patches from milestone to cmake-3.27.5 + +* Wed Sep 06 2023 Panu Matilainen - 3.27.4-6 +- Only require cmake-rpm-macros when rpm-build is installed part II + +* Sat Sep 02 2023 Tom Stellard - 3.27.4-5 +- Convert license to SPDX + +* Fri Sep 01 2023 Björn Esser - 3.27.4-4 +- Fix outdated CI configuration + +* Thu Aug 31 2023 Panu Matilainen - 3.27.4-3 +- Only require cmake-rpm-macros when rpm-build is installed + +* Mon Aug 28 2023 Björn Esser - 3.27.4-2 +- Add upstream patch to fix linking non-builtin libatomic on some arches + +* Thu Aug 24 2023 Björn Esser - 3.27.4-1 +- cmake-3.27.4 + Fixes rhbz#2233852 + +* Thu Aug 17 2023 Björn Esser - 3.27.3-1 +- cmake-3.27.3 + Fixes rhbz#2232421 + +* Thu Aug 10 2023 Björn Esser - 3.27.2-1 +- cmake-3.27.2 + Fixes rhbz#2231131 + +* Tue Jul 25 2023 Björn Esser - 3.27.1-1 +- cmake-3.27.1 + Fixes rhbz#2226276 + +* Wed Jul 19 2023 Fedora Release Engineering - 3.27.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 Björn Esser - 3.27.0-1 +- cmake-3.27.0 + Fixes rhbz#2223754 + +* Fri Jul 14 2023 Björn Esser - 3.27.0~rc5-1 +- cmake-3.27.0-rc5 + Fixes rhbz#2222977 + +* Thu Jul 06 2023 Björn Esser - 3.27.0~rc4-2 +- Fix FTBFS for redhat-rpm-config v260 and later +- Re-include tests that were failing with rc1 + +* Fri Jun 30 2023 Björn Esser - 3.27.0~rc4-1 +- cmake-3.27.0-rc4 + Fixes rhbz#2218941 + +* Tue Jun 20 2023 Björn Esser - 3.27.0~rc3-1 +- cmake-3.27.0-rc3 + Fixes rhbz#2214407 + +* Mon Jun 19 2023 Björn Esser - 3.27.0~rc2-2 +- Backport some upstream patches which will be included in rc3 + +* Mon Jun 12 2023 Björn Esser - 3.27.0~rc2-1 +- cmake-3.27.0-rc2 + +* Thu Jun 08 2023 Björn Esser - 3.27.0~rc1-1 +- cmake-3.27.0-rc1 +- Use CMake-provided cppdap +- Add licensing information for cppdap to packaged files if needed +- Exclude tests that started failing + +* Thu Jun 01 2023 Björn Esser - 3.26.4-4 +- Backport several bugfixes and support for Boost v1.82 from upstream + +* Sat May 27 2023 Björn Esser - 3.26.4-3 +- Rename macros.cmake -> macros.cmake.in +- macros: Fix formatting and indentation +- macros: Directly use %%set_build_flags, as it is supported since EPEL 7 +- Exclude tests that are failing for rpm 4.19 + +* Fri May 19 2023 Neal Gompa - 3.26.4-2 +- macros: Use the language build flag macros for compiler flags + +* Fri May 19 2023 Björn Esser - 3.26.4-1 +- cmake-3.26.4 + Fixes rhbz#2208383 + +* Mon May 08 2023 Björn Esser - 3.26.3-3 +- Build cmake-gui with Qt6 + +* Fri May 05 2023 Nianqing Yao - 3.26.3-2 +- Fix build on riscv64 + +* Wed Apr 05 2023 Björn Esser - 3.26.3-1 +- cmake-3.26.3 + Fixes rhbz#2184478 + +* Thu Mar 30 2023 Björn Esser - 3.26.2-1 +- cmake-3.26.2 + Fixes rhbz#2182863 + +* Thu Mar 23 2023 Björn Esser - 3.26.1-1 +- cmake-3.26.1 + Fixes rhbz#2181278 + +* Tue Mar 14 2023 Björn Esser - 3.26.0-1 +- cmake-3.26.0 + Fixes rhbz#2178221 + +* Thu Mar 09 2023 Björn Esser - 3.26.0~rc6-1 +- cmake-3.26.0-rc6 + Fixes rhbz#2176581 + +* Wed Mar 01 2023 Björn Esser - 3.26.0~rc5-1 +- cmake-3.26.0-rc5 + +* Wed Feb 22 2023 Björn Esser - 3.26.0~rc4-1 +- cmake-3.26.0-rc4 + Fixes rhbz#2172604 + +* Wed Feb 15 2023 Björn Esser - 3.26.0~rc3-1 +- cmake-3.26.0-rc3 + Fixes rhbz#2170100 + +* Thu Feb 09 2023 Björn Esser - 3.26.0~rc2-1 +- cmake-3.26.0-rc2 + Fixes rhbz#2167064 + +* Thu Jan 19 2023 Björn Esser - 3.25.2-1 +- cmake-3.25.2 + Fixes rhbz#2162459 + +* Thu Jan 19 2023 Fedora Release Engineering - 3.25.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 15 2023 Björn Esser - 3.25.1-3 +- Backport upstream patch for Boost v1.81 support + +* Fri Jan 13 2023 Neal Gompa - 3.25.1-2 +- Adjust ctest macro to use native out-of-tree support + +* Mon Dec 05 2022 Björn Esser - 3.25.1-1 +- cmake-3.25.1 + Fixes rhbz#2149681 + +* Wed Nov 16 2022 Björn Esser - 3.25.0-1 +- cmake-3.25.0 + Fixes rhbz#2143345 + +* Wed Nov 09 2022 Björn Esser - 3.25.0-0.6.rc4 +- cmake-3.25.0-rc4 + Fixes rhbz#2141122 + +* Wed Nov 02 2022 Björn Esser - 3.25.0-0.5.rc3 +- Re-enable BundleUtilities, CMakeLib.testCTestResourceAllocator, + CMakeLib.testCTestResourceSpec, CTest.UpdateGIT, ExternalProject + during testsuite run +- Re-enable kwsys.testProcess-{4,5} on s390x + +* Wed Nov 02 2022 Björn Esser - 3.25.0-0.4.rc3 +- cmake-3.25.0-rc3 + Fixes rhbz#2062783 + +* Sun Oct 30 2022 Björn Esser - 3.25.0-0.3.rc2 +- Allow valid short arguments for %%ctest macro + Fixes rhbz#2127650 + +* Sun Oct 30 2022 Björn Esser - 3.25.0-0.2.rc2 +- Drop non-upstream CMAKE_DL_LIBS windows patch + Fixes rhbz#2127529 + +* Sat Oct 29 2022 Björn Esser - 3.25.0-0.1.rc2 +- cmake-3.25.0-rc2 + Fixes rhbz#2062783 + * Sat Oct 29 2022 Björn Esser - 3.24.2-1 - cmake-3.24.2