%define shortVersion %(echo %{version} | cut -d. -f1,2) %define majorVersion %(echo %{version} | cut -d. -f1) %bcond_with bootstrap %define with_tests 0 #comment out if not prerel #define prerel rc3 #release for bumping %define rel 3 Name: cmake Summary: Cross-platform, open-source make system Version: 3.7.2 Release: %mkrel %{?prerel:0.%prerel.}%{rel} License: BSD Group: Development/Other Epoch: 1 Url: http://www.cmake.org/ Source0: http://www.cmake.org/files/v%{shortVersion}/%{name}-%{version}%{?prerel:-%prerel}.tar.gz Source1: cmake.macros # See https://bugzilla.redhat.com/show_bug.cgi?id=1202899 Source3: cmake.attr Source4: cmake.prov Patch3: 0003-Disable-Test198.patch BuildRequires: bzip2-devel BuildRequires: coin-devel BuildRequires: expat-devel BuildRequires: gcc-gfortran BuildRequires: idn-devel BuildRequires: jsoncpp-devel BuildRequires: libarchive-devel BuildRequires: libcurl-devel BuildRequires: libuv-devel BuildRequires: ncurses-devel BuildRequires: perl BuildRequires: xz BuildRequires: zlib-devel %if ! %with bootstrap BuildRequires: qt5widgets-devel %endif # Needed for test suite. BuildRequires: cxxtest Requires: rpm-mageia-setup Requires: %{name}-rpm-macros Conflicts: %{name}-rpm-macros < 1:3.5.2-4 Provides: %{name}%{majorVersion} = %{version}-%{release} %description CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation. %files %_bindir/cmake %_bindir/ccmake %_bindir/ctest %_bindir/cpack %_datadir/%{name} %_datadir/aclocal/cmake.m4 %_datadir/bash-completion/completions/* %_sysconfdir/emacs/site-start.d/%{name}.el %_datadir/vim/*/* %_datadir/emacs/site-lisp/cmake-mode.el %dir %_libdir/%name #----------------------------------------------------------------------------- %package -n %{name}-rpm-macros Summary: Rpms macros for cmake Group: Development/Other Conflicts: %{name} < 1:3.5.2-3 %description -n %{name}-rpm-macros Rpms macros for cmake. This package provide rpm autoprovide script. %files -n %{name}-rpm-macros %_sysconfdir/rpm/macros.d/* %{_prefix}/lib/rpm/fileattrs/cmake.attr %{_prefix}/lib/rpm/cmake.prov #----------------------------------------------------------------------------- %if ! %with bootstrap %package -n %{name}-qtgui Summary: Qt GUI Dialog for CMake - the Cross-platform, open-source make system Group: Development/Other Requires: %name %description -n %{name}-qtgui CMake is used to control the software compilation process using simple platform and compiler independent configuration files. This is the Qt GUI. %files -n %{name}-qtgui %_bindir/cmake-gui %_datadir/applications/CMake.desktop %_datadir/mime/packages/cmakecache.xml %_iconsdir/*/*/*/*.png %endif #----------------------------------------------------------------------------- %prep %setup -q -n %{name}-%{version}%{?prerel:-%prerel} %autopatch -p1 # Don't try to automagically find files in /usr/X11R6 # But also don't change a prefix if it is not /usr perl -pi -e 's@^\s+/usr/X11R6/.*\n@@' Modules/*.cmake %ifarch %arm # bootstrap test is taking ages on arm sed -i -e 's!SET(CMAKE_LONG_TEST_TIMEOUT 1500)!SET(CMAKE_LONG_TEST_TIMEOUT 7200)!g' Tests/CMakeLists.txt %endif %build mkdir -p build cd build %setup_compile_flags ../configure \ --system-libs \ --parallel="%_smp_mflags" \ --prefix=%{_prefix} \ --datadir=/share/%{name} \ --mandir=/share/man \ --docdir=/share/doc/%{name} \ %if ! %with bootstrap --qt-gui %endif %make %install %makeinstall_std -C build # cmake mode for emacs install -m644 Auxiliary/cmake-mode.el -D %buildroot%_datadir/emacs/site-lisp/cmake-mode.el install -d %buildroot%_sysconfdir/emacs/site-start.d cat <<EOF >%buildroot%_sysconfdir/emacs/site-start.d/%{name}.el (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path)) (require 'cmake-mode) (setq auto-mode-alist (append '(("CMakeLists\\\\.txt\\\\'" . cmake-mode) ("\\\\.cmake\\\\'" . cmake-mode)) auto-mode-alist)) EOF # Create/Own this dir as this is used in cmake dependant rpms but not own by any mkdir -p %buildroot%_libdir/%name # RPM macros install -D -p -m644 %{_sourcedir}/cmake.macros %buildroot%_sysconfdir/rpm/macros.d/cmake.macros # RPM auto provides install -D -p -m644 %{_sourcedir}/cmake.attr %{buildroot}%{_prefix}/lib/rpm/fileattrs/cmake.attr install -D -p -m755 %{_sourcedir}/cmake.prov %{buildroot}%{_prefix}/lib/rpm/cmake.prov # cmake mode for vim install -D -p -m644 Auxiliary/vim/syntax/cmake.vim %buildroot%_datadir/vim/syntax/cmake.vim install -D -p -m644 Auxiliary/vim/indent/cmake.vim %buildroot%_datadir/vim/indent/cmake.vim # bash-completion install -D -p -m644 Auxiliary/bash-completion/cmake %buildroot%_datadir/bash-completion/completions/cmake install -D -p -m644 Auxiliary/bash-completion/cpack %buildroot%_datadir/bash-completion/completions/cpack install -D -p -m644 Auxiliary/bash-completion/ctest %buildroot%_datadir/bash-completion/completions/ctest # There are some stray Copyright.txt files there sometimes. rm -fr %buildroot/usr/share/doc/cmake %if %with_tests %check unset DISPLAY cd build bin/ctest -V -E ModuleNotices -E 'CMake.(HTML|FileDownload)' -E CTestTestUpload %{?_smp_mflags} %endif %changelog * Fri Jun 09 2017 akien <akien> 1:3.7.2-3.mga6 + Revision: 1107391 - Provide cmake3 to reduce diff with Fedora packaging * Wed Jan 18 2017 wally <wally> 1:3.7.2-2.mga6 + Revision: 1082329 - drop old enable_debug macro definitions from %%cmake macro * Tue Jan 17 2017 wally <wally> 1:3.7.2-1.mga6 + Revision: 1082162 - new version 3.7.2 * Mon Jan 02 2017 akien <akien> 1:3.7.1-2.mga6 + Revision: 1079574 - Rebuild for libjsoncpp changed soname * Sun Jan 01 2017 wally <wally> 1:3.7.1-1.mga6 + Revision: 1079111 - new version 3.7.1 - BR libuv-devel * Fri Dec 30 2016 wally <wally> 1:3.5.2-5.mga6 + Revision: 1078690 - add %%_cmake_disable_intree_build macro and enable it by default for now (so we can later, maybe for mga7, disable it and do intree builds by default) * Fri Dec 30 2016 wally <wally> 1:3.5.2-4.mga6 + Revision: 1078662 - move non rpm related files to main pkg from cmake-rpm-macros * Fri May 06 2016 neoclust <neoclust> 1:3.5.2-3.mga6 + Revision: 1009750 - Split rpm macros / autoprov out of cmake main rpm * Wed Apr 20 2016 daviddavid <daviddavid> 1:3.5.2-2.mga6 + Revision: 1003695 - rebuild for arm due to an invalid build error * Tue Apr 19 2016 daviddavid <daviddavid> 1:3.5.2-1.mga6 + Revision: 1003612 - new version: 3.5.2 * Fri Mar 25 2016 neoclust <neoclust> 1:3.5.1-1.mga6 + Revision: 995475 - New version 3.5.1 * Sat Mar 19 2016 wally <wally> 1:3.5.0-1.mga6 + Revision: 992915 - new version 3.5.0 - drop unneeded Fix-FLTK-Find-path.patch * Wed Jan 20 2016 wally <wally> 1:3.4.2-1.mga6 + Revision: 926122 - new version 3.4.2 * Sun Jan 03 2016 wally <wally> 1:3.4.1-9.mga6 + Revision: 919054 - remove '-O2 -g' (and only keep -DNDEBUG) from RELWITHDEBINFO flags, since this is already in our C[XX]FLAGS and would prevent overriding them (originally from blino) - create %%_cmake_module_linker_flags rpm macro for the default CMAKE_MODULE_LINKER_FLAGS flags - create %%_cmake_module_linker_flags_extra rpm macro for additional flags besides the default flags * Sun Dec 27 2015 neoclust <neoclust> 1:3.4.1-8.mga6 + Revision: 916150 - Add prov file back in cmake * Sun Dec 27 2015 wally <wally> 1:3.4.1-7.mga6 + Revision: 916026 - move cmake.prov and cmake.attr to rpm-mageia-setup-build * Sun Dec 27 2015 wally <wally> 1:3.4.1-6.mga6 + Revision: 915905 - find cmake() provides also from /usr/share/cmake/ * Sun Dec 27 2015 neoclust <neoclust> 1:3.4.1-5.mga6 + Revision: 915855 - Use python2 for cmake() provides script as python3 is not in the chroot (wally) * Sun Dec 27 2015 neoclust <neoclust> 1:3.4.1-4.mga6 + Revision: 915728 - Add back skip rpath * Sat Dec 26 2015 neoclust <neoclust> 1:3.4.1-3.mga6 + Revision: 915116 - Rebuild with install fix - Add cmake rpm auto-provide file - Remove -DCMAKE_SKIP_RPATH:BOOL=ON from %%cmake macro * Tue Dec 08 2015 wally <wally> 1:3.4.1-1.mga6 + Revision: 908890 - new version 3.4.1 - pass -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON by default to %%cmake macro * Fri Nov 13 2015 neoclust <neoclust> 1:3.4.0-1.mga6 + Revision: 903053 - New version 3.4.0 * Sun Nov 08 2015 wally <wally> 1:3.4.0-0.rc3.1.mga6 + Revision: 898684 - new version 3.4.0 rc3 * Fri Oct 23 2015 wally <wally> 1:3.4.0-0.rc2.1.mga6 + Revision: 894479 - new version 3.4.0 rc2 * Fri Oct 09 2015 wally <wally> 1:3.4.0-0.rc1.1.mga6 + Revision: 888221 - new version 3.4.0 rc1 - force building packages with debug symbols (set the build type to RelWithDebInfo instead of Release with %%cmake macro) * Fri Sep 18 2015 fwang <fwang> 1:3.3.2-1.mga6 + Revision: 880303 - 3.3.2 * Fri Sep 11 2015 blino <blino> 1:3.3.1-5.mga6 + Revision: 878311 - build qtgui with Qt5 instead of Qt4 * Wed Aug 26 2015 fwang <fwang> 1:3.3.1-4.mga6 + Revision: 869529 - update url * Thu Aug 13 2015 neoclust <neoclust> 1:3.3.1-3.mga6 + Revision: 864547 - New version 3.3.1 * Wed Aug 12 2015 shlomif <shlomif> 1:3.3.0-3.mga6 + Revision: 863463 - Rebuild for the new jsoncpp. + neoclust <neoclust> - Rebuild against new jsoncpp-devel * Mon Jul 27 2015 neoclust <neoclust> 1:3.3.0-1.mga6 + Revision: 858221 - New version 3.3.0 - New version 3.3.0 * Wed Oct 15 2014 umeabot <umeabot> 1:3.0.1-5.mga5 + Revision: 743426 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 1:3.0.1-4.mga5 + Revision: 678449 - Mageia 5 Mass Rebuild * Tue Aug 05 2014 neoclust <neoclust> 1:3.0.1-3.mga5 + Revision: 659758 - Rebuild with file list fixed - Add emacs support - Add bash completion support - Add vim config files - New version 3.0.1 * Thu Apr 17 2014 wally <wally> 1:2.8.12.2-3.mga5 + Revision: 615467 - define CMAKE_INSTALL_SYSCONFDIR in %%cmake macro * Sat Feb 08 2014 fwang <fwang> 1:2.8.12.2-2.mga5 + Revision: 586283 - recognize freetype 2.5 * Wed Feb 05 2014 fwang <fwang> 1:2.8.12.2-1.mga5 + Revision: 583186 - new version 2.8.12.2 * Thu Nov 07 2013 blino <blino> 1:2.8.12.1-1.mga4 + Revision: 549884 - 2.8.12.1 * Mon Oct 21 2013 umeabot <umeabot> 1:2.8.12-2.mga4 + Revision: 541066 - Mageia 4 Mass Rebuild * Fri Oct 11 2013 fwang <fwang> 1:2.8.12-1.mga4 + Revision: 495028 - new version 2.8.12 * Thu Jul 04 2013 fwang <fwang> 1:2.8.11.2-1.mga4 + Revision: 450031 - new version 2.8.11.2 * Fri Jun 28 2013 fwang <fwang> 1:2.8.11.1-2.mga4 + Revision: 447739 - rebuild for new libarchive * Mon Jun 10 2013 kamil <kamil> 1:2.8.11.1-1.mga4 + Revision: 441870 - new version 2.8.11.1 * Mon Jun 03 2013 kamil <kamil> 1:2.8.11-3.mga4 + Revision: 435580 - install bash-completion files: cmake, cpack, ctest * Tue May 28 2013 fwang <fwang> 1:2.8.11-2.mga4 + Revision: 429227 - detect new imagemaigck include dir * Sun May 26 2013 neoclust <neoclust> 1:2.8.11-1.mga4 + Revision: 428273 - New version 2.8.11 * Fri Jan 11 2013 umeabot <umeabot> 1:2.8.10.2-5.mga3 + Revision: 347950 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sun Jan 06 2013 mitya <mitya> 1:2.8.10.2-4.mga3 + Revision: 339729 - Provide LIBEXECDIR=%%{_libexecdir} * Fri Dec 28 2012 mitya <mitya> 1:2.8.10.2-3.mga3 + Revision: 335780 - Provide LIBEXECDIR=%%{_libdir} * Mon Dec 17 2012 pterjan <pterjan> 1:2.8.10.2-2.mga3 + Revision: 331959 - Support spaces in _smp_mflags * Wed Nov 28 2012 fwang <fwang> 1:2.8.10.2-1.mga3 + Revision: 322558 - new version 2.8.10.2 * Tue Nov 06 2012 mikala <mikala> 1:2.8.10-1.mga3 + Revision: 314715 - Update tarball to final 2.8.10 * Sat Oct 27 2012 neoclust <neoclust> 1:2.8.10-0.rc3.1.mga3 + Revision: 310598 - New version 2.9.10 rc3 * Sat Aug 11 2012 neoclust <neoclust> 1:2.8.9-1.mga3 + Revision: 280564 - New version 2.8.9 Final * Thu Aug 09 2012 neoclust <neoclust> 1:2.8.9-0.rc3.1.mga3 + Revision: 280075 - New version 2.8.9-rc3 * Fri Jun 08 2012 fwang <fwang> 1:2.8.8-1.mga3 + Revision: 257642 - new version 2.8.8 * Sun Feb 26 2012 shlomif <shlomif> 1:2.8.7-5.mga2 + Revision: 215381 - Updated cmake-2.8.4-xz patch from the Mandriva repository. Applying it again. * Mon Jan 23 2012 dmorgan <dmorgan> 1:2.8.7-4.mga2 + Revision: 200174 - Own %%_libdir/%%name * Tue Jan 17 2012 mikala <mikala> 1:2.8.7-3.mga2 + Revision: 197113 - Remove ugly patch done by me to restore boost detection (the error was in boost packaging) * Wed Jan 04 2012 fwang <fwang> 1:2.8.7-2.mga2 + Revision: 190635 - rebuild for new libarchive * Sat Dec 31 2011 fwang <fwang> 1:2.8.7-1.mga2 + Revision: 189268 - new version 2.8.7 * Sun Oct 09 2011 fwang <fwang> 1:2.8.6-1.mga2 + Revision: 153428 - new version 2.8.6 * Wed Sep 28 2011 fwang <fwang> 1:2.8.6-0.rc4.1.mga2 + Revision: 149962 - new version 2.8.6 rc4 * Wed Sep 14 2011 fwang <fwang> 1:2.8.6-0.rc3.2.mga2 + Revision: 143569 - fix pthread detection * Sat Sep 10 2011 fwang <fwang> 1:2.8.6-0.rc3.1.mga2 + Revision: 142167 - new version 2.8.6 rc3 * Thu Sep 08 2011 mikala <mikala> 1:2.8.6-0.rc2.2.mga2 + Revision: 140979 - Add patch3 to reverse for the moment a change regarding FindBoost.cmake module (which prevent findings boost librairies) * Wed Sep 07 2011 dmorgan <dmorgan> 1:2.8.6-0.rc2.1.mga2 + Revision: 140712 - Remove file moving, the files does not exist anymore - New version 2.8.6 rc2 - New version 2.8.6-rc1 + tv <tv> - fix %%install - fix file list * Sat Jul 09 2011 ahmad <ahmad> 1:2.8.5-1.mga2 + Revision: 120929 - Update to 2.8.5 * Thu Jul 07 2011 ahmad <ahmad> 1:2.8.5-0.rc3.1.mga2 + Revision: 119742 - Update to 2.8.5-rc3 - Change the spec to make it easier to package rc's + kharec <kharec> - just clean the top of spec by tabs, no need to increment rel. * Tue Mar 15 2011 ahmad <ahmad> 1:2.8.4-1.mga1 + Revision: 72094 - update to 2.8.4 * Fri Feb 11 2011 ahmad <ahmad> 1:2.8.3-4.mga1 + Revision: 49945 - drop py27 patch, fixed upstream - use current qt4 Epoch in the qt4-devel BR - remove the mydocs hack, %%doc macro was fixed ages ago * Sun Jan 16 2011 dmorgan <dmorgan> 1:2.8.3-3.mga1 + Revision: 20018 - Rebuild with new cmake * Fri Jan 14 2011 dmorgan <dmorgan> 1:2.8.3-2.mga1 + Revision: 17381 - Bump release - Rebuild cmake with qt4 support now * Tue Jan 11 2011 dmorgan <dmorgan> 1:2.8.3-1.mga1 + Revision: 6287 - Do not build qtgui for now + ahmad <ahmad> - drop old scriptlets and conflicts - require rpm-magei-setup - imported package cmake