Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/cmake/
Date: Fri, 01 Jun 2018 13:48:09
Message-Id: 1527860878.c257889c548118b35fa086cf0bb64d8ff3502135.polynomial-c@gentoo
1 commit: c257889c548118b35fa086cf0bb64d8ff3502135
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 1 13:40:47 2018 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 1 13:47:58 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c257889c
7
8 dev-util/cmake: Bump to version 3.11.3
9
10 Package-Manager: Portage-2.3.40, Repoman-2.3.9
11
12 dev-util/cmake/Manifest | 1 +
13 dev-util/cmake/cmake-3.11.3.ebuild | 217 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 218 insertions(+)
15
16 diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest
17 index c39c4bc1ef9..82e4271b2bf 100644
18 --- a/dev-util/cmake/Manifest
19 +++ b/dev-util/cmake/Manifest
20 @@ -3,4 +3,5 @@ DIST cmake-3.10.3.tar.gz 7825559 BLAKE2B 1db8c21abdcfac2612fa914d49f9edcf199240b
21 DIST cmake-3.11.0.tar.gz 7948287 BLAKE2B c56da8645d87bc06735e2afb9b8481918acd0a43e3fc96b6f58c1a311fa6a7a270a9be8d13d2106b3fcde802f8c084314717262edd760c7c7f06bd8c07f1fe69 SHA512 03b058483d236d4f4427c93cc41af77068c243fc4b6f24aeaf2daf97af215bc664bc1b733195463af4cfc94ec70076710f425661859d752ddf3b9610adca9834
22 DIST cmake-3.11.1.tar.gz 7951125 BLAKE2B 157c2eac49900df554fb335c4a17484ca425a97e2c41b9539cf1f02cc09246e515d8c2b43549a7a395df378f1dd3f4757465edab6f1ea5d08d5835b6728b35d7 SHA512 d5df043453a9f9478a0e165ded6ce247a7b495fe8c4e56905bb523889a016fb8eb769455c2c2c5f6118c61bcffafe4e3e219ad99b2a85918323c2155f10089d8
23 DIST cmake-3.11.2.tar.gz 7953913 BLAKE2B 2979f360fdd3727f571d84181a9f1064246871d7176cda7ca60766722eccfe738121fba498e46e502355cb54b9f88b7ec2a1a63a81688846fdc959dd7c11681b SHA512 c8ffa0885778ea942eb2533dab72da8719f67a212a33883913af047717c87368cb58e1d6c578b542d96d7dcc85d126abe81686214366c32174fd5553b399b69e
24 +DIST cmake-3.11.3.tar.gz 7954155 BLAKE2B 949ee8c3dfae9d15eecdcd5c2a35fc278e84d1215858714112aea13aa5772f925a2a1b89bd39360e62b8638166038899e80ab48b6917e2c046876283d15d0218 SHA512 a91301bfb51bdf6a6c6ea71a26f05b6017eb375a4fc9c14934a83f2231d7af758bc67d8d9656111d1de56ec3df41dbcd61cb3cf50471bc0901f5bcccdf5267dc
25 DIST cmake-3.9.6.tar.gz 7705400 BLAKE2B e0a5307af0a34863c50ea6aa9323025ef588b27e648107c3a81c362ee7ae4a1d2a07cc335d816b286ce4ddb249f9c6c08c3e8cf99856c7113f3724f47c62da43 SHA512 9fda2c9ac054ef8fb1bf3885fbdec02c518da89ade220eba06b5502ac3ff300f635ec0922e61f3b2d090644fb743b8f71a04c532ab66b2d890a180cc7da54e6c
26
27 diff --git a/dev-util/cmake/cmake-3.11.3.ebuild b/dev-util/cmake/cmake-3.11.3.ebuild
28 new file mode 100644
29 index 00000000000..6bab5d7c8c2
30 --- /dev/null
31 +++ b/dev-util/cmake/cmake-3.11.3.ebuild
32 @@ -0,0 +1,217 @@
33 +# Copyright 1999-2018 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=6
37 +
38 +CMAKE_MAKEFILE_GENERATOR="emake"
39 +CMAKE_REMOVE_MODULES="no"
40 +inherit bash-completion-r1 elisp-common eutils flag-o-matic gnome2-utils toolchain-funcs versionator virtualx xdg-utils cmake-utils
41 +
42 +MY_P="${P/_/-}"
43 +
44 +DESCRIPTION="Cross platform Make"
45 +HOMEPAGE="https://cmake.org/"
46 +SRC_URI="https://cmake.org/files/v$(get_version_component_range 1-2)/${MY_P}.tar.gz"
47 +
48 +LICENSE="CMake"
49 +SLOT="0"
50 +[[ "${PV}" = *_rc* ]] || \
51 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
52 +IUSE="doc emacs system-jsoncpp ncurses qt5"
53 +
54 +RDEPEND="
55 + app-crypt/rhash
56 + >=app-arch/libarchive-3.0.0:=
57 + >=dev-libs/expat-2.0.1
58 + >=dev-libs/libuv-1.0.0:=
59 + >=net-misc/curl-7.21.5[ssl]
60 + sys-libs/zlib
61 + virtual/pkgconfig
62 + emacs? ( virtual/emacs )
63 + ncurses? ( sys-libs/ncurses:0= )
64 + qt5? (
65 + dev-qt/qtcore:5
66 + dev-qt/qtgui:5
67 + dev-qt/qtwidgets:5
68 + )
69 + system-jsoncpp? ( >=dev-libs/jsoncpp-0.6.0_rc2:0= )
70 +"
71 +DEPEND="${RDEPEND}
72 + doc? ( dev-python/sphinx )
73 +"
74 +
75 +S="${WORKDIR}/${MY_P}"
76 +
77 +SITEFILE="50${PN}-gentoo.el"
78 +
79 +PATCHES=(
80 + # prefix
81 + "${FILESDIR}"/${PN}-3.4.0_rc1-darwin-bundle.patch
82 + "${FILESDIR}"/${PN}-3.9.0_rc2-prefix-dirs.patch
83 + "${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch
84 +
85 + # handle gentoo packaging in find modules
86 + "${FILESDIR}"/${PN}-3.11.0_rc2-FindBLAS.patch
87 + "${FILESDIR}"/${PN}-3.0.2-FindLAPACK.patch
88 + "${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
89 +
90 + # respect python eclasses
91 + "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
92 + "${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
93 +
94 + # upstream fixes (can usually be removed with a version bump)
95 +)
96 +
97 +cmake_src_bootstrap() {
98 + # Cleanup args to extract only JOBS.
99 + # Because bootstrap does not know anything else.
100 + echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
101 + if [ $? -eq 0 ]; then
102 + par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')
103 + par_arg="--parallel=${par_arg}"
104 + else
105 + par_arg="--parallel=1"
106 + fi
107 +
108 + # disable running of cmake in boostrap command
109 + sed -i \
110 + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
111 + bootstrap || die "sed failed"
112 +
113 + # execinfo.h on Solaris isn't quite what it is on Darwin
114 + if [[ ${CHOST} == *-solaris* ]] ; then
115 + sed -i -e 's/execinfo\.h/blablabla.h/' \
116 + Source/kwsys/CMakeLists.txt || die
117 + fi
118 +
119 + tc-export CC CXX LD
120 +
121 + # bootstrap script isn't exactly /bin/sh compatible
122 + ${CONFIG_SHELL:-sh} ./bootstrap \
123 + --prefix="${T}/cmakestrap/" \
124 + ${par_arg} \
125 + || die "Bootstrap failed"
126 +}
127 +
128 +cmake_src_test() {
129 + # fix OutDir and SelectLibraryConfigurations tests
130 + # these are altered thanks to our eclass
131 + sed -i -e 's:#IGNORE ::g' \
132 + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
133 + || die
134 +
135 + pushd "${BUILD_DIR}" > /dev/null
136 +
137 + local ctestargs
138 + [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
139 +
140 + # Excluded tests:
141 + # BootstrapTest: we actualy bootstrap it every time so why test it.
142 + # BundleUtilities: bundle creation broken
143 + # CTest.updatecvs: which fails to commit as root
144 + # Fortran: requires fortran
145 + # Qt4Deploy, which tries to break sandbox and ignores prefix
146 + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
147 + # debugedit binary is not in the expected location
148 + # TestUpload, which requires network access
149 + "${BUILD_DIR}"/bin/ctest ${ctestargs} \
150 + -E "(BootstrapTest|BundleUtilities|CTest.UpdateCVS|Fortran|Qt4Deploy|RunCMake.CPack_RPM|TestUpload)" \
151 + || die "Tests failed"
152 +
153 + popd > /dev/null
154 +}
155 +
156 +src_prepare() {
157 + cmake-utils_src_prepare
158 +
159 + # disable Xcode hooks, bug #652134
160 + if [[ ${CHOST} == *-darwin* ]] ; then
161 + sed -i -e 's/__APPLE__/__DISABLED_APPLE__/' \
162 + Source/cmGlobalXCodeGenerator.cxx || die
163 + fi
164 +
165 + # Add gcc libs to the default link paths
166 + sed -i \
167 + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
168 + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
169 + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
170 + if ! has_version \>=${CATEGORY}/${PN}-3.4.0_rc1 ; then
171 + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
172 + cmake_src_bootstrap
173 + fi
174 +}
175 +
176 +src_configure() {
177 + # Fix linking on Solaris
178 + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
179 +
180 + local mycmakeargs=(
181 + -DCMAKE_USE_SYSTEM_LIBRARIES=ON
182 + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=$(usex system-jsoncpp)
183 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
184 + -DCMAKE_DOC_DIR=/share/doc/${PF}
185 + -DCMAKE_MAN_DIR=/share/man
186 + -DCMAKE_DATA_DIR=/share/${PN}
187 + -DSPHINX_MAN=$(usex doc)
188 + -DSPHINX_HTML=$(usex doc)
189 + -DBUILD_CursesDialog="$(usex ncurses)"
190 + )
191 +
192 + if use qt5 ; then
193 + mycmakeargs+=(
194 + -DBUILD_QtDialog=ON
195 + $(cmake-utils_use_find_package qt5 Qt5Widgets)
196 + )
197 + fi
198 +
199 + cmake-utils_src_configure
200 +}
201 +
202 +src_compile() {
203 + cmake-utils_src_compile
204 + use emacs && elisp-compile Auxiliary/cmake-mode.el
205 +}
206 +
207 +src_test() {
208 + virtx cmake_src_test
209 +}
210 +
211 +src_install() {
212 + cmake-utils_src_install
213 +
214 + if use emacs; then
215 + elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
216 + elisp-site-file-install "${FILESDIR}/${SITEFILE}"
217 + fi
218 +
219 + insinto /usr/share/vim/vimfiles/syntax
220 + doins Auxiliary/vim/syntax/cmake.vim
221 +
222 + insinto /usr/share/vim/vimfiles/indent
223 + doins Auxiliary/vim/indent/cmake.vim
224 +
225 + insinto /usr/share/vim/vimfiles/ftdetect
226 + doins "${FILESDIR}/${PN}.vim"
227 +
228 + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
229 +
230 + rm -r "${ED}"/usr/share/cmake/{completions,editors} || die
231 +}
232 +
233 +pkg_postinst() {
234 + use emacs && elisp-site-regen
235 + if use qt5; then
236 + gnome2_icon_cache_update
237 + xdg_desktop_database_update
238 + xdg_mimeinfo_database_update
239 + fi
240 +}
241 +
242 +pkg_postrm() {
243 + use emacs && elisp-site-regen
244 + if use qt5; then
245 + gnome2_icon_cache_update
246 + xdg_desktop_database_update
247 + xdg_mimeinfo_database_update
248 + fi
249 +}