diff options
| author | Johannes Huber <johu@gentoo.org> | 2012-04-22 16:47:30 +0200 |
|---|---|---|
| committer | Johannes Huber <johu@gentoo.org> | 2012-04-22 16:47:30 +0200 |
| commit | e12461b061fbfa6e480ae3fa9a19fb0745190f38 (patch) | |
| tree | c2e1148f459a7c5fb978844ac122129af2184f80 /dev-util/cmake | |
| parent | 3e1396fb1dcda3f1cda6c5e9c837a9e470c05491 (diff) | |
| download | kde-e12461b061fbfa6e480ae3fa9a19fb0745190f38.tar.gz kde-e12461b061fbfa6e480ae3fa9a19fb0745190f38.tar.bz2 kde-e12461b061fbfa6e480ae3fa9a19fb0745190f38.zip | |
[dev-util/cmake] Version bump.
(Portage version: 2.2.0_alpha100/git/Linux i686, unsigned Manifest commit)
Diffstat (limited to 'dev-util/cmake')
| -rw-r--r-- | dev-util/cmake/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/cmake/cmake-2.8.8.ebuild | 175 | ||||
| -rw-r--r-- | dev-util/cmake/files/50cmake-gentoo.el | 4 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.6.3-darwin-bundle.patch | 23 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch | 39 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch | 19 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.0-darwin-default-install_name.patch | 20 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.1-libform.patch | 50 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.3-more-no_host_paths.patch | 109 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.4-FindPythonLibs.patch | 12 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch | 45 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.7-FindBoost-python.patch | 73 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.8.7-FindLAPACK.patch | 44 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake.vim | 3 | ||||
| -rw-r--r-- | dev-util/cmake/metadata.xml | 5 |
15 files changed, 622 insertions, 0 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest new file mode 100644 index 00000000000..f02479c3403 --- /dev/null +++ b/dev-util/cmake/Manifest @@ -0,0 +1 @@ +DIST cmake-2.8.8.tar.gz 5691656 SHA256 2b59897864d6220ff20aa8eac64cac8994e004898a1c0f899c8cb4d7b7570b46 SHA512 db31b1335c9964504a080a665c9e23010e081e973ba948b2d55a5adff76183271677c94830f2b604b06337df110eec29a8e8749795576c662c0b2f50fe69c882 WHIRLPOOL 2d0f388de643801cf2f389e9a84d218f09be28226e9b2e11d4a1f60222e3dfdd861b603f919b4b321c926612035944a4903ba4efd1d5397ae56068bfef40e6bd diff --git a/dev-util/cmake/cmake-2.8.8.ebuild b/dev-util/cmake/cmake-2.8.8.ebuild new file mode 100644 index 00000000000..169a9bcab4a --- /dev/null +++ b/dev-util/cmake/cmake-2.8.8.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.7-r5.ebuild,v 1.1 2012/03/09 01:22:06 dilfridge Exp $ + +EAPI=4 + +CMAKE_REMOVE_MODULES="no" +inherit elisp-common toolchain-funcs eutils versionator flag-o-matic base cmake-utils virtualx + +MY_P="${PN}-$(replace_version_separator 3 - ${MY_PV})" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="http://www.cmake.org/" +SRC_URI="http://www.cmake.org/files/v$(get_version_component_range 1-2)/${MY_P}.tar.gz" + +LICENSE="CMake" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +SLOT="0" +IUSE="emacs ncurses qt4 vim-syntax" + +DEPEND=" + >=app-arch/libarchive-2.8.0 + >=net-misc/curl-7.20.0-r1[ssl] + >=dev-libs/expat-2.0.1 + dev-util/pkgconfig + sys-libs/zlib + ncurses? ( sys-libs/ncurses ) + qt4? ( x11-libs/qt-gui:4 ) +" +RDEPEND="${DEPEND} + emacs? ( virtual/emacs ) + vim-syntax? ( + || ( + app-editors/vim + app-editors/gvim + ) + ) +" + +SITEFILE="50${PN}-gentoo.el" +VIMFILE="${PN}.vim" + +S="${WORKDIR}/${MY_P}" + +CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + +# TODO "${FILESDIR}"/${PN}-2.8.3-more-no_host_paths.patch +# needs replacement in 2.8.8. + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.3-darwin-bundle.patch + "${FILESDIR}"/${PN}-2.6.3-no-duplicates-in-rpath.patch + "${FILESDIR}"/${PN}-2.6.3-fix_broken_lfs_on_aix.patch + "${FILESDIR}"/${PN}-2.8.0-darwin-default-install_name.patch + "${FILESDIR}"/${PN}-2.8.1-libform.patch + "${FILESDIR}"/${PN}-2.8.4-FindPythonLibs.patch + "${FILESDIR}"/${PN}-2.8.7-FindBoost-python.patch + "${FILESDIR}"/${PN}-2.8.7-FindBLAS.patch + "${FILESDIR}"/${PN}-2.8.7-FindLAPACK.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:]]+' | egrep -o '[[:digit:]]+') + par_arg="--parallel=${par_arg}" + else + par_arg="--parallel=1" + fi + + tc-export CC CXX LD + + ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + ${par_arg} \ + || die "Bootstrap failed" +} + +cmake_src_test() { + # fix OutDir test + # this is altered thanks to our eclass + sed -i -e 's:#IGNORE ::g' "${S}"/Tests/OutDir/CMakeLists.txt || die + + pushd "${CMAKE_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. + # SimpleCOnly_sdcc: sdcc choke on global cflags so just skip the test + # as it was never intended to be used this way. + "${CMAKE_BUILD_DIR}"/bin/ctest ${ctestargs} \ + -E BootstrapTest SimpleCOnly_sdcc \ + || die "Tests failed" + + popd > /dev/null +} + +pkg_setup() { + einfo "Fixing java access violations ..." + # bug 387227 + addpredict /proc/self/coredump_filter +} + +src_prepare() { + base_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) + $(cmake-utils_use_build qt4 QtDialog) + ) + 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 + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins Docs/cmake-syntax.vim + + insinto /usr/share/vim/vimfiles/indent + doins Docs/cmake-indent.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${VIMFILE}" + fi +} + +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-darwin-bundle.patch b/dev-util/cmake/files/cmake-2.6.3-darwin-bundle.patch new file mode 100644 index 00000000000..6ee9b709dff --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.3-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 +@@ -23,7 +23,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 "") + +@@ -45,7 +45,7 @@ + SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -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.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.0-darwin-default-install_name.patch b/dev-util/cmake/files/cmake-2.8.0-darwin-default-install_name.patch new file mode 100644 index 00000000000..4ef0c7b4b6f --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.0-darwin-default-install_name.patch @@ -0,0 +1,20 @@ +The install_name of a library can be compared to the ELF soname, setting +it to just the library name (libx.1.dylib) is not sufficient on Mach-O, +as it uses full paths. Most apps have no clue about that, so they don't +do something like http://www.cmake.org/pipermail/cmake/2006-June/009758.html + +Provide a sane default that will allow merging most cmake-based +packages. If this location is not correct, Portage's QA checks will +catch that. + +--- Source/cmTarget.cxx ++++ Source/cmTarget.cxx +@@ -974,7 +974,7 @@ + this->Makefile->IsOn("MINGW")); + + // Setup default property values. +- this->SetPropertyDefault("INSTALL_NAME_DIR", ""); ++ this->SetPropertyDefault("INSTALL_NAME_DIR", "${CMAKE_INSTALL_PREFIX}/lib"); + this->SetPropertyDefault("INSTALL_RPATH", ""); + this->SetPropertyDefault("INSTALL_RPATH_USE_LINK_PATH", "OFF"); + this->SetPropertyDefault("SKIP_BUILD_RPATH", "OFF"); diff --git a/dev-util/cmake/files/cmake-2.8.1-libform.patch b/dev-util/cmake/files/cmake-2.8.1-libform.patch new file mode 100644 index 00000000000..87c724776e5 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.1-libform.patch @@ -0,0 +1,50 @@ +diff -u -r cmake-2.8.1.medium/CMakeLists.txt cmake-2.8.1/CMakeLists.txt +--- cmake-2.8.1.medium/CMakeLists.txt 2010-03-16 21:29:28.000000000 +0100 ++++ cmake-2.8.1/CMakeLists.txt 2010-04-04 20:04:47.000000000 +0200 +@@ -314,9 +314,6 @@ + ELSE (UNIX) + SET(BUILD_CursesDialog 0) + ENDIF (UNIX) +- IF(BUILD_CursesDialog) +- ADD_SUBDIRECTORY(Source/CursesDialog/form) +- ENDIF(BUILD_CursesDialog) + ENDMACRO (CMAKE_BUILD_UTILITIES) + + +diff -u -r cmake-2.8.1.medium/Source/CursesDialog/CMakeLists.txt cmake-2.8.1/Source/CursesDialog/CMakeLists.txt +--- cmake-2.8.1.medium/Source/CursesDialog/CMakeLists.txt 2010-03-16 21:29:34.000000000 +0100 ++++ cmake-2.8.1/Source/CursesDialog/CMakeLists.txt 2010-04-04 20:01:38.000000000 +0200 +@@ -25,13 +25,18 @@ + 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 -u -r cmake-2.8.1.medium/Source/CursesDialog/cmCursesStandardIncludes.h cmake-2.8.1/Source/CursesDialog/cmCursesStandardIncludes.h +--- cmake-2.8.1.medium/Source/CursesDialog/cmCursesStandardIncludes.h 2010-03-16 21:29:35.000000000 +0100 ++++ cmake-2.8.1/Source/CursesDialog/cmCursesStandardIncludes.h 2010-04-04 20:01:38.000000000 +0200 +@@ -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.3-more-no_host_paths.patch b/dev-util/cmake/files/cmake-2.8.3-more-no_host_paths.patch new file mode 100644 index 00000000000..38bad925c37 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.3-more-no_host_paths.patch @@ -0,0 +1,109 @@ +Set some proper paths to make cmake find our tools. +Original patch by Heiko Przybyl + +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) + +--- cmake-2.8.3/Modules/Platform/Darwin.cmake ++++ cmake-2.8.3/Modules/Platform/Darwin.cmake +@@ -217,19 +217,23 @@ + + + +-# default to searching for frameworks first +-SET(CMAKE_FIND_FRAMEWORK FIRST) ++# default to searching for frameworks last ++SET(CMAKE_FIND_FRAMEWORK LAST) + # set up the default search directories for frameworks + SET(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + /Library/Frameworks + /Network/Library/Frameworks + /System/Library/Frameworks) + +-# default to searching for application bundles first +-SET(CMAKE_FIND_APPBUNDLE FIRST) ++# default to searching for application bundles last ++SET(CMAKE_FIND_APPBUNDLE LAST) + # set up the default search directories for application bundles + SET(CMAKE_SYSTEM_APPBUNDLE_PATH ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + ~/Applications + /Applications + /Developer/Applications) +diff -ruN cmake-2.8.3.orig/Modules/Platform/UnixPaths.cmake cmake-2.8.3/Modules/Platform/UnixPaths.cmake +--- cmake-2.8.3/Modules/Platform/UnixPaths.cmake ++++ cmake-2.8.3/Modules/Platform/UnixPaths.cmake +@@ -33,6 +33,7 @@ + # 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 +@@ -44,43 +45,39 @@ + + # 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/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 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib + /lib /usr/lib /usr/lib32 /usr/lib64 + ) + + 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 + ) + diff --git a/dev-util/cmake/files/cmake-2.8.4-FindPythonLibs.patch b/dev-util/cmake/files/cmake-2.8.4-FindPythonLibs.patch new file mode 100644 index 00000000000..28d2e4f8790 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.4-FindPythonLibs.patch @@ -0,0 +1,12 @@ +diff -urN cmake-2.8.4.old/Modules/FindPythonLibs.cmake cmake-2.8.4/Modules/FindPythonLibs.cmake +--- cmake-2.8.4.old/Modules/FindPythonLibs.cmake 2011-02-20 19:32:16.363655002 +0100 ++++ cmake-2.8.4/Modules/FindPythonLibs.cmake 2011-02-20 19:33:51.905655001 +0100 +@@ -33,6 +33,8 @@ + ${Python_ADDITIONAL_VERSIONS} + 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) + ++EXECUTE_PROCESS(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))" ++ OUTPUT_VARIABLE _Python_VERSIONS) + FOREACH(_CURRENT_VERSION ${_Python_VERSIONS}) + STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION}) + IF(WIN32) diff --git a/dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch b/dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch new file mode 100644 index 00000000000..a91214c1a90 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch @@ -0,0 +1,45 @@ +diff -ruN cmake-2.8.7.orig/Modules/FindBLAS.cmake cmake-2.8.7/Modules/FindBLAS.cmake +--- cmake-2.8.7.orig/Modules/FindBLAS.cmake 2011-12-30 17:49:56.000000000 +0100 ++++ cmake-2.8.7/Modules/FindBLAS.cmake 2012-03-08 05:38:47.000000000 +0100 +@@ -1,3 +1,9 @@ ++# ++# Version modified for Gentoo Linux ++# If a valid PkgConfig configuration for blas is found, this overrides and cancels ++# all further checks. ++# ++ + # - Find BLAS library + # This module finds an installed fortran library that implements the BLAS + # linear-algebra interface (see http://www.netlib.org/blas/). +@@ -39,6 +45,24 @@ + # (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(CheckFunctionExists) + include(CheckFortranFunctionExists) + +@@ -622,3 +646,6 @@ + endif(BLA_F95) + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_BLAS_FOUND) ++ diff --git a/dev-util/cmake/files/cmake-2.8.7-FindBoost-python.patch b/dev-util/cmake/files/cmake-2.8.7-FindBoost-python.patch new file mode 100644 index 00000000000..edaa91ffdb0 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.7-FindBoost-python.patch @@ -0,0 +1,73 @@ +--- Modules/FindBoost.cmake ++++ Modules/FindBoost.cmake +@@ -953,6 +953,11 @@ + 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") ++ # CPython-specific version of _PYTHON_ABI_EXTRACTION_COMMAND variable from python.eclass. ++ execute_process(COMMAND python -c "import sys; sys.stdout.write('.'.join(str(x) for x in sys.version_info[:2]))" OUTPUT_VARIABLE _python_abi) ++ endif() ++ + # + # Find RELEASE libraries + # +@@ -962,6 +967,14 @@ + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} + ${Boost_LIB_PREFIX}boost_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi} ) ++ endif() + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}") + list(APPEND _boost_RELEASE_NAMES +@@ -969,6 +982,13 @@ + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}boost_${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_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_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}) +@@ -994,6 +1014,15 @@ + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED} + ${Boost_LIB_PREFIX}boost_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi} ) ++ endif() + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}") + list(APPEND _boost_DEBUG_NAMES +@@ -1001,6 +1030,13 @@ + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}boost_${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_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_abi}${_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}) diff --git a/dev-util/cmake/files/cmake-2.8.7-FindLAPACK.patch b/dev-util/cmake/files/cmake-2.8.7-FindLAPACK.patch new file mode 100644 index 00000000000..6808b80ae50 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.7-FindLAPACK.patch @@ -0,0 +1,44 @@ +diff -ruN cmake-2.8.7.orig/Modules/FindLAPACK.cmake cmake-2.8.7/Modules/FindLAPACK.cmake +--- cmake-2.8.7.orig/Modules/FindLAPACK.cmake 2011-12-30 17:49:56.000000000 +0100 ++++ cmake-2.8.7/Modules/FindLAPACK.cmake 2012-03-09 02:15:46.000000000 +0100 +@@ -1,3 +1,9 @@ ++# ++# Version modified for Gentoo Linux ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# ++ + # - Find LAPACK library + # This module finds an installed fortran library that implements the LAPACK + # linear-algebra interface (see http://www.netlib.org/lapack/). +@@ -36,6 +42,24 @@ + # (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_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(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + + get_property(_LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES) +@@ -305,3 +329,5 @@ + endif(BLA_F95) + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_LAPACK_FOUND) diff --git a/dev-util/cmake/files/cmake.vim b/dev-util/cmake/files/cmake.vim new file mode 100644 index 00000000000..5cecd7d05b6 --- /dev/null +++ b/dev-util/cmake/files/cmake.vim @@ -0,0 +1,3 @@ +autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim +autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake +autocmd BufRead,BufNewFile *.ctest,*.ctest.in setf cmake diff --git a/dev-util/cmake/metadata.xml b/dev-util/cmake/metadata.xml new file mode 100644 index 00000000000..a23f444b67d --- /dev/null +++ b/dev-util/cmake/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>kde</herd> +</pkgmetadata> |
