summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hüttel <dilfridge@gentoo.org>2012-03-08 04:45:58 +0000
committerAndreas Hüttel <dilfridge@gentoo.org>2012-03-08 04:45:58 +0000
commitc0cafbd4463df2b9eb86f13971a29420960358be (patch)
tree504e9da9001ac669a21a2a25c82ebae677a5129f /dev-util/cmake
parentBump for #396243 (diff)
downloadhistorical-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/ChangeLog8
-rw-r--r--dev-util/cmake/Manifest26
-rw-r--r--dev-util/cmake/cmake-2.8.7-r4.ebuild177
-rw-r--r--dev-util/cmake/files/cmake-2.8.7-FindBLAS.patch45
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)
++