diff options
Diffstat (limited to 'dev-util/cmake')
-rw-r--r-- | dev-util/cmake/Manifest | 12 | ||||
-rw-r--r-- | dev-util/cmake/cmake-3.13.5.ebuild | 227 | ||||
-rw-r--r-- | dev-util/cmake/cmake-3.14.3.ebuild | 6 | ||||
-rw-r--r-- | dev-util/cmake/cmake-3.14.5.ebuild | 6 | ||||
-rw-r--r-- | dev-util/cmake/cmake-3.15.0_rc3.ebuild | 6 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch | 43 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch | 23 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch | 13 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch | 127 |
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 |