Fix problem with detecting mpi libs through FindMPI module, commited on permission...
authorJustin Lecher <jlec@gentoo.org>
Thu, 27 May 2010 09:27:53 +0000 (09:27 +0000)
committerJustin Lecher <jlec@gentoo.org>
Thu, 27 May 2010 09:27:53 +0000 (09:27 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

dev-util/cmake/ChangeLog
dev-util/cmake/Manifest
dev-util/cmake/cmake-2.8.1-r2.ebuild [new file with mode: 0644]
dev-util/cmake/files/cmake-2.8.1-mpi.patch [new file with mode: 0644]

index b806383c1b07ec9c6be7c54348536c4d897829af..85e3f08160091e944353f6e290c317999aed103e 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-util/cmake
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.133 2010/04/13 09:21:44 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.134 2010/05/27 09:27:52 jlec Exp $
+
+*cmake-2.8.1-r2 (27 May 2010)
+
+  27 May 2010; Justin Lecher <jlec@gentoo.org> cmake-2.8.1-r1.ebuild,
+  +cmake-2.8.1-r2.ebuild, +files/cmake-2.8.1-mpi.patch:
+  Fixing problem with detecting mpi libs through FindMPI module
 
 *cmake-2.8.1-r1 (13 Apr 2010)
 
index f7d31a4da3c998ad061238533d31bced0f085f09..7ce4ffe25e663cdf22d1ad72db801744b039ccb6 100644 (file)
@@ -13,6 +13,7 @@ AUX cmake-2.8.0-more-no_host_paths.patch 2981 RMD160 4a6de86385e6bc0c42d49c48603
 AUX cmake-2.8.1-FindBoost.patch 714 RMD160 8f7d2be9cc63289a3e4f79b43f4b8baa6d980810 SHA1 37925b584dc471148f756bd41158740704dbec37 SHA256 f110d2387c362c518480d804bf1ce9f4881af67755cafd41bb639b09a8afca88
 AUX cmake-2.8.1-libform.patch 1818 RMD160 ca954dfe966cd73836ef9e01ffe8f0eda85f2f91 SHA1 8f8e9a0002b4a95cea7dcfc36c2df16c47008bec SHA256 3b4ee03c7733b3fb468c5d4c6b139358be751b2398b56ca4ecdbf8a86b1f1ed5
 AUX cmake-2.8.1-more-no_host_paths.patch 2981 RMD160 fea9f1d96d8c29f55e424389fb4f2471dfe514d8 SHA1 90fdc2ad69aeb54530d1faf4867e40c233caf084 SHA256 0c3fbe76684851ee444be92a99f91e5a5e8dfef02d7426722e10025aeca03412
+AUX cmake-2.8.1-mpi.patch 857 RMD160 d41e4dd445b1a79d0a82619a8ad7371e80d937a8 SHA1 0192124d023953d35cb5fb0da148c914525099e6 SHA256 64092fbf637bfe625cf58abe93844aab2e75ba22a00e5ffdb05188961b7f51d7
 AUX cmake-FindJNI.patch 2020 RMD160 4fcb9714de65eb146a2696cd6613357684515b2d SHA1 c463daa6e7d3a1d7065607f97993b5da3486e7e1 SHA256 c5390550c192aea18415087ed891f7e5192b2a385c9c72f4cda0c19b13f6bfbb
 AUX cmake-FindPythonInterp.patch 498 RMD160 a4113724d0c2bdb53e7c947790d8a7e337759c84 SHA1 abd7754549fef5aae515361acd6a509c98227bf5 SHA256 8c3d4dc1898eae4adaa392b556286076594470277bc7c1bddbe2a28213fff7c0
 AUX cmake-FindPythonLibs.patch 546 RMD160 429021001f1b464d8321703052890a34141a34ec SHA1 e5d62feab16058f123e1399e0504a50f50ee5a88 SHA256 86a5e78ff4e62cf8987401255197f7ba4ae70d00c257df3048372c5dcc035bdd
@@ -21,13 +22,14 @@ DIST cmake-2.6.4.tar.gz 3285371 RMD160 e4217067537f76e52317514cb5bb0cf38733d16a
 DIST cmake-2.8.1.tar.gz 3605611 RMD160 38b0876597def32a535d5305fb8f706ff29beabe SHA1 fb93c8766a3bd71f2a824291717700c118d29be5 SHA256 4b65b819c00874c34196640411f6f9e877abf23733ba0ef68f73b4fafd3b3022
 EBUILD cmake-2.6.4-r3.ebuild 3476 RMD160 e20f6f85b5291ced7e3ee53ff933a0da704b8f14 SHA1 72bb72aeea2261d1c5c5642018234803c35c32c5 SHA256 1c4a2f60dffb72d1134932b580e46d07a7784420a0c786f204d4b71dbfd928f0
 EBUILD cmake-2.8.1-r1.ebuild 4047 RMD160 5d68604c2c9ffb76ef400058a61f73ab6de73643 SHA1 b36f343d961b0b030e142b63fb5c4b7f60ed7830 SHA256 c8cb7c23043afddaa9ae646eba211d226ab8f1bb8f9b56be69167acb6383251f
+EBUILD cmake-2.8.1-r2.ebuild 4084 RMD160 8d9b8ccbc44223517500ed1da9f9735ada387db6 SHA1 0b75d03914848f3ab909f64d4b45e70217e49d3d SHA256 289b4ee0efb1577ca80f1c90f74095c128873aa65a1123a0107d0ebf31a90cf7
 EBUILD cmake-2.8.1.ebuild 4060 RMD160 9b0fc37214b5368b83fe922736deb17838fe9557 SHA1 19927fd33f4671558cfd4086b3e83a0d71ef7c7c SHA256 713f767eb2017664b46b4c215f04516b1eaf17e932c8b5f8d988ccfdfaf619ee
-MISC ChangeLog 20849 RMD160 f8f07f81a59bcd58cb814dd290679bff6a9ebaa0 SHA1 5e4176be721b86d117adab76d997bee4779884e7 SHA256 da456053179314d1076e595c93ee261673b7a1df00758dcb741f1fba3d22146e
+MISC ChangeLog 21066 RMD160 bc9368257bb5b74c1a24f903b3685f296ed811e5 SHA1 bc0ae6755b3dd670f63b2f28c18cbeeb061341e0 SHA256 3c8b649daa21cad4aa20b33c574cbb8122f0a8001c97a05aff0bc7a164017544
 MISC metadata.xml 157 RMD160 09fb7b798f3f68127626e97c69e5215a0513ecbb SHA1 d5ffebb2f4248fc8f65ab21c3af6e4f5dbf8bf6e SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.14 (GNU/Linux)
+Version: GnuPG v2.0.15 (GNU/Linux)
 
-iEYEARECAAYFAkvEN6gACgkQHB6c3gNBRYcL1ACfUiJE9mVuxs6Lx0aknm8bJWMB
-IGcAnRv7cc5cSa+MI8KVBcWG7jKiLUlN
-=2/de
+iEYEARECAAYFAkv+Ox4ACgkQgAnW8HDreRYNewCgt45djO7NDOVWi9ETnmweLFZI
+/BsAnim4jEl24WDOSSCyEsMdvyZx/viH
+=D7UK
 -----END PGP SIGNATURE-----
diff --git a/dev-util/cmake/cmake-2.8.1-r2.ebuild b/dev-util/cmake/cmake-2.8.1-r2.ebuild
new file mode 100644 (file)
index 0000000..05c7057
--- /dev/null
@@ -0,0 +1,158 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header $
+
+EAPI="3"
+
+inherit elisp-common toolchain-funcs eutils versionator flag-o-matic base cmake-utils
+
+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="
+       >=net-misc/curl-7.20.0-r1[ssl]
+       >=dev-libs/expat-2.0.1
+       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_IN_SOURCE_BUILD=1
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-FindPythonLibs.patch
+       "${FILESDIR}"/${PN}-FindPythonInterp.patch
+       "${FILESDIR}"/${PN}-2.6.0-interix.patch
+       "${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.0-darwin-no-app-with-qt.patch
+       "${FILESDIR}"/${PN}-2.8.1-more-no_host_paths.patch
+       "${FILESDIR}"/${PN}-2.8.1-FindBoost.patch
+       "${FILESDIR}"/${PN}-2.8.1-libform.patch
+       "${FILESDIR}"/${PN}-2.8.1-mpi.patch
+)
+
+src_prepare() {
+       base_src_prepare
+
+       # 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"
+}
+
+src_configure() {
+       if [[ "$(gcc-major-version)" -eq "3" ]] ; then
+               append-flags "-fno-stack-protector"
+       fi
+
+       bootstrap=0
+       has_version ">=dev-util/cmake-2.6.1" || bootstrap=1
+       if [[ ${bootstrap} = 0 ]]; then
+               # Required version of CMake found, now test if it works
+               cmake --version &> /dev/null || bootstrap=1
+       fi
+
+       if [[ ${bootstrap} = 1 ]]; then
+               local qt_arg par_arg
+               tc-export CC CXX LD
+
+               if use qt4; then
+                       qt_arg="--qt-gui"
+               else
+                       qt_arg="--no-qt-gui"
+               fi
+
+               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
+
+               ./bootstrap \
+                       --system-libs \
+                       --prefix="${EPREFIX}"/usr \
+                       --docdir=/share/doc/${PF} \
+                       --datadir=/share/${PN} \
+                       --mandir=/share/man \
+                       "$qt_arg" \
+                       "$par_arg" || die "./bootstrap failed"
+       else
+               # this is way much faster so we should prefer it if some cmake is
+               # around.
+               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
+       fi
+}
+
+src_compile() {
+       cmake-utils_src_compile
+       if use emacs; then
+               elisp-compile Docs/cmake-mode.el || die "elisp compile failed"
+       fi
+}
+
+src_test() {
+       emake test || die "Tests failed"
+}
+
+src_install() {
+       cmake-utils_src_install
+       if use emacs; then
+               elisp-install ${PN} Docs/cmake-mode.el Docs/cmake-mode.elc || die "elisp-install failed"
+               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/cmake-2.8.1-mpi.patch b/dev-util/cmake/files/cmake-2.8.1-mpi.patch
new file mode 100644 (file)
index 0000000..67f1001
--- /dev/null
@@ -0,0 +1,20 @@
+diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
+index 481b0e9..43e97e8 100644
+--- a/Modules/FindMPI.cmake
++++ b/Modules/FindMPI.cmake
+@@ -263,13 +263,13 @@ elseif (MPI_COMPILE_CMDLINE)
+ 
+   # Extract the set of libraries to link against from the link command
+   # line
+-  string(REGEX MATCHALL "-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
++  string(REGEX MATCHALL " -l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
+ 
+   # Determine full path names for all of the libraries that one needs
+   # to link against in an MPI program
+   set(MPI_LIBRARIES)
+   foreach(LIB ${MPI_LIBNAMES})
+-    string(REGEX REPLACE "^-l" "" LIB ${LIB})
++    string(REGEX REPLACE "^ -l" "" LIB ${LIB})
+     set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+     find_library(MPI_LIB ${LIB} HINTS ${MPI_LINK_PATH})
+     if (MPI_LIB)