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