summaryrefslogtreecommitdiff
path: root/dev-util/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/cmake')
-rw-r--r--dev-util/cmake/Manifest12
-rw-r--r--dev-util/cmake/cmake-3.13.5.ebuild227
-rw-r--r--dev-util/cmake/cmake-3.14.3.ebuild6
-rw-r--r--dev-util/cmake/cmake-3.14.5.ebuild6
-rw-r--r--dev-util/cmake/cmake-3.15.0_rc3.ebuild6
-rw-r--r--dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch43
-rw-r--r--dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch23
-rw-r--r--dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch13
-rw-r--r--dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch127
9 files changed, 454 insertions, 9 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest
index aa338be534ab..419cfe2fbcbd 100644
--- a/dev-util/cmake/Manifest
+++ b/dev-util/cmake/Manifest
@@ -1,6 +1,10 @@
AUX 50cmake-gentoo.el 244 BLAKE2B 1a6c7919b020b3e590a67a9a37f5afd7a56e9970274987cc785f5d5ca78e702a4387684441a68d111a2836eaa76be8ab111b03d81784acbc701b8ccc726f9a2a SHA512 70af0b9dd41f08531d3c754dc8af3662df8a22b469b79e8c40b7caae3205be1d4dc81d8b41837d1b6a46f2c348f5407e09e02269823c45c3366777e3bc7a0dcb
AUX cmake-2.8.10.2-FindPythonLibs.patch 990 BLAKE2B af80335e802c198287315da4ebce193d81ceec00a1e13ec084b80bc3f3df5fb9158765c3bc02d4ed9f6972b77e66c712dd8292c12aa4aca78d178e96943639ee SHA512 c2027439ef5f53991f99db4c60f62e0164641ffce58bfbe0dd9a0b4f93f8b96f6f6e30715a3ab57a47ea7a85d7d784ad602ca74ce88b5bca1a08c538dcc9676f
+AUX cmake-3.0.2-FindLAPACK.patch 1369 BLAKE2B dea4b1299253ae61a24794de0168e869b7ae2f97392229905f47974deab148ba77eac04a6f77574be8a161eb673fd88b28187597bb9d47efd772a3b3177eafad SHA512 4f20c4475841201c28ad49539fe896345add626dad5615357ff01817e10f7315ffe39e3a8d4bd0270179d7c58e5679a5bd9ae2accc1019ecee91db380ba48577
AUX cmake-3.1.0-darwin-isysroot.patch 1926 BLAKE2B 4e8dfc78db33e62a6234a91210f0136312dcd0fec065ba76fa0b6a9f1f3e4ae0139af700494951d999bdf2eee57a5c22db5516b8b8276f4d8be4395f2c4cb675 SHA512 0cbb55f8f5458e72b1e465577809287dcc270636aef192f039eb1e48ef78b933a7290f81c6fefb0dd1f5eb8f9d209766687ffcb4f37c702b8317f8d2e36236ad
+AUX cmake-3.11.0_rc2-FindBLAS.patch 775 BLAKE2B 89249b37ca44cc9068a5fd81350637da16c3a92a662f5b30db7e7bbfb9b47c816122bcbe31cb01845bdec760d449d0babbbcd6638ad4975b39db73c7bc5ea2e2 SHA512 ab24736b64bff1f9213f3eef7acc6a78829c875e8e5ec7b0d96ad406517e5335b0e3930ef369a9d6190d25a298c6834965e4977e5062e87595169272339f7738
+AUX cmake-3.11.4-fix-boost-detection.patch 996 BLAKE2B 195ade40e279ca85ee55b1d46353f8809f68e405a6c914c34340825f7f77ec5cb78ebee3f7aa12cc6f026a802db4bc893ac8570a03b76af708ea2df7a3ecadb1 SHA512 66da91fb39286d1745af733a806f60db313ddb0a506b29509aba66259a57cf8abf65fcc871114c5a2cff91eb8c27ca346dd75fbd29f773fb2d31cfead827f250
+AUX cmake-3.13.4-prefix-dirs.patch 4239 BLAKE2B 470de3626a9f6edf65e5ec597b1de36697e6c2038ec5f435dd5a89ec69ac32227663f0eb5f86c9d5d89a1c809e1092b5e901c52dcab9f2a7d3bc8f7bdca110a7 SHA512 b1801d0f0ec8963181460a8b939a26e791295d6a45fb78135dce5684507689cb44cab7a536d5f85c26f51deda19e95b40500aba026f43920fa7eee686ad3869c
AUX cmake-3.14.0_rc1-FindBLAS.patch 1247 BLAKE2B ca3b9e1515569b1dcf4692480233aa149c4846f0767c872a25ab0f9fe411ab09348b441f17319abf1c06fd3275e3db7d8bb8f25eba83bab7fb800fff115d06a0 SHA512 425dffe59dc7ec6383579d2ad5bb7a7607e4446804ceb6c698c34ad4615fffd552051dbe6ab21450fa769cb7b25a0184ce9204841e2ab98a738b786c93bb90ae
AUX cmake-3.14.0_rc1-FindLAPACK.patch 1798 BLAKE2B f372fd920abaf85ab3106385d45e193c2c0fba1ca9fb5c14cf53bdee9a29602b7db0078676c90f65f3f3eccddfbb1f6b9964d26f90aef38cbc0c197a4b243ac5 SHA512 dcc970561f54d862f2124512bfc28ab25e66b1fa5e6a7a6138faae7f1e3a4136320ad4d4942153ac9505035b74f3e8442dddb62af6fb1486fcfec08fcf3e3743
AUX cmake-3.14.0_rc3-prefix-dirs.patch 4688 BLAKE2B ec197f40246ff9b47f6515cec92f0ef497de2e96756cd7c12ea3fe7c71d5e2220c637210f663194c63e72924d89dbce7afe92fed01bca8947bdd76af6f5365b0 SHA512 9da6be335e5615b2e14fdcccbadd50a0e2df6e19476818358216501b657350c73fa6bdc1dcaedec1fa50e3e18e39544e2d2815d6f54dd5b4aa5860bdf35e8d52
@@ -9,10 +13,12 @@ AUX cmake-3.4.0_rc1-darwin-bundle.patch 1043 BLAKE2B 99fc8061352b6a503f472e11045
AUX cmake-3.5.2-FindQt4.patch 1585 BLAKE2B 8cfda84c419515be57f65be7b4b22d7937b656eb7f58d61c7d9e30db9dac36e934f2a529b4ea20d69c5f8a653c727bae34374ebcb7f5017fd70df41abd538164 SHA512 bab8960bfea3c29416bdc8f39c7dee59b89bd7951752401f24eeb9161ac7bc2c6dd200cb62c6b9f964d763b5d257a94d8b04dc7090d6fa947a04f2d0c2e8c479
AUX cmake-3.9.0_rc2-FindPythonInterp.patch 1458 BLAKE2B a70945921738f00952b40a73d9ea26ecc86614aa3f12c94226aac4710dd0b9723c365b6f5def965069a54919bab13a33490facc6c5e64fad69d2e05a97d2812f SHA512 8adcb75cc035f64521e85229eb8dfa1e627326f8e189f66b707b3a0448ed3ae6acf306643026f7cbc7b924edcef73cad7a107d83162b4ca46bd6bbdc7a58af12
AUX cmake.vim 217 BLAKE2B 5d2cf8b4101a7204fd27a9f21d82fea4d86fc4eeed54e062b543452dc574e73d1c80167c83eb482d9eec310950ac811ba35d3eeb97b51958f12f3adf575ddbe7 SHA512 2f7e9e949f8f3030a0dfcef56f4effea703ee60555c22f6a2d1dfeaf3334f33a3e88910c666f704e4ab60cde4ebb509c7d85d812a3c1627010e52fc757f15cdf
+DIST cmake-3.13.5.tar.gz 8618821 BLAKE2B 765678bc92821207c53bfb4ac995a791b938f20236c3a6fda873b8edd11cd1401b4f4c05f170b8f600f38bde5f1227c715499eee072a8de3bb29d4f5cd230226 SHA512 99e3a8f5bc147dd90b9cab11f06892d87f289aa1354ad323711fe96ebc9c32b1e887e8f9d3575a37831c4d2153a070ff9115c5e27a185d54170bad9dbbaabc26
DIST cmake-3.14.3.tar.gz 8851085 BLAKE2B 92da2c563f7ddc3b12457f63eead850eb99b123298632b5a9e8f80f3e32db20e2b25bc60778855400261d13d4ef42600162248f4a92907a0c581e202fc6620eb SHA512 e257a96334f21f2b2f17e8d43aa32c2b069d13194604393c5ac9d3da193000d5328181c6cf861696186d022aba57679ee2d08073d8a7112727746b2b145a47e2
DIST cmake-3.14.5.tar.gz 8854929 BLAKE2B 3e783de1ce541039c80228a56fed4fd28e9ef2ea48f274995f6f26f8b149f1684aab6da518f27106f364a4f0a6f370334f3a85dd61f1bcce22c34337ef4afdaa SHA512 9acd2de17db86052801194cac570bfc104320c249b83058aa59554b42c3d5af9c9293d1c069f3fe8512a80103d511186d840168cbc190ce9584ca99cb9b11e46
DIST cmake-3.15.0-rc3.tar.gz 9255508 BLAKE2B d6d2a46f5d639e290913d1af0f353baf144003c9c3159fa1be900318fd935b2e89fe09ae78db0df291782ef7ff54e64017ea8ab4ee330dfb0e36e14d82ad20e6 SHA512 0a5403e3d13560800fec3b0a932d7d165e5a133fa5c45235f605a761c69aac399164ee4fb79ab4045914c351b9460dcdb3aaad5a0fd1eb8b0153d0fcdddb7f10
-EBUILD cmake-3.14.3.ebuild 6097 BLAKE2B e5363190e146873300c2d544b52879e6b2af072cd116508789f9e247a82cbc336ea12c17ddb023148a68f716ccaf91bd7664d0aba19f4f7c02a07d7b18a680ef SHA512 4609c4c521fe1d40f367a0ced9ef331d5c8718a824d94dc7a7bd3879b0c62caa8570b5a9c3bac4183a232dd76a7826538a197009c68a9b61489fa2429e42e6db
-EBUILD cmake-3.14.5.ebuild 6108 BLAKE2B 8900d5f87f6e0a69b6fc6593e02e4665d4b40f600572b76897a3054322d16488f57107c0813a1b73ef5080e5d86220eae881daca28eac64e3a411b1be0d68294 SHA512 676d070b2cccb86116b9296dbed2287d4a3257d736dcb4d38b11d40e1b3f5b173118df703ad7955e4f2905c3c9cd33e4c33d9eb86af766d40348476f8424bc48
-EBUILD cmake-3.15.0_rc3.ebuild 6108 BLAKE2B d76c0afb2666968a9a3b746caad6e47b99d9944e336d065095901cd34261782f50f16193c42cf63fbfa924d651b489e901e42dae88714eff835f845b924ff12f SHA512 df8274f3509f11ba117fb35d8a31c3e20362efceda8aa3f4c5d4ca064e0ee0399f7f64af5bb572cd64217883b826471f49ab5685730330494338be061c52908f
+EBUILD cmake-3.13.5.ebuild 6215 BLAKE2B cfb13f69a7987ff65183910288f70cb3b0a10532af213fc9567ddf722f9aa5042235daa2fe093610b55b6b8f0c94937e452894edb7c54a2ddbe55ae053003238 SHA512 dddf1c391c2c9787f731acbc894e907118b83fcc1cffbb943338bb56a035b9220c7b4316ffb5bd4c411f6d0ac2b2631ed940a0760b0c7a5419fd49dfc8c58427
+EBUILD cmake-3.14.3.ebuild 6242 BLAKE2B f60aecf31afb3a1d18dcc73eb49a725692bbd2429398b05f9b241d82f9842b93aeece44624a50b8406355ff82bf2484bbae55ec863987b82d1e27d04e58b1d58 SHA512 22317c7a34fb11df8eedf9251520db7a956eb44306aa5c7c2d950de1aa0b2844043a84ede7122ea38fe144fea2f52760ac097b84063b1f2f5b8885c858d29c81
+EBUILD cmake-3.14.5.ebuild 6253 BLAKE2B 2b5c8c7939544f51c6b6b472e86c6e7b795b49ab9d862ebe379dbc8244903eb6821170b08e8b8bbfbf7638fda656580a2344b5acd3898aa9c4f7dd8d3fb58e33 SHA512 7a63955cd353be5138ebc8bc5ef360ecae494f0811c17dc77bf621f28f7594cc8c6619916f5d5d0f24250d891104d72521107a0beb4c35b392ef6c912d5f1066
+EBUILD cmake-3.15.0_rc3.ebuild 6253 BLAKE2B 4dc2e38854b99aa6b8aa80b8a044fa1e02211b9a7fb50c8f8f9161220e2313c4bc7af5d2af47f9c166ae85101313898f39603fa3bc73ad1159cda1398e012704 SHA512 9916b5c93b0a80ca38731d40a9d8d1538c4ec37563e8dcb2e9eea3ca622c09bbe119ec51a44ed3e74cc7c9d8bf27e1e46c7b0d49a2a15decf7d3ea4aa0ea010f
MISC metadata.xml 372 BLAKE2B de2835a1f98bccd88e343ab7c058b40df0e9aa4afe938770d67a6e764ac85926b369b6d9ac4851d5deec3954436d3cb8a112b5543ac1debf74205f05641ed2ee SHA512 6c457abaf6c174d6d14b77af47c4fb65b26873cbb7a5a4fbafc558ff4c5c7c6cb0200c0f69e7a492007af4b402baeaf54177f6755c3e6da0ace149eb9bcfe69a
diff --git a/dev-util/cmake/cmake-3.13.5.ebuild b/dev-util/cmake/cmake-3.13.5.ebuild
new file mode 100644
index 000000000000..0b3968ce18a0
--- /dev/null
+++ b/dev-util/cmake/cmake-3.13.5.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+CMAKE_REMOVE_MODULES="no"
+inherit bash-completion-r1 elisp-common flag-o-matic toolchain-funcs virtualx xdg cmake-utils
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Cross platform Make"
+HOMEPAGE="https://cmake.org/"
+SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+
+LICENSE="CMake"
+SLOT="0"
+[[ "${PV}" = *_rc* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc emacs system-jsoncpp ncurses qt5"
+
+RDEPEND="
+ app-crypt/rhash
+ >=app-arch/libarchive-3.0.0:=
+ >=dev-libs/expat-2.0.1
+ >=dev-libs/libuv-1.10.0:=
+ >=net-misc/curl-7.21.5[ssl]
+ sys-libs/zlib
+ virtual/pkgconfig
+ emacs? ( virtual/emacs )
+ ncurses? ( sys-libs/ncurses:0= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ system-jsoncpp? ( >=dev-libs/jsoncpp-0.6.0_rc2:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ dev-python/requests
+ dev-python/sphinx
+ )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+PATCHES=(
+ # prefix
+ "${FILESDIR}"/${PN}-3.4.0_rc1-darwin-bundle.patch
+ "${FILESDIR}"/${PN}-3.13.4-prefix-dirs.patch
+ "${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch
+
+ # handle gentoo packaging in find modules
+ "${FILESDIR}"/${PN}-3.11.0_rc2-FindBLAS.patch
+ "${FILESDIR}"/${PN}-3.0.2-FindLAPACK.patch
+ "${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
+
+ # respect python eclasses
+ "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
+ "${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
+
+ # boost (#660980)
+ "${FILESDIR}"/${PN}-3.11.4-fix-boost-detection.patch
+
+ # upstream fixes (can usually be removed with a version bump)
+)
+
+cmake_src_bootstrap() {
+ # Cleanup args to extract only JOBS.
+ # Because bootstrap does not know anything else.
+ grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" > /dev/null
+ if [[ $? -eq 0 ]] ; then
+ par_arg=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" | tail -n1 | grep -o '[[:digit:]]+')
+ par_arg="--parallel=${par_arg}"
+ else
+ par_arg="--parallel=1"
+ fi
+
+ # disable running of cmake in boostrap command
+ sed -i \
+ -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
+ bootstrap || die "sed failed"
+
+ # execinfo.h on Solaris isn't quite what it is on Darwin
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e 's/execinfo\.h/blablabla.h/' \
+ Source/kwsys/CMakeLists.txt || die
+ fi
+
+ tc-export CC CXX LD
+
+ # bootstrap script isn't exactly /bin/sh compatible
+ ${CONFIG_SHELL:-sh} ./bootstrap \
+ --prefix="${T}/cmakestrap/" \
+ ${par_arg} \
+ || die "Bootstrap failed"
+}
+
+cmake_src_test() {
+ # fix OutDir and SelectLibraryConfigurations tests
+ # these are altered thanks to our eclass
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
+ "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
+ || die
+
+ pushd "${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.
+ # BundleUtilities: bundle creation broken
+ # CMakeOnly.AllFindModules: pthread issues
+ # CTest.updatecvs: which fails to commit as root
+ # Fortran: requires fortran
+ # RunCMake.CompilerLauncher: also requires fortran
+ # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
+ # debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
+ # TestUpload, which requires network access
+ "${BUILD_DIR}"/bin/ctest \
+ -j "$(makeopts_jobs)" \
+ --test-load "$(makeopts_loadavg)" \
+ ${ctestargs} \
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
+ || die "Tests failed"
+
+ popd > /dev/null
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # disable Xcode hooks, bug #652134
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/__APPLE__/__DISABLED_APPLE__/' \
+ Source/cmGlobalXCodeGenerator.cxx || die
+ fi
+
+ # Add gcc libs to the default link paths
+ sed -i \
+ -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
+ -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
+ -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
+ Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
+ if ! has_version \>=${CATEGORY}/${PN}-3.4.0_rc1 ; then
+ CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
+ cmake_src_bootstrap
+ fi
+}
+
+src_configure() {
+ # Fix linking on Solaris
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
+
+ local mycmakeargs=(
+ -DCMAKE_USE_SYSTEM_LIBRARIES=ON
+ -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=$(usex system-jsoncpp)
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
+ -DCMAKE_DOC_DIR=/share/doc/${PF}
+ -DCMAKE_MAN_DIR=/share/man
+ -DCMAKE_DATA_DIR=/share/${PN}
+ -DSPHINX_MAN=$(usex doc)
+ -DSPHINX_HTML=$(usex doc)
+ -DBUILD_CursesDialog="$(usex ncurses)"
+ )
+
+ if use qt5 ; then
+ mycmakeargs+=(
+ -DBUILD_QtDialog=ON
+ $(cmake-utils_use_find_package qt5 Qt5Widgets)
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use emacs && elisp-compile Auxiliary/cmake-mode.el
+}
+
+src_test() {
+ virtx cmake_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use emacs; then
+ elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins Auxiliary/vim/syntax/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/indent
+ doins Auxiliary/vim/indent/cmake.vim
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/${PN}.vim"
+
+ dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
+
+ rm -r "${ED}"/usr/share/cmake/{completions,editors} || die
+}
+
+pkg_preinst() {
+ use qt5 && xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+ use qt5 && xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+ use qt5 && xdg_pkg_postrm
+}
diff --git a/dev-util/cmake/cmake-3.14.3.ebuild b/dev-util/cmake/cmake-3.14.3.ebuild
index 42fd589bd81b..01f4a37c8333 100644
--- a/dev-util/cmake/cmake-3.14.3.ebuild
+++ b/dev-util/cmake/cmake-3.14.3.ebuild
@@ -101,7 +101,7 @@ cmake_src_bootstrap() {
cmake_src_test() {
# fix OutDir and SelectLibraryConfigurations tests
# these are altered thanks to our eclass
- sed -i -e 's:#IGNORE ::g' \
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|| die
@@ -119,12 +119,14 @@ cmake_src_test() {
# RunCMake.CompilerLauncher: also requires fortran
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
# debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
# TestUpload, which requires network access
"${BUILD_DIR}"/bin/ctest \
-j "$(makeopts_jobs)" \
--test-load "$(makeopts_loadavg)" \
${ctestargs} \
- -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_RPM|TestUpload)" \
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|| die "Tests failed"
popd > /dev/null
diff --git a/dev-util/cmake/cmake-3.14.5.ebuild b/dev-util/cmake/cmake-3.14.5.ebuild
index 0ec739545d3b..b04b6c2e4330 100644
--- a/dev-util/cmake/cmake-3.14.5.ebuild
+++ b/dev-util/cmake/cmake-3.14.5.ebuild
@@ -101,7 +101,7 @@ cmake_src_bootstrap() {
cmake_src_test() {
# fix OutDir and SelectLibraryConfigurations tests
# these are altered thanks to our eclass
- sed -i -e 's:#IGNORE ::g' \
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|| die
@@ -119,12 +119,14 @@ cmake_src_test() {
# RunCMake.CompilerLauncher: also requires fortran
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
# debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
# TestUpload, which requires network access
"${BUILD_DIR}"/bin/ctest \
-j "$(makeopts_jobs)" \
--test-load "$(makeopts_loadavg)" \
${ctestargs} \
- -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_RPM|TestUpload)" \
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|| die "Tests failed"
popd > /dev/null
diff --git a/dev-util/cmake/cmake-3.15.0_rc3.ebuild b/dev-util/cmake/cmake-3.15.0_rc3.ebuild
index b8f071ece70a..06184a6bfe5f 100644
--- a/dev-util/cmake/cmake-3.15.0_rc3.ebuild
+++ b/dev-util/cmake/cmake-3.15.0_rc3.ebuild
@@ -101,7 +101,7 @@ cmake_src_bootstrap() {
cmake_src_test() {
# fix OutDir and SelectLibraryConfigurations tests
# these are altered thanks to our eclass
- sed -i -e 's:#IGNORE ::g' \
+ sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|| die
@@ -119,12 +119,14 @@ cmake_src_test() {
# RunCMake.CompilerLauncher: also requires fortran
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
# debugedit binary is not in the expected location
+ # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
+ # it can't find a deb package that owns libc
# TestUpload, which requires network access
"${BUILD_DIR}"/bin/ctest \
-j "$(makeopts_jobs)" \
--test-load "$(makeopts_loadavg)" \
${ctestargs} \
- -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_RPM|TestUpload)" \
+ -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|| die "Tests failed"
popd > /dev/null
diff --git a/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch
new file mode 100644
index 000000000000..321f05302aa1
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch
@@ -0,0 +1,43 @@
+--- a/Modules/FindLAPACK.cmake
++++ b/Modules/FindLAPACK.cmake
+@@ -4,6 +4,10 @@
+ #
+ # Find LAPACK library
+ #
++# Version modified for Gentoo Linux.
++# If a valid PkgConfig configuration is found, this overrides and cancels
++# all further checks.
++#
+ # This module finds an installed fortran library that implements the
+ # LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
+ #
+@@ -140,6 +144,23 @@
+
+ endmacro()
+
++#
++# 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_LINKER_FLAGS)
+ set(LAPACK_LIBRARIES)
+@@ -348,3 +369,5 @@
+ endif()
+
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
++
++endif(PC_LAPACK_FOUND)
diff --git a/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch b/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch
new file mode 100644
index 000000000000..6bad45b20876
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch
@@ -0,0 +1,23 @@
+--- a/Modules/FindBLAS.cmake
++++ b/Modules/FindBLAS.cmake
+@@ -4,6 +4,10 @@
+ #
+ # Find BLAS library
+ #
++# Version modified for Gentoo Linux.
++# If a valid PkgConfig configuration is found, this overrides and cancels
++# all further checks.
++#
+ # This module finds an installed fortran library that implements the
+ # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The
+ # list of libraries searched for is taken from the autoconf macro file,
+@@ -50,6 +54,9 @@
+ # (To distribute this file outside of CMake, substitute the full
+ # License text for the above reference.)
+
++# first, try PkgConfig
++set(BLA_PREFER_PKGCONFIG On)
++
+ include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
+ include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
+
diff --git a/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch b/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch
new file mode 100644
index 000000000000..bcf229ad398c
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/660980
+
+--- cmake-3.11.4/Modules/FindBoost.cmake
++++ cmake-3.11.4/Modules/FindBoost.cmake
+@@ -1680,7 +1680,7 @@
+ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}${COMPONENT_PYTHON_VERSION_MAJOR}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
+ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
+ # Gentoo
+- list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
++ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}.${COMPONENT_PYTHON_VERSION_MINOR}")
+ # RPMs
+ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
+ endif()
diff --git a/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch b/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch
new file mode 100644
index 000000000000..bb60aaf35196
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch
@@ -0,0 +1,127 @@
+From b1f045122fb210728081ae2165197aebff4ee498 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Fri, 9 Jun 2017 01:47:55 +0200
+Subject: [PATCH] Set some proper paths to make cmake find our tools.
+
+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)
+
+Original patch by Heiko Przybyl.
+Updated by Chris Reffett (cmake-2.8.8)
+Updated by Johannes Huber (cmake-2.8.9)
+Updated by Michael Palimaka (cmake-2.8.10)
+Updated by Chris Reffett (cmake-2.8.11)
+Updated by Michael Palimaka (cmake-3.0.0)
+Updated by Lars Wendler (cmake-3.9.0_rc2)
+---
+ Modules/Platform/Darwin.cmake | 12 ++++++++----
+ Modules/Platform/UnixPaths.cmake | 29 ++++++++++++++++++++++++-----
+ 2 files changed, 32 insertions(+), 9 deletions(-)
+
+Index: cmake-3.13.3/Modules/Platform/Darwin.cmake
+===================================================================
+--- cmake-3.13.3.orig/Modules/Platform/Darwin.cmake
++++ cmake-3.13.3/Modules/Platform/Darwin.cmake
+@@ -108,9 +108,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F)
+ set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F)
+ set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F)
+
+-# default to searching for frameworks first
++# default to searching for frameworks last
+ if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
+- set(CMAKE_FIND_FRAMEWORK FIRST)
++ set(CMAKE_FIND_FRAMEWORK LAST)
+ endif()
+
+ # Older OS X linkers do not report their framework search path
+@@ -132,6 +132,8 @@ endif()
+
+ # set up the default search directories for frameworks
+ set(CMAKE_SYSTEM_FRAMEWORK_PATH
++ @GENTOO_PORTAGE_EPREFIX@Frameworks
++ @GENTOO_PORTAGE_EPREFIX@usr/lib
+ ~/Library/Frameworks
+ )
+ if(_CMAKE_OSX_SYSROOT_PATH)
+@@ -178,13 +180,15 @@ if(CMAKE_OSX_SYSROOT)
+ endif()
+ endif()
+
+-# default to searching for application bundles first
++# default to searching for application bundles last
+ if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
+- set(CMAKE_FIND_APPBUNDLE FIRST)
++ set(CMAKE_FIND_APPBUNDLE LAST)
+ endif()
+ # set up the default search directories for application bundles
+ set(_apps_paths)
+ foreach(_path
++ @GENTOO_PORTAGE_EPREFIX@Applications
++ @GENTOO_PORTAGE_EPREFIX@usr/bin
+ "~/Applications"
+ "/Applications"
+ "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+
+Index: cmake-3.13.3/Modules/Platform/UnixPaths.cmake
+===================================================================
+--- cmake-3.13.3.orig/Modules/Platform/UnixPaths.cmake
++++ cmake-3.13.3/Modules/Platform/UnixPaths.cmake
+@@ -23,7 +23,8 @@ get_filename_component(_CMAKE_INSTALL_DI
+ # search types.
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ # Standard
+- /usr/local /usr /
++ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@
++ @GENTOO_HOST@/usr/local /usr /
+
+ # CMake install location
+ "${_CMAKE_INSTALL_DIR}"
+@@ -50,23 +51,41 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+
+ # List common include file locations not under the common prefixes.
+ list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+- # X11
+- /usr/include/X11
++ @GENTOO_PORTAGE_EPREFIX@usr/include
+ )
+
+ list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+- # X11
+- /usr/lib/X11
++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
++ @GENTOO_PORTAGE_GCCLIBDIR@
++ @GENTOO_PORTAGE_EPREFIX@usr/lib64
++ @GENTOO_PORTAGE_EPREFIX@usr/libx32
++ @GENTOO_PORTAGE_EPREFIX@usr/lib32
++ @GENTOO_PORTAGE_EPREFIX@usr/lib
++ @GENTOO_PORTAGE_EPREFIX@lib
++ )
++
++list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
++ @GENTOO_PORTAGE_EPREFIX@usr/bin
++ @GENTOO_PORTAGE_EPREFIX@bin
+ )
+
+ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
++ @GENTOO_PORTAGE_GCCLIBDIR@
++ @GENTOO_PORTAGE_EPREFIX@usr/lib64
++ @GENTOO_PORTAGE_EPREFIX@usr/libx32
++ @GENTOO_PORTAGE_EPREFIX@usr/lib32
++ @GENTOO_PORTAGE_EPREFIX@usr/lib
++ @GENTOO_PORTAGE_EPREFIX@lib
++ @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32
+ )
+
+ list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+- /usr/include
++ @GENTOO_PORTAGE_EPREFIX@usr/include
++ @GENTOO_HOST@/usr/include
+ )
+ list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+- /usr/include
++ @GENTOO_PORTAGE_EPREFIX@usr/include
++ @GENTOO_HOST@/usr/include
+ )
+ list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES