diff --git a/.gitignore b/.gitignore index 77a7a02..225731e 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /cmake-2.8.12-rc4.tar.gz /cmake-2.8.12.tar.gz /cmake-2.8.12.1.tar.gz +/cmake-2.8.12.2.tar.gz diff --git a/cmake-FindFreetype.patch b/cmake-FindFreetype.patch new file mode 100644 index 0000000..1de0dff --- /dev/null +++ b/cmake-FindFreetype.patch @@ -0,0 +1,43 @@ +From: Julian Ospald +Date: Sun Dec 8 13:38:06 UTC 2013 +Subject: fix check for freetype-2.5.1 + +--- cmake/Modules/FindFreetype.cmake ++++ cmake/Modules/FindFreetype.cmake +@@ -64,6 +64,19 @@ + PATH_SUFFIXES include/freetype2 include + ) + ++if(NOT FREETYPE_INCLUDE_DIR_freetype2) ++ find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h ++ HINTS ++ ENV FREETYPE_DIR ++ PATHS ++ /usr/X11R6 ++ /usr/local/X11R6 ++ /usr/local/X11 ++ /usr/freeware ++ PATH_SUFFIXES include/freetype2 include ++ ) ++endif() ++ + find_library(FREETYPE_LIBRARY + NAMES freetype libfreetype freetype219 + HINTS +@@ -82,8 +95,14 @@ + endif() + set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}") + +-if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") +- file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str ++if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++endif() ++ ++if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H) ++ file(STRINGS "${FREETYPE_H}" freetype_version_str + REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$") + + unset(FREETYPE_VERSION_STRING) diff --git a/cmake-boostmpi.patch b/cmake-boostmpi.patch new file mode 100644 index 0000000..817d314 --- /dev/null +++ b/cmake-boostmpi.patch @@ -0,0 +1,67 @@ +commit a22eeca3fd7fe022e06001428d5e903913467fa0 +Author: Brad King +Date: Fri Feb 7 16:45:10 2014 -0500 + + FindBoost: Search next to MPI libraries for boost_mpi (#14739) + + Some distributions place boost_mpi next to the MPI libraries against + which it was built instead of next to the other Boost libraries. If + find_package(MPI) has already been run prior to find_package(Boost) then + MPI_CXX_LIBRARIES or MPI_C_LIBRARIES may be set to the location of the + MPI libraries. Teach FindBoost.cmake to look there for boost_mpi and + boost_mpi_python after looking next to the other Boost libraries but + not consider the location to be Boost_LIBRARY_DIR. + +diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake +index ae8baab..945694d 100644 +--- a/Modules/FindBoost.cmake ++++ b/Modules/FindBoost.cmake +@@ -305,10 +305,15 @@ endmacro() + macro(_Boost_FIND_LIBRARY var) + find_library(${var} ${ARGN}) + +- # If we found the first library save Boost_LIBRARY_DIR. +- if(${var} AND NOT Boost_LIBRARY_DIR) +- get_filename_component(_dir "${${var}}" PATH) +- set(Boost_LIBRARY_DIR "${_dir}" CACHE PATH "Boost library directory" FORCE) ++ if(${var}) ++ # If this is the first library found then save Boost_LIBRARY_DIR. ++ if(NOT Boost_LIBRARY_DIR) ++ get_filename_component(_dir "${${var}}" PATH) ++ set(Boost_LIBRARY_DIR "${_dir}" CACHE PATH "Boost library directory" FORCE) ++ endif() ++ elseif(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT) ++ # Try component-specific hints but do not save Boost_LIBRARY_DIR. ++ find_library(${var} HINTS ${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT} ${ARGN}) + endif() + + # If Boost_LIBRARY_DIR is known then search only there. +@@ -935,6 +940,28 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + set( _boost_docstring_release "Boost ${COMPONENT} library (release)") + set( _boost_docstring_debug "Boost ${COMPONENT} library (debug)") + ++ # Compute component-specific hints. ++ set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "") ++ if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python") ++ foreach(lib ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES}) ++ if(IS_ABSOLUTE "${lib}") ++ get_filename_component(libdir "${lib}" PATH) ++ string(REPLACE "\\" "/" libdir "${libdir}") ++ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT ${libdir}) ++ endif() ++ endforeach() ++ endif() ++ ++ # Consolidate and report component-specific hints. ++ if(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT) ++ list(REMOVE_DUPLICATES _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT) ++ if(Boost_DEBUG) ++ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " ++ "Component-specific library search paths for ${COMPONENT}: " ++ "${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT}") ++ endif() ++ endif() ++ + # + # Find RELEASE libraries + # diff --git a/cmake-qtdeps.patch b/cmake-qtdeps.patch new file mode 100644 index 0000000..a22eb0d --- /dev/null +++ b/cmake-qtdeps.patch @@ -0,0 +1,54 @@ +diff -up cmake-2.8.12/Modules/UseQt4.cmake.qtdeps cmake-2.8.12/Modules/UseQt4.cmake +--- cmake-2.8.12/Modules/UseQt4.cmake.qtdeps 2013-10-07 09:31:00.000000000 -0600 ++++ cmake-2.8.12/Modules/UseQt4.cmake 2013-10-23 10:39:14.763568925 -0600 +@@ -56,39 +56,13 @@ if (QT_USE_QT3SUPPORT) + add_definitions(-DQT3_SUPPORT) + endif () + +-# list dependent modules, so dependent libraries are added +-set(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE) +-set(QT_QTSVG_MODULE_DEPENDS QTGUI QTXML QTCORE) +-set(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE) +-set(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE) +-if(QT_QTDBUS_FOUND) +- set(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE) +-else() +- set(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE) +-endif() +-set(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE) +-set(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE) +-set(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE) +-set(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE) +-set(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE) +-set(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE) +-set(QT_QTDECLARATIVE_MODULE_DEPENDS QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTGUI QTCORE) +-set(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE) +-set(QT_QTOPENGL_MODULE_DEPENDS QTGUI QTCORE) +-set(QT_QTSCRIPT_MODULE_DEPENDS QTCORE) +-set(QT_QTGUI_MODULE_DEPENDS QTCORE) +-set(QT_QTTEST_MODULE_DEPENDS QTCORE) +-set(QT_QTXML_MODULE_DEPENDS QTCORE) +-set(QT_QTSQL_MODULE_DEPENDS QTCORE) +-set(QT_QTNETWORK_MODULE_DEPENDS QTCORE) +- + # Qt modules (in order of dependence) + foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN + QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP + QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTXMLPATTERNS QTGUI QTTEST + QTDBUS QTXML QTSQL QTNETWORK QTCORE) + +- if (QT_USE_${module} OR QT_USE_${module}_DEPENDS) ++ if (QT_USE_${module}) + if (QT_${module}_FOUND) + if(QT_USE_${module}) + string(REPLACE "QT" "" qt_module_def "${module}") +@@ -104,9 +78,6 @@ foreach(module QT3SUPPORT QTOPENGL QTASS + if(QT_IS_STATIC) + set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIB_DEPENDENCIES}) + endif() +- foreach(depend_module ${QT_${module}_MODULE_DEPENDS}) +- set(QT_USE_${depend_module}_DEPENDS 1) +- endforeach() + else () + message("Qt ${module} library not found.") + endif () diff --git a/cmake.spec b/cmake.spec index 3567b5f..621abc1 100644 --- a/cmake.spec +++ b/cmake.spec @@ -12,8 +12,8 @@ %endif Name: cmake -Version: 2.8.12.1 -Release: 1%{?dist} +Version: 2.8.12.2 +Release: 2%{?dist} Summary: Cross-platform make system Group: Development/Tools @@ -51,6 +51,16 @@ Patch6: cmake-strict_aliasing.patch # Patch away .png extension in icon name in desktop file. # http://www.cmake.org/Bug/view.php?id=14315 Patch7: cmake-desktop_icon.patch +# Remove automatic Qt module dep adding +Patch8: cmake-qtdeps.patch +# Fix FindFreetype for 2.5.1+ +# http://public.kitware.com/Bug/view.php?id=14601 +Patch9: cmake-FindFreetype.patch +# Upstream patch to find Boost MPI library +# http://www.cmake.org/Bug/view.php?id=14739 +# https://bugzilla.redhat.com/show_bug.cgi?id=756141 +Patch10: cmake-boostmpi.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-gfortran @@ -108,6 +118,7 @@ The %{name}-gui package contains the Qt based GUI for CMake. %prep %setup -q -n %{name}-%{version}%{?rcver} +# We cannot use backups with patches to Modules as they end up being installed %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -116,6 +127,9 @@ The %{name}-gui package contains the Qt based GUI for CMake. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 # Setup copyright docs for main package mkdir _doc find Source Utilities -type f -iname copy\* | while read f @@ -227,9 +241,21 @@ update-mime-database %{_datadir}/mime &> /dev/null || : %changelog +* Tue Feb 11 2014 Orion Poplawski - 2.8.12.2-2 +- Add upstream patch to find Boost MPI library (bug #756141) + +* Tue Jan 28 2014 Orion Poplawski - 2.8.12.2-1 +- Update to 2.8.12.2 + +* Wed Jan 22 2014 Orion Poplawski - 2.8.12.1-2 +- Fix FindFreetype for 2.5.1+ + * Wed Nov 6 2013 Orion Poplawski - 2.8.12.1-1 - Update to 2.8.12.1 +* Wed Oct 23 2013 Orion Poplawski - 2.8.12-3 +- Remove UseQt4 automatic dependency adding + * Thu Oct 10 2013 Orion Poplawski - 2.8.12-2 - Autoload cmake-mode in emacs (bug #1017779) diff --git a/sources b/sources index 693f460..42774ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9d38cd4e2c94c3cea97d0e2924814acc cmake-2.8.12.1.tar.gz +17c6513483d23590cbce6957ec6d1e66 cmake-2.8.12.2.tar.gz