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: Fri, 01 May 2020 08:54:11
Message-Id: 1588323219.7019ef1dfafb6ff622875a43cab534c84fb72eee.mgorny@gentoo
1 commit: 7019ef1dfafb6ff622875a43cab534c84fb72eee
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 1 08:46:42 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri May 1 08:53:39 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7019ef1d
7
8 sys-libs/libcxx: Remove 7*
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-libs/libcxx/Manifest | 1 -
13 sys-libs/libcxx/libcxx-7.1.0.ebuild | 215 ------------------------------------
14 2 files changed, 216 deletions(-)
15
16 diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
17 index 29811dbb1af..f322c621eec 100644
18 --- a/sys-libs/libcxx/Manifest
19 +++ b/sys-libs/libcxx/Manifest
20 @@ -1,4 +1,3 @@
21 -DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
22 DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
23 DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
24 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
25
26 diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
27 deleted file mode 100644
28 index 1da0523e159..00000000000
29 --- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
30 +++ /dev/null
31 @@ -1,215 +0,0 @@
32 -# Copyright 1999-2019 Gentoo Authors
33 -# Distributed under the terms of the GNU General Public License v2
34 -
35 -EAPI=6
36 -
37 -# Ninja provides better scalability and cleaner verbose output, and is used
38 -# throughout all LLVM projects.
39 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
40 -# (needed due to CMAKE_BUILD_TYPE != Gentoo)
41 -CMAKE_MIN_VERSION=3.7.0-r1
42 -PYTHON_COMPAT=( python2_7 )
43 -
44 -inherit cmake-multilib llvm multiprocessing python-any-r1 \
45 - toolchain-funcs
46 -
47 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
48 -HOMEPAGE="https://libcxx.llvm.org/"
49 -SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
50 -
51 -LICENSE="|| ( UoI-NCSA MIT )"
52 -SLOT="0"
53 -KEYWORDS="amd64 arm arm64 x86"
54 -IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
55 -REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
56 - ?? ( libcxxabi libcxxrt )"
57 -RESTRICT="!test? ( test )"
58 -
59 -RDEPEND="
60 - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
61 - libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
62 - !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
63 -# llvm-6 for new lit options
64 -# clang-3.9.0 installs necessary target symlinks unconditionally
65 -# which removes the need for MULTILIB_USEDEP
66 -DEPEND="${RDEPEND}
67 - test? ( >=sys-devel/clang-3.9.0
68 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
69 - app-arch/xz-utils
70 - >=sys-devel/llvm-6"
71 -
72 -S=${WORKDIR}/${P/_/}.src
73 -
74 -DOCS=( CREDITS.TXT )
75 -
76 -PATCHES=(
77 - # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
78 - # out-of-tree build.
79 - "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
80 -)
81 -
82 -# least intrusive of all
83 -CMAKE_BUILD_TYPE=RelWithDebInfo
84 -
85 -python_check_deps() {
86 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
87 -}
88 -
89 -pkg_setup() {
90 - llvm_pkg_setup
91 - use test && python-any-r1_pkg_setup
92 -
93 - if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
94 - eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
95 - eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
96 - eerror "and try again."
97 - die
98 - fi
99 - if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
100 - eerror "${PN} needs to be built with gcc-4.7 or later (or other"
101 - eerror "conformant compilers). Please use gcc-config to switch to"
102 - eerror "gcc-4.7 or later version."
103 - die
104 - fi
105 -}
106 -
107 -test_compiler() {
108 - $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
109 - <<<'int main() { return 0; }' &>/dev/null
110 -}
111 -
112 -src_configure() {
113 - # note: we need to do this before multilib kicks in since it will
114 - # alter the CHOST
115 - local cxxabi cxxabi_incs
116 - if use libcxxabi; then
117 - cxxabi=libcxxabi
118 - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
119 - elif use libcxxrt; then
120 - cxxabi=libcxxrt
121 - cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
122 - else
123 - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
124 - cxxabi=libsupc++
125 - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
126 - fi
127 -
128 - multilib-minimal_src_configure
129 -}
130 -
131 -multilib_src_configure() {
132 - # we want -lgcc_s for unwinder, and for compiler runtime when using
133 - # gcc, clang with gcc runtime (or any unknown compiler)
134 - local extra_libs=() want_gcc_s=ON
135 - if use libunwind; then
136 - # work-around missing -lunwind upstream
137 - extra_libs+=( -lunwind )
138 - # if we're using libunwind and clang with compiler-rt, we want
139 - # to link to compiler-rt instead of -lgcc_s
140 - if tc-is-clang; then
141 - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
142 - ${LDFLAGS} -print-libgcc-file-name)
143 - if [[ ${compiler_rt} == *libclang_rt* ]]; then
144 - want_gcc_s=OFF
145 - extra_libs+=( "${compiler_rt}" )
146 - fi
147 - fi
148 - fi
149 -
150 - # bootstrap: cmake is unhappy if compiler can't link to stdlib
151 - local nolib_flags=( -nodefaultlibs -lc )
152 - if ! test_compiler; then
153 - if test_compiler "${nolib_flags[@]}"; then
154 - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
155 - ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
156 - fi
157 - fi
158 -
159 - local libdir=$(get_libdir)
160 - local mycmakeargs=(
161 - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
162 - -DLIBCXX_ENABLE_SHARED=ON
163 - -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
164 - -DLIBCXX_CXX_ABI=${cxxabi}
165 - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
166 - # we're using our own mechanism for generating linker scripts
167 - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
168 - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
169 - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
170 - -DLIBCXX_INCLUDE_TESTS=$(usex test)
171 - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
172 - )
173 -
174 - if use test; then
175 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
176 - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
177 -
178 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
179 -
180 - mycmakeargs+=(
181 - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
182 - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
183 - )
184 - fi
185 - cmake-utils_src_configure
186 -}
187 -
188 -multilib_src_test() {
189 - cmake-utils_src_make check-libcxx
190 -}
191 -
192 -# Usage: deps
193 -gen_ldscript() {
194 - local output_format
195 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
196 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
197 -
198 - cat <<-END_LDSCRIPT
199 -/* GNU ld script
200 - Include missing dependencies
201 -*/
202 -${output_format}
203 -GROUP ( $@ )
204 -END_LDSCRIPT
205 -}
206 -
207 -gen_static_ldscript() {
208 - local libdir=$(get_libdir)
209 - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
210 -
211 - # Move it first.
212 - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
213 - # Generate libc++.a ldscript for inclusion of its dependencies so that
214 - # clang++ -stdlib=libc++ -static works out of the box.
215 - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
216 - # On Linux/glibc it does not link without libpthread or libdl. It is
217 - # fine on FreeBSD.
218 - use elibc_glibc && deps+=" libpthread.a libdl.a"
219 -
220 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
221 -}
222 -
223 -gen_shared_ldscript() {
224 - local libdir=$(get_libdir)
225 - # libsupc++ doesn't have a shared version
226 - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
227 -
228 - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
229 - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
230 -
231 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
232 -}
233 -
234 -multilib_src_install() {
235 - cmake-utils_src_install
236 - gen_shared_ldscript
237 - use static-libs && gen_static_ldscript
238 -}
239 -
240 -pkg_postinst() {
241 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
242 - elog "standard library when using clang."
243 - elog "To use it, instead of libstdc++, use:"
244 - elog " clang++ -stdlib=libc++"
245 - elog "to compile your C++ programs."
246 -}