Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
Date: Sat, 11 Sep 2021 07:26:02
Message-Id: 1631345113.86f72380056310b5786c2497338457cb9568cf5e.mgorny@gentoo
1 commit: 86f72380056310b5786c2497338457cb9568cf5e
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 11 07:25:13 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 11 07:25:13 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86f72380
7
8 sys-libs/libcxx: Remove 13.0.0_rc1
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-libs/libcxx/Manifest | 1 -
13 sys-libs/libcxx/libcxx-13.0.0_rc1.ebuild | 213 -------------------------------
14 2 files changed, 214 deletions(-)
15
16 diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
17 index c24e85c1763..39607beb84e 100644
18 --- a/sys-libs/libcxx/Manifest
19 +++ b/sys-libs/libcxx/Manifest
20 @@ -6,5 +6,4 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
21 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
22 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
23 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
24 -DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
25 DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
26
27 diff --git a/sys-libs/libcxx/libcxx-13.0.0_rc1.ebuild b/sys-libs/libcxx/libcxx-13.0.0_rc1.ebuild
28 deleted file mode 100644
29 index 5dca7551438..00000000000
30 --- a/sys-libs/libcxx/libcxx-13.0.0_rc1.ebuild
31 +++ /dev/null
32 @@ -1,213 +0,0 @@
33 -# Copyright 1999-2021 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI=7
37 -
38 -CMAKE_ECLASS=cmake
39 -PYTHON_COMPAT=( python3_{8..10} )
40 -inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
41 -
42 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
43 -HOMEPAGE="https://libcxx.llvm.org/"
44 -
45 -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
46 -SLOT="0"
47 -KEYWORDS=""
48 -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test"
49 -REQUIRED_USE="libunwind? ( libcxxabi )"
50 -RESTRICT="!test? ( test )"
51 -
52 -RDEPEND="
53 - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
54 - !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )"
55 -# llvm-6 for new lit options
56 -# clang-3.9.0 installs necessary target symlinks unconditionally
57 -# which removes the need for MULTILIB_USEDEP
58 -DEPEND="${RDEPEND}
59 - >=sys-devel/llvm-6"
60 -BDEPEND="
61 - test? (
62 - >=dev-util/cmake-3.16
63 - >=sys-devel/clang-3.9.0
64 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
65 - )"
66 -
67 -DOCS=( CREDITS.TXT )
68 -
69 -LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake,utils/llvm-lit} )
70 -LLVM_PATCHSET=9999-1
71 -llvm.org_set_globals
72 -
73 -python_check_deps() {
74 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
75 -}
76 -
77 -pkg_setup() {
78 - # Darwin Prefix builds do not have llvm installed yet, so rely on
79 - # bootstrap-prefix to set the appropriate path vars to LLVM instead
80 - # of using llvm_pkg_setup.
81 - if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then
82 - llvm_pkg_setup
83 - fi
84 - use test && python-any-r1_pkg_setup
85 -
86 - if ! use libcxxabi && ! tc-is-gcc ; then
87 - eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
88 - eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
89 - eerror "and try again."
90 - die
91 - fi
92 -}
93 -
94 -test_compiler() {
95 - $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
96 - <<<'int main() { return 0; }' &>/dev/null
97 -}
98 -
99 -src_configure() {
100 - # note: we need to do this before multilib kicks in since it will
101 - # alter the CHOST
102 - local cxxabi cxxabi_incs
103 - if use libcxxabi; then
104 - cxxabi=libcxxabi
105 - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
106 - else
107 - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
108 - cxxabi=libsupc++
109 - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
110 - fi
111 -
112 - multilib-minimal_src_configure
113 -}
114 -
115 -multilib_src_configure() {
116 - # we want -lgcc_s for unwinder, and for compiler runtime when using
117 - # gcc, clang with gcc runtime (or any unknown compiler)
118 - local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
119 - if use libunwind; then
120 - # work-around missing -lunwind upstream
121 - extra_libs+=( -lunwind )
122 - # if we're using libunwind and clang with compiler-rt, we want
123 - # to link to compiler-rt instead of -lgcc_s
124 - if tc-is-clang; then
125 - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
126 - ${LDFLAGS} -print-libgcc-file-name)
127 - if [[ ${compiler_rt} == *libclang_rt* ]]; then
128 - want_gcc_s=OFF
129 - want_compiler_rt=ON
130 - extra_libs+=( "${compiler_rt}" )
131 - fi
132 - fi
133 - elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
134 - # clang-based darwin prefix disables libunwind useflag during
135 - # bootstrap, because libunwind is not in the prefix yet.
136 - # override the default, though, because clang based libcxx
137 - # should never use gcc_s on Darwin.
138 - want_gcc_s=OFF
139 - # compiler_rt is not available in EPREFIX during bootstrap,
140 - # so we cannot link to it yet anyway, so keep the defaults
141 - # of want_compiler_rt=OFF and extra_libs=()
142 - fi
143 -
144 - # bootstrap: cmake is unhappy if compiler can't link to stdlib
145 - local nolib_flags=( -nodefaultlibs -lc )
146 - if ! test_compiler; then
147 - if test_compiler "${nolib_flags[@]}"; then
148 - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
149 - ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
150 - fi
151 - fi
152 -
153 - local libdir=$(get_libdir)
154 - local mycmakeargs=(
155 - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
156 - -DLIBCXX_ENABLE_SHARED=ON
157 - -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
158 - -DLIBCXX_CXX_ABI=${cxxabi}
159 - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
160 - # we're using our own mechanism for generating linker scripts
161 - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
162 - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
163 - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
164 - -DLIBCXX_INCLUDE_TESTS=$(usex test)
165 - -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
166 - -DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
167 - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
168 - )
169 -
170 - if use test; then
171 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
172 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
173 -
174 - mycmakeargs+=(
175 - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
176 - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
177 - -DLIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI=ON
178 - -DPython3_EXECUTABLE="${PYTHON}"
179 - )
180 - fi
181 - cmake_src_configure
182 -}
183 -
184 -multilib_src_test() {
185 - local -x LIT_PRESERVES_TMP=1
186 - cmake_build check-cxx
187 -}
188 -
189 -# Usage: deps
190 -gen_ldscript() {
191 - local output_format
192 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
193 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
194 -
195 - cat <<-END_LDSCRIPT
196 -/* GNU ld script
197 - Include missing dependencies
198 -*/
199 -${output_format}
200 -GROUP ( $@ )
201 -END_LDSCRIPT
202 -}
203 -
204 -gen_static_ldscript() {
205 - local libdir=$(get_libdir)
206 - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "libsupc++.a")
207 -
208 - # Move it first.
209 - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
210 - # Generate libc++.a ldscript for inclusion of its dependencies so that
211 - # clang++ -stdlib=libc++ -static works out of the box.
212 - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
213 - # On Linux/glibc it does not link without libpthread or libdl. It is
214 - # fine on FreeBSD.
215 - use elibc_glibc && deps+=" libpthread.a libdl.a"
216 -
217 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
218 -}
219 -
220 -gen_shared_ldscript() {
221 - local libdir=$(get_libdir)
222 - # libsupc++ doesn't have a shared version
223 - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "libsupc++.a")
224 -
225 - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
226 - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
227 -
228 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
229 -}
230 -
231 -multilib_src_install() {
232 - cmake_src_install
233 - if [[ ${CHOST} != *-darwin* ]] ; then
234 - gen_shared_ldscript
235 - use static-libs && gen_static_ldscript
236 - fi
237 -}
238 -
239 -pkg_postinst() {
240 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
241 - elog "standard library when using clang."
242 - elog "To use it, instead of libstdc++, use:"
243 - elog " clang++ -stdlib=libc++"
244 - elog "to compile your C++ programs."
245 -}