diff options
| author | Michael Palimaka <kensington@gentoo.org> | 2014-06-19 00:44:47 +1000 |
|---|---|---|
| committer | Michael Palimaka <kensington@gentoo.org> | 2014-06-19 00:44:47 +1000 |
| commit | 431060f44d9736052138f911452f74f27271ebf7 (patch) | |
| tree | 6d20ddae0133b853617673b94fbf39c702ac9734 /dev-util/cmake | |
| parent | a3b0e72aad01a2007b008fa2047b45680f69600f (diff) | |
| download | kde-431060f44d9736052138f911452f74f27271ebf7.tar.gz kde-431060f44d9736052138f911452f74f27271ebf7.tar.bz2 kde-431060f44d9736052138f911452f74f27271ebf7.zip | |
[dev-util/cmake] Version bump.
Package-Manager: portage-2.2.10
Diffstat (limited to 'dev-util/cmake')
19 files changed, 840 insertions, 0 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest new file mode 100644 index 00000000000..c9bfc846cc4 --- /dev/null +++ b/dev-util/cmake/Manifest @@ -0,0 +1 @@ +DIST cmake-3.0.0.tar.gz 5489804 SHA256 99a34b7f74000404feffd82fba9d9e0cd623428c74b6a4851a0dee1c272606c0 SHA512 e8b8098fda7d9db239df0a0151e34eb11f40aa0265386684acfb1aff93b401ad86163c1e13a3197700cf26ab7d284cf0a21caa2e2bfb07a62e9816ba4c15ae90 WHIRLPOOL 4e616cb9bd333d4cdbc72bc98ecf80a7a216fd35cd045a8786c972b35e5c5eaf16b25cfc03fc9c83685b74d54171ac697963b8d6b579449f7868b96ac9343642 diff --git a/dev-util/cmake/cmake-3.0.0.ebuild b/dev-util/cmake/cmake-3.0.0.ebuild new file mode 100644 index 00000000000..1f4c0681f73 --- /dev/null +++ b/dev-util/cmake/cmake-3.0.0.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +CMAKE_REMOVE_MODULES="no" +inherit bash-completion-r1 elisp-common toolchain-funcs eutils versionator cmake-utils virtualx + +DESCRIPTION="Cross platform Make" +HOMEPAGE="http://www.cmake.org/" +SRC_URI="http://www.cmake.org/files/v$(get_version_component_range 1-2)/${P}.tar.gz" + +LICENSE="CMake" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="emacs ncurses qt4 qt5" + +REQUIRED_USE="?? ( qt4 qt5 )" + +DEPEND=" + >=app-arch/libarchive-2.8.0:= + >=dev-libs/expat-2.0.1 + >=net-misc/curl-7.20.0-r1[ssl] + sys-libs/zlib + virtual/pkgconfig + ncurses? ( sys-libs/ncurses ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtgui:4 + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) +" +RDEPEND="${DEPEND} + emacs? ( virtual/emacs ) +" + +SITEFILE="50${PN}-gentoo.el" + +CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + +# "${FILESDIR}"/${PN}-2.8.12.1-FindFreetype.patch +PATCHES=( + "${FILESDIR}"/${PN}-2.6.3-fix_broken_lfs_on_aix.patch + "${FILESDIR}"/${PN}-2.6.3-no-duplicates-in-rpath.patch + "${FILESDIR}"/${PN}-2.8.8-FindPkgConfig.patch + "${FILESDIR}"/${PN}-2.8.10-darwin-bundle.patch + "${FILESDIR}"/${PN}-2.8.10-darwin-isysroot.patch + "${FILESDIR}"/${PN}-2.8.10-libform.patch + "${FILESDIR}"/${PN}-2.8.10.2-FindPythonInterp.patch + "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch + "${FILESDIR}"/${PN}-2.8.12.1-FindImageMagick.patch + "${FILESDIR}"/${PN}-3.0.0-FindBLAS.patch + "${FILESDIR}"/${PN}-3.0.0-FindLAPACK.patch + "${FILESDIR}"/${PN}-3.0.0-FindBoost-python.patch + "${FILESDIR}"/${PN}-3.0.0-prefix-dirs.patch +) + +cmake_src_bootstrap() { + # Cleanup args to extract only JOBS. + # Because bootstrap does not know anything else. + echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null + if [ $? -eq 0 ]; then + par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+') + par_arg="--parallel=${par_arg}" + else + par_arg="--parallel=1" + fi + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' Source/kwsys/CMakeLists.txt || die + fi + + tc-export CC CXX LD + + # bootstrap script isn't exactly /bin/sh compatible + ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + ${par_arg} \ + || die "Bootstrap failed" +} + +cmake_src_test() { + # fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:#IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + pushd "${BUILD_DIR}" > /dev/null + + local ctestargs + [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" + + # Excluded tests: + # BootstrapTest: we actualy bootstrap it every time so why test it. + # CTest.updatecvs, which fails to commit as root + # Qt4Deploy, which tries to break sandbox and ignores prefix + # TestUpload, which requires network access + "${BUILD_DIR}"/bin/ctest ${ctestargs} \ + -E "(BootstrapTest|CTest.UpdateCVS|Qt4Deploy|TestUpload)" \ + || die "Tests failed" + + popd > /dev/null +} + +pkg_setup() { + # bug 387227 + addpredict /proc/self/coredump_filter +} + +src_prepare() { + cmake-utils_src_prepare + + # disable running of cmake in boostrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + cmake_src_bootstrap +} + +src_configure() { + # make things work with gentoo java setup + # in case java-config cannot be run, the variable just becomes unset + # per bug #315229 + export JAVA_HOME=$(java-config -g JAVA_HOME 2> /dev/null) + + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + $(cmake-utils_use_build ncurses CursesDialog) + ) + + if use qt4 || use qt5 ; then + mycmakeargs+=( + -DBUILD_QtDialog=ON + $(cmake-utils_use_find_package qt5 Qt5Widgets) + ) + fi + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + use emacs && elisp-compile Docs/cmake-mode.el +} + +src_test() { + VIRTUALX_COMMAND="cmake_src_test" virtualmake +} + +src_install() { + cmake-utils_src_install + if use emacs; then + elisp-install ${PN} Docs/cmake-mode.el Docs/cmake-mode.elc + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/cmake-syntax.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/cmake-indent.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} + rm -rf "${D}/usr/share/cmake/completions" || die +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-util/cmake/files/50cmake-gentoo.el b/dev-util/cmake/files/50cmake-gentoo.el new file mode 100644 index 00000000000..e4a1a6d47cb --- /dev/null +++ b/dev-util/cmake/files/50cmake-gentoo.el @@ -0,0 +1,4 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake files." t) +(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode)) +(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode)) diff --git a/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch b/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch new file mode 100644 index 00000000000..02c3011c8f7 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch @@ -0,0 +1,39 @@ +http://public.kitware.com/Bug/view.php?id=7933 + +diff -ur cmake-2.6.2/Source/kwsys/kwsysPlatformTestsCXX.cxx cmake-2.6.2-p/Source/kwsys/kwsysPlatformTestsCXX.cxx +--- cmake-2.6.2/Source/kwsys/kwsysPlatformTestsCXX.cxx Wed Sep 24 20:34:37 2008 ++++ cmake-2.6.2-p/Source/kwsys/kwsysPlatformTestsCXX.cxx Tue Nov 4 11:18:32 2008 +@@ -38,6 +38,13 @@ + int main() { return 0; } + #endif + ++#ifdef TEST_KWSYS_LFS_SUPPORT ++#define _LARGE_FILES ++#include <iostream> ++int main() { return 0; } ++#endif ++ ++ + #ifdef TEST_KWSYS_IOS_HAVE_STD + #include <iosfwd> + void f(std ::ostream*) {} +diff -ur cmake-2.6.2/bootstrap cmake-2.6.2-p/bootstrap +--- cmake-2.6.2/bootstrap Wed Sep 24 20:34:33 2008 ++++ cmake-2.6.2-p/bootstrap Tue Nov 4 11:17:11 2008 +@@ -1005,6 +1005,16 @@ + echo "${cmake_cxx_compiler} does not have stl iterator_traits" + fi + ++if cmake_try_run "${cmake_cxx_compiler}" \ ++ "${cmake_cxx_flags} -DTEST_KWSYS_LFS_SUPPORT" \ ++ "${cmake_source_dir}/Source/kwsys/kwsysPlatformTestsCXX.cxx" >> cmake_bootstrap.log 2>&1; then ++ KWSYS_LFS_AVAILABLE=1 ++ echo "LFS support available" ++else ++ KWSYS_LFS_AVAILABLE=0 ++ echo "LFS support unavailable, disabled" ++fi ++ + if [ "x${KWSYS_STL_HAS_ITERATOR_TRAITS}" = "x0" ]; then + if cmake_try_run "${cmake_cxx_compiler}" \ + "${cmake_cxx_flags} -DTEST_KWSYS_STL_HAS_ITERATOR_CATEGORY -DKWSYS_STL_HAVE_STD=${KWSYS_STL_HAVE_STD}" \ diff --git a/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch b/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch new file mode 100644 index 00000000000..ceb205ff586 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch @@ -0,0 +1,19 @@ +Patch by Heiko Przybyl + +--- Source/cmComputeLinkInformation.cxx ++++ Source/cmComputeLinkInformation.cxx +@@ -1686,6 +1686,14 @@ std::string cmComputeLinkInformation::Ge + for(std::vector<std::string>::const_iterator ri = runtimeDirs.begin(); + ri != runtimeDirs.end(); ++ri) + { ++ // Do not add duplicates. ++ // I'd like to have that check already in the list generation code ++ // but that would need lots of more changes, even in ExpandListArgument(). ++ if(*sep != '\0' && (rpath + sep).find(*ri + sep) != std::string::npos) ++ { ++ //std::cerr << "ignoring duplicate: '" << *ri << "' in '" << rpath << "'" << std::endl; ++ continue; ++ } + // Separate from previous path. + rpath += sep; + sep = this->GetRuntimeSep().c_str(); diff --git a/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch b/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch new file mode 100644 index 00000000000..9cb4777cc9b --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch @@ -0,0 +1,23 @@ +Don't use .so for modules on darwin/macos. Use .bundle instead. +Patch by Heiko Przybyl + +--- Modules/Platform/Darwin.cmake ++++ Modules/Platform/Darwin.cmake +@@ -26,7 +26,7 @@ + set(CMAKE_SHARED_LIBRARY_PREFIX "lib") + set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") + set(CMAKE_SHARED_MODULE_PREFIX "lib") +-set(CMAKE_SHARED_MODULE_SUFFIX ".so") ++set(CMAKE_SHARED_MODULE_SUFFIX ".bundle") + set(CMAKE_MODULE_EXISTS 1) + set(CMAKE_DL_LIBS "") + +@@ -48,7 +48,7 @@ + set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names") + set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") + set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") +-set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a") ++set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".bundle" ".a") + + # hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree + # (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache diff --git a/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch b/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch new file mode 100644 index 00000000000..97c93aa5831 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch @@ -0,0 +1,50 @@ +Do not detect Xcode and set -isysroot for its SDK, since that messes up +our toolchain, and hence makes any compilation fail, bug #445308 + +--- Modules/Platform/Darwin.cmake ++++ Modules/Platform/Darwin.cmake +@@ -60,18 +60,18 @@ + endif() + + # Ask xcode-select where to find /Developer or fall back to ancient location. +-execute_process(COMMAND xcode-select -print-path +- OUTPUT_VARIABLE _stdout +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ERROR_VARIABLE _stderr +- RESULT_VARIABLE _failed) +-if(NOT _failed AND IS_DIRECTORY ${_stdout}) +- set(OSX_DEVELOPER_ROOT ${_stdout}) +-elseif(IS_DIRECTORY "/Developer") +- set(OSX_DEVELOPER_ROOT "/Developer") +-else() ++#execute_process(COMMAND xcode-select -print-path ++# OUTPUT_VARIABLE _stdout ++# OUTPUT_STRIP_TRAILING_WHITESPACE ++# ERROR_VARIABLE _stderr ++# RESULT_VARIABLE _failed) ++#if(NOT _failed AND IS_DIRECTORY ${_stdout}) ++# set(OSX_DEVELOPER_ROOT ${_stdout}) ++#elseif(IS_DIRECTORY "/Developer") ++# set(OSX_DEVELOPER_ROOT "/Developer") ++#else() + set(OSX_DEVELOPER_ROOT "") +-endif() ++#endif() + + execute_process(COMMAND sw_vers -productVersion + OUTPUT_VARIABLE CURRENT_OSX_VERSION +@@ -91,10 +91,10 @@ + # CMAKE_OSX_DEPLOYMENT_TARGET + + # Set cache variable - end user may change this during ccmake or cmake-gui configure. +-if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) +- set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING +- "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") +-endif() ++#if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) ++# set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING ++# "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") ++#endif() + + #---------------------------------------------------------------------------- + # CMAKE_OSX_SYSROOT diff --git a/dev-util/cmake/files/cmake-2.8.10-libform.patch b/dev-util/cmake/files/cmake-2.8.10-libform.patch new file mode 100644 index 00000000000..052cc30699f --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-libform.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea1c033..ae479ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -395,9 +395,6 @@ macro (CMAKE_BUILD_UTILITIES) + else () + set(BUILD_CursesDialog 0) + endif () +- if(BUILD_CursesDialog) +- add_subdirectory(Source/CursesDialog/form) +- endif() + endmacro () + + #----------------------------------------------------------------------- +diff --git a/Source/CursesDialog/CMakeLists.txt b/Source/CursesDialog/CMakeLists.txt +index 96e28b4..4102379 100644 +--- a/Source/CursesDialog/CMakeLists.txt ++++ b/Source/CursesDialog/CMakeLists.txt +@@ -25,13 +25,16 @@ set( CURSES_SRCS + CursesDialog/ccmake + ) + +-include_directories(${CMake_SOURCE_DIR}/Source/CursesDialog/form +- ${CMake_BINARY_DIR}/Source/CursesDialog/form) + include_directories(${CURSES_INCLUDE_PATH}) + + + add_executable(ccmake ${CURSES_SRCS} ) + target_link_libraries(ccmake CMakeLib) +-target_link_libraries(ccmake cmForm) ++TARGET_LINK_LIBRARIES(ccmake form) ++TARGET_LINK_LIBRARIES(ccmake ${CURSES_LIBRARY}) ++IF(CURSES_EXTRA_LIBRARY) ++ TARGET_LINK_LIBRARIES(ccmake ${CURSES_EXTRA_LIBRARY}) ++ENDIF(CURSES_EXTRA_LIBRARY) ++ + + install_targets(/bin ccmake) +diff --git a/Source/CursesDialog/cmCursesStandardIncludes.h b/Source/CursesDialog/cmCursesStandardIncludes.h +index b157a28..f131ea4 100644 +--- a/Source/CursesDialog/cmCursesStandardIncludes.h ++++ b/Source/CursesDialog/cmCursesStandardIncludes.h +@@ -15,8 +15,6 @@ + #define _MSE_INT_H + #endif + +-#include <cmFormConfigure.h> +- + #if defined(__hpux) + # define _BOOL_DEFINED + # include <sys/time.h> diff --git a/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch new file mode 100644 index 00000000000..a7e8688ec87 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch @@ -0,0 +1,22 @@ +--- Modules/FindPythonInterp.cmake ++++ Modules/FindPythonInterp.cmake +@@ -60,6 +60,10 @@ + + list(APPEND _Python_NAMES python) + ++if (CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ set(_Python_NAMES python) ++endif() ++ + # Search for the current active python version first + find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES}) + +@@ -76,7 +80,7 @@ + unset(_PYTHON3_VERSIONS) + + # Search for newest python version if python executable isn't found +-if(NOT PYTHON_EXECUTABLE) ++if(NOT PYTHON_EXECUTABLE AND NOT CMAKE_BUILD_TYPE STREQUAL Gentoo) + foreach(_CURRENT_VERSION ${_Python_VERSIONS}) + set(_Python_NAMES python${_CURRENT_VERSION}) + if(WIN32) diff --git a/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch new file mode 100644 index 00000000000..2a83ff7abb6 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch @@ -0,0 +1,24 @@ +diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake +index bffa9fb..8fc90ee 100644 +--- a/Modules/FindPythonLibs.cmake ++++ b/Modules/FindPythonLibs.cmake +@@ -74,6 +74,19 @@ set(_Python_VERSIONS + ${_PYTHON_FIND_OTHER_VERSIONS} + ) + ++# Gentoo portage requires that you use exactly the given python version ++if (CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ execute_process(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))" ++ OUTPUT_VARIABLE _Gentoo_Python_VERSION) ++ list(FIND _Python_VERSIONS "${_Gentoo_Python_VERSION}" _Gentoo_Python_INDEX) ++ if (_Gentoo_Python_INDEX EQUAL -1) ++ # the current Gentoo python version is not compatible with what is requested ++ set(_Python_VERSIONS) ++ else () ++ set(_Python_VERSIONS "${_Gentoo_Python_VERSION}") ++ endif () ++endif() ++ + unset(_PYTHON_FIND_OTHER_VERSIONS) + unset(_PYTHON1_VERSIONS) + unset(_PYTHON2_VERSIONS) diff --git a/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch b/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch new file mode 100644 index 00000000000..6dc244c239c --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch @@ -0,0 +1,43 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Sun Dec 8 13:38:06 UTC 2013 +Subject: fix check for freetype-2.5.1 + +--- Modules/FindFreetype.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/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch b/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch new file mode 100644 index 00000000000..b094f17938c --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch @@ -0,0 +1,23 @@ +--- Modules/FindImageMagick.cmake ++++ Modules/FindImageMagick.cmake +@@ -147,17 +147,17 @@ + ) + if(component STREQUAL "Magick++") + FIND_IMAGEMAGICK_API(Magick++ Magick++.h +- Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI ++ Magick++ CORE_RL_Magick++_ Magick++-6.Q64 Magick++-6.Q64HDRI Magick++-6.Q32 Magick++-6.Q32HDRI Magick++-6.Q16 Magick++-6.Q16HDRI Magick++-6.Q8 Magick++-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) + elseif(component STREQUAL "MagickWand") + FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h +- Wand MagickWand CORE_RL_wand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI ++ Wand MagickWand CORE_RL_wand_ MagickWand-6.Q64 MagickWand-6.Q64HDRI MagickWand-6.Q32 MagickWand-6.Q32HDRI MagickWand-6.Q16 MagickWand-6.Q16HDRI MagickWand-6.Q8 MagickWand-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) + elseif(component STREQUAL "MagickCore") + FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h +- Magick MagickCore CORE_RL_magick_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI ++ Magick MagickCore CORE_RL_magick_ MagickCore-6.Q64 MagickCore-6.Q64HDRI MagickCore-6.Q32 MagickCore-6.Q32HDRI MagickCore-6.Q16 MagickCore-6.Q16HDRI MagickCore-6.Q8 MagickCore-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY) + else() diff --git a/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch b/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch new file mode 100644 index 00000000000..c5e17c5ba64 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch @@ -0,0 +1,18 @@ +diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake +index c47f583..5783d37 100644 +--- a/Modules/FindPkgConfig.cmake ++++ b/Modules/FindPkgConfig.cmake +@@ -87,7 +87,12 @@ + set(PKG_CONFIG_VERSION 1) + set(PKG_CONFIG_FOUND 0) + +-find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") ++if(NOT PKG_CONFIG_EXECUTABLE) ++ set(PKG_CONFIG_EXECUTABLE $ENV{PKG_CONFIG}) ++ if(NOT PKG_CONFIG_EXECUTABLE) ++ find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") ++ endif(NOT PKG_CONFIG_EXECUTABLE) ++endif(NOT PKG_CONFIG_EXECUTABLE) + mark_as_advanced(PKG_CONFIG_EXECUTABLE) + + if(PKG_CONFIG_EXECUTABLE) diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch new file mode 100644 index 00000000000..86c5dc7fd54 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch @@ -0,0 +1,43 @@ +--- Modules/FindBLAS.cmake ++++ Modules/FindBLAS.cmake +@@ -4,6 +4,10 @@ + # + # Find BLAS library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + # list of libraries searched for is taken from the autoconf macro file, +@@ -50,6 +54,23 @@ + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_BLAS blas) ++if(PC_BLAS_FOUND) ++ foreach(PC_LIB ${PC_BLAS_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_BLAS_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_BLAS_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND BLAS_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(BLAS DEFAULT_MSG BLAS_LIBRARIES) ++ mark_as_advanced(BLAS_LIBRARIES) ++else(PC_BLAS_FOUND) ++message(STATUS "No PkgConfig configuration for BLAS found; starting more extensive search.") ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + +@@ -688,3 +709,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_BLAS_FOUND) diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch b/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch new file mode 100644 index 00000000000..a6291d2b850 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch @@ -0,0 +1,93 @@ +From 934ec9add33d413e4d5c9cec1cb3ebb5cbfd81f4 Mon Sep 17 00:00:00 2001 +From: Michael Palimaka <kensington@gentoo.org> +Date: Thu, 19 Jun 2014 00:17:48 +1000 +Subject: [PATCH] Fix detection of PYTHON_ABI-versioned Boost Python libraries + wrt bug #400969. + +--- + Modules/FindBoost.cmake | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + +diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake +index dfd4460..70bfb4f 100644 +--- a/Modules/FindBoost.cmake ++++ b/Modules/FindBoost.cmake +@@ -952,6 +952,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + set( _boost_docstring_release "Boost ${COMPONENT} library (release)") + set( _boost_docstring_debug "Boost ${COMPONENT} library (debug)") + ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ # Get version of Python. ++ if (NOT PYTHON_EXECUTABLE) ++ #if a certain version of python was detected by cmake before use that one ++ set(PYTHON_EXECUTABLE "python") ++ endif (NOT PYTHON_EXECUTABLE) ++ execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write('.'.join(str(x) for x in sys.version_info[:2]))" OUTPUT_VARIABLE _python_version) ++ endif() ++ + # Compute component-specific hints. + set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "") + if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR +@@ -984,6 +993,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() ++ + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}") + list(APPEND _boost_RELEASE_NAMES +@@ -991,6 +1009,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES}) +@@ -1020,6 +1045,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}") + list(APPEND _boost_DEBUG_NAMES +@@ -1027,6 +1061,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES}) +-- +1.8.5.5 + diff --git a/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch new file mode 100644 index 00000000000..611c5ceb94f --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch @@ -0,0 +1,44 @@ +--- Modules/FindLAPACK.cmake ++++ Modules/FindLAPACK.cmake +@@ -4,6 +4,10 @@ + # + # Find LAPACK library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + # +@@ -72,6 +76,24 @@ + # N.B. _prefix is the prefix applied to the names of all cached variables that + # are generated internally and marked advanced by this macro. + ++# ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_LAPACK lapack) ++if(PC_LAPACK_FOUND) ++ foreach(PC_LIB ${PC_LAPACK_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES) ++ mark_as_advanced(LAPACK_LIBRARIES) ++else(PC_LAPACK_FOUND) ++message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.") ++ + set(_libraries_work TRUE) |
