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: Tue, 21 Sep 2021 12:58:56
Message-Id: 1632229114.269e1e369cb637c2350a4eea1e3ed117ede81e92.polynomial-c@gentoo
1 commit: 269e1e369cb637c2350a4eea1e3ed117ede81e92
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 21 12:58:10 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 21 12:58:34 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=269e1e36
7
8 dev-util/cmake: Bump to version 3.21.3
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 dev-util/cmake/Manifest | 1 +
13 dev-util/cmake/cmake-3.21.3.ebuild | 232 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 233 insertions(+)
15
16 diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest
17 index 4628a4ca9cc..bfb66df1c3e 100644
18 --- a/dev-util/cmake/Manifest
19 +++ b/dev-util/cmake/Manifest
20 @@ -1,2 +1,3 @@
21 DIST cmake-3.20.5.tar.gz 9441947 BLAKE2B f073d7c3968c714be315f5014076c785790ed47e9a746f2d16bc59769fb6862009f67c2e118038c6c9d8390b709f2b4ed4a4dfc41a93996fedd9d7d77111b84a SHA512 4ad7f194353be291e76d86d95928633daea653a0bd8d35369ac6ee2bb3f811c3a1aabe6a2bd51c6d5b07af2c6edc7e38d8b347ded32ab1ddcf331dbfce40c008
22 DIST cmake-3.21.2.tar.gz 9630492 BLAKE2B 7c73cad02ee9dbadd8cbf60994856ccb6fd3721cbb7a58d66638169cf99426d8ad732de912ee5c736466d64c145a68a102db93cb5d4d0dbde001681edbf7a200 SHA512 75649404564aaa6175a8c66ab19a10318066dbb667806c287e3cb125ac4c16c1629c160e355bcc50864a38d5488b1f7d1bc77acc602f5f3edd5f68691ae5080d
23 +DIST cmake-3.21.3.tar.gz 9630442 BLAKE2B dccf4878745f6ddb87ea5fd1a0b6c728e32778afd15e3074d057234dc898e399133343bb10826f8882323bfc9d53f22c98b51ab6e39af29da58c54ed0b9d14c1 SHA512 0571b78443906c5ad51fb0fafbd32d565caf628cc150b1190802cb819e8497c108ea6b7ecaa03133df2dbbceb730696d24b4df38468c92088c769ce4076d9e9f
24
25 diff --git a/dev-util/cmake/cmake-3.21.3.ebuild b/dev-util/cmake/cmake-3.21.3.ebuild
26 new file mode 100644
27 index 00000000000..b1cc1455ac6
28 --- /dev/null
29 +++ b/dev-util/cmake/cmake-3.21.3.ebuild
30 @@ -0,0 +1,232 @@
31 +# Copyright 1999-2021 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
37 +CMAKE_REMOVE_MODULES_LIST=( none )
38 +inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
39 + toolchain-funcs virtualx xdg-utils
40 +
41 +MY_P="${P/_/-}"
42 +
43 +DESCRIPTION="Cross platform Make"
44 +HOMEPAGE="https://cmake.org/"
45 +SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
46 +
47 +LICENSE="CMake"
48 +SLOT="0"
49 +[[ "${PV}" = *_rc* ]] || \
50 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
51 +IUSE="doc emacs ncurses qt5 test"
52 +RESTRICT="!test? ( test )"
53 +
54 +RDEPEND="
55 + >=app-arch/libarchive-3.3.3:=
56 + app-crypt/rhash
57 + >=dev-libs/expat-2.0.1
58 + >=dev-libs/jsoncpp-1.9.2-r2:0=
59 + >=dev-libs/libuv-1.10.0:=
60 + >=net-misc/curl-7.21.5[ssl]
61 + sys-libs/zlib
62 + virtual/pkgconfig
63 + emacs? ( >=app-editors/emacs-23.1:* )
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 +"
71 +DEPEND="${RDEPEND}"
72 +BDEPEND="
73 + doc? (
74 + dev-python/requests
75 + dev-python/sphinx
76 + )
77 + test? ( app-arch/libarchive[zstd] )
78 +"
79 +
80 +S="${WORKDIR}/${MY_P}"
81 +
82 +SITEFILE="50${PN}-gentoo.el"
83 +
84 +PATCHES=(
85 + # prefix
86 + "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch
87 + "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch
88 + "${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch
89 +
90 + # handle gentoo packaging in find modules
91 + "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch
92 + # Next patch needs to be reworked
93 + #"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch
94 + "${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
95 +
96 + # respect python eclasses
97 + "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
98 + "${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
99 +
100 + "${FILESDIR}"/${PN}-3.18.0-filter_distcc_warning.patch # bug 691544
101 +
102 + # upstream fixes (can usually be removed with a version bump)
103 +)
104 +
105 +cmake_src_bootstrap() {
106 + # disable running of cmake in bootstrap command
107 + sed -i \
108 + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
109 + bootstrap || die "sed failed"
110 +
111 + # execinfo.h on Solaris isn't quite what it is on Darwin
112 + if [[ ${CHOST} == *-solaris* ]] ; then
113 + sed -i -e 's/execinfo\.h/blablabla.h/' \
114 + Source/kwsys/CMakeLists.txt || die
115 + fi
116 +
117 + # bootstrap script isn't exactly /bin/sh compatible
118 + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
119 + --prefix="${T}/cmakestrap/" \
120 + --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
121 + || die "Bootstrap failed"
122 +}
123 +
124 +cmake_src_test() {
125 + # fix OutDir and SelectLibraryConfigurations tests
126 + # these are altered thanks to our eclass
127 + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
128 + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
129 + || die
130 +
131 + pushd "${BUILD_DIR}" > /dev/null
132 +
133 + local ctestargs
134 + [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
135 +
136 + # Excluded tests:
137 + # BootstrapTest: we actually bootstrap it every time so why test it.
138 + # BundleUtilities: bundle creation broken
139 + # CMakeOnly.AllFindModules: pthread issues
140 + # CTest.updatecvs: fails to commit as root
141 + # Fortran: requires fortran
142 + # RunCMake.CompilerLauncher: also requires fortran
143 + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
144 + # debugedit binary is not in the expected location
145 + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
146 + # it can't find a deb package that owns libc
147 + # RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4
148 + # TestUpload: requires network access
149 + "${BUILD_DIR}"/bin/ctest \
150 + -j "$(makeopts_jobs)" \
151 + --test-load "$(makeopts_loadavg)" \
152 + ${ctestargs} \
153 + -E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
154 + || die "Tests failed"
155 +
156 + popd > /dev/null
157 +}
158 +
159 +src_prepare() {
160 + cmake_src_prepare
161 +
162 + if [[ ${CHOST} == *-darwin* ]] ; then
163 + # disable Xcode hooks, bug #652134
164 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
165 + Source/CMakeLists.txt || die
166 + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
167 + -e '/cmGlobalXCodeGenerator.h/d' \
168 + Source/cmake.cxx || die
169 + # disable isysroot usage with GCC, we've properly instructed
170 + # where things are via GCC configuration and ldwrapper
171 + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
172 + Modules/Platform/Apple-GNU-*.cmake || die
173 + # disable isysroot usage with clang as well
174 + sed -i -e '/_SYSROOT_FLAG/d' \
175 + Modules/Platform/Apple-Clang.cmake || die
176 + # don't set a POSIX standard, system headers don't like that, #757426
177 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
178 + Source/cmLoadCommandCommand.cxx \
179 + Source/cmStandardLexer.h \
180 + Source/cmSystemTools.cxx \
181 + Source/cmTimestamp.cxx
182 + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
183 + Source/cmStandardLexer.h
184 + fi
185 +
186 + # Add gcc libs to the default link paths
187 + sed -i \
188 + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
189 + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
190 + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
191 + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
192 + if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then
193 + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
194 + cmake_src_bootstrap
195 + fi
196 +}
197 +
198 +src_configure() {
199 + # Fix linking on Solaris
200 + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
201 +
202 + local mycmakeargs=(
203 + -DCMAKE_USE_SYSTEM_LIBRARIES=ON
204 + -DCMAKE_DOC_DIR=/share/doc/${PF}
205 + -DCMAKE_MAN_DIR=/share/man
206 + -DCMAKE_DATA_DIR=/share/${PN}
207 + -DSPHINX_MAN=$(usex doc)
208 + -DSPHINX_HTML=$(usex doc)
209 + -DBUILD_CursesDialog="$(usex ncurses)"
210 + -DBUILD_TESTING=$(usex test)
211 + )
212 + use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON )
213 +
214 + cmake_src_configure
215 +}
216 +
217 +src_compile() {
218 + cmake_src_compile
219 + use emacs && elisp-compile Auxiliary/cmake-mode.el
220 +}
221 +
222 +src_test() {
223 + virtx cmake_src_test
224 +}
225 +
226 +src_install() {
227 + cmake_src_install
228 +
229 + if use emacs; then
230 + elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
231 + elisp-site-file-install "${FILESDIR}/${SITEFILE}"
232 + fi
233 +
234 + insinto /usr/share/vim/vimfiles/syntax
235 + doins Auxiliary/vim/syntax/cmake.vim
236 +
237 + insinto /usr/share/vim/vimfiles/indent
238 + doins Auxiliary/vim/indent/cmake.vim
239 +
240 + insinto /usr/share/vim/vimfiles/ftdetect
241 + doins "${FILESDIR}/${PN}.vim"
242 +
243 + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
244 +}
245 +
246 +pkg_postinst() {
247 + use emacs && elisp-site-regen
248 + if use qt5; then
249 + xdg_icon_cache_update
250 + xdg_desktop_database_update
251 + xdg_mimeinfo_database_update
252 + fi
253 +}
254 +
255 +pkg_postrm() {
256 + use emacs && elisp-site-regen
257 + if use qt5; then
258 + xdg_icon_cache_update
259 + xdg_desktop_database_update
260 + xdg_mimeinfo_database_update
261 + fi
262 +}