From 9ee6d97c2883d42f204a533a8bc1f4562df778fb Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 16 Sep 2020 09:32:48 +0100 Subject: gentoo resync : 16.09.2020 --- dev-util/cmake/Manifest | 9 +- dev-util/cmake/cmake-3.17.3.ebuild | 220 -------------------- dev-util/cmake/cmake-3.17.4-r1.ebuild | 221 +++++++++++++++++++++ dev-util/cmake/cmake-3.17.4.ebuild | 220 -------------------- dev-util/cmake/cmake-3.18.0.ebuild | 220 -------------------- dev-util/cmake/cmake-3.18.2.ebuild | 212 ++++++++++++++++++++ .../cmake/files/cmake-3.17.4-uv-check-return.patch | 46 +++++ 7 files changed, 483 insertions(+), 665 deletions(-) delete mode 100644 dev-util/cmake/cmake-3.17.3.ebuild create mode 100644 dev-util/cmake/cmake-3.17.4-r1.ebuild delete mode 100644 dev-util/cmake/cmake-3.17.4.ebuild delete mode 100644 dev-util/cmake/cmake-3.18.0.ebuild create mode 100644 dev-util/cmake/cmake-3.18.2.ebuild create mode 100644 dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch (limited to 'dev-util/cmake') diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest index 0aaa7ef889ca..5d6e1d0a92ba 100644 --- a/dev-util/cmake/Manifest +++ b/dev-util/cmake/Manifest @@ -11,6 +11,7 @@ AUX cmake-3.15.0_rc2-FindBLAS.patch 1233 BLAKE2B 165307b41f7ebaa094e80adbab336ab AUX cmake-3.16.0_rc4-darwin-bundle.patch 1388 BLAKE2B bcb6c3d8e4f64ccc3e6ebf9ae906960075b3fb1f432925e07a711ac27321023033013e7a2e1d0ffc60dd464b775fa2537a49c73089861a2ce8f6316ddaa3d03e SHA512 7e0f598fe1cbb2c44b345091c102fb42ebff510ea7eeccdbe1fe0d65251127d823c37f2d37b073305679ed86fd48923566f1d62a7c9fb55df475d48891b4b861 AUX cmake-3.17.0_rc1-FindBLAS.patch 1087 BLAKE2B 5e549db39f0e8c5f821a70121551ccea132e11dd8b468cfc7439e61763b5406860d952787d5957ea719dd48ec32ac8313d3209bed2a3423f5e40b8a2fcf04ae4 SHA512 1ea5e5e44c6a97cced30ef38424e24a3551d58c828d71d3b5994c265f099a3aa19174febfc2778eb688930432073e012557a79550d38b6b716e6b619d74a298c AUX cmake-3.17.0_rc1-FindLAPACK.patch 1973 BLAKE2B d4f10694b55fcea047f364f3dd383ba12fb5c3ce4369bd527c286e23260b551a915fa5257f0351bce00a4332c987c047c246812f2a713b0d1db312c7d03edee4 SHA512 20baafcda95ba219ae4e186a8878aa75e2e27f766ab3afaa14ce316cd2c2bc85debfc6be4ed1b6c17c3c1532b3a6868d0b4ee7cc47145cb788838f023b624303 +AUX cmake-3.17.4-uv-check-return.patch 1460 BLAKE2B 1cc26575dc1ad8ff9adea7ecf7f5ba0f4b2e16510c2ef3572baaf4f6bf771d6b4a1018000b78310b246e333c95e857851a40643609d997f2283486eddda8e8f3 SHA512 e79c6b34d433804f549b60a926bbbffaeba8506430225e284187905d7df5f522c29b8507bdb334cf30ce88414d326ee4476782731f36f1b1a48f64f9fa208aef AUX cmake-3.18.0-filter_distcc_warning.patch 842 BLAKE2B 8c9b02a251d118f2ac31fe417e10750e3f4b911891723b0edacea83bf2b6220f121e02c299655cd49ae5a019af8a747218f81d6ece6cda41aeb57d24f9385277 SHA512 91b795225313270449d6da12baa818382da4f6937795303c5cc894f3f38f03cb88d8fb3b774fb0b8ab9cf5cd344ebeda3d83f48ef8474093a8a0268d8f342828 AUX cmake-3.4.0_rc1-darwin-bundle.patch 1043 BLAKE2B 99fc8061352b6a503f472e11045f9a99c2b980f08e9c1406722eacdd438617dccc394f53bdcaa4d93c4aa499b4615185c3ec99ccad8be3504972001498b02c48 SHA512 8c6297bf824d5a911e14004ac4c4e62d1a1528e44199d8860ca885bb1b8dd3d66a73c3db32664b830c3c635bdb498abbd5196be92ed2571cb22828d7186ff9f9 AUX cmake-3.5.2-FindQt4.patch 1585 BLAKE2B 8cfda84c419515be57f65be7b4b22d7937b656eb7f58d61c7d9e30db9dac36e934f2a529b4ea20d69c5f8a653c727bae34374ebcb7f5017fd70df41abd538164 SHA512 bab8960bfea3c29416bdc8f39c7dee59b89bd7951752401f24eeb9161ac7bc2c6dd200cb62c6b9f964d763b5d257a94d8b04dc7090d6fa947a04f2d0c2e8c479 @@ -18,14 +19,12 @@ AUX cmake-3.9.0_rc2-FindPythonInterp.patch 1458 BLAKE2B a70945921738f00952b40a73 AUX cmake.vim 217 BLAKE2B 5d2cf8b4101a7204fd27a9f21d82fea4d86fc4eeed54e062b543452dc574e73d1c80167c83eb482d9eec310950ac811ba35d3eeb97b51958f12f3adf575ddbe7 SHA512 2f7e9e949f8f3030a0dfcef56f4effea703ee60555c22f6a2d1dfeaf3334f33a3e88910c666f704e4ab60cde4ebb509c7d85d812a3c1627010e52fc757f15cdf DIST cmake-3.13.5.tar.gz 8618821 BLAKE2B 765678bc92821207c53bfb4ac995a791b938f20236c3a6fda873b8edd11cd1401b4f4c05f170b8f600f38bde5f1227c715499eee072a8de3bb29d4f5cd230226 SHA512 99e3a8f5bc147dd90b9cab11f06892d87f289aa1354ad323711fe96ebc9c32b1e887e8f9d3575a37831c4d2153a070ff9115c5e27a185d54170bad9dbbaabc26 DIST cmake-3.16.5.tar.gz 9111262 BLAKE2B 5f996113a4979563d7b9f298b4b1a32d6f91eebaa79af42e1cbf247884e443de47e30030fd0f16c7755c4086e2bff0c0741911753ea7c889b68c393c0b98c876 SHA512 204ce83501c8068ff660c30a68641a354764135e1600a9a95b39476d072876e400961377e19bbe03a7b18412b36dcf21a693946a2a81cff5985e637e9f193671 -DIST cmake-3.17.3.tar.gz 9470753 BLAKE2B a4c863e0cf7105eb47e1bba7641ab3431506f0a4f5c84a4de203cb996e629d1ee236d91ba5e1439f0123ab3c8b3871ef4e3b1c21940aa97c125cc7ab2a3f9873 SHA512 13479bd48ef8a8c95277a62b4f42e63152a5979292a98b5456022ca42ad3963cad75e917cc8b92a8485dbf5a2b59cde3fdc90fd9abdb806bc97c8570d03c1c69 DIST cmake-3.17.4.tar.gz 9473549 BLAKE2B 2ce29415525b5292ae9e06d73570ed0af2173d8d15612f4d645f22d4f55cb99018663c374c4282731e09f8c6e4ffd59316d65f38aef9db5c34d874ca8992382b SHA512 6af879502e52388f3be02a4edfb006274840ad1afa8f28ffd6ec69b0310c7f718812b2272e5f77ffa422717f61407a6d482deb95941555c21c73fc5f62356a4e -DIST cmake-3.18.0.tar.gz 8970116 BLAKE2B 3eba331eaa6b1d85baa5898836fc6106f2b5fcb10af85121806c429f41d09d4fde49bf87ef833c0e538ae5ccdf994e9cc86efa39b571ebcd429459ea37205c66 SHA512 6cab76a792a7ed2120a50048312273b2870afef29351a3ebcbf76cbcb422f82be679c85211c19016a56ac7f63bbce6cea0478f491c973b8577e08168a1ba853d DIST cmake-3.18.1.tar.gz 8969366 BLAKE2B e5a06cf10fbd8ab2e300a0822bf94943acc48f6632a34471d361c9bc4bdfc952b7b3c4adc969712f84c4b7185f11c2393753a6313b3efbc6edc348ad634662af SHA512 e0591d5fb234f3e7b74d6d2aad44fbf3e19e69547bd428681ba6ad0461d4f3d2a154605808b4733531d2c66f0e91eb39a179ae0d89a37e92a3f20e9cae691468 +DIST cmake-3.18.2.tar.gz 8970663 BLAKE2B 10924eabbcd20bc3dc2cb6f2d619d824ed0a28fdf35ce6b92ed46d0d85320343d797b0c810aa90ab740477548e3390ed98ec5d2777f635920bff84eecb8e0531 SHA512 74915e643d09af1d8451e57120f2e5963f6fd34ca2cfa0cd573bd7f234924458105e7cc76952c022732de7566cd590141127b243933a564ac575a0dcbb8cc6e7 EBUILD cmake-3.13.5.ebuild 6250 BLAKE2B 51fd5c675042b869a8dd3f54ceaed2f3a2d9bc43aeb2894b1b8c9d995660bc81ed9b39f99bfbb376d0dd658942def7bc2c1ec3538efc36c1f43f65bc1ca5dd5b SHA512 638eece44d2cb688d92fd9fbedd189aee9b0b878b1fd054984e806d17083eda352695136bf0d800d9e2ecb7993917f2da4f1f1913e14c7686c4d7cff8c641f60 EBUILD cmake-3.16.5.ebuild 5911 BLAKE2B f124d2d41b33a9a76749ced21fac3717eb50bba7065500986fdafc445bef3f17bf6e1faac7e863257ad5d8f571e4bdf17c9e750f5b83163401b491d85a2319f7 SHA512 4cfeb2154bd96b1f146b508ed038158a8cb58ead403011054702c4bdc1e2d99e677baa1b7ee6c33c4b317ca4992718cdc352b55724e73bf8edc758d2748e2603 -EBUILD cmake-3.17.3.ebuild 5920 BLAKE2B 9c3179655159be70348bd187ea7547bc4cbd559dca58dc71d918c8a07d03c931f3b8eecf1c2ae59b30b395af428964d7628224c5eaf3330b849fb07efecec667 SHA512 5b836eba2801d193d33bc0a94bc848ee02db050bd6247e9b70df12c92c1fa55d776860d5eb4103c0f91be322fb6bf566c6cbb7e3bd8838c6f156d5cbdef0c972 -EBUILD cmake-3.17.4.ebuild 5920 BLAKE2B 9c3179655159be70348bd187ea7547bc4cbd559dca58dc71d918c8a07d03c931f3b8eecf1c2ae59b30b395af428964d7628224c5eaf3330b849fb07efecec667 SHA512 5b836eba2801d193d33bc0a94bc848ee02db050bd6247e9b70df12c92c1fa55d776860d5eb4103c0f91be322fb6bf566c6cbb7e3bd8838c6f156d5cbdef0c972 -EBUILD cmake-3.18.0.ebuild 5924 BLAKE2B b94bf93558ecf1c45029bda0d230e83ba4d5d55075a05332a525a049b42d15559158512c629f02c995a1e6e86ac052d4016722ee8a0a6afe3e1116355fbc5ce4 SHA512 c6245b76d735927d7e71defd7c8d1ba43ba087bd86d02bae8b583999974d8a4db3174082ec9309bebab83f79c320cd3fb21428d7cf67b4368788c25920405123 +EBUILD cmake-3.17.4-r1.ebuild 5975 BLAKE2B 9c31506c20c5e7e954baab9e53b81ee0a985bd9544a406d67b58912741ce7e5b643a422d932652ded3b12775d5a4fb68f8ec86b47d4a4e576b2166767966858c SHA512 fe3e879c4a1d3bfc4ee773d5a4d4449882669cd84def00ab61dfa92ba5ad3cc648953ef319f940ff558352023650f555ff98df6c0e34dfcc5839e1072ed81437 EBUILD cmake-3.18.1.ebuild 5925 BLAKE2B af5d675ac72f28053ffe8dd35a2bf7bca792b872ee5cabb6f2b34f02bf37bbe5de6bc2dd9880c9f93faf25f5a955ba346c1399e35b8e434780b9121a3a97bf08 SHA512 280a555dd541ba38b376fa188c93b057c17c15bde8b6dbf02471ead0ec8d2588d2e41a25a5968c507da5cb18972b221b1dbb203bef487013b9b13d374f5c1972 +EBUILD cmake-3.18.2.ebuild 5951 BLAKE2B ea450b2ec3ff81c7942eabb42f0f6965c45642f97370958858d05fb9c4ccfb4e0bcd0a22483c95aa389e8f76f891d9a89a52179b8cf53fe6ba977ba79b82d398 SHA512 d494cabb9f6184a602a3eeb3f6a481917a162c8ed016f67376f74e6512c7def2bbffefd7fbfb6b779fdee3d85f86c4babc077155d6ef6b8b51ef9c449f6297eb MISC metadata.xml 460 BLAKE2B f1a7e1709a6b9975ffbc377c8b4d1ea8a01f52ccc139693c8e427150b7559ecc867b3e55fb4bc95fe342a2335fe5e13c69f4bd74ffbbf302c83872c65963e73e SHA512 fc562cd5f336101d16ca30a5b3e9b99a6e51ec9d7aa503f20ce278f44d5810286fcd6b46b18073cd88ba88ee5ab4f8a0bfccaa567df09ebb722a68ab721aa340 diff --git a/dev-util/cmake/cmake-3.17.3.ebuild b/dev-util/cmake/cmake-3.17.3.ebuild deleted file mode 100644 index a65d699eeb87..000000000000 --- a/dev-util/cmake/cmake-3.17.3.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) -inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs ncurses qt5 test" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-crypt/rhash - >=app-arch/libarchive-3.3.3:= - >=dev-libs/expat-2.0.1 - >=dev-libs/jsoncpp-1.9.2-r2:0= - >=dev-libs/libuv-1.10.0:= - >=net-misc/curl-7.21.5[ssl] - sys-libs/zlib - virtual/pkgconfig - emacs? ( >=app-editors/emacs-23.1:* ) - ncurses? ( sys-libs/ncurses:0= ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( - dev-python/requests - dev-python/sphinx - ) -" - -S="${WORKDIR}/${MY_P}" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - # prefix - "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch - "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch - # Next patch requires new work from prefix people - #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch - - # handle gentoo packaging in find modules - "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch - "${FILESDIR}"/${PN}-3.17.0_rc1-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 - - # upstream fixes (can usually be removed with a version bump) -) - -cmake_src_bootstrap() { - # 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/" \ - --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ - || 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|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null -} - -src_prepare() { - cmake_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_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)" - -DBUILD_TESTING=$(usex test) - ) - - if use qt5 ; then - mycmakeargs+=( - -DBUILD_QtDialog=ON - $(cmake_use_find_package qt5 Qt5Widgets) - ) - fi - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - use emacs && elisp-compile Auxiliary/cmake-mode.el -} - -src_test() { - virtx cmake_src_test -} - -src_install() { - cmake_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_postinst() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} - -pkg_postrm() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} diff --git a/dev-util/cmake/cmake-3.17.4-r1.ebuild b/dev-util/cmake/cmake-3.17.4-r1.ebuild new file mode 100644 index 000000000000..3af2be355a2b --- /dev/null +++ b/dev-util/cmake/cmake-3.17.4-r1.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=( none ) +inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \ + toolchain-funcs virtualx xdg-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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc emacs ncurses qt5 test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-crypt/rhash + >=app-arch/libarchive-3.3.3:= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.10.0:= + >=net-misc/curl-7.21.5[ssl] + sys-libs/zlib + virtual/pkgconfig + emacs? ( >=app-editors/emacs-23.1:* ) + ncurses? ( sys-libs/ncurses:0= ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + dev-python/requests + dev-python/sphinx + ) +" + +S="${WORKDIR}/${MY_P}" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # prefix + "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch + "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch + # Next patch requires new work from prefix people + #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch + + # handle gentoo packaging in find modules + "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch + "${FILESDIR}"/${PN}-3.17.0_rc1-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 + + # upstream fixes (can usually be removed with a version bump) + "${FILESDIR}"/${P}-uv-check-return.patch # bug 726962 +) + +cmake_src_bootstrap() { + # 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/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || 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|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ + || die "Tests failed" + + popd > /dev/null +} + +src_prepare() { + cmake_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_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)" + -DBUILD_TESTING=$(usex test) + ) + + if use qt5 ; then + mycmakeargs+=( + -DBUILD_QtDialog=ON + $(cmake_use_find_package qt5 Qt5Widgets) + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use emacs && elisp-compile Auxiliary/cmake-mode.el +} + +src_test() { + virtx cmake_src_test +} + +src_install() { + cmake_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_postinst() { + use emacs && elisp-site-regen + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + use emacs && elisp-site-regen + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/dev-util/cmake/cmake-3.17.4.ebuild b/dev-util/cmake/cmake-3.17.4.ebuild deleted file mode 100644 index a65d699eeb87..000000000000 --- a/dev-util/cmake/cmake-3.17.4.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) -inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs ncurses qt5 test" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-crypt/rhash - >=app-arch/libarchive-3.3.3:= - >=dev-libs/expat-2.0.1 - >=dev-libs/jsoncpp-1.9.2-r2:0= - >=dev-libs/libuv-1.10.0:= - >=net-misc/curl-7.21.5[ssl] - sys-libs/zlib - virtual/pkgconfig - emacs? ( >=app-editors/emacs-23.1:* ) - ncurses? ( sys-libs/ncurses:0= ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( - dev-python/requests - dev-python/sphinx - ) -" - -S="${WORKDIR}/${MY_P}" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - # prefix - "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch - "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch - # Next patch requires new work from prefix people - #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch - - # handle gentoo packaging in find modules - "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch - "${FILESDIR}"/${PN}-3.17.0_rc1-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 - - # upstream fixes (can usually be removed with a version bump) -) - -cmake_src_bootstrap() { - # 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/" \ - --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ - || 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|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null -} - -src_prepare() { - cmake_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_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)" - -DBUILD_TESTING=$(usex test) - ) - - if use qt5 ; then - mycmakeargs+=( - -DBUILD_QtDialog=ON - $(cmake_use_find_package qt5 Qt5Widgets) - ) - fi - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - use emacs && elisp-compile Auxiliary/cmake-mode.el -} - -src_test() { - virtx cmake_src_test -} - -src_install() { - cmake_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_postinst() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} - -pkg_postrm() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} diff --git a/dev-util/cmake/cmake-3.18.0.ebuild b/dev-util/cmake/cmake-3.18.0.ebuild deleted file mode 100644 index 785002015913..000000000000 --- a/dev-util/cmake/cmake-3.18.0.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) -inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs ncurses qt5 test" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-crypt/rhash - >=app-arch/libarchive-3.3.3:= - >=dev-libs/expat-2.0.1 - >=dev-libs/jsoncpp-1.9.2-r2:0= - >=dev-libs/libuv-1.10.0:= - >=net-misc/curl-7.21.5[ssl] - sys-libs/zlib - virtual/pkgconfig - emacs? ( >=app-editors/emacs-23.1:* ) - ncurses? ( sys-libs/ncurses:0= ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( - dev-python/requests - dev-python/sphinx - ) -" - -S="${WORKDIR}/${MY_P}" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - # prefix - "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch - "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch - # Next patch requires new work from prefix people - #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch - - # handle gentoo packaging in find modules - "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch - "${FILESDIR}"/${PN}-3.17.0_rc1-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 - - "${FILESDIR}"/${PN}-3.18.0-filter_distcc_warning.patch #691544 - - # upstream fixes (can usually be removed with a version bump) -) - -cmake_src_bootstrap() { - # 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/" \ - --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ - || 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|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null -} - -src_prepare() { - cmake_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_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)" - -DBUILD_TESTING=$(usex test) - ) - - if use qt5 ; then - mycmakeargs+=( - -DBUILD_QtDialog=ON - $(cmake_use_find_package qt5 Qt5Widgets) - ) - fi - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - use emacs && elisp-compile Auxiliary/cmake-mode.el -} - -src_test() { - virtx cmake_src_test -} - -src_install() { - cmake_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} -} - -pkg_postinst() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} - -pkg_postrm() { - use emacs && elisp-site-regen - if use qt5; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} diff --git a/dev-util/cmake/cmake-3.18.2.ebuild b/dev-util/cmake/cmake-3.18.2.ebuild new file mode 100644 index 000000000000..ab16a6de18f6 --- /dev/null +++ b/dev-util/cmake/cmake-3.18.2.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="emake" # TODO: Re-check with 3.19, see commit 491dddfb; bug #596460 +CMAKE_REMOVE_MODULES_LIST=( none ) +inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \ + toolchain-funcs virtualx xdg-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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc emacs ncurses qt5 test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-arch/libarchive-3.3.3:= + app-crypt/rhash + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.10.0:= + >=net-misc/curl-7.21.5[ssl] + sys-libs/zlib + virtual/pkgconfig + emacs? ( >=app-editors/emacs-23.1:* ) + ncurses? ( sys-libs/ncurses:0= ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + dev-python/requests + dev-python/sphinx + ) +" + +S="${WORKDIR}/${MY_P}" + +SITEFILE="50${PN}-gentoo.el" + +PATCHES=( + # prefix + "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch + "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch + # Next patch requires new work from prefix people + #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch + + # handle gentoo packaging in find modules + "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch + "${FILESDIR}"/${PN}-3.17.0_rc1-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 + + "${FILESDIR}"/${PN}-3.18.0-filter_distcc_warning.patch # bug 691544 + + # upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap 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 + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ + || 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 actually bootstrap it every time so why test it. + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: 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: 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.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ + || die "Tests failed" + + popd > /dev/null +} + +src_prepare() { + cmake_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 -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; 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_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)" + -DBUILD_TESTING=$(usex test) + ) + use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use emacs && elisp-compile Auxiliary/cmake-mode.el +} + +src_test() { + virtx cmake_src_test +} + +src_install() { + cmake_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} +} + +pkg_postinst() { + use emacs && elisp-site-regen + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + use emacs && elisp-site-regen + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch b/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch new file mode 100644 index 000000000000..ab4a45a3ec1e --- /dev/null +++ b/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch @@ -0,0 +1,46 @@ +From 0fddcc1e5bd8e4672b09e2478edb72e5c0338f1b Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Wed, 1 Jul 2020 16:23:56 -0400 +Subject: [PATCH] cmake: Tolerate nullptr from uv_default_loop + +`uv_default_loop()` can return `nullptr` when running on a Linux kernel +configured without `CONFIG_EVENTFD`. + +Fixes: #20899 +--- + Source/cmSystemTools.cxx | 4 +++- + Source/cmakemain.cxx | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx +index be799b0402..2f08b840cd 100644 +--- a/Source/cmSystemTools.cxx ++++ b/Source/cmSystemTools.cxx +@@ -823,7 +823,9 @@ void cmSystemTools::InitializeLibUV() + // Perform libuv one-time initialization now, and then un-do its + // global _fmode setting so that using libuv does not change the + // default file text/binary mode. See libuv issue 840. +- uv_loop_close(uv_default_loop()); ++ if (uv_loop_t* loop = uv_default_loop()) { ++ uv_loop_close(loop); ++ } + # ifdef _MSC_VER + _set_fmode(_O_TEXT); + # else +diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx +index 75280fb8a5..e0c17f8d54 100644 +--- a/Source/cmakemain.cxx ++++ b/Source/cmakemain.cxx +@@ -717,6 +717,8 @@ int main(int ac, char const* const* av) + #ifndef CMAKE_BOOTSTRAP + cmDynamicLoader::FlushCache(); + #endif +- uv_loop_close(uv_default_loop()); ++ if (uv_loop_t* loop = uv_default_loop()) { ++ uv_loop_close(loop); ++ } + return ret; + } +-- +GitLab + -- cgit v1.2.3