diff options
author | Andreas Hüttel <dilfridge@gentoo.org> | 2012-03-08 04:45:58 +0000 |
---|---|---|
committer | Andreas Hüttel <dilfridge@gentoo.org> | 2012-03-08 04:45:58 +0000 |
commit | c0cafbd4463df2b9eb86f13971a29420960358be (patch) | |
tree | 504e9da9001ac669a21a2a25c82ebae677a5129f /dev-util/cmake | |
parent | Bump for #396243 (diff) | |
download | historical-c0cafbd4463df2b9eb86f13971a29420960358be.tar.gz historical-c0cafbd4463df2b9eb86f13971a29420960358be.tar.bz2 historical-c0cafbd4463df2b9eb86f13971a29420960358be.zip |
Respect pkg-config library path in FindBLAS, bug 399755
Package-Manager: portage-2.1.10.49/cvs/Linux x86_64
Diffstat (limited to 'dev-util/cmake')
-rw-r--r-- | dev-util/cmake/ChangeLog | 8 | ||||
-rw-r--r-- | dev-util/cmake/Manifest | 26 | ||||
-rw-r--r-- | dev-util/cmake/cmake-2.8.7-r4.ebuild | 177 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch | 45 |
4 files changed, 246 insertions, 10 deletions
diff --git a/dev-util/cmake/ChangeLog b/dev-util/cmake/ChangeLog index 0a1082eddf2a..72e0f71c04b1 100644 --- a/dev-util/cmake/ChangeLog +++ b/dev-util/cmake/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-util/cmake # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.188 2012/03/03 13:15:40 johu Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.189 2012/03/08 04:45:58 dilfridge Exp $ + +*cmake-2.8.7-r4 (08 Mar 2012) + + 08 Mar 2012; Andreas K. Huettel <dilfridge@gentoo.org> + +cmake-2.8.7-r4.ebuild, +files/cmake-2.8.7-FindBLAS.patch: + Respect pkg-config library path in FindBLAS, bug 399755 03 Mar 2012; Johannes Huber <johu@gentoo.org> -cmake-2.8.4-r1.ebuild, -cmake-2.8.7-r1.ebuild, -cmake-2.8.7-r2.ebuild: diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest index 917dac97d839..cff293a2f701 100644 --- a/dev-util/cmake/Manifest +++ b/dev-util/cmake/Manifest @@ -18,6 +18,7 @@ AUX cmake-2.8.6-CodeBlocks.patch 1171 RMD160 ca898b0b0664f74dde77bfea74246343675 AUX cmake-2.8.6-FindBLAS-2.patch 1119 RMD160 e7b3976c2ef7c0358e9b1b90e567e4ef1d48bc64 SHA1 cab554930d495ca7baedd125ec637c36f511bcb0 SHA256 295999abe12fd8103bfccc22606ff2c730831f495c44d52d80dfe8952815874f AUX cmake-2.8.6-FindLAPACK-2.patch 1158 RMD160 2fb17c71e08e930ed9a71f59a4316c35749159b2 SHA1 6e4b552ea1d9a6a464089935a50ed1152b2323d1 SHA256 2caacc85c393d9ad09f2c92d0595480d1e02b8db6285aa35f270858075465425 AUX cmake-2.8.6-testsvn17.patch 1033 RMD160 2fa56bf0177607c88c2e2960b2839b2df8820f2e SHA1 20b1003e391c44d8854105efa8592ac9b7ab6f2c SHA256 6d90df7a5472eeb8be81a70ee4a5f5850bb9d469ef9390af930ba7d6d528183b +AUX cmake-2.8.7-FindBLAS.patch 1641 RMD160 ec83cae23c4c44c48127cf4ed96494896bedf756 SHA1 4901f3fffff835b32174374f962b831ffd0536ec SHA256 be0d7ce6b59171c9e32ce7fe2ab4ae4a351640a7fa07920ae9230047eb0495ac AUX cmake-2.8.7-FindBoost-python.patch 5334 RMD160 eca921c1f0b0a335a108ac1e4af92cd14ab2d59f SHA1 c30778b6a0842a09a0ac848127323d7bbba0e99b SHA256 1f7ab1facbb332cf6a2d6f770ea77eff00cd7137990d3254ee6c1a9ecd22ed68 AUX cmake-2.8.7-FindOpenMP.patch 3265 RMD160 d37d4c56b1a15e33fa62931f5332cf4d78005b8c SHA1 e78974bb5390952cc351ea88dca45dc098803480 SHA256 0bd38ba40fc6dcc1ab462c6e27e4f3a3dca6451881ba46c1ff87b1af3b200c40 AUX cmake.vim 217 RMD160 3ac23077646d31e9c29ff32ae2eba20b63c07809 SHA1 527b989aec74eb260c16f93baf189c2e6794b3d8 SHA256 7366c1d45bdcc93efb1954216a5427a5f9df7e98a1f706c357576d7835aaebc5 @@ -25,16 +26,23 @@ DIST cmake-2.8.6.tar.gz 5583905 RMD160 c3095a4776367496f895b8075fda373568f01878 DIST cmake-2.8.7.tar.gz 5667409 RMD160 13b188e75152feef4e5692807e3a9e7c34b26fe3 SHA1 d206182b454f4d1ddeb0f11d7d1be8a66e5c2464 SHA256 130923053d8fe1a2ae032a3f09021f9024bf29d7a04ed10ae04647ff00ecf59f EBUILD cmake-2.8.6-r4.ebuild 4913 RMD160 19aa5cc3336016d998924baaf6f24899072eeb1f SHA1 2dcbc1a7e9309f18c4c789398a289661fe5decde SHA256 f9369ac05f203eb1c9756cc1570c812ebd87a24723d3719e91e109452af74dbf EBUILD cmake-2.8.7-r3.ebuild 4883 RMD160 9ff5d938fa0a1bbfe3a25dbc480d8d05700b77c1 SHA1 407497914318ae223746fa2ae2d9ff6330679198 SHA256 af301c62aa45bb754aee62bcfa46bc27ed07c609d258f04d5f103cdc01fe038c -MISC ChangeLog 30198 RMD160 9cea2908c055272b7fc6b4a9a442087f9eba74ce SHA1 3f8565a580ce0f578eb4bcb60cfa75a022e85fd5 SHA256 b0da641ced526ad92c9a6c4488731575f042a75af273f31c0e486879a3ecd8aa +EBUILD cmake-2.8.7-r4.ebuild 4886 RMD160 4242f47753fd43f62af0bed72699131eec59e7f8 SHA1 6eeafe2b649bdf454f5805c009a4033481823049 SHA256 4a410aa5d8b38fc6d35be7792c0914c97bb1373c8725c944dde20d5a92b7a086 +MISC ChangeLog 30411 RMD160 bea35a6c04ef2126a21255ffbd93b36d93c797e3 SHA1 75e2efaad18b8fc634e82db69e70d752c4774242 SHA256 8185c78b6fd641af43d90a0810eac0c65215f4d29b9b872f4668701319cda6c6 MISC metadata.xml 157 RMD160 09fb7b798f3f68127626e97c69e5215a0513ecbb SHA1 d5ffebb2f4248fc8f65ab21c3af6e4f5dbf8bf6e SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.18 (GNU/Linux) +Version: GnuPG v2.0.17 (GNU/Linux) -iQEcBAEBCgAGBQJPUhrDAAoJEO+t9ga+3I3a/1QH/0Nnh6NymRr+aoyKMIwJyXq+ -JSRnTXY7RaabUemz7pqC9O7lk0+VuxLVj6z990ZqrY6tUNafWe+PFqtv7dET4o8U -F4E75EJkg3nFeumdgkWqm38JgDD8icRKx8ZY9kGEYuPqiBZFBfQvdpp6kKqVld3N -tfFXTz12QEPT/XF2CpSQ9g2kQZ1RcuN0iNJ6s/mcst2qEK3PyimiaI3EZb/BLTGY -tnQd7+x/biO5DFcRQfv9e8GyOdqr6KrBlWxYa0J4IBky99x/1Ol5BuL+yxiRh+6P -km6PD9S8G3hstmKEkIKCiolgjN7hiwMthbTuxoI6xP9NYIuQidGr/T04yAqgk0Y= -=tRq4 +iQIcBAEBCgAGBQJPWDm9AAoJEEb+UGWnxTyHRv8P/RWKF2aMjTompEpZTR0eJgXf +janZR3J7F6bpoobAbCx4K0sYVwAlW4sc3X5Lh2iGEPC2FjVcZtyUQvTVOvaaCjq3 +yLbu0yLF2W5Dt/yIvZ630BwLYtS5mMlMbldQmXO9wFzOn10uZKpRULNl90T2VQ/d +k5VzEaoxAZyadfPuQS9143lYMukGOG6MmoQepgwSeg/CWQ6eETBYLOC5Za/7wnv2 +P4uA8TfFzJtUxxFkLFJdT1AXpefHoz3yQroY+qOsUabmJ75GcSwi7B3Za+18SkmD +ychap57zWT2Mhr1PkbmuI0OXRLfWSUt3ECkPIP/kv3YZVMJ6GU3wwQzEKZyd4gV/ +ynI1gUhI0vONDkJX7Rw6d1kdJUYQ8a/l6VbGUzPoCw9hlKhBc8WGx6ql7VnEFob/ +z2U+eQ2n+oXnX/hF5v3R/ZqpZsaLLvrecKxK7CBv+V7xbyKMEo57SkOb0Y7WZAbD +T35K97z8t6YfzwRRh5XdQSb67gbDUjCl3xxeGrGc+4aTcUVNXDIppGaYwBlvZZw9 +o+Al+dKLDSqzbbfZ0jYIDE6TupwwCQcarUHsGTfUkQd4jIncHBFgw+QWOeJoEZWY +jZ5B5w78bpsB1UkEBgDSVam6RXupJbB7mp9M9DCDeaOMOFplhOvF7xFoRNwbNAgX +THdbIqJzYPnyhcwmhQaz +=yMKt -----END PGP SIGNATURE----- diff --git a/dev-util/cmake/cmake-2.8.7-r4.ebuild b/dev-util/cmake/cmake-2.8.7-r4.ebuild new file mode 100644 index 000000000000..24764c558578 --- /dev/null +++ b/dev-util/cmake/cmake-2.8.7-r4.ebuild @@ -0,0 +1,177 @@ +# 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-r4.ebuild,v 1.1 2012/03/08 04:45:58 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.4-FindBoost.patch + "${FILESDIR}"/${PN}-2.8.6-FindLAPACK-2.patch + "${FILESDIR}"/${PN}-2.8.7-FindBoost-python.patch + "${FILESDIR}"/${PN}-2.8.7-FindOpenMP.patch + "${FILESDIR}"/${PN}-2.8.7-FindBLAS.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.7-FindBLAS.patch b/dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch new file mode 100644 index 000000000000..a91214c1a90a --- /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) ++ |