johu 14/07/27 11:55:54 Added: cmake-3.0.0-FindBoost-python.patch cmake-3.0.0-FindBLAS.patch cmake-3.0.0-prefix-dirs.patch cmake-3.0.0-FindLAPACK.patch Log: Version bump by Michael Palimaka <kensing...@gentoo.org>, bug #513682. (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key F3CFD2BD)
Revision Changes Path 1.1 dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch?rev=1.1&content-type=text/plain Index: cmake-3.0.0-FindBoost-python.patch =================================================================== >From 934ec9add33d413e4d5c9cec1cb3ebb5cbfd81f4 Mon Sep 17 00:00:00 2001 From: Michael Palimaka <kensing...@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 1.1 dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch?rev=1.1&content-type=text/plain Index: cmake-3.0.0-FindBLAS.patch =================================================================== --- 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) 1.1 dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch?rev=1.1&content-type=text/plain Index: cmake-3.0.0-prefix-dirs.patch =================================================================== >From e7ce3e523f8cfa1bc749118f381753230766827f Mon Sep 17 00:00:00 2001 From: Michael Palimaka <kensing...@gentoo.org> Date: Thu, 19 Jun 2014 00:08:13 +1000 Subject: [PATCH] Set some proper paths to make cmake find our tools. The ebuild now adds an extra / at the end of $EPREFIX so that it is never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains correct) Original patch by Heiko Przybyl. Updated by Chris Reffett (cmake-2.8.8) Updated by Johannes Huber (cmake-2.8.9) Updated by Michael Palimaka (cmake-2.8.10) Updated by Chris Reffett (cmake-2.8.11) Updated by Michael Palimaka (cmake-3.0.0) --- Modules/Platform/Darwin.cmake | 12 +++++++---- Modules/Platform/UnixPaths.cmake | 43 ++++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index e25df1e..9b22a6a 100644 --- a/Modules/Platform/Darwin.cmake +++ b/Modules/Platform/Darwin.cmake @@ -132,9 +132,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) -# default to searching for frameworks first +# default to searching for frameworks last if(NOT DEFINED CMAKE_FIND_FRAMEWORK) - set(CMAKE_FIND_FRAMEWORK FIRST) + set(CMAKE_FIND_FRAMEWORK LAST) endif() # Older OS X linkers do not report their framework search path @@ -156,6 +156,8 @@ endif() # set up the default search directories for frameworks set(CMAKE_SYSTEM_FRAMEWORK_PATH + @GENTOO_PORTAGE_EPREFIX@Frameworks + @GENTOO_PORTAGE_EPREFIX@usr/lib ~/Library/Frameworks ) if(_CMAKE_OSX_SYSROOT_PATH) @@ -187,13 +189,15 @@ if(CMAKE_OSX_SYSROOT) endif() endif() -# default to searching for application bundles first +# default to searching for application bundles last if(NOT DEFINED CMAKE_FIND_APPBUNDLE) - set(CMAKE_FIND_APPBUNDLE FIRST) + set(CMAKE_FIND_APPBUNDLE LAST) endif() # set up the default search directories for application bundles set(_apps_paths) foreach(_path + @GENTOO_PORTAGE_EPREFIX@Applications + @GENTOO_PORTAGE_EPREFIX@usr/bin "~/Applications" "/Applications" "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake index 20ee1d1..3481ca8 100644 --- a/Modules/Platform/UnixPaths.cmake +++ b/Modules/Platform/UnixPaths.cmake @@ -33,6 +33,7 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) # search types. list(APPEND CMAKE_SYSTEM_PREFIX_PATH # Standard + @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ /usr/local /usr / # CMake install location @@ -53,43 +54,41 @@ endif() # List common include file locations not under the common prefixes. list(APPEND CMAKE_SYSTEM_INCLUDE_PATH - # Windows API on Cygwin - /usr/include/w32api - - # X11 - /usr/X11R6/include /usr/include/X11 - - # Other - /usr/pkg/include - /opt/csw/include /opt/include - /usr/openwin/include + @GENTOO_PORTAGE_EPREFIX@usr/include ) list(APPEND CMAKE_SYSTEM_LIBRARY_PATH - # Windows API on Cygwin - /usr/lib/w32api - - # X11 - /usr/X11R6/lib /usr/lib/X11 - - # Other - /usr/pkg/lib - /opt/csw/lib /opt/lib - /usr/openwin/lib + @GENTOO_PORTAGE_GCCLIBDIR@/gcc + @GENTOO_PORTAGE_GCCLIBDIR@ + @GENTOO_PORTAGE_EPREFIX@usr/lib64 + @GENTOO_PORTAGE_EPREFIX@usr/libx32 + @GENTOO_PORTAGE_EPREFIX@usr/lib32 + @GENTOO_PORTAGE_EPREFIX@usr/lib + @GENTOO_PORTAGE_EPREFIX@lib ) list(APPEND CMAKE_SYSTEM_PROGRAM_PATH - /usr/pkg/bin + @GENTOO_PORTAGE_EPREFIX@usr/bin + @GENTOO_PORTAGE_EPREFIX@bin ) list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 + @GENTOO_PORTAGE_GCCLIBDIR@/gcc + @GENTOO_PORTAGE_GCCLIBDIR@ + @GENTOO_PORTAGE_EPREFIX@usr/lib64 + @GENTOO_PORTAGE_EPREFIX@usr/libx32 + @GENTOO_PORTAGE_EPREFIX@usr/lib32 + @GENTOO_PORTAGE_EPREFIX@usr/lib + @GENTOO_PORTAGE_EPREFIX@lib + /lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 ) list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES + GENTOO_PORTAGE_EPREFIX@usr/include /usr/include ) list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES + @GENTOO_PORTAGE_EPREFIX@usr/include /usr/include ) -- 1.8.5.5 1.1 dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch?rev=1.1&content-type=text/plain Index: cmake-3.0.0-FindLAPACK.patch =================================================================== --- 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) set(${LIBRARIES}) set(_combined_name) @@ -348,3 +370,5 @@ endif() set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) + +endif(PC_LAPACK_FOUND)