Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-libs/libcxxabi/files/, sys-libs/libcxx/, sys-libs/libcxx/files/, ...
Date: Wed, 23 Dec 2020 09:41:26
Message-Id: 1608716417.1f20a711898c2d7855d43a2cb293dc6ceb1e0323.grobian@gentoo
1 commit: 1f20a711898c2d7855d43a2cb293dc6ceb1e0323
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 23 09:40:17 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 23 09:40:17 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=1f20a711
7
8 sys-libs/libcxx{,abi,-headers} drop packages
9
10 these are very out of date, and not in sync with llvm current
11
12 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
13
14 sys-libs/libcxx-headers/Manifest | 4 -
15 .../files/libcxx-headers-3.5.1-availability.patch | 46 ----
16 .../files/libcxx-headers-3.5.1-cmath-conv.patch | 28 ---
17 .../libcxx-headers/libcxx-headers-3.5.1.ebuild | 38 ----
18 .../libcxx-headers/libcxx-headers-3.7.1.ebuild | 38 ----
19 .../libcxx-headers/libcxx-headers-3.8.1.ebuild | 38 ----
20 .../libcxx-headers/libcxx-headers-3.9.0.ebuild | 45 ----
21 sys-libs/libcxx-headers/metadata.xml | 8 -
22 sys-libs/libcxx/Manifest | 5 -
23 sys-libs/libcxx/files/Makefile | 38 ----
24 .../libcxx/files/libcxx-3.5.1-availability.patch | 46 ----
25 .../libcxx/files/libcxx-3.5.1-cmath-conv.patch | 28 ---
26 sys-libs/libcxx/files/libcxx-3.5.1-eprintf.patch | 32 ---
27 sys-libs/libcxx/files/libcxx-3.5.1-olddarwin.patch | 34 ---
28 .../libcxx/files/libcxx-3.9-cmake-link-flags.patch | 23 --
29 .../libcxx/files/libcxx-3.9-cmake-static-lib.patch | 196 -----------------
30 sys-libs/libcxx/libcxx-3.5.1.ebuild | 241 --------------------
31 sys-libs/libcxx/libcxx-3.7.1.ebuild | 241 --------------------
32 sys-libs/libcxx/libcxx-3.8.1.ebuild | 242 ---------------------
33 sys-libs/libcxx/libcxx-3.9.1.ebuild | 233 --------------------
34 sys-libs/libcxx/libcxx-5.0.1.ebuild | 238 --------------------
35 sys-libs/libcxx/metadata.xml | 21 --
36 sys-libs/libcxxabi/Manifest | 8 -
37 .../libcxxabi/files/libcxxabi-3.5.1-eprintf.patch | 28 ---
38 .../files/libcxxabi-3.9.0-cmake-path.patch | 34 ---
39 .../files/libcxxabi-3.9.0-test-unwind.patch | 37 ----
40 sys-libs/libcxxabi/libcxxabi-3.5.1.ebuild | 89 --------
41 sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild | 86 --------
42 sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild | 90 --------
43 sys-libs/libcxxabi/libcxxabi-3.9.0.ebuild | 60 -----
44 sys-libs/libcxxabi/libcxxabi-3.9.1.ebuild | 106 ---------
45 sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild | 102 ---------
46 sys-libs/libcxxabi/metadata.xml | 10 -
47 33 files changed, 2513 deletions(-)
48
49 diff --git a/sys-libs/libcxx-headers/Manifest b/sys-libs/libcxx-headers/Manifest
50 deleted file mode 100644
51 index 83e27efff7..0000000000
52 --- a/sys-libs/libcxx-headers/Manifest
53 +++ /dev/null
54 @@ -1,4 +0,0 @@
55 -DIST libcxx-3.5.1.src.tar.xz 912248 BLAKE2B 9215341a119eb56be7f6cefe9b8de664ab2e9e5e208ab017aa73cd539c8f5f9e0b41209f245904793adf2933a72afd0aa2428fb1983480190d4e2f4e83e62e0d SHA512 3be33787c79aa5d03a3f507be20ef986215d6008e4f0370e3c5906d76a620bf27c9ed4c35f4561c1ac507a1b217fa7fc7577611e7205f3f2433c677bf86b8632
56 -DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd809154d1ae1c077a2dfede37319070729d6d768223b6ba5e2a866d6c2f18972dd501ce517864378ebc26c49cacafb635 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9
57 -DIST libcxx-3.8.1.src.tar.xz 1074164 BLAKE2B 8aa07974a0301684f852408a62c173084fb913179bec951df3bae33895f8b46434eddc95b838cb936a5ef31f5b8ead25b7d0e241adc039eaea38ef95045c8ccb SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2
58 -DIST libcxx-3.9.0.src.tar.xz 1198308 BLAKE2B 689fed969562466bd230445a0edb886880d1034c45d5387922d1dd307898547e5605035c5aa901f3e844be3c1b2d066cf27aa0b996d7ade176ee38a9f49ac98a SHA512 55d5c4adff378ee02b0b99d732bc9f326910f9e49ab8c320a588eccdd0362fe009bc9a6a4337d29faf6338420c91b10d0d7d67f66128268f01258d30502c4f4a
59
60 diff --git a/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-availability.patch b/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-availability.patch
61 deleted file mode 100644
62 index 5b11750148..0000000000
63 --- a/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-availability.patch
64 +++ /dev/null
65 @@ -1,46 +0,0 @@
66 -Older OS X does not have Availability.h. Use AvailabilityMacros.h instead.
67 -Since those platforms don't know anything about the iPhone, we can drop those
68 -checks.
69 -
70 ---- libcxx-3.5.1.src/include/iterator.orig 2015-01-26 22:39:31.000000000 +0100
71 -+++ libcxx-3.5.1.src/include/iterator 2015-01-26 22:40:40.000000000 +0100
72 -@@ -335,7 +335,7 @@
73 - #include <iosfwd>
74 - #include <initializer_list>
75 - #ifdef __APPLE__
76 --#include <Availability.h>
77 -+#include <AvailabilityMacros.h>
78 - #endif
79 -
80 - #ifdef _LIBCPP_DEBUG
81 -@@ -913,8 +913,7 @@
82 - _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
83 -
84 - #if !defined(__APPLE__) || \
85 -- (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
86 -- (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
87 -+ (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED > 1080)
88 -
89 - template <class _Ch, class _Tr>
90 - friend
91 ---- libcxx-3.5.1.src/include/locale.orig 2015-01-26 23:39:10.000000000 +0100
92 -+++ libcxx-3.5.1.src/include/locale 2015-01-26 23:39:34.000000000 +0100
93 -@@ -198,7 +198,7 @@
94 - #endif
95 -
96 - #ifdef __APPLE__
97 --#include <Availability.h>
98 -+#include <AvailabilityMacros.h>
99 - #endif
100 -
101 - #include <__undef_min_max>
102 -@@ -1467,8 +1467,7 @@
103 - }
104 -
105 - #if !defined(__APPLE__) || \
106 -- (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
107 -- (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
108 -+ (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > 1080)
109 -
110 - template <class _CharT, class _Traits>
111 - _LIBCPP_HIDDEN
112
113 diff --git a/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-cmath-conv.patch b/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-cmath-conv.patch
114 deleted file mode 100644
115 index 2239d5e682..0000000000
116 --- a/sys-libs/libcxx-headers/files/libcxx-headers-3.5.1-cmath-conv.patch
117 +++ /dev/null
118 @@ -1,28 +0,0 @@
119 -Work around bug in OS X 10.6 math.h headers which never declare the long long
120 -float conversion functions even if allowed.
121 -
122 ---- libcxx-3.5.1.src/include/cmath.orig 2015-01-15 12:05:28.000000000 +0100
123 -+++ libcxx-3.5.1.src/include/cmath 2015-01-15 12:09:31.000000000 +0100
124 -@@ -299,6 +299,22 @@
125 -
126 - #include <__config>
127 - #include <math.h>
128 -+
129 -+/* work around bug in OS X 10.6 math.h headers which never declare the long
130 -+ * long float conversion functions even if allowed */
131 -+#if !(__DARWIN_NO_LONG_LONG)
132 -+ /* long long is not part of C90. Make sure you are passing -std=c99 or -std=gnu99 or better if you need this. */
133 -+ extern long long int llrint ( double );
134 -+ extern long long int llrintf ( float );
135 -+
136 -+ extern long long int llround ( double );
137 -+ extern long long int llroundf ( float );
138 -+
139 -+ /* long long is not part of C90. Make sure you are passing -std=c99 or -std=gnu99 or better if you need this. */
140 -+ extern long long int llrintl(long double);
141 -+ extern long long int llroundl(long double);
142 -+#endif /* #if !(__DARWIN_NO_LONG_LONG) */
143 -+
144 - #include <type_traits>
145 -
146 - #ifdef _LIBCPP_MSVCRT
147
148 diff --git a/sys-libs/libcxx-headers/libcxx-headers-3.5.1.ebuild b/sys-libs/libcxx-headers/libcxx-headers-3.5.1.ebuild
149 deleted file mode 100644
150 index 5cef9f4681..0000000000
151 --- a/sys-libs/libcxx-headers/libcxx-headers-3.5.1.ebuild
152 +++ /dev/null
153 @@ -1,38 +0,0 @@
154 -# Copyright 1999-2018 Gentoo Foundation
155 -# Distributed under the terms of the GNU General Public License v2
156 -
157 -EAPI=5
158 -
159 -MY_PN=${PN%%-headers}
160 -MY_P="${MY_PN}-${PV}"
161 -S="${WORKDIR}/${MY_P}.src"
162 -
163 -inherit eutils
164 -
165 -DESCRIPTION="Header files for libc++ required by e.g. libc++abi to be compiled"
166 -HOMEPAGE="http://libcxx.llvm.org/"
167 -SRC_URI="http://llvm.org/releases/${PV}/${MY_P}.src.tar.xz"
168 -
169 -LICENSE="|| ( UoI-NCSA MIT )"
170 -SLOT="0"
171 -KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
172 -IUSE=""
173 -
174 -src_prepare() {
175 - if [[ ${CHOST} == *darwin* ]] ; then
176 - [[ "${CHOST##*-darwin}" -le 10 ]] && \
177 - epatch "${FILESDIR}"/${PN}-3.5.1-cmath-conv.patch
178 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
179 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
180 - rm -f include/CMakeLists.txt
181 - fi
182 -}
183 -
184 -src_compile() {
185 - :
186 -}
187 -
188 -src_install() {
189 - insinto /usr/include/c++/v1
190 - doins -r include/*
191 -}
192
193 diff --git a/sys-libs/libcxx-headers/libcxx-headers-3.7.1.ebuild b/sys-libs/libcxx-headers/libcxx-headers-3.7.1.ebuild
194 deleted file mode 100644
195 index c12fdca5ab..0000000000
196 --- a/sys-libs/libcxx-headers/libcxx-headers-3.7.1.ebuild
197 +++ /dev/null
198 @@ -1,38 +0,0 @@
199 -# Copyright 1999-2018 Gentoo Foundation
200 -# Distributed under the terms of the GNU General Public License v2
201 -
202 -EAPI=5
203 -
204 -MY_PN=${PN%%-headers}
205 -MY_P="${MY_PN}-${PV}"
206 -S="${WORKDIR}/${MY_P}.src"
207 -
208 -inherit eutils
209 -
210 -DESCRIPTION="Header files for libc++ required by e.g. libc++abi to be compiled"
211 -HOMEPAGE="http://libcxx.llvm.org/"
212 -SRC_URI="http://llvm.org/releases/${PV}/${MY_P}.src.tar.xz"
213 -
214 -LICENSE="|| ( UoI-NCSA MIT )"
215 -SLOT="0"
216 -KEYWORDS="~x64-macos ~x86-macos"
217 -IUSE=""
218 -
219 -src_prepare() {
220 - if [[ ${CHOST} == *darwin* ]] ; then
221 - [[ "${CHOST##*-darwin}" -le 10 ]] && \
222 - epatch "${FILESDIR}"/${PN}-3.5.1-cmath-conv.patch
223 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
224 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
225 - rm -f include/CMakeLists.txt
226 - fi
227 -}
228 -
229 -src_compile() {
230 - :
231 -}
232 -
233 -src_install() {
234 - insinto /usr/include/c++/v1
235 - doins -r include/*
236 -}
237
238 diff --git a/sys-libs/libcxx-headers/libcxx-headers-3.8.1.ebuild b/sys-libs/libcxx-headers/libcxx-headers-3.8.1.ebuild
239 deleted file mode 100644
240 index c12fdca5ab..0000000000
241 --- a/sys-libs/libcxx-headers/libcxx-headers-3.8.1.ebuild
242 +++ /dev/null
243 @@ -1,38 +0,0 @@
244 -# Copyright 1999-2018 Gentoo Foundation
245 -# Distributed under the terms of the GNU General Public License v2
246 -
247 -EAPI=5
248 -
249 -MY_PN=${PN%%-headers}
250 -MY_P="${MY_PN}-${PV}"
251 -S="${WORKDIR}/${MY_P}.src"
252 -
253 -inherit eutils
254 -
255 -DESCRIPTION="Header files for libc++ required by e.g. libc++abi to be compiled"
256 -HOMEPAGE="http://libcxx.llvm.org/"
257 -SRC_URI="http://llvm.org/releases/${PV}/${MY_P}.src.tar.xz"
258 -
259 -LICENSE="|| ( UoI-NCSA MIT )"
260 -SLOT="0"
261 -KEYWORDS="~x64-macos ~x86-macos"
262 -IUSE=""
263 -
264 -src_prepare() {
265 - if [[ ${CHOST} == *darwin* ]] ; then
266 - [[ "${CHOST##*-darwin}" -le 10 ]] && \
267 - epatch "${FILESDIR}"/${PN}-3.5.1-cmath-conv.patch
268 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
269 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
270 - rm -f include/CMakeLists.txt
271 - fi
272 -}
273 -
274 -src_compile() {
275 - :
276 -}
277 -
278 -src_install() {
279 - insinto /usr/include/c++/v1
280 - doins -r include/*
281 -}
282
283 diff --git a/sys-libs/libcxx-headers/libcxx-headers-3.9.0.ebuild b/sys-libs/libcxx-headers/libcxx-headers-3.9.0.ebuild
284 deleted file mode 100644
285 index 5ff46d0799..0000000000
286 --- a/sys-libs/libcxx-headers/libcxx-headers-3.9.0.ebuild
287 +++ /dev/null
288 @@ -1,45 +0,0 @@
289 -# Copyright 1999-2018 Gentoo Foundation
290 -# Distributed under the terms of the GNU General Public License v2
291 -
292 -EAPI=5
293 -
294 -MY_PN=${PN%%-headers}
295 -MY_P="${MY_PN}-${PV}"
296 -S="${WORKDIR}/${MY_P}.src"
297 -
298 -inherit eutils cmake-utils
299 -
300 -DESCRIPTION="Header files for libc++ required by e.g. libc++abi to be compiled"
301 -HOMEPAGE="http://libcxx.llvm.org/"
302 -SRC_URI="http://llvm.org/releases/${PV}/${MY_P}.src.tar.xz"
303 -
304 -LICENSE="|| ( UoI-NCSA MIT )"
305 -SLOT="0"
306 -KEYWORDS="~x64-macos ~x86-macos"
307 -IUSE=""
308 -
309 -src_prepare() {
310 - sed -i -e "/set.LLVM_CMAKE_PATH.*\\/cmake\\/modules/s@cmake/modules@cmake@" \
311 - cmake/Modules/HandleOutOfTreeLLVM.cmake
312 -
313 - if [[ ${CHOST} == *darwin* ]] ; then
314 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
315 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
316 - fi
317 -
318 - cmake-utils_src_prepare
319 -}
320 -
321 -src_configure() {
322 - local mycmakeargs=(
323 - -DLLVM_PATH=${EPREFIX}/usr/share/llvm
324 - # disable installation and indirectly build of libc++ because we only
325 - # want the headers
326 - -DLIBCXX_INSTALL_LIBRARY=NO
327 - # disable libc++experimental as well because it will re-enable the
328 - # build of libc++
329 - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=NO
330 - )
331 -
332 - cmake-utils_src_configure
333 -}
334
335 diff --git a/sys-libs/libcxx-headers/metadata.xml b/sys-libs/libcxx-headers/metadata.xml
336 deleted file mode 100644
337 index b592ddf756..0000000000
338 --- a/sys-libs/libcxx-headers/metadata.xml
339 +++ /dev/null
340 @@ -1,8 +0,0 @@
341 -<?xml version="1.0" encoding="UTF-8"?>
342 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
343 -<pkgmetadata>
344 - <maintainer type="project">
345 - <email>prefix@g.o</email>
346 - <name>Prefix Project</name>
347 - </maintainer>
348 -</pkgmetadata>
349
350 diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
351 deleted file mode 100644
352 index b998ef46cd..0000000000
353 --- a/sys-libs/libcxx/Manifest
354 +++ /dev/null
355 @@ -1,5 +0,0 @@
356 -DIST libcxx-3.5.1.src.tar.xz 912248 BLAKE2B 9215341a119eb56be7f6cefe9b8de664ab2e9e5e208ab017aa73cd539c8f5f9e0b41209f245904793adf2933a72afd0aa2428fb1983480190d4e2f4e83e62e0d SHA512 3be33787c79aa5d03a3f507be20ef986215d6008e4f0370e3c5906d76a620bf27c9ed4c35f4561c1ac507a1b217fa7fc7577611e7205f3f2433c677bf86b8632
357 -DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd809154d1ae1c077a2dfede37319070729d6d768223b6ba5e2a866d6c2f18972dd501ce517864378ebc26c49cacafb635 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9
358 -DIST libcxx-3.8.1.src.tar.xz 1074164 BLAKE2B 8aa07974a0301684f852408a62c173084fb913179bec951df3bae33895f8b46434eddc95b838cb936a5ef31f5b8ead25b7d0e241adc039eaea38ef95045c8ccb SHA512 782ff3cdb85d02e92404e943474d0266ff601725c202f0667d60e7807f1ba3cfdebbdb062e27a52fec96be1c99339044be93a88ba7e396682f98d99c9ac175b2
359 -DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
360 -DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
361
362 diff --git a/sys-libs/libcxx/files/Makefile b/sys-libs/libcxx/files/Makefile
363 deleted file mode 100644
364 index 029e7295b8..0000000000
365 --- a/sys-libs/libcxx/files/Makefile
366 +++ /dev/null
367 @@ -1,38 +0,0 @@
368 -CXXFLAGS+=-std=c++11 -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion \
369 - -Wpadded -Wstrict-aliasing=2 -Wstrict-overflow=4
370 -
371 -SRCDIR=..
372 -LIB=libc++
373 -STATIC=libc++.a
374 -MAJOR=1
375 -MINOR=0
376 -SHEXT?=.so
377 -SHLIB=$(LIB)$(SHEXT).$(MAJOR).$(MINOR)
378 -SONAME=$(LIB)$(SHEXT).$(MAJOR)
379 -
380 -SRC=$(wildcard $(SRCDIR)/src/*.cpp)
381 -OBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.o)
382 -SOBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.So)
383 -
384 -
385 -%.So: $(SRCDIR)/src/%.cpp
386 - $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -fPIC -nostdinc++ -c $< -o $@
387 -
388 -%.o: $(SRCDIR)/src/%.cpp
389 - $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -nostdinc++ -c $< -o $@
390 -
391 -$(STATIC): $(OBJ)
392 - $(AR) cr $@ $^
393 -
394 -static: $(STATIC)
395 -
396 -$(SHLIB): $(SOBJ)
397 - $(CXX) -fPIC -nodefaultlibs $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LIBS)
398 -
399 -$(SONAME): $(SHLIB)
400 - ln -s $< $@
401 -
402 -$(LIB)$(SHEXT): $(SONAME)
403 - ln -s $< $@
404 -
405 -shared: $(SHLIB) $(SONAME) $(LIB)$(SHEXT)
406
407 diff --git a/sys-libs/libcxx/files/libcxx-3.5.1-availability.patch b/sys-libs/libcxx/files/libcxx-3.5.1-availability.patch
408 deleted file mode 100644
409 index 5b11750148..0000000000
410 --- a/sys-libs/libcxx/files/libcxx-3.5.1-availability.patch
411 +++ /dev/null
412 @@ -1,46 +0,0 @@
413 -Older OS X does not have Availability.h. Use AvailabilityMacros.h instead.
414 -Since those platforms don't know anything about the iPhone, we can drop those
415 -checks.
416 -
417 ---- libcxx-3.5.1.src/include/iterator.orig 2015-01-26 22:39:31.000000000 +0100
418 -+++ libcxx-3.5.1.src/include/iterator 2015-01-26 22:40:40.000000000 +0100
419 -@@ -335,7 +335,7 @@
420 - #include <iosfwd>
421 - #include <initializer_list>
422 - #ifdef __APPLE__
423 --#include <Availability.h>
424 -+#include <AvailabilityMacros.h>
425 - #endif
426 -
427 - #ifdef _LIBCPP_DEBUG
428 -@@ -913,8 +913,7 @@
429 - _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
430 -
431 - #if !defined(__APPLE__) || \
432 -- (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
433 -- (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
434 -+ (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED > 1080)
435 -
436 - template <class _Ch, class _Tr>
437 - friend
438 ---- libcxx-3.5.1.src/include/locale.orig 2015-01-26 23:39:10.000000000 +0100
439 -+++ libcxx-3.5.1.src/include/locale 2015-01-26 23:39:34.000000000 +0100
440 -@@ -198,7 +198,7 @@
441 - #endif
442 -
443 - #ifdef __APPLE__
444 --#include <Availability.h>
445 -+#include <AvailabilityMacros.h>
446 - #endif
447 -
448 - #include <__undef_min_max>
449 -@@ -1467,8 +1467,7 @@
450 - }
451 -
452 - #if !defined(__APPLE__) || \
453 -- (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
454 -- (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
455 -+ (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > 1080)
456 -
457 - template <class _CharT, class _Traits>
458 - _LIBCPP_HIDDEN
459
460 diff --git a/sys-libs/libcxx/files/libcxx-3.5.1-cmath-conv.patch b/sys-libs/libcxx/files/libcxx-3.5.1-cmath-conv.patch
461 deleted file mode 100644
462 index 2239d5e682..0000000000
463 --- a/sys-libs/libcxx/files/libcxx-3.5.1-cmath-conv.patch
464 +++ /dev/null
465 @@ -1,28 +0,0 @@
466 -Work around bug in OS X 10.6 math.h headers which never declare the long long
467 -float conversion functions even if allowed.
468 -
469 ---- libcxx-3.5.1.src/include/cmath.orig 2015-01-15 12:05:28.000000000 +0100
470 -+++ libcxx-3.5.1.src/include/cmath 2015-01-15 12:09:31.000000000 +0100
471 -@@ -299,6 +299,22 @@
472 -
473 - #include <__config>
474 - #include <math.h>
475 -+
476 -+/* work around bug in OS X 10.6 math.h headers which never declare the long
477 -+ * long float conversion functions even if allowed */
478 -+#if !(__DARWIN_NO_LONG_LONG)
479 -+ /* long long is not part of C90. Make sure you are passing -std=c99 or -std=gnu99 or better if you need this. */
480 -+ extern long long int llrint ( double );
481 -+ extern long long int llrintf ( float );
482 -+
483 -+ extern long long int llround ( double );
484 -+ extern long long int llroundf ( float );
485 -+
486 -+ /* long long is not part of C90. Make sure you are passing -std=c99 or -std=gnu99 or better if you need this. */
487 -+ extern long long int llrintl(long double);
488 -+ extern long long int llroundl(long double);
489 -+#endif /* #if !(__DARWIN_NO_LONG_LONG) */
490 -+
491 - #include <type_traits>
492 -
493 - #ifdef _LIBCPP_MSVCRT
494
495 diff --git a/sys-libs/libcxx/files/libcxx-3.5.1-eprintf.patch b/sys-libs/libcxx/files/libcxx-3.5.1-eprintf.patch
496 deleted file mode 100644
497 index 1860e5efa0..0000000000
498 --- a/sys-libs/libcxx/files/libcxx-3.5.1-eprintf.patch
499 +++ /dev/null
500 @@ -1,32 +0,0 @@
501 -On older OS X assert.h refers to eprintf which is nowhere to be found. That's
502 -why everyone (libstdc++, clang compiler-rt) bring their own implementation.
503 -Ours is nicked from Apple's patch to libstdc++-39.
504 -
505 ---- libcxx-3.5.1.src/src/mutex.cpp.orig 2015-01-26 23:55:25.000000000 +0100
506 -+++ libcxx-3.5.1.src/src/mutex.cpp 2015-01-26 23:56:30.000000000 +0100
507 -@@ -13,6 +13,25 @@
508 - #include "system_error"
509 - #include "cassert"
510 -
511 -+#ifdef __APPLE__
512 -+#include <AvailabilityMacros.h>
513 -+#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1050)
514 -+#include <cstdio>
515 -+#include <cstdlib>
516 -+
517 -+using namespace std;
518 -+extern "C"
519 -+__attribute__((visibility("hidden")))
520 -+void __eprintf (const char *string, const char *expression,
521 -+ unsigned int line, const char *filename)
522 -+{
523 -+ fprintf (stderr, string, expression, line, filename);
524 -+ fflush (stderr);
525 -+ abort ();
526 -+}
527 -+#endif
528 -+#endif /* __APPLE__ */
529 -+
530 - _LIBCPP_BEGIN_NAMESPACE_STD
531 -
532 - const defer_lock_t defer_lock = {};
533
534 diff --git a/sys-libs/libcxx/files/libcxx-3.5.1-olddarwin.patch b/sys-libs/libcxx/files/libcxx-3.5.1-olddarwin.patch
535 deleted file mode 100644
536 index 2717c16296..0000000000
537 --- a/sys-libs/libcxx/files/libcxx-3.5.1-olddarwin.patch
538 +++ /dev/null
539 @@ -1,34 +0,0 @@
540 -Make buildit recognise older OS X and build for them the same as on 10.6.
541 -
542 ---- libcxx-3.5.1.src/lib/buildit.orig 2015-01-18 11:21:51.000000000 -0900
543 -+++ libcxx-3.5.1.src/lib/buildit 2015-01-18 11:32:36.000000000 -0900
544 -@@ -50,8 +50,8 @@
545 - RC_CFLAGS="-arch i386 -arch x86_64"
546 - fi
547 - SOEXT=dylib
548 -- if [ "$MACOSX_DEPLOYMENT_TARGET" = "10.6" ]
549 -- then
550 -+ case "${MACOSX_DEPLOYMENT_TARGET}" in
551 -+ 10.[0123456])
552 - EXTRA_FLAGS="-nostdinc++ -std=c++11 -U__STRICT_ANSI__"
553 - LDSHARED_FLAGS="-o libc++.1.dylib \
554 - -dynamiclib -nodefaultlibs -current_version 1 \
555 -@@ -60,7 +60,8 @@
556 - -Wl,-reexport_library,/Users/michael/Gentoo/usr/lib/libc++abi.dylib \
557 - -Wl,-unexported_symbols_list,libc++unexp.exp \
558 - /usr/lib/libSystem.B.dylib"
559 -- else
560 -+ ;;
561 -+ *)
562 - if [ -n "$SDKROOT" ]
563 - then
564 - EXTRA_FLAGS+="-isysroot ${SDKROOT} "
565 -@@ -92,7 +93,7 @@
566 - ${RE_EXPORT_LINE} \
567 - -Wl,-force_symbols_not_weak_list,notweak.exp \
568 - -Wl,-force_symbols_weak_list,weak.exp"
569 -- fi
570 -+ esac
571 - ;;
572 - *-*-mingw*)
573 - # FIXME: removing libgcc and libsupc++ dependencies means porting libcxxrt and LLVM/compiler-rt
574
575 diff --git a/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch b/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch
576 deleted file mode 100644
577 index bef5bc1875..0000000000
578 --- a/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch
579 +++ /dev/null
580 @@ -1,23 +0,0 @@
581 -diff --git a/CMakeLists.txt b/CMakeLists.txt
582 -index d618e83..0e76525 100644
583 ---- a/CMakeLists.txt
584 -+++ b/CMakeLists.txt
585 -@@ -293,6 +293,18 @@ remove_flags(-DNDEBUG -UNDEBUG -D_DEBUG
586 - # so they don't get transformed into -Wno and -errors respectivly.
587 - remove_flags(-Wno-pedantic -pedantic-errors -pedantic)
588 -
589 -+# FIXME: this is cribbed from HandleLLVMOptions.cmake.
590 -+if(LIBCXX_STANDALONE_BUILD)
591 -+ # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
592 -+ # build might work on ELF but fail on MachO/COFF.
593 -+ if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
594 -+ ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
595 -+ ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND
596 -+ NOT LLVM_USE_SANITIZER)
597 -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")
598 -+ endif()
599 -+endif()
600 -+
601 - # Required flags ==============================================================
602 - add_compile_flags_if_supported(-std=c++11)
603 - if (NOT MSVC AND NOT LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG)
604
605 diff --git a/sys-libs/libcxx/files/libcxx-3.9-cmake-static-lib.patch b/sys-libs/libcxx/files/libcxx-3.9-cmake-static-lib.patch
606 deleted file mode 100644
607 index 5f0e31864d..0000000000
608 --- a/sys-libs/libcxx/files/libcxx-3.9-cmake-static-lib.patch
609 +++ /dev/null
610 @@ -1,196 +0,0 @@
611 -From b640da0b315ead39690d4d65c76938ab8aeb5449 Mon Sep 17 00:00:00 2001
612 -From: Petr Hosek <phosek@××××××××.org>
613 -Date: Mon, 8 Aug 2016 22:57:25 +0000
614 -Subject: [PATCH] Allow building both shared and static library
615 -
616 -This change allows building both shared and static version of libc++
617 -in a single build, sharing object files between both versions.
618 -
619 -Differential Revision: https://reviews.llvm.org/D23232
620 -
621 -git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278068 91177308-0d34-0410-b5e6-96231b3b80d8
622 ----
623 - CMakeLists.txt | 5 ++++
624 - docs/BuildingLibcxx.rst | 11 ++++++--
625 - lib/CMakeLists.txt | 71 ++++++++++++++++++++++++++++++++++---------------
626 - 3 files changed, 63 insertions(+), 24 deletions(-)
627 -
628 -diff --git a/CMakeLists.txt b/CMakeLists.txt
629 -index 950070d..98886b0 100644
630 ---- a/CMakeLists.txt
631 -+++ b/CMakeLists.txt
632 -@@ -52,6 +52,7 @@ MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
633 - # Basic options ---------------------------------------------------------------
634 - option(LIBCXX_ENABLE_ASSERTIONS "Enable assertions independent of build mode." ON)
635 - option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON)
636 -+option(LIBCXX_ENABLE_STATIC "Build libc++ as a static library." ON)
637 - option(LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY "Build libc++experimental.a" ON)
638 - option(LIBCXX_ENABLE_FILESYSTEM
639 - "Build filesystem as part of libc++experimental.a" ${LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY})
640 -@@ -68,6 +69,10 @@ option(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY "Install libc++experimental.a" OFF)
641 - set(LIBCXX_ABI_VERSION 1 CACHE STRING "ABI version of libc++.")
642 - option(LIBCXX_ABI_UNSTABLE "Unstable ABI of libc++." OFF)
643 -
644 -+if (NOT LIBCXX_ENABLE_SHARED AND NOT LIBCXX_ENABLE_STATIC)
645 -+ message(FATAL_ERROR "libc++ must be built as either a shared or static library.")
646 -+endif()
647 -+
648 - # ABI Library options ---------------------------------------------------------
649 - set(LIBCXX_CXX_ABI "${LIBCXX_CXX_ABI}" CACHE STRING
650 - "Specify C++ ABI library to use." FORCE)
651 -diff --git a/docs/BuildingLibcxx.rst b/docs/BuildingLibcxx.rst
652 -index 5dd174a..6709352 100644
653 ---- a/docs/BuildingLibcxx.rst
654 -+++ b/docs/BuildingLibcxx.rst
655 -@@ -150,8 +150,15 @@ libc++ specific options
656 -
657 - **Default**: ``ON``
658 -
659 -- Build libc++ as a shared library. If ``OFF`` is specified then libc++ is
660 -- built as a static library.
661 -+ Build libc++ as a shared library. Either :option:`LIBCXX_ENABLE_SHARED` or
662 -+ :option:`LIBCXX_ENABLE_STATIC` has to be enabled.
663 -+
664 -+.. option:: LIBCXX_ENABLE_STATIC:BOOL
665 -+
666 -+ **Default**: ``ON``
667 -+
668 -+ Build libc++ as a static library. Either :option:`LIBCXX_ENABLE_SHARED` or
669 -+ :option:`LIBCXX_ENABLE_STATIC` has to be enabled.
670 -
671 - .. option:: LIBCXX_LIBDIR_SUFFIX:STRING
672 -
673 -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
674 -index afc388e..cabf2e6 100644
675 ---- a/lib/CMakeLists.txt
676 -+++ b/lib/CMakeLists.txt
677 -@@ -28,16 +28,6 @@ if(NOT LIBCXX_INSTALL_LIBRARY)
678 - set(exclude_from_all EXCLUDE_FROM_ALL)
679 - endif()
680 -
681 --if (LIBCXX_ENABLE_SHARED)
682 -- add_library(cxx SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
683 --else()
684 -- add_library(cxx STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
685 --endif()
686 --
687 --if (DEFINED LIBCXX_CXX_ABI_DEPS)
688 -- add_dependencies(cxx LIBCXX_CXX_ABI_DEPS)
689 --endif()
690 --
691 - #if LIBCXX_CXX_ABI_LIBRARY_PATH is defined we want to add it to the search path.
692 - add_link_flags_if(LIBCXX_CXX_ABI_LIBRARY_PATH "-L${LIBCXX_CXX_ABI_LIBRARY_PATH}")
693 -
694 -@@ -139,18 +129,51 @@ if ( APPLE AND (LIBCXX_CXX_ABI_LIBNAME STREQUAL "libcxxabi" OR
695 - endif()
696 - endif()
697 -
698 --target_link_libraries(cxx ${LIBCXX_LIBRARIES})
699 - split_list(LIBCXX_COMPILE_FLAGS)
700 - split_list(LIBCXX_LINK_FLAGS)
701 -
702 --set_target_properties(cxx
703 -+# Add a object library that contains the compiled source files.
704 -+add_library(cxx_objects OBJECT ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
705 -+
706 -+set_target_properties(cxx_objects
707 - PROPERTIES
708 - COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
709 -- LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
710 -- OUTPUT_NAME "c++"
711 -- VERSION "${LIBCXX_ABI_VERSION}.0"
712 -- SOVERSION "${LIBCXX_ABI_VERSION}"
713 -+)
714 -+
715 -+set(LIBCXX_TARGETS)
716 -+
717 -+# Build the shared library.
718 -+if (LIBCXX_ENABLE_SHARED)
719 -+ add_library(cxx_shared SHARED $<TARGET_OBJECTS:cxx_objects>)
720 -+ target_link_libraries(cxx_shared ${LIBCXX_LIBRARIES})
721 -+ set_target_properties(cxx_shared
722 -+ PROPERTIES
723 -+ LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
724 -+ OUTPUT_NAME "c++"
725 -+ VERSION "${LIBCXX_ABI_VERSION}.0"
726 -+ SOVERSION "${LIBCXX_ABI_VERSION}"
727 - )
728 -+ list(APPEND LIBCXX_TARGETS "cxx_shared")
729 -+endif()
730 -+
731 -+# Build the static library.
732 -+if (LIBCXX_ENABLE_STATIC)
733 -+ add_library(cxx_static STATIC $<TARGET_OBJECTS:cxx_objects>)
734 -+ target_link_libraries(cxx_static ${LIBCXX_LIBRARIES})
735 -+ set_target_properties(cxx_static
736 -+ PROPERTIES
737 -+ LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
738 -+ OUTPUT_NAME "c++"
739 -+ )
740 -+ list(APPEND LIBCXX_TARGETS "cxx_static")
741 -+endif()
742 -+
743 -+# Add a meta-target for both libraries.
744 -+add_custom_target(cxx DEPENDS ${LIBCXX_TARGETS})
745 -+
746 -+if (DEFINED LIBCXX_CXX_ABI_DEPS)
747 -+ add_dependencies(cxx LIBCXX_CXX_ABI_DEPS)
748 -+endif()
749 -
750 - if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY)
751 - file(GLOB LIBCXX_EXPERIMENTAL_SOURCES ../src/experimental/*.cpp)
752 -@@ -158,7 +181,11 @@ if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY)
753 - file(GLOB LIBCXX_FILESYSTEM_SOURCES ../src/experimental/filesystem/*.cpp)
754 - endif()
755 - add_library(cxx_experimental STATIC ${LIBCXX_EXPERIMENTAL_SOURCES} ${LIBCXX_FILESYSTEM_SOURCES})
756 -- target_link_libraries(cxx_experimental cxx)
757 -+ if (LIBCXX_ENABLE_SHARED)
758 -+ target_link_libraries(cxx_experimental cxx_shared)
759 -+ else()
760 -+ target_link_libraries(cxx_experimental cxx_static)
761 -+ endif()
762 -
763 - set(experimental_flags "${LIBCXX_COMPILE_FLAGS}")
764 - check_flag_supported(-std=c++14)
765 -@@ -174,7 +201,7 @@ endif()
766 -
767 - # Generate a linker script inplace of a libc++.so symlink. Rerun this command
768 - # after cxx builds.
769 --if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
770 -+if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
771 - # Get the name of the ABI library and handle the case where CXXABI_LIBNAME
772 - # is a target name and not a library. Ex cxxabi_shared.
773 - set(SCRIPT_ABI_LIBNAME "${LIBCXX_CXX_ABI_LIBRARY}")
774 -@@ -183,11 +210,11 @@ if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
775 - endif()
776 - # Generate a linker script inplace of a libc++.so symlink. Rerun this command
777 - # after cxx builds.
778 -- add_custom_command(TARGET cxx POST_BUILD
779 -+ add_custom_command(TARGET cxx_shared POST_BUILD
780 - COMMAND
781 - ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/gen_link_script/gen_link_script.py
782 - ARGS
783 -- "$<TARGET_LINKER_FILE:cxx>"
784 -+ "$<TARGET_LINKER_FILE:cxx_shared>"
785 - "${SCRIPT_ABI_LIBNAME}"
786 - WORKING_DIRECTORY ${LIBCXX_BUILD_DIR}
787 - )
788 -@@ -197,13 +224,13 @@ if (LIBCXX_INSTALL_LIBRARY)
789 - if (LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
790 - set(experimental_lib cxx_experimental)
791 - endif()
792 -- install(TARGETS cxx ${experimental_lib}
793 -+ install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib}
794 - LIBRARY DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
795 - ARCHIVE DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
796 - )
797 - # NOTE: This install command must go after the cxx install command otherwise
798 - # it will not be executed after the library symlinks are installed.
799 -- if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
800 -+ if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
801 - # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
802 - # after we required CMake 3.0.
803 - install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
804 ---
805 -2.4.10
806 -
807
808 diff --git a/sys-libs/libcxx/libcxx-3.5.1.ebuild b/sys-libs/libcxx/libcxx-3.5.1.ebuild
809 deleted file mode 100644
810 index 2ad15f10d6..0000000000
811 --- a/sys-libs/libcxx/libcxx-3.5.1.ebuild
812 +++ /dev/null
813 @@ -1,241 +0,0 @@
814 -# Copyright 1999-2018 Gentoo Foundation
815 -# Distributed under the terms of the GNU General Public License v2
816 -
817 -EAPI=6
818 -
819 -ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
820 -
821 -[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
822 -
823 -inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal epatch
824 -
825 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
826 -HOMEPAGE="http://libcxx.llvm.org/"
827 -if [ "${PV%9999}" = "${PV}" ] ; then
828 - SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
829 - S="${WORKDIR}"/"${P}".src
830 -else
831 - SRC_URI=""
832 -fi
833 -
834 -LICENSE="|| ( UoI-NCSA MIT )"
835 -SLOT="0"
836 -KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
837 -IUSE="elibc_glibc +libcxxrt static-libs test"
838 -
839 -REQUIRED_USE="kernel_Darwin? ( libcxxrt !static-libs )"
840 -RDEPEND="
841 - !kernel_Darwin? (
842 - libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
843 - !libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )
844 - )
845 - kernel_Darwin? (
846 - =sys-libs/libcxx-headers-${PV}
847 - =sys-libs/libcxxabi-${PV}
848 - sys-devel/clang
849 - )"
850 -DEPEND="${RDEPEND}
851 - test? ( sys-devel/clang )
852 - app-arch/xz-utils"
853 -
854 -DOCS=( CREDITS.TXT )
855 -
856 -pkg_setup() {
857 - if [[ ${CHOST} == *darwin* ]] ; then
858 - MY_CC=$(tc-getCC)
859 - MY_CXX=$(tc-getCXX)
860 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
861 - eerror "${PN} needs to be built with clang++. Please do not override"
862 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
863 - eerror "or point them at clang and clang++ respectively."
864 - die
865 - fi
866 - return
867 - fi
868 - if ! use libcxxrt ; then
869 - ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
870 - ewarn "libsupc++. Please note that this is not well supported."
871 - ewarn "In particular, static linking will not work."
872 - fi
873 - if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
874 - eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
875 - eerror "Please use gcc-config to switch to gcc-4.7 or later version."
876 - die
877 - fi
878 -}
879 -
880 -src_prepare() {
881 - cp -f "${FILESDIR}/Makefile" lib/ || die
882 -
883 - if [[ ${CHOST} == *darwin* ]] ; then
884 - epatch "${FILESDIR}"/${PN}-3.5.1-olddarwin.patch
885 -
886 - [[ "${CHOST##*-darwin}" -le 10 ]] && \
887 - epatch "${FILESDIR}"/${PN}-3.5.1-cmath-conv.patch
888 -
889 - # libc++abi needs stack unwinding functions provided by libSystem on
890 - # Mac OS X >= 10.6. On < 10.6 they're in libgcc_s. So force link
891 - # against that. Additionally, the crt1.o provided by our gcc-apple
892 - # toolchain isn't universal. Since that's needed for linking any
893 - # program on OS X < 10.7, universal support is effectively broken on
894 - # those older OS Xes even if clang and libc++{,abi} were to support it.
895 - # So we can just disable universal compilation.
896 - gcc_s=gcc_s.1
897 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
898 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
899 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
900 - sed -i -e "s,/usr/lib/libSystem.B.dylib,-lSystem -l${gcc_s},g" \
901 - -e "s,-arch i386 -arch x86_64,,g" \
902 - lib/buildit
903 -
904 - if [[ "${CHOST##*-darwin}" -le 8 ]] ; then
905 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
906 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
907 - fi
908 -
909 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
910 - sed -i -e '/RC_CFLAGS=""/s/""/"-fPIC"/' lib/buildit || die
911 - fi
912 -
913 - # fix library install names
914 - sed -i \
915 - -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
916 - -e "s,/usr/lib/libc++\.1\.dylib,${EPREFIX}/usr/lib/libc++.1.dylib,g" \
917 - lib/buildit
918 - fi
919 -
920 - eapply_user
921 -
922 - multilib_copy_sources
923 -}
924 -
925 -src_configure() {
926 - tc-export AR CC CXX
927 -
928 - # on Darwin we're all set
929 - [[ ${CHOST} == *darwin* ]] && return
930 -
931 - export LIBS="-lpthread -lrt -lc -lgcc_s"
932 - if use libcxxrt ; then
933 - append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
934 - LIBS="-lcxxrt ${LIBS}"
935 - cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
936 - else
937 - # Very hackish, see $HOMEPAGE
938 - # If someone has a clever idea, please share it!
939 - local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
940 - local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
941 - append-cppflags -D__GLIBCXX__ ${includes}
942 - LIBS="-lsupc++ ${LIBS}"
943 - local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
944 - for i in ${libsupcxx_includes} ; do
945 - local found=""
946 - [ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
947 - for j in ${libcxx_gcc_dirs} ; do
948 - if [ -f "${j}/${i}" ] ; then
949 - cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
950 - found=yes
951 - fi
952 - done
953 - [ -n "${found}" ] || die "Header not found: ${i}"
954 - done
955 - fi
956 -
957 - append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
958 -}
959 -
960 -multilib_src_compile() {
961 - cd "${BUILD_DIR}/lib" || die
962 - if [[ ${CHOST} == *darwin* ]] ; then
963 - TRIPLE=-apple- ./buildit || die
964 - return
965 - fi
966 -
967 - emake shared
968 - use static-libs && emake static
969 -}
970 -
971 -# Tests fail for now, if anybody is able to fix them, help is very welcome.
972 -multilib_src_test() {
973 - cd "${BUILD_DIR}/test"
974 - LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
975 - CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
976 - HEADER_INCLUDE="-I${BUILD_DIR}/include" \
977 - SOURCE_LIB="-L${BUILD_DIR}/lib" \
978 - LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
979 - ./testit || die
980 - # TODO: fix link against libsupc++
981 -}
982 -
983 -# Usage: deps
984 -gen_ldscript() {
985 - local output_format
986 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
987 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
988 -
989 - cat <<-END_LDSCRIPT
990 -/* GNU ld script
991 - Include missing dependencies
992 -*/
993 -${output_format}
994 -GROUP ( $@ )
995 -END_LDSCRIPT
996 -}
997 -
998 -gen_static_ldscript() {
999 - if use libcxxrt ; then
1000 - # Move it first.
1001 - mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
1002 -
1003 - # Generate libc++.a ldscript for inclusion of its dependencies so that
1004 - # clang++ -stdlib=libc++ -static works out of the box.
1005 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
1006 - # On Linux/glibc it does not link without libpthread or libdl. It is
1007 - # fine on FreeBSD.
1008 - use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
1009 -
1010 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
1011 - fi
1012 - # TODO: Generate a libc++.a ldscript when building against libsupc++
1013 -}
1014 -
1015 -gen_shared_ldscript() {
1016 - if use libcxxrt ; then
1017 - mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
1018 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
1019 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
1020 - fi
1021 - # TODO: Generate the linker script for other confiurations too.
1022 -}
1023 -
1024 -multilib_src_install() {
1025 - cd "${BUILD_DIR}/lib"
1026 - if [[ ${CHOST} == *darwin* ]] ; then
1027 - dolib.so libc++*dylib
1028 - return
1029 - fi
1030 -
1031 - if use static-libs ; then
1032 - dolib.a libc++.a
1033 - gen_static_ldscript
1034 - fi
1035 - dolib.so libc++.so*
1036 - gen_shared_ldscript
1037 -}
1038 -
1039 -multilib_src_install_all() {
1040 - einstalldocs
1041 - # libc++abi needs the libc++ headers and we need libc++abi so the headers
1042 - # are already installed
1043 - [[ ${CHOST} == *darwin* ]] && return
1044 - insinto /usr/include/c++/v1
1045 - doins -r include/*
1046 -}
1047 -
1048 -pkg_postinst() {
1049 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
1050 - elog "standard library when using clang."
1051 - elog "To use it, instead of libstdc++, use:"
1052 - elog " clang++ -stdlib=libc++"
1053 - elog "to compile your C++ programs."
1054 -}
1055
1056 diff --git a/sys-libs/libcxx/libcxx-3.7.1.ebuild b/sys-libs/libcxx/libcxx-3.7.1.ebuild
1057 deleted file mode 100644
1058 index a12d949398..0000000000
1059 --- a/sys-libs/libcxx/libcxx-3.7.1.ebuild
1060 +++ /dev/null
1061 @@ -1,241 +0,0 @@
1062 -# Copyright 1999-2018 Gentoo Foundation
1063 -# Distributed under the terms of the GNU General Public License v2
1064 -
1065 -EAPI=6
1066 -
1067 -ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
1068 -
1069 -[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
1070 -
1071 -inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal epatch
1072 -
1073 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
1074 -HOMEPAGE="http://libcxx.llvm.org/"
1075 -if [ "${PV%9999}" = "${PV}" ] ; then
1076 - SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
1077 - S="${WORKDIR}/${P}.src"
1078 -else
1079 - SRC_URI=""
1080 -fi
1081 -
1082 -LICENSE="|| ( UoI-NCSA MIT )"
1083 -SLOT="0"
1084 -if [ "${PV%9999}" = "${PV}" ] ; then
1085 - KEYWORDS="~x64-macos ~x86-macos"
1086 -else
1087 - KEYWORDS=""
1088 -fi
1089 -IUSE="elibc_glibc +libcxxrt static-libs test"
1090 -
1091 -REQUIRED_USE="kernel_Darwin? ( libcxxrt !static-libs )"
1092 -RDEPEND="
1093 - !kernel_Darwin? (
1094 - libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
1095 - !libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )
1096 - )
1097 - kernel_Darwin? (
1098 - =sys-libs/libcxx-headers-${PV}
1099 - =sys-libs/libcxxabi-${PV}
1100 - sys-devel/clang
1101 - )"
1102 -DEPEND="${RDEPEND}
1103 - test? ( sys-devel/clang )
1104 - app-arch/xz-utils"
1105 -
1106 -DOCS=( CREDITS.TXT )
1107 -
1108 -pkg_setup() {
1109 - if [[ ${CHOST} == *darwin* ]] ; then
1110 - MY_CC=$(tc-getCC)
1111 - MY_CXX=$(tc-getCXX)
1112 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
1113 - eerror "${PN} needs to be built with clang++. Please do not override"
1114 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
1115 - eerror "or point them at clang and clang++ respectively."
1116 - die
1117 - fi
1118 - return
1119 - fi
1120 - if ! use libcxxrt ; then
1121 - ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
1122 - ewarn "libsupc++. Please note that this is not well supported."
1123 - ewarn "In particular, static linking will not work."
1124 - fi
1125 - if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
1126 - eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
1127 - eerror "Please use gcc-config to switch to gcc-4.7 or later version."
1128 - die
1129 - fi
1130 -}
1131 -
1132 -src_prepare() {
1133 - cp -f "${FILESDIR}/Makefile" lib/ || die
1134 -
1135 - if [[ ${CHOST} == *darwin* ]] ; then
1136 - epatch "${FILESDIR}"/${PN}-3.5.1-olddarwin.patch
1137 -
1138 - [[ "${CHOST##*-darwin}" -le 10 ]] && \
1139 - epatch "${FILESDIR}"/${PN}-3.5.1-cmath-conv.patch
1140 -
1141 - # libc++abi needs stack unwinding functions provided by libSystem on
1142 - # Mac OS X >= 10.6. On < 10.6 they're in libgcc_s. So force link
1143 - # against that. Additionally, the crt1.o provided by our gcc-apple
1144 - # toolchain isn't universal. Since that's needed for linking any
1145 - # program on OS X < 10.7, universal support is effectively broken on
1146 - # those older OS Xes even if clang and libc++{,abi} were to support it.
1147 - # So we can just disable universal compilation.
1148 - gcc_s=gcc_s.1
1149 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
1150 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
1151 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
1152 - sed -i -e "s,/usr/lib/libSystem.B.dylib,-lSystem -l${gcc_s},g" \
1153 - -e "s,-arch i386 -arch x86_64,,g" \
1154 - lib/buildit
1155 -
1156 - if [[ "${CHOST##*-darwin}" -le 8 ]] ; then
1157 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
1158 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
1159 - fi
1160 -
1161 - # fix library install names
1162 - sed -i \
1163 - -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
1164 - -e "s,/usr/lib/libc++\.1\.dylib,${EPREFIX}/usr/lib/libc++.1.dylib,g" \
1165 - lib/buildit
1166 - fi
1167 -
1168 - eapply_user
1169 -
1170 - multilib_copy_sources
1171 -}
1172 -
1173 -src_configure() {
1174 - tc-export AR CC CXX
1175 -
1176 - # on Darwin we're all set
1177 - [[ ${CHOST} == *darwin* ]] && return
1178 -
1179 - export LIBS="-lpthread -lrt -lc -lgcc_s"
1180 - if use libcxxrt ; then
1181 - append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
1182 - LIBS="-lcxxrt ${LIBS}"
1183 - cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
1184 - else
1185 - # Very hackish, see $HOMEPAGE
1186 - # If someone has a clever idea, please share it!
1187 - local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
1188 - local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
1189 - append-cppflags -D__GLIBCXX__ ${includes}
1190 - LIBS="-lsupc++ ${LIBS}"
1191 - local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
1192 - for i in ${libsupcxx_includes} ; do
1193 - local found=""
1194 - [ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
1195 - for j in ${libcxx_gcc_dirs} ; do
1196 - if [ -f "${j}/${i}" ] ; then
1197 - cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
1198 - found=yes
1199 - fi
1200 - done
1201 - [ -n "${found}" ] || die "Header not found: ${i}"
1202 - done
1203 - fi
1204 -
1205 - append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
1206 -}
1207 -
1208 -multilib_src_compile() {
1209 - cd "${BUILD_DIR}/lib" || die
1210 - if [[ ${CHOST} == *darwin* ]] ; then
1211 - TRIPLE=-apple- ./buildit || die
1212 - return
1213 - fi
1214 -
1215 - emake shared
1216 - use static-libs && emake static
1217 -}
1218 -
1219 -# Tests fail for now, if anybody is able to fix them, help is very welcome.
1220 -multilib_src_test() {
1221 - cd "${BUILD_DIR}/test"
1222 - LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
1223 - CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
1224 - HEADER_INCLUDE="-I${BUILD_DIR}/include" \
1225 - SOURCE_LIB="-L${BUILD_DIR}/lib" \
1226 - LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
1227 - ./testit || die
1228 - # TODO: fix link against libsupc++
1229 -}
1230 -
1231 -# Usage: deps
1232 -gen_ldscript() {
1233 - local output_format
1234 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
1235 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
1236 -
1237 - cat <<-END_LDSCRIPT
1238 -/* GNU ld script
1239 - Include missing dependencies
1240 -*/
1241 -${output_format}
1242 -GROUP ( $@ )
1243 -END_LDSCRIPT
1244 -}
1245 -
1246 -gen_static_ldscript() {
1247 - if use libcxxrt ; then
1248 - # Move it first.
1249 - mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
1250 -
1251 - # Generate libc++.a ldscript for inclusion of its dependencies so that
1252 - # clang++ -stdlib=libc++ -static works out of the box.
1253 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
1254 - # On Linux/glibc it does not link without libpthread or libdl. It is
1255 - # fine on FreeBSD.
1256 - use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
1257 -
1258 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
1259 - fi
1260 - # TODO: Generate a libc++.a ldscript when building against libsupc++
1261 -}
1262 -
1263 -gen_shared_ldscript() {
1264 - if use libcxxrt ; then
1265 - mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
1266 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
1267 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
1268 - fi
1269 - # TODO: Generate the linker script for other confiurations too.
1270 -}
1271 -
1272 -multilib_src_install() {
1273 - cd "${BUILD_DIR}/lib"
1274 - if [[ ${CHOST} == *darwin* ]] ; then
1275 - dolib.so libc++*dylib
1276 - return
1277 - fi
1278 -
1279 - if use static-libs ; then
1280 - dolib.a libc++.a
1281 - gen_static_ldscript
1282 - fi
1283 - dolib.so libc++.so*
1284 - gen_shared_ldscript
1285 -}
1286 -
1287 -multilib_src_install_all() {
1288 - einstalldocs
1289 - # libc++abi needs the libc++ headers and we need libc++abi so the headers
1290 - # are already installed
1291 - [[ ${CHOST} == *darwin* ]] && return
1292 - insinto /usr/include/c++/v1
1293 - doins -r include/*
1294 -}
1295 -
1296 -pkg_postinst() {
1297 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
1298 - elog "standard library when using clang."
1299 - elog "To use it, instead of libstdc++, use:"
1300 - elog " clang++ -stdlib=libc++"
1301 - elog "to compile your C++ programs."
1302 -}
1303
1304 diff --git a/sys-libs/libcxx/libcxx-3.8.1.ebuild b/sys-libs/libcxx/libcxx-3.8.1.ebuild
1305 deleted file mode 100644
1306 index f8f1518a6f..0000000000
1307 --- a/sys-libs/libcxx/libcxx-3.8.1.ebuild
1308 +++ /dev/null
1309 @@ -1,242 +0,0 @@
1310 -# Copyright 1999-2018 Gentoo Foundation
1311 -# Distributed under the terms of the GNU General Public License v2
1312 -
1313 -EAPI=6
1314 -
1315 -ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
1316 -
1317 -[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
1318 -
1319 -inherit ${SCM} flag-o-matic toolchain-funcs multilib multilib-minimal epatch
1320 -
1321 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
1322 -HOMEPAGE="http://libcxx.llvm.org/"
1323 -if [ "${PV%9999}" = "${PV}" ] ; then
1324 - SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
1325 - S="${WORKDIR}/${P}.src"
1326 -else
1327 - SRC_URI=""
1328 -fi
1329 -
1330 -LICENSE="|| ( UoI-NCSA MIT )"
1331 -SLOT="0"
1332 -if [ "${PV%9999}" = "${PV}" ] ; then
1333 - KEYWORDS="~x64-macos ~x86-macos"
1334 -else
1335 - KEYWORDS=""
1336 -fi
1337 -IUSE="elibc_glibc +libcxxrt static-libs test"
1338 -
1339 -REQUIRED_USE="kernel_Darwin? ( libcxxrt !static-libs )"
1340 -RDEPEND="
1341 - !kernel_Darwin? (
1342 - libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130725[static-libs?,${MULTILIB_USEDEP}] )
1343 - !libcxxrt? ( >=sys-devel/gcc-4.7[cxx] )
1344 - )
1345 - kernel_Darwin? (
1346 - =sys-libs/libcxx-headers-${PV}
1347 - =sys-libs/libcxxabi-${PV}
1348 - sys-devel/clang
1349 - )"
1350 -DEPEND="${RDEPEND}
1351 - test? ( sys-devel/clang )
1352 - app-arch/xz-utils"
1353 -
1354 -DOCS=( CREDITS.TXT )
1355 -
1356 -pkg_setup() {
1357 - if [[ ${CHOST} == *darwin* ]] ; then
1358 - MY_CC=$(tc-getCC)
1359 - MY_CXX=$(tc-getCXX)
1360 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
1361 - eerror "${PN} needs to be built with clang++. Please do not override"
1362 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
1363 - eerror "or point them at clang and clang++ respectively."
1364 - die
1365 - fi
1366 - return
1367 - fi
1368 - if ! use libcxxrt ; then
1369 - ewarn "You have disabled USE=libcxxrt. This will build ${PN} against"
1370 - ewarn "libsupc++. Please note that this is not well supported."
1371 - ewarn "In particular, static linking will not work."
1372 - fi
1373 - if [[ $(gcc-version) < 4.7 ]] && [[ $(tc-getCXX) != *clang++* ]] ; then
1374 - eerror "${PN} needs to be built with clang++ or gcc-4.7 or later."
1375 - eerror "Please use gcc-config to switch to gcc-4.7 or later version."
1376 - die
1377 - fi
1378 -}
1379 -
1380 -src_prepare() {
1381 - cp -f "${FILESDIR}/Makefile" lib/ || die
1382 -
1383 - if [[ ${CHOST} == *darwin* ]] ; then
1384 - epatch "${FILESDIR}"/${PN}-3.5.1-olddarwin.patch
1385 -
1386 - # libc++abi needs stack unwinding functions provided by libSystem on
1387 - # Mac OS X >= 10.6. On < 10.6 they're in libgcc_s. So force link
1388 - # against that. Additionally, the crt1.o provided by our gcc-apple
1389 - # toolchain isn't universal. Since that's needed for linking any
1390 - # program on OS X < 10.7, universal support is effectively broken on
1391 - # those older OS Xes even if clang and libc++{,abi} were to support it.
1392 - # So we can just disable universal compilation.
1393 - gcc_s=gcc_s.1
1394 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
1395 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
1396 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
1397 - sed -i -e "s,/usr/lib/libSystem.B.dylib,-lSystem -l${gcc_s},g" \
1398 - -e "s,-arch i386 -arch x86_64,,g" \
1399 - lib/buildit
1400 -
1401 - if [[ "${CHOST##*-darwin}" -le 8 ]] ; then
1402 - epatch "${FILESDIR}"/${PN}-3.5.1-availability.patch
1403 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
1404 - fi
1405 -
1406 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
1407 - sed -i -e '/RC_CFLAGS=""/s/""/"-fPIC"/' lib/buildit || die
1408 - fi
1409 -
1410 - # fix library install names
1411 - sed -i \
1412 - -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
1413 - -e "s,/usr/lib/libc++\.1\.dylib,${EPREFIX}/usr/lib/libc++.1.dylib,g" \
1414 - lib/buildit
1415 - fi
1416 -
1417 - eapply_user
1418 -
1419 - multilib_copy_sources
1420 -}
1421 -
1422 -src_configure() {
1423 - tc-export AR CC CXX
1424 -
1425 - # on Darwin we're all set
1426 - [[ ${CHOST} == *darwin* ]] && return
1427 -
1428 - export LIBS="-lpthread -lrt -lc -lgcc_s"
1429 - if use libcxxrt ; then
1430 - append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
1431 - LIBS="-lcxxrt ${LIBS}"
1432 - cp "${EPREFIX}/usr/include/libcxxrt/"*.h "${S}/include"
1433 - else
1434 - # Very hackish, see $HOMEPAGE
1435 - # If someone has a clever idea, please share it!
1436 - local includes="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
1437 - local libcxx_gcc_dirs="$(echo | ${CHOST}-g++ -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ' ')"
1438 - append-cppflags -D__GLIBCXX__ ${includes}
1439 - LIBS="-lsupc++ ${LIBS}"
1440 - local libsupcxx_includes="cxxabi.h bits/c++config.h bits/os_defines.h bits/cpu_defines.h bits/cxxabi_tweaks.h bits/cxxabi_forced.h"
1441 - for i in ${libsupcxx_includes} ; do
1442 - local found=""
1443 - [ -d "${S}/include/$(dirname ${i})/" ] || mkdir -p "${S}/include/$(dirname ${i})"
1444 - for j in ${libcxx_gcc_dirs} ; do
1445 - if [ -f "${j}/${i}" ] ; then
1446 - cp "${j}/${i}" "${S}/include/$(dirname ${i})/" || die
1447 - found=yes
1448 - fi
1449 - done
1450 - [ -n "${found}" ] || die "Header not found: ${i}"
1451 - done
1452 - fi
1453 -
1454 - append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
1455 -}
1456 -
1457 -multilib_src_compile() {
1458 - cd "${BUILD_DIR}/lib" || die
1459 - if [[ ${CHOST} == *darwin* ]] ; then
1460 - TRIPLE=-apple- ./buildit || die
1461 - return
1462 - fi
1463 -
1464 - emake shared
1465 - use static-libs && emake static
1466 -}
1467 -
1468 -# Tests fail for now, if anybody is able to fix them, help is very welcome.
1469 -multilib_src_test() {
1470 - cd "${BUILD_DIR}/test"
1471 - LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" \
1472 - CC="clang++ $(get_abi_CFLAGS) ${CXXFLAGS}" \
1473 - HEADER_INCLUDE="-I${BUILD_DIR}/include" \
1474 - SOURCE_LIB="-L${BUILD_DIR}/lib" \
1475 - LIBS="-lm $(usex libcxxrt -lcxxrt "")" \
1476 - ./testit || die
1477 - # TODO: fix link against libsupc++
1478 -}
1479 -
1480 -# Usage: deps
1481 -gen_ldscript() {
1482 - local output_format
1483 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
1484 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
1485 -
1486 - cat <<-END_LDSCRIPT
1487 -/* GNU ld script
1488 - Include missing dependencies
1489 -*/
1490 -${output_format}
1491 -GROUP ( $@ )
1492 -END_LDSCRIPT
1493 -}
1494 -
1495 -gen_static_ldscript() {
1496 - if use libcxxrt ; then
1497 - # Move it first.
1498 - mv "${ED}/usr/$(get_libdir)/libc++.a" "${ED}/usr/$(get_libdir)/libc++_static.a" || die
1499 -
1500 - # Generate libc++.a ldscript for inclusion of its dependencies so that
1501 - # clang++ -stdlib=libc++ -static works out of the box.
1502 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_static.a ${EPREFIX}/usr/$(get_libdir)/libcxxrt.a"
1503 - # On Linux/glibc it does not link without libpthread or libdl. It is
1504 - # fine on FreeBSD.
1505 - use elibc_glibc && deps="${deps} ${EPREFIX}/usr/$(get_libdir)/libpthread.a ${EPREFIX}/usr/$(get_libdir)/libdl.a"
1506 -
1507 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.a"
1508 - fi
1509 - # TODO: Generate a libc++.a ldscript when building against libsupc++
1510 -}
1511 -
1512 -gen_shared_ldscript() {
1513 - if use libcxxrt ; then
1514 - mv "${ED}/usr/$(get_libdir)/libc++.so" "${ED}/usr/$(get_libdir)/libc++_shared.so" || die
1515 - local deps="${EPREFIX}/usr/$(get_libdir)/libc++_shared.so ${EPREFIX}/usr/$(get_libdir)/libcxxrt.so"
1516 - gen_ldscript "${deps}" > "${ED}/usr/$(get_libdir)/libc++.so"
1517 - fi
1518 - # TODO: Generate the linker script for other confiurations too.
1519 -}
1520 -
1521 -multilib_src_install() {
1522 - cd "${BUILD_DIR}/lib"
1523 - if [[ ${CHOST} == *darwin* ]] ; then
1524 - dolib.so libc++*dylib
1525 - return
1526 - fi
1527 -
1528 - if use static-libs ; then
1529 - dolib.a libc++.a
1530 - gen_static_ldscript
1531 - fi
1532 - dolib.so libc++.so*
1533 - gen_shared_ldscript
1534 -}
1535 -
1536 -multilib_src_install_all() {
1537 - einstalldocs
1538 - # libc++abi needs the libc++ headers and we need libc++abi so the headers
1539 - # are already installed
1540 - [[ ${CHOST} == *darwin* ]] && return
1541 - insinto /usr/include/c++/v1
1542 - doins -r include/*
1543 -}
1544 -
1545 -pkg_postinst() {
1546 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
1547 - elog "standard library when using clang."
1548 - elog "To use it, instead of libstdc++, use:"
1549 - elog " clang++ -stdlib=libc++"
1550 - elog "to compile your C++ programs."
1551 -}
1552
1553 diff --git a/sys-libs/libcxx/libcxx-3.9.1.ebuild b/sys-libs/libcxx/libcxx-3.9.1.ebuild
1554 deleted file mode 100644
1555 index 9bc41644b0..0000000000
1556 --- a/sys-libs/libcxx/libcxx-3.9.1.ebuild
1557 +++ /dev/null
1558 @@ -1,233 +0,0 @@
1559 -# Copyright 1999-2018 Gentoo Foundation
1560 -# Distributed under the terms of the GNU General Public License v2
1561 -
1562 -EAPI=6
1563 -
1564 -# Ninja provides better scalability and cleaner verbose output, and is used
1565 -# throughout all LLVM projects.
1566 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
1567 -EGIT_REPO_URI="http://llvm.org/git/libcxx.git
1568 - https://github.com/llvm-mirror/libcxx.git"
1569 -PYTHON_COMPAT=( python2_7 )
1570 -
1571 -[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
1572 -
1573 -inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs flag-o-matic
1574 -
1575 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
1576 -HOMEPAGE="http://libcxx.llvm.org/"
1577 -if [[ ${PV} != 9999 ]] ; then
1578 - SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
1579 - S="${WORKDIR}/${P}.src"
1580 -else
1581 - SRC_URI=""
1582 -fi
1583 -
1584 -LICENSE="|| ( UoI-NCSA MIT )"
1585 -SLOT="0"
1586 -if [[ ${PV} != 9999 ]] ; then
1587 - KEYWORDS="~x64-macos ~x86-macos"
1588 -else
1589 - KEYWORDS=""
1590 -fi
1591 -IUSE="elibc_Darwin elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
1592 -REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
1593 - elibc_Darwin? ( libcxxabi )
1594 - ?? ( libcxxabi libcxxrt )"
1595 -
1596 -RDEPEND="
1597 - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
1598 - !elibc_Darwin? (
1599 - libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
1600 - !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )
1601 - )
1602 - elibc_Darwin? ( !sys-libs/libcxx-headers )"
1603 -# llvm-3.9.0 needed because its cmake files installation path changed, which is
1604 -# needed by libcxx
1605 -# clang-3.9.0 installs necessary target symlinks unconditionally
1606 -# which removes the need for MULTILIB_USEDEP
1607 -DEPEND="${RDEPEND}
1608 - test? ( >=sys-devel/clang-3.9.0
1609 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
1610 - app-arch/xz-utils
1611 - >=sys-devel/llvm-3.9.0"
1612 -
1613 -DOCS=( CREDITS.TXT )
1614 -
1615 -PATCHES=(
1616 - # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
1617 - # out-of-tree build.
1618 - "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
1619 -
1620 - # Back-port of https://reviews.llvm.org/D23232, allowing building both
1621 - # shared and static libs in one run.
1622 - "${FILESDIR}/${PN}-3.9-cmake-static-lib.patch"
1623 -)
1624 -
1625 -python_check_deps() {
1626 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
1627 -}
1628 -
1629 -pkg_setup() {
1630 - use test && python-any-r1_pkg_setup
1631 -
1632 - if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
1633 - eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
1634 - eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
1635 - eerror "and try again."
1636 - die
1637 - fi
1638 - if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
1639 - eerror "${PN} needs to be built with gcc-4.7 or later (or other"
1640 - eerror "conformant compilers). Please use gcc-config to switch to"
1641 - eerror "gcc-4.7 or later version."
1642 - die
1643 - fi
1644 -}
1645 -
1646 -src_configure() {
1647 - NATIVE_LIBDIR=$(get_libdir)
1648 - cmake-multilib_src_configure
1649 -}
1650 -
1651 -multilib_src_configure() {
1652 - local cxxabi cxxabi_incs
1653 - if use libcxxabi; then
1654 - cxxabi=libcxxabi
1655 - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
1656 - elif use libcxxrt; then
1657 - cxxabi=libcxxrt
1658 - cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
1659 - else
1660 - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
1661 - cxxabi=libsupc++
1662 - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
1663 - fi
1664 -
1665 - # we want -lgcc_s for unwinder, and for compiler runtime when using
1666 - # gcc, clang with gcc runtime (or any unknown compiler)
1667 - local extra_libs=() want_gcc_s=ON
1668 - if use libunwind; then
1669 - # work-around missing -lunwind upstream
1670 - extra_libs+=( -lunwind )
1671 - # if we're using libunwind and clang with compiler-rt, we want
1672 - # to link to compiler-rt instead of -lgcc_s
1673 - if tc-is-clang; then
1674 - # get the full library list out of 'pretend mode'
1675 - # and grep it for libclang_rt references
1676 - local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
1677 - local i
1678 - for i in "${args[@]}"; do
1679 - if [[ ${i} == *libclang_rt* ]]; then
1680 - want_gcc_s=OFF
1681 - extra_libs+=( "${i}" )
1682 - fi
1683 - done
1684 - fi
1685 - fi
1686 - # Darwin has libunwind in its system
1687 - [[ ${CHOST} == *-darwin* ]] && want_gcc_s=OFF
1688 -
1689 - local libdir=$(get_libdir)
1690 - local mycmakeargs=(
1691 - # LLVM_LIBDIR_SUFFIX is used to find CMake files
1692 - # and we are happy to use the native set
1693 - -DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
1694 - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
1695 - -DLIBCXX_ENABLE_SHARED=ON
1696 - -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
1697 - -DLIBCXX_CXX_ABI=${cxxabi}
1698 - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
1699 - # we're using our own mechanism for generating linker scripts
1700 - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
1701 - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
1702 - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
1703 - -DLIBCXX_INCLUDE_TESTS=$(usex test)
1704 - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
1705 - # avoid guessing of libcxxabi version by installed SDK discovered
1706 - # via xc-run - we know better because we require a libcxxabi version
1707 - # matching our own
1708 - -DLIBCXX_LIBCPPABI_VERSION=2
1709 - )
1710 -
1711 - if use test; then
1712 - mycmakeargs+=(
1713 - # this can be any directory, it just needs to exist...
1714 - -DLLVM_MAIN_SRC_DIR="${T}"
1715 - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
1716 - )
1717 - fi
1718 -
1719 - # make sure we build multilib on OSX, because llvm insists on
1720 - # building multilib too
1721 - [[ ${CHOST} == *86*-darwin* ]] && append-flags -arch i386 -arch x86_64
1722 -
1723 - cmake-utils_src_configure
1724 -}
1725 -
1726 -multilib_src_test() {
1727 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
1728 -
1729 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
1730 - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
1731 -
1732 - cmake-utils_src_make check-libcxx
1733 -}
1734 -
1735 -# Usage: deps
1736 -gen_ldscript() {
1737 - local output_format
1738 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
1739 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
1740 -
1741 - cat <<-END_LDSCRIPT
1742 -/* GNU ld script
1743 - Include missing dependencies
1744 -*/
1745 -${output_format}
1746 -GROUP ( $@ )
1747 -END_LDSCRIPT
1748 -}
1749 -
1750 -gen_static_ldscript() {
1751 - local libdir=$(get_libdir)
1752 - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
1753 -
1754 - # Move it first.
1755 - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
1756 - # Generate libc++.a ldscript for inclusion of its dependencies so that
1757 - # clang++ -stdlib=libc++ -static works out of the box.
1758 - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
1759 - # On Linux/glibc it does not link without libpthread or libdl. It is
1760 - # fine on FreeBSD.
1761 - use elibc_glibc && deps+=" libpthread.a libdl.a"
1762 -
1763 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
1764 -}
1765 -
1766 -gen_shared_ldscript() {
1767 - local libdir=$(get_libdir)
1768 - # libsupc++ doesn't have a shared version
1769 - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
1770 -
1771 - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
1772 - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
1773 -
1774 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
1775 -}
1776 -
1777 -multilib_src_install() {
1778 - cmake-utils_src_install
1779 - if [[ ${CHOST} != *-darwin* ]] ; then
1780 - gen_shared_ldscript
1781 - use static-libs && gen_static_ldscript
1782 - fi
1783 -}
1784 -
1785 -pkg_postinst() {
1786 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
1787 - elog "standard library when using clang."
1788 - elog "To use it, instead of libstdc++, use:"
1789 - elog " clang++ -stdlib=libc++"
1790 - elog "to compile your C++ programs."
1791 -}
1792
1793 diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
1794 deleted file mode 100644
1795 index b498d154ad..0000000000
1796 --- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
1797 +++ /dev/null
1798 @@ -1,238 +0,0 @@
1799 -# Copyright 1999-2018 Gentoo Foundation
1800 -# Distributed under the terms of the GNU General Public License v2
1801 -
1802 -EAPI=6
1803 -
1804 -# Ninja provides better scalability and cleaner verbose output, and is used
1805 -# throughout all LLVM projects.
1806 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
1807 -EGIT_REPO_URI="http://llvm.org/git/libcxx.git
1808 - https://github.com/llvm-mirror/libcxx.git"
1809 -PYTHON_COMPAT=( python2_7 )
1810 -
1811 -[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
1812 -
1813 -inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs flag-o-matic
1814 -
1815 -DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
1816 -HOMEPAGE="http://libcxx.llvm.org/"
1817 -if [[ ${PV} != 9999 ]] ; then
1818 - SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
1819 - S="${WORKDIR}/${P}.src"
1820 -else
1821 - SRC_URI=""
1822 -fi
1823 -
1824 -LICENSE="|| ( UoI-NCSA MIT )"
1825 -SLOT="0"
1826 -if [[ ${PV} != 9999 ]] ; then
1827 - KEYWORDS="~x64-macos ~x86-macos"
1828 -else
1829 - KEYWORDS=""
1830 -fi
1831 -IUSE="elibc_Darwin elibc_glibc elibc_musl +libcxxabi libcxxrt libunwind +static-libs test"
1832 -REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
1833 - elibc_Darwin? ( libcxxabi )
1834 - ?? ( libcxxabi libcxxrt )"
1835 -
1836 -RDEPEND="
1837 - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
1838 - !elibc_Darwin? (
1839 - libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
1840 - !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )
1841 - )
1842 - elibc_Darwin? ( !sys-libs/libcxx-headers )"
1843 -# llvm-3.9.0 needed because its cmake files installation path changed, which is
1844 -# needed by libcxx
1845 -# clang-3.9.0 installs necessary target symlinks unconditionally
1846 -# which removes the need for MULTILIB_USEDEP
1847 -DEPEND="${RDEPEND}
1848 - test? ( >=sys-devel/clang-3.9.0
1849 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
1850 - app-arch/xz-utils
1851 - >=sys-devel/llvm-3.9.0"
1852 -
1853 -DOCS=( CREDITS.TXT )
1854 -
1855 -PATCHES=(
1856 - # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
1857 - # out-of-tree build.
1858 - "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
1859 -)
1860 -
1861 -src_prepare() {
1862 - default
1863 -
1864 - # eprefixify static path references to libc++abi for symbol re-export to
1865 - # avoid linking against it twice in both /usr/lib and ${EPREFIX}/usr/lib
1866 - local lcpa=/usr/lib/libc++abi.dylib
1867 - sed -i -e "s,${lcpa},${EPREFIX}${lcpa},g" lib/CMakeLists.txt
1868 -}
1869 -
1870 -python_check_deps() {
1871 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
1872 -}
1873 -
1874 -pkg_setup() {
1875 - use test && python-any-r1_pkg_setup
1876 -
1877 - if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
1878 - eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
1879 - eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
1880 - eerror "and try again."
1881 - die
1882 - fi
1883 - if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
1884 - eerror "${PN} needs to be built with gcc-4.7 or later (or other"
1885 - eerror "conformant compilers). Please use gcc-config to switch to"
1886 - eerror "gcc-4.7 or later version."
1887 - die
1888 - fi
1889 -}
1890 -
1891 -src_configure() {
1892 - NATIVE_LIBDIR=$(get_libdir)
1893 - cmake-multilib_src_configure
1894 -}
1895 -
1896 -multilib_src_configure() {
1897 - local cxxabi cxxabi_incs
1898 - if use libcxxabi; then
1899 - cxxabi=libcxxabi
1900 - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
1901 - elif use libcxxrt; then
1902 - cxxabi=libcxxrt
1903 - cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
1904 - else
1905 - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
1906 - cxxabi=libsupc++
1907 - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
1908 - fi
1909 -
1910 - # we want -lgcc_s for unwinder, and for compiler runtime when using
1911 - # gcc, clang with gcc runtime (or any unknown compiler)
1912 - local extra_libs=() want_gcc_s=ON
1913 - if use libunwind; then
1914 - # work-around missing -lunwind upstream
1915 - extra_libs+=( -lunwind )
1916 - # if we're using libunwind and clang with compiler-rt, we want
1917 - # to link to compiler-rt instead of -lgcc_s
1918 - if tc-is-clang; then
1919 - # get the full library list out of 'pretend mode'
1920 - # and grep it for libclang_rt references
1921 - local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
1922 - local i
1923 - for i in "${args[@]}"; do
1924 - if [[ ${i} == *libclang_rt* ]]; then
1925 - want_gcc_s=OFF
1926 - extra_libs+=( "${i}" )
1927 - fi
1928 - done
1929 - fi
1930 - fi
1931 - # Darwin has libunwind in its system
1932 - [[ ${CHOST} == *-darwin* ]] && want_gcc_s=OFF
1933 -
1934 - local libdir=$(get_libdir)
1935 - local mycmakeargs=(
1936 - # LLVM_LIBDIR_SUFFIX is used to find CMake files
1937 - # and we are happy to use the native set
1938 - -DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
1939 - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
1940 - -DLIBCXX_ENABLE_SHARED=ON
1941 - -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
1942 - -DLIBCXX_CXX_ABI=${cxxabi}
1943 - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
1944 - # we're using our own mechanism for generating linker scripts
1945 - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
1946 - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
1947 - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
1948 - -DLIBCXX_INCLUDE_TESTS=$(usex test)
1949 - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
1950 - # avoid guessing of libcxxabi version by installed SDK discovered
1951 - # via xc-run - we know better because we require a libcxxabi version
1952 - # matching our own
1953 - -DLIBCXX_LIBCPPABI_VERSION=2
1954 - )
1955 -
1956 - if use test; then
1957 - mycmakeargs+=(
1958 - # this can be any directory, it just needs to exist...
1959 - -DLLVM_MAIN_SRC_DIR="${T}"
1960 - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
1961 - )
1962 - fi
1963 -
1964 - # make sure we build multilib on OSX, because llvm insists on
1965 - # building multilib too
1966 - [[ ${CHOST} == *86*-darwin* ]] && append-flags -arch i386 -arch x86_64
1967 -
1968 - cmake-utils_src_configure
1969 -}
1970 -
1971 -multilib_src_test() {
1972 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
1973 -
1974 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
1975 - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
1976 -
1977 - cmake-utils_src_make check-libcxx
1978 -}
1979 -
1980 -# Usage: deps
1981 -gen_ldscript() {
1982 - local output_format
1983 - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
1984 - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
1985 -
1986 - cat <<-END_LDSCRIPT
1987 -/* GNU ld script
1988 - Include missing dependencies
1989 -*/
1990 -${output_format}
1991 -GROUP ( $@ )
1992 -END_LDSCRIPT
1993 -}
1994 -
1995 -gen_static_ldscript() {
1996 - local libdir=$(get_libdir)
1997 - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
1998 -
1999 - # Move it first.
2000 - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
2001 - # Generate libc++.a ldscript for inclusion of its dependencies so that
2002 - # clang++ -stdlib=libc++ -static works out of the box.
2003 - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
2004 - # On Linux/glibc it does not link without libpthread or libdl. It is
2005 - # fine on FreeBSD.
2006 - use elibc_glibc && deps+=" libpthread.a libdl.a"
2007 -
2008 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
2009 -}
2010 -
2011 -gen_shared_ldscript() {
2012 - local libdir=$(get_libdir)
2013 - # libsupc++ doesn't have a shared version
2014 - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
2015 -
2016 - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
2017 - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
2018 -
2019 - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
2020 -}
2021 -
2022 -multilib_src_install() {
2023 - cmake-utils_src_install
2024 - if [[ ${CHOST} != *-darwin* ]] ; then
2025 - gen_shared_ldscript
2026 - use static-libs && gen_static_ldscript
2027 - fi
2028 -}
2029 -
2030 -pkg_postinst() {
2031 - elog "This package (${PN}) is mainly intended as a replacement for the C++"
2032 - elog "standard library when using clang."
2033 - elog "To use it, instead of libstdc++, use:"
2034 - elog " clang++ -stdlib=libc++"
2035 - elog "to compile your C++ programs."
2036 -}
2037
2038 diff --git a/sys-libs/libcxx/metadata.xml b/sys-libs/libcxx/metadata.xml
2039 deleted file mode 100644
2040 index df0c52dcfc..0000000000
2041 --- a/sys-libs/libcxx/metadata.xml
2042 +++ /dev/null
2043 @@ -1,21 +0,0 @@
2044 -<?xml version="1.0" encoding="UTF-8"?>
2045 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2046 -<pkgmetadata>
2047 - <maintainer type="person">
2048 - <email>aballier@g.o</email>
2049 - <name>Alexis Ballier</name>
2050 - </maintainer>
2051 - <maintainer type="project">
2052 - <email>bsd@g.o</email>
2053 - <name>BSD Project</name>
2054 - </maintainer>
2055 - <maintainer type="project">
2056 - <email>llvm@g.o</email>
2057 - <name>LLVM Project</name>
2058 - </maintainer>
2059 - <use>
2060 - <flag name="libcxxabi">Build on top of <pkg>sys-libs/libcxxabi</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
2061 - <flag name="libcxxrt">Build on top of <pkg>sys-libs/libcxxrt</pkg> instead of gcc's libsupc++ (avoids depending on gcc).</flag>
2062 - <flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependence on gcc.</flag>
2063 - </use>
2064 -</pkgmetadata>
2065
2066 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
2067 deleted file mode 100644
2068 index af6d59af57..0000000000
2069 --- a/sys-libs/libcxxabi/Manifest
2070 +++ /dev/null
2071 @@ -1,8 +0,0 @@
2072 -DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
2073 -DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
2074 -DIST libcxxabi-3.5.1.src.tar.xz 551148 BLAKE2B 58a4d487dceff8772ce921addcbf836c5b80cf6eb29600b4789140164fb768e8d9bbde127ebceb757d47ef6dd458c6294af37001078430e2e4eddaa3b32e15da SHA512 1fa9215aba2228d0bc5547febea69d0497785289d1972103ffb24b202a0a4df06ea1f7d6311ec85fc344414b69e590640b547c66ef1f9b9ea73762cc4f4a83fa
2075 -DIST libcxxabi-3.7.1.src.tar.xz 507428 BLAKE2B 7c458a7ac2720f30f80a3644047f19bd39c46141cf4997912ea42d97bad7d365e90e385fb0996f16048ba199f42fb6e3f95f608a44976ddd336e0f3bf3cc7df1 SHA512 d697d1b35a8cc1f27dd0f7d06d3f6e067e4c7ae613af982a8c91d4702a03aedfbdad1d4bd3c213f38db3d58473ad7fc6b4b8d1ffcfc6de04d1eb4e17e151c73a
2076 -DIST libcxxabi-3.8.1.src.tar.xz 508392 BLAKE2B 38de3ea6f3b38a112ffd134572e2ebfa9e5f558d3ac7fabceaaf86ed826123515e283f64a1767689bb7b0f72ad31e523c1d947c049225888d7f7dd54ff1b4e65 SHA512 c401fe984f44c4f7a0b0fa10099d7a203c1552b89881b8b248645ac4fb3cd7e399c3d07841432cca069e816042ad6629f9cc068b278196fa6bd4c129d95d35be
2077 -DIST libcxxabi-3.9.0.src.tar.xz 511324 BLAKE2B 75c35b2b30cb04db35db93378d1cc541f194071564c5c8d4c577f076153fc34c7aae793527566cc912437e0f255fbc0520533037b5376105e8e9e4f80a71ba6b SHA512 500207bfd59664bd42d920741d6b467c4b88569453742db6470af081c77be04894e097a14b8419e333b51abce484566366e35cbc3ed2607cd86dfc0ec0ddd0c5
2078 -DIST libcxxabi-3.9.1.src.tar.xz 510964 BLAKE2B a6abda1b92473781ea3029169c43547f15c1aa6e0ec6f9692ae633d109e050a6ff82ce8bceb0455375991b85c99784a4f06a568b8c77a4cf2865b9b2861e9595 SHA512 4f5603f1476b759c86d4784728fbdd212c59b30dc56d787c1834bf68a9cd83071fa22658d24e5a58beb94c0c656b0e4457d7da6e3048715dd36bd68380fc336e
2079 -DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884
2080
2081 diff --git a/sys-libs/libcxxabi/files/libcxxabi-3.5.1-eprintf.patch b/sys-libs/libcxxabi/files/libcxxabi-3.5.1-eprintf.patch
2082 deleted file mode 100644
2083 index b5e32cd8dd..0000000000
2084 --- a/sys-libs/libcxxabi/files/libcxxabi-3.5.1-eprintf.patch
2085 +++ /dev/null
2086 @@ -1,28 +0,0 @@
2087 ---- libcxxabi-3.5.1.src/src/cxa_personality.cpp.orig 2015-01-26 23:20:13.000000000 +0100
2088 -+++ libcxxabi-3.5.1.src/src/cxa_personality.cpp 2015-01-26 23:25:45.000000000 +0100
2089 -@@ -21,6 +21,25 @@
2090 - #include <stdlib.h>
2091 - #include <assert.h>
2092 -
2093 -+#ifdef __APPLE__
2094 -+#include <AvailabilityMacros.h>
2095 -+#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1050)
2096 -+#include <cstdio>
2097 -+#include <cstdlib>
2098 -+
2099 -+using namespace std;
2100 -+extern "C"
2101 -+__attribute__((visibility("hidden")))
2102 -+void __eprintf (const char *string, const char *expression,
2103 -+ unsigned int line, const char *filename)
2104 -+{
2105 -+ fprintf (stderr, string, expression, line, filename);
2106 -+ fflush (stderr);
2107 -+ abort ();
2108 -+}
2109 -+#endif
2110 -+#endif /* __APPLE__ */
2111 -+
2112 - /*
2113 - Exception Header Layout:
2114 -
2115
2116 diff --git a/sys-libs/libcxxabi/files/libcxxabi-3.9.0-cmake-path.patch b/sys-libs/libcxxabi/files/libcxxabi-3.9.0-cmake-path.patch
2117 deleted file mode 100644
2118 index b80c0f5722..0000000000
2119 --- a/sys-libs/libcxxabi/files/libcxxabi-3.9.0-cmake-path.patch
2120 +++ /dev/null
2121 @@ -1,34 +0,0 @@
2122 -From 8d4d9af454a985d8c10ffdb0c56e87efec25ddff Mon Sep 17 00:00:00 2001
2123 -From: Logan Chien <tzuhsiang.chien@×××××.com>
2124 -Date: Mon, 3 Oct 2016 11:08:17 +0000
2125 -Subject: [PATCH] [CMake] Fix libc++abi standalone cmake build.
2126 -
2127 -The cmake files install directory has been changed to
2128 -${prefix}/lib/cmake/llvm since r259821. Searching cmake modules in
2129 -${prefix}/share/llvm/cmake will result in fatal errors.
2130 -
2131 -This commit fixes the out-of-tree build by changing the CMake module
2132 -search path to: "$(llvm-config --obj-root)/lib/cmake/llvm"
2133 -
2134 -
2135 -git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@283100 91177308-0d34-0410-b5e6-96231b3b80d8
2136 ----
2137 - CMakeLists.txt | 2 +-
2138 - 1 file changed, 1 insertion(+), 1 deletion(-)
2139 -
2140 -diff --git a/CMakeLists.txt b/CMakeLists.txt
2141 -index a33cf48..e75c0b8 100644
2142 ---- a/CMakeLists.txt
2143 -+++ b/CMakeLists.txt
2144 -@@ -49,7 +49,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
2145 - set(LLVM_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
2146 - set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
2147 - set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
2148 -- set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/share/llvm/cmake")
2149 -+ set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
2150 - set(LLVM_LIT_PATH "${LLVM_PATH}/utils/lit/lit.py")
2151 - else()
2152 - message(FATAL_ERROR "llvm-config not found and LLVM_MAIN_SRC_DIR not defined. "
2153 ---
2154 -2.10.1
2155 -
2156
2157 diff --git a/sys-libs/libcxxabi/files/libcxxabi-3.9.0-test-unwind.patch b/sys-libs/libcxxabi/files/libcxxabi-3.9.0-test-unwind.patch
2158 deleted file mode 100644
2159 index 1005cb7d13..0000000000
2160 --- a/sys-libs/libcxxabi/files/libcxxabi-3.9.0-test-unwind.patch
2161 +++ /dev/null
2162 @@ -1,37 +0,0 @@
2163 -From fff85c801ae564a09479e1e8e4cf81977536c550 Mon Sep 17 00:00:00 2001
2164 -From: Petr Hosek <phosek@××××××××.org>
2165 -Date: Mon, 8 Aug 2016 22:09:54 +0000
2166 -Subject: [PATCH] Do not depend on unwind when building standalone
2167 -
2168 -When libcxxabi is being built standalone, unwind dependency is not
2169 -available, so do not use it even when LLVM unwinder is being
2170 -requested.
2171 -
2172 -Differential Revision: https://reviews.llvm.org/D23228
2173 -
2174 -git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@278058 91177308-0d34-0410-b5e6-96231b3b80d8
2175 ----
2176 - test/CMakeLists.txt | 7 +++----
2177 - 1 file changed, 3 insertions(+), 4 deletions(-)
2178 -
2179 -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
2180 -index 31b5d1d..3a489bf 100644
2181 ---- a/test/CMakeLists.txt
2182 -+++ b/test/CMakeLists.txt
2183 -@@ -36,10 +36,9 @@ endif()
2184 -
2185 - if (NOT LIBCXXABI_BUILT_STANDALONE)
2186 - list(APPEND LIBCXXABI_TEST_DEPS cxx)
2187 --endif()
2188 --
2189 --if (LIBCXXABI_USE_LLVM_UNWINDER)
2190 -- list(APPEND LIBCXXABI_TEST_DEPS unwind)
2191 -+ if (LIBCXXABI_USE_LLVM_UNWINDER)
2192 -+ list(APPEND LIBCXXABI_TEST_DEPS unwind)
2193 -+ endif()
2194 - endif()
2195 -
2196 - add_lit_testsuite(check-libcxxabi "Running libcxxabi tests"
2197 ---
2198 -2.10.1
2199 -
2200
2201 diff --git a/sys-libs/libcxxabi/libcxxabi-3.5.1.ebuild b/sys-libs/libcxxabi/libcxxabi-3.5.1.ebuild
2202 deleted file mode 100644
2203 index b68811f725..0000000000
2204 --- a/sys-libs/libcxxabi/libcxxabi-3.5.1.ebuild
2205 +++ /dev/null
2206 @@ -1,89 +0,0 @@
2207 -# Copyright 1999-2018 Gentoo Foundation
2208 -# Distributed under the terms of the GNU General Public License v2
2209 -
2210 -EAPI=6
2211 -
2212 -inherit flag-o-matic
2213 -
2214 -S="${WORKDIR}/${P}.src"
2215 -
2216 -inherit eutils epatch
2217 -
2218 -DESCRIPTION="New implementation of low level support for a standard C++ library"
2219 -HOMEPAGE="http://libcxxabi.llvm.org/"
2220 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
2221 -
2222 -LICENSE="|| ( UoI-NCSA MIT )"
2223 -SLOT="0"
2224 -KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
2225 -IUSE=""
2226 -
2227 -RDEPEND=""
2228 -DEPEND="${RDEPEND}
2229 - =sys-libs/libcxx-headers-${PV}
2230 - sys-devel/clang"
2231 -
2232 -pkg_setup() {
2233 - if [[ ${CHOST} == *darwin* ]] ; then
2234 - MY_CC=$(tc-getCC)
2235 - MY_CXX=$(tc-getCXX)
2236 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
2237 - eerror "${PN} needs to be built with clang++. Please do not override"
2238 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
2239 - eerror "or point them at clang and eerror clang++ respectively."
2240 - die
2241 - fi
2242 - return
2243 - fi
2244 -}
2245 -
2246 -src_configure() {
2247 - tc-export CC CXX
2248 -}
2249 -
2250 -src_prepare() {
2251 - # libc++abi needs stack unwinding functions provided by libSystem on Mac OS X
2252 - # >= 10.6. On < 10.6 they're in libgcc_s. So force link against that.
2253 - # Additionally, the crt1.o provided by our gcc-apple toolchain isn't
2254 - # universal. Since that's needed for linking any program on OSX <
2255 - # 10.7, universal support is effectively broken on those older OSXes
2256 - # even if clang and libc++{,abi} were to support it. So we can just
2257 - # disable universal compilation.
2258 - gcc_s=gcc_s.1
2259 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
2260 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
2261 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
2262 - sed -i -e "s,-lSystem,-lSystem -l${gcc_s},g" \
2263 - -e "s,-arch i386 -arch x86_64,,g" \
2264 - lib/buildit
2265 -
2266 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
2267 - sed -i -e '/RC_CFLAGS=""/s/""/"-fPIC"/' lib/buildit || die
2268 - fi
2269 -
2270 - # assert.h refers to eprintf which is nowhere to be found. That's why
2271 - # everyone (libstdc++, clang compiler-rt) bring their own
2272 - # implementation. Ours is nicked from Apple's patch to libstdc++-39.
2273 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
2274 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
2275 -
2276 - sed -i -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
2277 - lib/buildit || die
2278 -
2279 - eapply_user
2280 -}
2281 -
2282 -src_compile() {
2283 - cd "${S}/lib" || die
2284 - export TRIPLE=-apple-
2285 - ./buildit || die
2286 -}
2287 -
2288 -src_install() {
2289 - dolib.so lib/libc++*dylib
2290 -
2291 - # do not install unwind.h and others since they're only in-source
2292 - # build-time dependencies
2293 - insinto /usr/include
2294 - doins -r include/cxxabi.h
2295 -}
2296
2297 diff --git a/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild b/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild
2298 deleted file mode 100644
2299 index 2830150cba..0000000000
2300 --- a/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild
2301 +++ /dev/null
2302 @@ -1,86 +0,0 @@
2303 -# Copyright 1999-2018 Gentoo Foundation
2304 -# Distributed under the terms of the GNU General Public License v2
2305 -
2306 -EAPI=5
2307 -
2308 -inherit flag-o-matic
2309 -
2310 -S="${WORKDIR}/${P}.src"
2311 -
2312 -inherit eutils epatch
2313 -
2314 -DESCRIPTION="New implementation of low level support for a standard C++ library"
2315 -HOMEPAGE="http://libcxxabi.llvm.org/"
2316 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
2317 -
2318 -LICENSE="|| ( UoI-NCSA MIT )"
2319 -SLOT="0"
2320 -KEYWORDS="~x64-macos ~x86-macos"
2321 -IUSE=""
2322 -
2323 -RDEPEND=""
2324 -DEPEND="${RDEPEND}
2325 - =sys-libs/libcxx-headers-${PV}
2326 - sys-devel/clang"
2327 -
2328 -pkg_setup() {
2329 - if [[ ${CHOST} == *darwin* ]] ; then
2330 - MY_CC=$(tc-getCC)
2331 - MY_CXX=$(tc-getCXX)
2332 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
2333 - eerror "${PN} needs to be built with clang++. Please do not override"
2334 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
2335 - eerror "or point them at clang and eerror clang++ respectively."
2336 - die
2337 - fi
2338 - return
2339 - fi
2340 -}
2341 -
2342 -src_configure() {
2343 - tc-export CC CXX
2344 -}
2345 -
2346 -src_prepare() {
2347 - # libc++abi needs stack unwinding functions provided by libSystem on Mac OS X
2348 - # >= 10.6. On < 10.6 they're in libgcc_s. So force link against that.
2349 - # Additionally, the crt1.o provided by our gcc-apple toolchain isn't
2350 - # universal. Since that's needed for linking any program on OSX <
2351 - # 10.7, universal support is effectively broken on those older OSXes
2352 - # even if clang and libc++{,abi} were to support it. So we can just
2353 - # disable universal compilation.
2354 - gcc_s=gcc_s.1
2355 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
2356 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
2357 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
2358 - sed -i -e "s,-lSystem,-lSystem -l${gcc_s},g" \
2359 - -e "s,-arch i386 -arch x86_64,,g" \
2360 - lib/buildit
2361 -
2362 - # assert.h refers to eprintf which is nowhere to be found. That's why
2363 - # everyone (libstdc++, clang compiler-rt) bring their own
2364 - # implementation. Ours is nicked from Apple's patch to libstdc++-39.
2365 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
2366 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
2367 -
2368 - sed -i -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
2369 - lib/buildit
2370 -
2371 - eapply_user
2372 -}
2373 -
2374 -src_compile() {
2375 - cd "${S}/lib" || die
2376 - export TRIPLE=-apple-
2377 - ./buildit || die
2378 -}
2379 -
2380 -src_install() {
2381 - dolib.so lib/libc++*dylib
2382 -
2383 - # do not install unwind.h and others since they're only in-source
2384 - # build-time dependencies
2385 - insinto /usr/include
2386 - doins -r include/cxxabi.h
2387 - doins -r include/__cxxabi_config.h
2388 -}
2389
2390 diff --git a/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild b/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild
2391 deleted file mode 100644
2392 index c431277456..0000000000
2393 --- a/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild
2394 +++ /dev/null
2395 @@ -1,90 +0,0 @@
2396 -# Copyright 1999-2018 Gentoo Foundation
2397 -# Distributed under the terms of the GNU General Public License v2
2398 -
2399 -EAPI=6
2400 -
2401 -inherit flag-o-matic
2402 -
2403 -S="${WORKDIR}/${P}.src"
2404 -
2405 -inherit eutils epatch
2406 -
2407 -DESCRIPTION="New implementation of low level support for a standard C++ library"
2408 -HOMEPAGE="http://libcxxabi.llvm.org/"
2409 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
2410 -
2411 -LICENSE="|| ( UoI-NCSA MIT )"
2412 -SLOT="0"
2413 -KEYWORDS="~x64-macos ~x86-macos"
2414 -IUSE=""
2415 -
2416 -RDEPEND=""
2417 -DEPEND="${RDEPEND}
2418 - =sys-libs/libcxx-headers-${PV}
2419 - sys-devel/clang"
2420 -
2421 -pkg_setup() {
2422 - if [[ ${CHOST} == *darwin* ]] ; then
2423 - MY_CC=$(tc-getCC)
2424 - MY_CXX=$(tc-getCXX)
2425 - if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
2426 - eerror "${PN} needs to be built with clang++. Please do not override"
2427 - eerror "CC ($MY_CC) and CXX ($MY_CXX)"
2428 - eerror "or point them at clang and eerror clang++ respectively."
2429 - die
2430 - fi
2431 - return
2432 - fi
2433 -}
2434 -
2435 -src_configure() {
2436 - tc-export CC CXX
2437 -}
2438 -
2439 -src_prepare() {
2440 - # libc++abi needs stack unwinding functions provided by libSystem on Mac OS X
2441 - # >= 10.6. On < 10.6 they're in libgcc_s. So force link against that.
2442 - # Additionally, the crt1.o provided by our gcc-apple toolchain isn't
2443 - # universal. Since that's needed for linking any program on OSX <
2444 - # 10.7, universal support is effectively broken on those older OSXes
2445 - # even if clang and libc++{,abi} were to support it. So we can just
2446 - # disable universal compilation.
2447 - gcc_s=gcc_s.1
2448 - [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
2449 - [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
2450 - [[ "${CHOST##*-darwin}" -le 9 ]] && \
2451 - sed -i -e "s,-lSystem,-lSystem -l${gcc_s},g" \
2452 - -e "s,-arch i386 -arch x86_64,,g" \
2453 - lib/buildit
2454 -
2455 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
2456 - sed -i -e '/RC_CFLAGS=""/s/""/"-fPIC"/' lib/buildit || die
2457 - fi
2458 -
2459 - # assert.h refers to eprintf which is nowhere to be found. That's why
2460 - # everyone (libstdc++, clang compiler-rt) bring their own
2461 - # implementation. Ours is nicked from Apple's patch to libstdc++-39.
2462 - [[ "${CHOST##*-darwin}" -le 8 ]] && \
2463 - epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
2464 -
2465 - sed -i -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
2466 - lib/buildit
2467 -
2468 - eapply_user
2469 -}
2470 -
2471 -src_compile() {
2472 - cd "${S}/lib" || die
2473 - export TRIPLE=-apple-
2474 - ./buildit || die
2475 -}
2476 -
2477 -src_install() {
2478 - dolib.so lib/libc++*dylib
2479 -
2480 - # do not install unwind.h and others since they're only in-source
2481 - # build-time dependencies
2482 - insinto /usr/include
2483 - doins -r include/cxxabi.h
2484 - doins -r include/__cxxabi_config.h
2485 -}
2486
2487 diff --git a/sys-libs/libcxxabi/libcxxabi-3.9.0.ebuild b/sys-libs/libcxxabi/libcxxabi-3.9.0.ebuild
2488 deleted file mode 100644
2489 index 46d08a1474..0000000000
2490 --- a/sys-libs/libcxxabi/libcxxabi-3.9.0.ebuild
2491 +++ /dev/null
2492 @@ -1,60 +0,0 @@
2493 -# Copyright 1999-2018 Gentoo Foundation
2494 -# Distributed under the terms of the GNU General Public License v2
2495 -
2496 -EAPI=6
2497 -
2498 -inherit flag-o-matic eutils cmake-multilib epatch
2499 -
2500 -S="${WORKDIR}/${P}.src"
2501 -
2502 -DESCRIPTION="New implementation of low level support for a standard C++ library"
2503 -HOMEPAGE="http://libcxxabi.llvm.org/"
2504 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
2505 -
2506 -LICENSE="|| ( UoI-NCSA MIT )"
2507 -SLOT="0"
2508 -KEYWORDS="~x64-macos ~x86-macos"
2509 -IUSE="static-libs"
2510 -
2511 -RDEPEND=""
2512 -DEPEND="${RDEPEND}
2513 - =sys-libs/libcxx-headers-${PV}"
2514 -
2515 -# note the abscense of a requirement to compile with clang on OS X - it
2516 -# actually compiles and works with recent gcc as well
2517 -
2518 -src_prepare() {
2519 - sed -i -e "/set.LLVM_CMAKE_PATH.*\\/cmake\\/modules/s@cmake/modules@cmake@" CMakeLists.txt
2520 -}
2521 -
2522 -src_configure() {
2523 - local mycmakeargs=(
2524 - -DLLVM_PATH=${EPREFIX}/usr/share/llvm
2525 - -DLIBCXXABI_LIBCXX_INCLUDES=${EPREFIX}/usr/include/c++/v1
2526 - # silence warning "LIBCXXABI_LIBCXX_PATH was not specified and couldn't
2527 - # be infered" which is redundant because we have successfully provided
2528 - # the libc++ include path via LIBCXXABI_LIBCXX_INCLUDES already
2529 - -DLIBCXXABI_LIBCXX_PATH=shutup
2530 - )
2531 -
2532 - # make sure we build multilib on OSX, because llvm insists on
2533 - # building multilib too
2534 - if [[ ${CHOST} == *86*-darwin* ]] ; then
2535 - append-flags -arch i386 -arch x86_64
2536 - append-cxxflags -std=c++11
2537 - fi
2538 -
2539 - use static-libs && \
2540 - mycmakeargs+=( -DLIBCXXABI_ENABLE_STATIC=ON ) || \
2541 - mycmakeargs+=( -DLIBCXXABI_ENABLE_STATIC=OFF )
2542 -
2543 - cmake-multilib_src_configure
2544 -}
2545 -
2546 -multilib_src_install_all() {
2547 - # do not install unwind.h and others since they're only in-source
2548 - # build-time dependencies
2549 - insinto /usr/include
2550 - doins -r include/cxxabi.h
2551 - doins -r include/__cxxabi_config.h
2552 -}
2553
2554 diff --git a/sys-libs/libcxxabi/libcxxabi-3.9.1.ebuild b/sys-libs/libcxxabi/libcxxabi-3.9.1.ebuild
2555 deleted file mode 100644
2556 index 6bb135e3fb..0000000000
2557 --- a/sys-libs/libcxxabi/libcxxabi-3.9.1.ebuild
2558 +++ /dev/null
2559 @@ -1,106 +0,0 @@
2560 -# Copyright 1999-2018 Gentoo Foundation
2561 -# Distributed under the terms of the GNU General Public License v2
2562 -
2563 -EAPI=6
2564 -
2565 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
2566 -PYTHON_COMPAT=( python2_7 )
2567 -
2568 -inherit cmake-multilib python-any-r1 flag-o-matic
2569 -
2570 -DESCRIPTION="Low level support for a standard C++ library"
2571 -HOMEPAGE="http://libcxxabi.llvm.org/"
2572 -# also needs libcxx sources for headers
2573 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
2574 - http://llvm.org/releases/${PV}/${P/abi/}.src.tar.xz"
2575 -LICENSE="|| ( UoI-NCSA MIT )"
2576 -SLOT="0"
2577 -KEYWORDS="~x64-macos ~x86-macos"
2578 -IUSE="elibc_Darwin elibc_musl libunwind +static-libs test"
2579 -
2580 -RDEPEND="
2581 - libunwind? (
2582 - || (
2583 - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
2584 - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
2585 - )
2586 - )"
2587 -DEPEND="${RDEPEND}
2588 - >=sys-devel/llvm-3.9.0
2589 - test? ( >=sys-devel/clang-3.9.0
2590 - ~sys-libs/libcxx-${PV}[libcxxabi(-)]
2591 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
2592 -
2593 -S=${WORKDIR}/${P}.src
2594 -
2595 -python_check_deps() {
2596 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
2597 -}
2598 -
2599 -pkg_setup() {
2600 - use test && python-any-r1_pkg_setup
2601 -}
2602 -
2603 -src_prepare() {
2604 - default
2605 -
2606 - # backport cmake path fix for llvm-3.9+
2607 - eapply "${FILESDIR}/${PN}-3.9.0-cmake-path.patch"
2608 - # kill stray unwind test dep in stand-alone builds
2609 - eapply "${FILESDIR}/${PN}-3.9.0-test-unwind.patch"
2610 -}
2611 -
2612 -src_configure() {
2613 - NATIVE_LIBDIR=$(get_libdir)
2614 - cmake-multilib_src_configure
2615 -}
2616 -
2617 -multilib_src_configure() {
2618 - local libdir=$(get_libdir)
2619 - local mycmakeargs=(
2620 - -DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
2621 - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
2622 - -DLIBCXXABI_ENABLE_SHARED=ON
2623 - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
2624 - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
2625 - -DLLVM_INCLUDE_TESTS=$(usex test)
2626 -
2627 - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx-${PV}.src/include
2628 - # upstream is omitting standard search path for this
2629 - # probably because gcc & clang are bundling their own unwind.h
2630 - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
2631 - # this only needs to exist, it does not have to make sense
2632 - -DLIBCXXABI_LIBUNWIND_SOURCES="${T}"
2633 - )
2634 - if use test; then
2635 - mycmakeargs+=(
2636 - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
2637 - )
2638 - fi
2639 - if use elibc_musl; then
2640 - local -x CPPFLAGS="${CPPFLAGS} -D_LIBCPP_HAS_MUSL_LIBC=1"
2641 - fi
2642 -
2643 - # make sure we build multilib on OSX, because llvm insists on
2644 - # building multilib too
2645 - if [[ ${CHOST} == *86*-darwin* ]] ; then
2646 - append-flags -arch i386 -arch x86_64
2647 - append-cxxflags -std=c++11
2648 - fi
2649 -
2650 - cmake-utils_src_configure
2651 -}
2652 -
2653 -multilib_src_test() {
2654 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
2655 -
2656 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
2657 - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
2658 -
2659 - cmake-utils_src_make check-libcxxabi
2660 -}
2661 -
2662 -multilib_src_install_all() {
2663 - insinto /usr/include/libcxxabi
2664 - doins -r include/.
2665 -}
2666
2667 diff --git a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
2668 deleted file mode 100644
2669 index 598ff99f97..0000000000
2670 --- a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
2671 +++ /dev/null
2672 @@ -1,102 +0,0 @@
2673 -# Copyright 1999-2018 Gentoo Foundation
2674 -# Distributed under the terms of the GNU General Public License v2
2675 -
2676 -EAPI=6
2677 -
2678 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
2679 -PYTHON_COMPAT=( python2_7 )
2680 -
2681 -inherit cmake-multilib python-any-r1 flag-o-matic
2682 -
2683 -DESCRIPTION="Low level support for a standard C++ library"
2684 -HOMEPAGE="http://libcxxabi.llvm.org/"
2685 -# also needs libcxx sources for headers
2686 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
2687 - http://llvm.org/releases/${PV}/${P/abi/}.src.tar.xz"
2688 -LICENSE="|| ( UoI-NCSA MIT )"
2689 -SLOT="0"
2690 -KEYWORDS="~x64-macos ~x86-macos"
2691 -IUSE="elibc_Darwin elibc_musl libunwind +static-libs test"
2692 -
2693 -RDEPEND="
2694 - libunwind? (
2695 - || (
2696 - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
2697 - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
2698 - )
2699 - )"
2700 -DEPEND="${RDEPEND}
2701 - >=sys-devel/llvm-3.9.0
2702 - test? ( >=sys-devel/clang-3.9.0
2703 - ~sys-libs/libcxx-${PV}[libcxxabi(-)]
2704 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
2705 -
2706 -S=${WORKDIR}/${P}.src
2707 -
2708 -python_check_deps() {
2709 - has_version "dev-python/lit[${PYTHON_USEDEP}]"
2710 -}
2711 -
2712 -pkg_setup() {
2713 - use test && python-any-r1_pkg_setup
2714 -}
2715 -
2716 -src_configure() {
2717 - NATIVE_LIBDIR=$(get_libdir)
2718 - cmake-multilib_src_configure
2719 -}
2720 -
2721 -multilib_src_configure() {
2722 - local libdir=$(get_libdir)
2723 - local mycmakeargs=(
2724 - -DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
2725 - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
2726 - -DLIBCXXABI_ENABLE_SHARED=ON
2727 - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
2728 - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
2729 - -DLLVM_INCLUDE_TESTS=$(usex test)
2730 -
2731 - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx-${PV}.src/include
2732 - # upstream is omitting standard search path for this
2733 - # probably because gcc & clang are bundling their own unwind.h
2734 - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
2735 - # this only needs to exist, it does not have to make sense
2736 - -DLIBCXXABI_LIBUNWIND_SOURCES="${T}"
2737 - )
2738 - if use test; then
2739 - mycmakeargs+=(
2740 - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
2741 - )
2742 - fi
2743 - if use elibc_musl; then
2744 - local -x CPPFLAGS="${CPPFLAGS} -D_LIBCPP_HAS_MUSL_LIBC=1"
2745 - fi
2746 -
2747 - # make sure we build multilib on OSX, because llvm insists on
2748 - # building multilib too
2749 - if [[ ${CHOST} == *86*-darwin* ]] ; then
2750 - append-flags -arch i386 -arch x86_64
2751 - append-cxxflags -std=c++11
2752 - local mycmakeargs+=(
2753 - # disable test for libstdc++ leaking in from LLVM cmake module -
2754 - # apart from libcxx headers, libcxxabi is self-contained
2755 - -DLLVM_ENABLE_LIBCXX=ON
2756 - )
2757 - fi
2758 -
2759 - cmake-utils_src_configure
2760 -}
2761 -
2762 -multilib_src_test() {
2763 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
2764 -
2765 - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
2766 - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
2767 -
2768 - cmake-utils_src_make check-libcxxabi
2769 -}
2770 -
2771 -multilib_src_install_all() {
2772 - insinto /usr/include/libcxxabi
2773 - doins -r include/.
2774 -}
2775
2776 diff --git a/sys-libs/libcxxabi/metadata.xml b/sys-libs/libcxxabi/metadata.xml
2777 deleted file mode 100644
2778 index 78c7d7d981..0000000000
2779 --- a/sys-libs/libcxxabi/metadata.xml
2780 +++ /dev/null
2781 @@ -1,10 +0,0 @@
2782 -<?xml version="1.0" encoding="UTF-8"?>
2783 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2784 -<pkgmetadata>
2785 - <maintainer type="project">
2786 - <email>llvm@g.o</email>
2787 - </maintainer>
2788 - <use>
2789 - <flag name="libunwind">Use libunwind instead of libgcc_s for stack unwinding, thus avoiding dependency on gcc</flag>
2790 - </use>
2791 -</pkgmetadata>