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