Fix logic bug in FindBLAS patch
authorAndreas Hüttel <dilfridge@gentoo.org>
Tue, 22 Nov 2011 22:15:19 +0000 (22:15 +0000)
committerAndreas Hüttel <dilfridge@gentoo.org>
Tue, 22 Nov 2011 22:15:19 +0000 (22:15 +0000)
Package-Manager: portage-2.1.10.36/cvs/Linux x86_64

dev-util/cmake/ChangeLog
dev-util/cmake/Manifest
dev-util/cmake/cmake-2.8.6-r3.ebuild
dev-util/cmake/cmake-2.8.6-r4.ebuild [new file with mode: 0644]
dev-util/cmake/files/cmake-2.8.6-FindBLAS-2.patch [new file with mode: 0644]

index 780f20454ce8358076906391ccb0e671cf5b2238..ac2a021d0c70ce473dd7295efded3c3f1b49ac04 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-util/cmake
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.175 2011/10/30 23:09:30 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.176 2011/11/22 22:15:19 dilfridge Exp $
+
+*cmake-2.8.6-r4 (22 Nov 2011)
+
+  22 Nov 2011; Andreas K. Huettel <dilfridge@gentoo.org> cmake-2.8.6-r3.ebuild,
+  +cmake-2.8.6-r4.ebuild, +files/cmake-2.8.6-FindBLAS-2.patch:
+  Fix logic bug in FindBLAS patch
 
 *cmake-2.8.6-r3 (30 Oct 2011)
 
index b4cdf026f4c2139ae1248315ef5628b21de42bb8..eb66b8f3c3a423c5e19e33b3b7a341d55409b419 100644 (file)
@@ -17,6 +17,7 @@ AUX cmake-2.8.4-FindQt4.patch 10926 RMD160 15da9e13df5a98f9171a263c0c9d23f45707b
 AUX cmake-2.8.5-FindBLAS.patch 1096 RMD160 632ad06a5b3fa645d5d29d46602151d941049fb2 SHA1 69e089cf3bb8c9f748c8118a6d6dcbc218adc4cc SHA256 39e0fe4aa61b1efd149151b44b2c84bc651e11e96dd29321bd7d87e76158ac77
 AUX cmake-2.8.5-FindLAPACK.patch 1170 RMD160 1ea32132a982d3cb03072855a21059c68392bdf4 SHA1 8cbc7da551885c43863decabafec3d4d095cadaf SHA256 570707887e4d45a656bfeecfc06f203c7676d05bba988776a8a259cfeefb14d8
 AUX cmake-2.8.6-CodeBlocks.patch 1171 RMD160 ca898b0b0664f74dde77bfea742463436753e6da SHA1 083c105f5af4e215d109ddf4f90c91b454c85dfc SHA256 b274e3d9c82f5f7ffb21c44234a3b42bb671b9b8ad3314b09baa329c18447458
+AUX cmake-2.8.6-FindBLAS-2.patch 1119 RMD160 e7b3976c2ef7c0358e9b1b90e567e4ef1d48bc64 SHA1 cab554930d495ca7baedd125ec637c36f511bcb0 SHA256 295999abe12fd8103bfccc22606ff2c730831f495c44d52d80dfe8952815874f
 AUX cmake-2.8.6-FindBLAS.patch 1064 RMD160 f359d84913dd868165f37d7bb9e507109552bf22 SHA1 1455e3602d9484a4fc339768eec221b037862ba1 SHA256 ef4b5e455ebf7431fdd4dd37a671c2c93b7e9db24cd13ac1eac9d3dccb1f828e
 AUX cmake-2.8.6-FindLAPACK-2.patch 1158 RMD160 2fb17c71e08e930ed9a71f59a4316c35749159b2 SHA1 6e4b552ea1d9a6a464089935a50ed1152b2323d1 SHA256 2caacc85c393d9ad09f2c92d0595480d1e02b8db6285aa35f270858075465425
 AUX cmake-2.8.6-FindLAPACK.patch 1150 RMD160 6f18fcb48dfa7ee92bd440198fcb2bc3822d3ad5 SHA1 9f9f92d7657025968ebfe74f5983c8b0ced94721 SHA256 033e3b0a217e0168b47588f01f2e4b216f0ade5dd0297264e8dc3f672a979caf
@@ -25,23 +26,24 @@ DIST cmake-2.8.4.tar.gz 5477628 RMD160 8b92eb11391b07433e7fe02bbb80c3ebcaaf1893
 DIST cmake-2.8.6.tar.gz 5583905 RMD160 c3095a4776367496f895b8075fda373568f01878 SHA1 7c2cbd42d27e26580cd4923892197b84b2a90675 SHA256 e6999b81ac367d85ffb0f69b6c4a0ef96f95dc154efd3592f9cfebacdf75728e
 EBUILD cmake-2.8.4-r1.ebuild 4510 RMD160 64efe5aa8c2b68908940ccf922d4754fc1a40d09 SHA1 0ef8f21873968242807661aa4ebb5617bb8e063b SHA256 b4aa824de85f7e74e6ec2c062d1ded1261fad04f3de7fbd0295faf32a6ebda5a
 EBUILD cmake-2.8.6-r2.ebuild 4727 RMD160 5c1b8e10376ce352f23c7e94e813007c5c6584f8 SHA1 3c50dc691446383f2f6f32e78c686918217f50c6 SHA256 67e1a2746ccbfb7becfa50f41c80d1d94fb12ef1ef900531490e92f2c995d825
-EBUILD cmake-2.8.6-r3.ebuild 4771 RMD160 2e97f89a6a5e13270f64c14fc2e041229a8bff64 SHA1 647649aaa8cc06418423ab03f6578506a827468a SHA256 1b830d1841e6975635673cd58cb28987f80e071ea94d506ac76456c37c371eea
-MISC ChangeLog 28063 RMD160 6592d3176c2ae3fe8f89fd30b5064767c31ca101 SHA1 0259a9ffc580c3166b59a776fceab62d8b970dee SHA256 2abcc69485bd01086d9be5be31823ef5c01d5140d48378c3a920c82a9f58ff08
+EBUILD cmake-2.8.6-r3.ebuild 4882 RMD160 859cbc81b2ced0fd472a76ac75d6057d495d889d SHA1 a9a39dd92c64a1391fe49a4f489efb88a30701db SHA256 3cca3a254278df1e97b5df2e53654017eddf84f2c705ab5c7901b315de418833
+EBUILD cmake-2.8.6-r4.ebuild 4884 RMD160 3b984ce337aba61b85b591c8b5ac4efcfb7a0454 SHA1 0a9176a405d66b873b445ae0c1031df56d37bf7c SHA256 2323def80c90f01db10a3462637dbb15ff95f1c73a2e8136a33fe3d6fd6fb0d3
+MISC ChangeLog 28272 RMD160 b38a51f96647d61bad3534c4e20ef3fa31cc5530 SHA1 3570e1645832d5f66e429eba0132c2fe8b90b690 SHA256 032f51cf922f5666b5b12021a8e2cefee970a89e0b09317c7a326c0dafcc6a18
 MISC metadata.xml 157 RMD160 09fb7b798f3f68127626e97c69e5215a0513ecbb SHA1 d5ffebb2f4248fc8f65ab21c3af6e4f5dbf8bf6e SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iQIcBAEBCgAGBQJOrdk6AAoJENwGBM22xffeBFIP/2oTnuRrlG1y4xqtLATWhr0B
-HBONyc8n0vj+arhuZ0UyuxOsbDWbtvs5AiJ/DOy9Hmn2EFEXXD1/cWbqlbs8f3OF
-krUGoEnjogCOGoNu/iBRshjgL2K3kZd40mZYF0xRO0zP1nOLkupwRDoyOScivnBS
-C8PkHjjwzpFkopHpLEqGRFc2a4SPgMEG9xLcgXMUTTSdqpskguBOsMsT3siX+jdC
-kVTLuqZD7I26cSLX1E05qc5sbFgrhpCcRjreBWEG1Jln6s5sCfb/0/glN7+/0CXo
-jDf1nbDHbBzQhUvz3IgjBVKkmj17IAYL+dYzYSXytdlra9GwSwev3tZP2cVkATLf
-RnMmId5zjjrscpMSmAB2thZBz+EmMrrCLTiHdWG00zhuv3zHaUqH0Fodp7k7CEly
-JEENA7Bac2BXwKQ+rEPzDB9pxgDbmGrb8F//3eaL+nwxArymR29jIEztTdPjUtYC
-5rZvGWuMBDc20XRAJog+jFGkWN8G/4oFQ2vetYjBulHOijPEAATkH2yFYj1UU51u
-CRYK6SuMHKeY5J0aBi4M4tKE9VLmFT16fh3WGEchik2v5VqpKa8xjtykWA0gM/xJ
-RfEpPTXiJkC4DkOx1WREh4LmFZ0ez3iSk3p6gsBkwO1cK+F8KNGOS38WRMA0V6aq
-L/4qV6VmIqYzYdTk2eXo
-=zuFG
+iQIcBAEBCgAGBQJOzB8CAAoJENwGBM22xffes4cP/3bJAuy0gXNNPUEEk8rZqtBy
+L2X/npupCMBJHZ+P/QqQelP0UvAOR8XE7uLvEzwxVeFjmHXYHvDoAWGF/yDFG7ZB
++1ZT+3974RgMTUZQ6dWTJKpgf8KnFeEm9tUZfYVtQQvXjQhZaWtwXdCWmWgKV0NQ
+Q41lsHcdv4q4jI5KE1F+VpJvc9uL6gTt416A42niUWKflv7g4rF1791TWqu7dIf8
+TErmRWlBCc8uC9Pn3HOjAkij5nX7wbNpU5yiyoutAnDjc16DOQbmU+Rylw/gmQUn
+x5GiCt052+4JuYBcVR7HsCBQRes+yVvzPAtvZIs09Y1r7X6bKvhrzIVDL8l4/To9
+j1CFeUaXAL5TG8ocoQBE1F98OgoJ2GAFypa3ZPiKRDg5ZSYNl/d+QE/XS4x+vP91
+/5eehIksl+HbMKGneWAc4q8wKuBPt/OJqSWyDkUT4bFWJ02p87dFNqXIUCMKO2ju
+wObbfJCddfOhcIrCINnSkGmcWQhxhT5vSXczMFdklsNNPRA9b8BnUQ8QNYkSi3RE
+Kmag2OJw9jIzsjFpfQQpfafUXN4h2ydu3BoSYth/OYHC4aSe3h3Uae0Xpzj5e2dW
+NxTNJTrpYRgYeXYmE0mRmspRohidPZmTx4irEdHoX3U85uM4j+5AuIQ1+NIsI3sS
+3sSNmFIWNWdvUA3OTbOP
+=rk4Y
 -----END PGP SIGNATURE-----
index 54cae76bbb974ae4935d24af8bd3ecef94c57db9..e1b84437d245f327456fb7fb1bc11792d5ef0d96 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.6-r3.ebuild,v 1.1 2011/10/30 23:09:30 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.6-r3.ebuild,v 1.2 2011/11/22 22:15:19 dilfridge Exp $
 
 EAPI=4
 
@@ -83,14 +83,20 @@ 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 \
+       "${CMAKE_BUILD_DIR}"/bin/ctest ${ctestargs} \
                -E BootstrapTest SimpleCOnly_sdcc \
                || die "Tests failed"
+
        popd > /dev/null
 }
 
diff --git a/dev-util/cmake/cmake-2.8.6-r4.ebuild b/dev-util/cmake/cmake-2.8.6-r4.ebuild
new file mode 100644 (file)
index 0000000..f18e4d5
--- /dev/null
@@ -0,0 +1,177 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.6-r4.ebuild,v 1.1 2011/11/22 22:15:19 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"
+
+# Fixme:
+# Boost patchset is foobared and should respect eselect / slotting
+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.3-more-no_host_paths.patch
+       "${FILESDIR}"/${PN}-2.8.3-ruby_libname.patch
+       "${FILESDIR}"/${PN}-2.8.4-FindBoost.patch
+       "${FILESDIR}"/${PN}-2.8.6-FindBLAS-2.patch
+       "${FILESDIR}"/${PN}-2.8.6-FindLAPACK-2.patch
+       "${FILESDIR}"/${PN}-2.8.6-CodeBlocks.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/cmake-2.8.6-FindBLAS-2.patch b/dev-util/cmake/files/cmake-2.8.6-FindBLAS-2.patch
new file mode 100644 (file)
index 0000000..16b6480
--- /dev/null
@@ -0,0 +1,35 @@
+diff -ruN cmake-2.8.6.orig/Modules/FindBLAS.cmake cmake-2.8.6/Modules/FindBLAS.cmake
+--- cmake-2.8.6.orig/Modules/FindBLAS.cmake    2011-10-04 18:09:24.000000000 +0200
++++ cmake-2.8.6/Modules/FindBLAS.cmake 2011-11-22 23:04:17.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,14 @@
+ # (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(BLAS blas)
++if(NOT BLAS_FOUND)
++message(STATUS "No PkgConfig configuration for BLAS found; starting more extensive search.")
++
+ include(CheckFunctionExists)
+ include(CheckFortranFunctionExists)
+ 
+@@ -622,3 +636,6 @@
+ endif(BLA_F95)
+ 
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
++
++endif(NOT BLAS_FOUND)
++