1 |
commit: 9ca9f406cf625ed40286adc4b900d3ca46eb41df |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Mar 29 11:31:20 2022 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Mar 29 11:31:20 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ca9f406 |
7 |
|
8 |
sys-devel/binutils-apple: drop sys-libs/tapi dependency |
9 |
|
10 |
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> |
11 |
|
12 |
sys-devel/binutils-apple/Manifest | 4 - |
13 |
.../binutils-apple/binutils-apple-11.3.1-r1.ebuild | 378 --------------------- |
14 |
.../binutils-apple/binutils-apple-8.2.1-r1.ebuild | 18 +- |
15 |
.../binutils-apple-8.2.1-r101.ebuild | 8 +- |
16 |
sys-devel/binutils-apple/metadata.xml | 1 - |
17 |
5 files changed, 17 insertions(+), 392 deletions(-) |
18 |
|
19 |
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest |
20 |
index a6468db7cc6c..718995f313cf 100644 |
21 |
--- a/sys-devel/binutils-apple/Manifest |
22 |
+++ b/sys-devel/binutils-apple/Manifest |
23 |
@@ -1,4 +1,3 @@ |
24 |
-DIST binutils-apple-patches-11.3-r1.tar.bz2 9041 BLAKE2B c881117e19e119173dd8c126859f8ebab5ff4024697c9650b8ba145c021aa6e251086d3678d80fec2672e78637a5beca795b71ae871692e832ba4e69a7a8e04c SHA512 eda63cd89f67674556dc75de719cd318f534544db50165d4faac454f67c557c9944e7e024c4443e640f987ed8c8826ccd578427743a86d7220c2ba90ed2206d4 |
25 |
DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea |
26 |
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5 |
27 |
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8 |
28 |
@@ -6,12 +5,9 @@ DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f29 |
29 |
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95 |
30 |
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254 |
31 |
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126 |
32 |
-DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb |
33 |
DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77 |
34 |
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f |
35 |
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8 |
36 |
-DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0 |
37 |
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d |
38 |
-DIST ld64-530.tar.gz 744871 BLAKE2B 8117160ffe55c02b463559a52fcbd109629d6e2b4707f36391ec2151785cc1ab5be911129397af7bea05f06b2c718bc345a1e3b6b0838dae943f4083612af38f SHA512 0197ec05f9fbaf9e1902bb6e0819d0562573a433e0445809f1020e76126d3af57222a8e9e187fce793a5b581f825b48bfb5ec5cca9ae3eb77758cbc7f20e9e20 |
39 |
DIST ld64-97.17.tar.gz 421947 BLAKE2B 56820ef28490f2e0181d6e36b87506c6f00ae5759afe304a063fb6bd1904ace566ef4aa69ff0d235d65968af547a1a5735cb23bcefa990f418740188d399b637 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6 |
40 |
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f |
41 |
|
42 |
diff --git a/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild |
43 |
deleted file mode 100644 |
44 |
index 42f2f2808cb7..000000000000 |
45 |
--- a/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild |
46 |
+++ /dev/null |
47 |
@@ -1,378 +0,0 @@ |
48 |
-# Copyright 1999-2021 Gentoo Authors |
49 |
-# Distributed under the terms of the GNU General Public License v2 |
50 |
- |
51 |
-EAPI="6" |
52 |
- |
53 |
-inherit eutils flag-o-matic toolchain-funcs llvm prefix |
54 |
- |
55 |
-# versions: |
56 |
-# XCode-11.3.1 ld64-530 cctools-949.0.1 |
57 |
-# XCode-11.2.1 ld64-520 cctools-949.0.1 |
58 |
-# XCode-11.0 ld64-512.4 cctools-949.0.1 |
59 |
-# XCode-8.2.1 ld64-274.2 cctools-895 <== binutils-apple-8.2.1-r1 (2019) |
60 |
- |
61 |
-# macOS-10.15.6 dyld-750.6 Causes build failures with Xcode-11 tools |
62 |
-# macOS-10.14.4-10.14.6 dyld-655.1.1 Causes build failures with Xcode-11 tools |
63 |
-# macOS-10.13.6 dyld-551.4 |
64 |
-# macOS-10.12.1-10.12.3 dyld-421.2 <== binutils-apple-8.2.1-r1,8.1 |
65 |
- |
66 |
-LD64=ld64-530 |
67 |
-CCTOOLS_VERSION=949.0.1 |
68 |
-CCTOOLS=cctools-${CCTOOLS_VERSION} |
69 |
-DYLD=dyld-551.4 |
70 |
- |
71 |
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}" |
72 |
-HOMEPAGE="http://www.opensource.apple.com/" |
73 |
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz |
74 |
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz |
75 |
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz |
76 |
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2 |
77 |
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2 |
78 |
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2 |
79 |
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2 |
80 |
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3-r1.tar.bz2" |
81 |
- |
82 |
-LICENSE="APSL-2" |
83 |
-KEYWORDS="~x64-macos" |
84 |
-IUSE="lto classic test" # tapi is now required |
85 |
-RESTRICT="!test? ( test )" |
86 |
- |
87 |
-# ld64 can now only be compiled using llvm and libc++ since it massively uses |
88 |
-# C++11 language features. *But additionally* the as driver now defaults to |
89 |
-# calling clang as the assembler on many platforms. This can be disabled using |
90 |
-# -Wa,-Q but since it's default we make llvm a static runtime dependency. |
91 |
-RDEPEND="sys-devel/binutils-config |
92 |
- lto? ( app-arch/xar ) |
93 |
- sys-libs/tapi |
94 |
- sys-devel/llvm:* |
95 |
- sys-libs/libcxx" |
96 |
-DEPEND="${RDEPEND} |
97 |
- test? ( >=dev-lang/perl-5.8.8 )" |
98 |
- |
99 |
-SLOT="11" |
100 |
- |
101 |
-S=${WORKDIR} |
102 |
- |
103 |
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } |
104 |
- |
105 |
-llvm_pkg_setup() { |
106 |
- # eclass version will die if no LLVM can be found which will break prefix |
107 |
- # bootstrap |
108 |
- : |
109 |
-} |
110 |
- |
111 |
-src_prepare() { |
112 |
- cd "${S}"/${LD64}/src |
113 |
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h |
114 |
- cp "${S}"/ld64-530-Makefile Makefile |
115 |
- |
116 |
- epatch "${S}"/ld64-530-nolto.patch |
117 |
- epatch "${S}"/ld64-236.3-crashreporter.patch |
118 |
- |
119 |
- # workound llvm-3.9.{0,1} issue |
120 |
- # https://bugs.gentoo.org/show_bug.cgi?id=603580 |
121 |
- # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU |
122 |
- # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html |
123 |
- sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die |
124 |
- |
125 |
- # provide missing headers dyld |
126 |
- mkdir -p include/mach-o || die |
127 |
- # never present because it's private |
128 |
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die |
129 |
- # TARGET_OS_BRIDGE is undefined in TargetConditionals.h of newer MacOSX.sdk. |
130 |
- # We don't target BridgeOS. Disable it to avoid errors when clang adds: |
131 |
- # -Werror,-Wundef-prefix=TARGET_OS_ |
132 |
- sed -i -e 's/#if TARGET_OS_BRIDGE/#if 0/' include/mach-o/dyld_priv.h |
133 |
- |
134 |
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\"" |
135 |
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp |
136 |
- |
137 |
- cd "${S}"/${CCTOOLS} |
138 |
- epatch "${S}"/${PN}-4.5-as.patch |
139 |
- epatch "${S}"/${PN}-5.1-as-dir.patch |
140 |
- epatch "${S}"/${PN}-5.1-ranlib.patch |
141 |
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch |
142 |
- epatch "${S}"/${PN}-3.1.1-no-headers.patch |
143 |
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch |
144 |
- epatch "${S}"/cctools-839-intel-retf.patch |
145 |
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch |
146 |
- epatch "${S}"/${PN}-5.1-strnlen.patch |
147 |
- epatch "${S}"/${PN}-7.3-make-j.patch |
148 |
- epatch "${S}"/${PN}-11.3.1-no-developertools-dir.patch |
149 |
- epatch "${S}"/${PN}-11.3.1-llvm-prefix.patch |
150 |
- epatch "${S}"/${PN}-11.3.1-llvm-shim.patch |
151 |
- epatch "${S}"/${PN}-11.3.1-nolto-fix.patch # bugfix |
152 |
- epatch "${S}"/${PN}-11.3.1-segaddrtable-fix.patch # bugfix |
153 |
- eprefixify libstuff/execute.c |
154 |
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die |
155 |
- |
156 |
- # do not build profileable libstuff to save compile time |
157 |
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile |
158 |
- |
159 |
- # bugfix. args.c not built but args_expand_at is used in misc/libtool.c |
160 |
- sed -i -e "/^CFILES = /s, errors.c , errors.c args.c ," libstuff/Makefile |
161 |
- |
162 |
- # cctools version is provided to make via RC_ProjectSourceVersion which |
163 |
- # generates and compiles it as apple_version[] into libstuff. From |
164 |
- # there it's picked up by the individual tools. Since |
165 |
- # RC_ProjectSourceVersion is also used as library version, we can't |
166 |
- # just append our local version info. So we hack the libstuff Makefile |
167 |
- # to include our Gentoo version. |
168 |
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \ |
169 |
- libstuff/Makefile |
170 |
- |
171 |
- eapply_user |
172 |
- |
173 |
- # clean up test suite |
174 |
- cd "${S}"/${LD64}/unit-tests/test-cases |
175 |
- local c |
176 |
- |
177 |
- # we don't have llvm |
178 |
- ((++c)); rm -rf llvm-integration; |
179 |
- |
180 |
- # we don't have dtrace |
181 |
- ((++c)); rm -rf dtrace-static-probes-coalescing; |
182 |
- ((++c)); rm -rf dtrace-static-probes; |
183 |
- |
184 |
- # a file is missing |
185 |
- ((++c)); rm -rf eh-coalescing-r |
186 |
- |
187 |
- # we don't do universal binaries |
188 |
- ((++c)); rm -rf blank-stubs; |
189 |
- |
190 |
- # looks like a problem with apple's result-filter.pl |
191 |
- ((++c)); rm -rf implicit-common3; |
192 |
- ((++c)); rm -rf order_file-ans; |
193 |
- |
194 |
- # TODO no idea what goes wrong here |
195 |
- ((++c)); rm -rf dwarf-debug-notes; |
196 |
- |
197 |
- einfo "Deleted $c tests that were bound to fail" |
198 |
- |
199 |
- cd "${S}" |
200 |
- ebegin "cleaning Makefiles from unwanted CFLAGS" |
201 |
- find . -name "Makefile" -print0 | xargs -0 sed \ |
202 |
- -i \ |
203 |
- -e 's/ -g / /g' \ |
204 |
- -e 's/"-g /"/g' \ |
205 |
- -e 's/^G =.*$/G =/' \ |
206 |
- -e 's/^OFLAG =.*$/OFLAG =/' \ |
207 |
- -e 's/install -c -s/install/g' |
208 |
- eend $? |
209 |
-} |
210 |
- |
211 |
-src_configure() { |
212 |
- ENABLE_LTO=0 |
213 |
- if use lto ; then |
214 |
- ENABLE_LTO=1 |
215 |
- |
216 |
- LLVM_INCDIR=$(get_llvm_prefix)/include |
217 |
- LLVM_LIBDIR=$(get_llvm_prefix)/lib |
218 |
- |
219 |
- [ -n "${LLVM_INCDIR}" -a -n "${LLVM_LIBDIR}" ] || \ |
220 |
- die "LLVM not found - LTO support can not be enabled" |
221 |
- |
222 |
- # LTO and LLVM support currently both depend only on libLTO being |
223 |
- # present. So we can enable both. |
224 |
- CCTOOLS_LTO_CFLAGS="-DLTO_SUPPORT -I${LLVM_INCDIR}" |
225 |
- CCTOOLS_LLVM_CFLAGS="-DLLVM_SUPPORT -I${LLVM_INCDIR}" |
226 |
- fi |
227 |
- |
228 |
- export CTARGET=${CTARGET:-${CHOST}} |
229 |
- if [[ ${CTARGET} == ${CHOST} ]] ; then |
230 |
- if [[ ${CATEGORY} == cross-* ]] ; then |
231 |
- export CTARGET=${CATEGORY#cross-} |
232 |
- fi |
233 |
- fi |
234 |
- |
235 |
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} |
236 |
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} |
237 |
- if is_cross ; then |
238 |
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV} |
239 |
- else |
240 |
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV} |
241 |
- fi |
242 |
- |
243 |
- export CCTOOLS_CPPFLAGS="${CPPFLAGS}" |
244 |
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is |
245 |
- # what we want). Removed in compile_cctools. |
246 |
- append-cppflags -DNDEBUG |
247 |
- |
248 |
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it. |
249 |
- DERIVED_FILE_DIR=${LD64}/src \ |
250 |
- ${LD64}/src/create_configure |
251 |
-} |
252 |
- |
253 |
-compile_ld64() { |
254 |
- einfo "building ${LD64}" |
255 |
- cd "${S}"/${LD64}/src |
256 |
- emake \ |
257 |
- LTO=${ENABLE_LTO} \ |
258 |
- LTO_INCDIR=${LLVM_INCDIR} \ |
259 |
- LTO_LIBDIR=${LLVM_LIBDIR} \ |
260 |
- TAPI=1 \ |
261 |
- TAPI_LIBDIR="${EPREFIX}"/usr/lib |
262 |
- |
263 |
- use test && emake build_test |
264 |
-} |
265 |
- |
266 |
-compile_cctools() { |
267 |
- einfo "building ${CCTOOLS}" |
268 |
- filter-flags -DNDEBUG |
269 |
- |
270 |
- cd "${S}"/${CCTOOLS} |
271 |
- # Suppress running dsymutil because it will warn about missing debug |
272 |
- # info which is expected when compiling without -g as we normally do. |
273 |
- # This might need some more thought if anyone ever wanted to build us |
274 |
- # for debugging with Apple's tools. |
275 |
- emake \ |
276 |
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \ |
277 |
- EFITOOLS= \ |
278 |
- LTO="${CCTOOLS_LTO_CFLAGS} ${CCTOOLS_LLVM_CFLAGS}" \ |
279 |
- COMMON_SUBDIRS='libstuff ar misc otool' \ |
280 |
- SUBDIRS_32= \ |
281 |
- LEGACY= \ |
282 |
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \ |
283 |
- RC_CFLAGS="${CFLAGS}" \ |
284 |
- OFLAG="${CCTOOLS_OFLAG}" \ |
285 |
- DSYMUTIL=": disabled: dsymutil" |
286 |
- |
287 |
- cd "${S}"/${CCTOOLS}/as |
288 |
- emake \ |
289 |
- BUILD_OBSOLETE_ARCH= \ |
290 |
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \ |
291 |
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \ |
292 |
- OFLAG="${CCTOOLS_OFLAG}" \ |
293 |
- DSYMUTIL=": disabled: dsymutil" |
294 |
-} |
295 |
- |
296 |
-src_compile() { |
297 |
- compile_ld64 |
298 |
- compile_cctools |
299 |
-} |
300 |
- |
301 |
-install_ld64() { |
302 |
- exeinto ${BINPATH} |
303 |
- doexe "${S}"/${LD64}/src/{ld64,dyldinfo,unwinddump,ObjectDump,objcimageinfo,machocheck} |
304 |
- dosym ld64 ${BINPATH}/ld |
305 |
- insinto ${DATAPATH}/man/man1 |
306 |
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,dyldinfo,unwinddump}.1 |
307 |
-} |
308 |
- |
309 |
-install_cctools() { |
310 |
- cd "${S}"/${CCTOOLS} |
311 |
- emake install_all_but_headers \ |
312 |
- EFITOOLS= \ |
313 |
- COMMON_SUBDIRS='ar misc otool' \ |
314 |
- SUBDIRS_32= \ |
315 |
- DSTROOT=\"${D}\" \ |
316 |
- BINDIR=\"${EPREFIX}\"${BINPATH} \ |
317 |
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \ |
318 |
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \ |
319 |
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \ |
320 |
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/ |
321 |
- cd "${S}"/${CCTOOLS}/as |
322 |
- emake install \ |
323 |
- BUILD_OBSOLETE_ARCH= \ |
324 |
- DSTROOT=\"${D}\" \ |
325 |
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \ |
326 |
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \ |
327 |
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} |
328 |
- |
329 |
- # upstream is starting to replace classic binutils with llvm-integrated |
330 |
- # ones. In Xcode, nm and size are now symlinks to llvm-{nm,size} while the |
331 |
- # classic version is preserved as {nm,size}-classic. When asked to do so |
332 |
- # by use classic we statically link to the classic version. |
333 |
- # binutils-bin/<version>/<tool> |
334 |
- # -> binutils-bin/<version>/<tool>-classic |
335 |
- # |
336 |
- # Otherwise we try to find and use the llvm version of the tool. Since our |
337 |
- # binutils do not live in the same directory as the llvm installation and |
338 |
- # llvm tends to move around, we use a shim that tries to find the llvm |
339 |
- # version of the tool in prefix. It will fall back to the classic tool if |
340 |
- # it fails. |
341 |
- # binutils-bin/<version>/<tool> |
342 |
- # -> binutils-bin/<version>/llvm-<tool> |
343 |
- # -> $EPREFIX/usr/lib/llvm/<major/bin/llvm-<tool> |
344 |
- # -> $EPREFIX/usr/bin/llvm-<tool> |
345 |
- # -> binutils-bin/<version>/<tool>-classic |
346 |
- budir=${D}/${EPREFIX}/${BINPATH} |
347 |
- for tool in nm size ; do |
348 |
- use classic && \ |
349 |
- ln -sfn ${tool}-classic "${budir}/${tool}" || \ |
350 |
- ln -sfn llvm-shim "${budir}/${tool}" |
351 |
- done |
352 |
- |
353 |
- # Also, otool is now based on llvm-objdump. But a small wrapper installed |
354 |
- # as llvm-otool remains, providing command line compatibility. |
355 |
- use classic && \ |
356 |
- ln -sfn otool-classic "${budir}/otool" || \ |
357 |
- ln -sfn llvm-otool "${budir}/otool" |
358 |
- |
359 |
- # And finally, although our cctools don't actually contain dsymutil and |
360 |
- # objdump, we provide access to the llvm versions of them via the shim to |
361 |
- # be in line with Xcode. |
362 |
- for tool in objdump dsymutil ; do |
363 |
- ln -sfn llvm-shim "${budir}/${tool}" |
364 |
- done |
365 |
- |
366 |
- cd "${ED}"${BINPATH} |
367 |
- insinto ${DATAPATH}/man/man1 |
368 |
- local skips manpage |
369 |
- # ar brings an up-to-date manpage with it |
370 |
- skips=( ar ) |
371 |
- for bin in *; do |
372 |
- for skip in ${skips[@]}; do |
373 |
- if [[ ${bin} == ${skip} ]]; then |
374 |
- continue 2; |
375 |
- fi |
376 |
- done |
377 |
- manpage=${S}/${CCTOOLS}/man/${bin}.1 |
378 |
- if [[ -f "${manpage}" ]]; then |
379 |
- doins "${manpage}" |
380 |
- fi |
381 |
- done |
382 |
- insinto ${DATAPATH}/man/man5 |
383 |
- doins "${S}"/${CCTOOLS}/man/*.5 |
384 |
-} |
385 |
- |
386 |
-src_test() { |
387 |
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then |
388 |
- einfo "Test suite only works properly with clang - please install" |
389 |
- return |
390 |
- fi |
391 |
- |
392 |
- einfo "Running unit tests" |
393 |
- cd "${S}"/${LD64}/unit-tests/test-cases |
394 |
- # provide the new ld as a symlink to clang so that -ccc-install-dir |
395 |
- # will pick it up |
396 |
- ln -sfn ../../src/ld64 ld |
397 |
- # use our arch command because the System's will report i386 even for an |
398 |
- # x86_64 prefix |
399 |
- perl ../bin/make-recursive.pl \ |
400 |
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \ |
401 |
- ARCH="$(arch)" \ |
402 |
- LD="${S}"/${LD64}/src/ld64 \ |
403 |
- CC="${CC} -ccc-install-dir $PWD" \ |
404 |
- CXX="${CXX} -ccc-install-dir $PWD" \ |
405 |
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \ |
406 |
- | perl ../bin/result-filter.pl |
407 |
-} |
408 |
- |
409 |
-src_install() { |
410 |
- install_ld64 |
411 |
- install_cctools |
412 |
- |
413 |
- cd "${S}" |
414 |
- insinto /etc/env.d/binutils |
415 |
- cat <<-EOF > env.d |
416 |
- TARGET="${CHOST}" |
417 |
- VER="${PV}" |
418 |
- FAKE_TARGETS="${CHOST}" |
419 |
- EOF |
420 |
- newins env.d ${CHOST}-${PV} |
421 |
-} |
422 |
- |
423 |
-pkg_postinst() { |
424 |
- binutils-config ${CHOST}-${PV} |
425 |
-} |
426 |
|
427 |
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild |
428 |
index 3d5c7e8105dc..06e3523c934f 100644 |
429 |
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild |
430 |
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild |
431 |
@@ -1,10 +1,21 @@ |
432 |
-# Copyright 1999-2021 Gentoo Authors |
433 |
+# Copyright 1999-2022 Gentoo Authors |
434 |
# Distributed under the terms of the GNU General Public License v2 |
435 |
|
436 |
EAPI="6" |
437 |
|
438 |
inherit eutils flag-o-matic toolchain-funcs llvm prefix |
439 |
|
440 |
+# versions: |
441 |
+# XCode-11.3.1 ld64-530 cctools-949.0.1 |
442 |
+# XCode-11.2.1 ld64-520 cctools-949.0.1 |
443 |
+# XCode-11.0 ld64-512.4 cctools-949.0.1 |
444 |
+# XCode-8.2.1 ld64-274.2 cctools-895 <== binutils-apple-8.2.1-r1 (2019) |
445 |
+ |
446 |
+# macOS-10.15.6 dyld-750.6 Causes build failures with Xcode-11 tools |
447 |
+# macOS-10.14.4-10.14.6 dyld-655.1.1 Causes build failures with Xcode-11 tools |
448 |
+# macOS-10.13.6 dyld-551.4 |
449 |
+# macOS-10.12.1-10.12.3 dyld-421.2 <== binutils-apple-8.2.1-r1,8.1 |
450 |
+ |
451 |
LD64=ld64-274.2 |
452 |
CCTOOLS_VERSION=895 |
453 |
CCTOOLS=cctools-${CCTOOLS_VERSION} |
454 |
@@ -22,7 +33,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz |
455 |
|
456 |
LICENSE="APSL-2" |
457 |
KEYWORDS="~x64-macos" |
458 |
-IUSE="lto tapi classic test" |
459 |
+IUSE="lto classic test" |
460 |
RESTRICT="!test? ( test )" |
461 |
|
462 |
# ld64 can now only be compiled using llvm and libc++ since it massively uses |
463 |
@@ -31,7 +42,6 @@ RESTRICT="!test? ( test )" |
464 |
# -Wa,-Q but since it's default we make llvm a static runtime dependency. |
465 |
RDEPEND="sys-devel/binutils-config |
466 |
lto? ( app-arch/xar ) |
467 |
- tapi? ( sys-libs/tapi ) |
468 |
sys-devel/llvm:* |
469 |
sys-libs/libcxx" |
470 |
DEPEND="${RDEPEND} |
471 |
@@ -200,7 +210,7 @@ compile_ld64() { |
472 |
LTO=${ENABLE_LTO} \ |
473 |
LTO_INCDIR=${LLVM_INCDIR} \ |
474 |
LTO_LIBDIR=${LLVM_LIBDIR} \ |
475 |
- TAPI=$(use tapi && echo 1 || echo 0) \ |
476 |
+ TAPI=0 \ |
477 |
TAPI_LIBDIR="${EPREFIX}"/usr/lib |
478 |
|
479 |
use test && emake build_test |
480 |
|
481 |
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild |
482 |
index 091e4e5990b4..da5d72becad1 100644 |
483 |
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild |
484 |
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild |
485 |
@@ -1,4 +1,4 @@ |
486 |
-# Copyright 2020-2021 Gentoo Authors |
487 |
+# Copyright 2020-2022 Gentoo Authors |
488 |
# Distributed under the terms of the GNU General Public License v2 |
489 |
|
490 |
EAPI=7 |
491 |
@@ -14,14 +14,12 @@ SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz - |
492 |
LICENSE="APSL-2" |
493 |
SLOT="8" |
494 |
KEYWORDS="~ppc-macos ~x64-macos" |
495 |
-IUSE="tapi" |
496 |
|
497 |
# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep |
498 |
DEPEND="sys-devel/binutils-config |
499 |
|| ( sys-devel/gcc:* sys-devel/clang:* ) |
500 |
app-arch/xar |
501 |
- tapi? ( sys-libs/tapi ) |
502 |
- !tapi? ( dev-libs/libyaml )" |
503 |
+ dev-libs/libyaml" |
504 |
RDEPEND="${DEPEND}" |
505 |
BDEPEND="" |
506 |
|
507 |
@@ -65,7 +63,7 @@ src_configure() { |
508 |
-DXTOOLS_LTO_SUPPORT=NO |
509 |
-DXTOOLS_HAS_LIBPRUNETRIE=YES |
510 |
-DXTOOLS_TAPI_SUPPORT=ON |
511 |
- -DXTOOLS_USE_TAPILITE=$(use tapi && echo OFF || echo ON) |
512 |
+ -DXTOOLS_USE_TAPILITE=ON |
513 |
-DXTOOLS_HOST_IS_64B=$(is-host-64bit) |
514 |
-DXTOOLS_BUGURL="https://bugs.gentoo.org/" |
515 |
) |
516 |
|
517 |
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml |
518 |
index e43e477505d4..481c99bd5bd5 100644 |
519 |
--- a/sys-devel/binutils-apple/metadata.xml |
520 |
+++ b/sys-devel/binutils-apple/metadata.xml |
521 |
@@ -9,6 +9,5 @@ |
522 |
<flag name="lto">Add support for Link-Time Optimization with LLVM</flag> |
523 |
<flag name="classic">Use nm, otool, etc. from this ebuild |
524 |
instead of llvm-based tools</flag> |
525 |
- <flag name="tapi">Build against <pkg>sys-libs/tapi</pkg></flag> |
526 |
</use> |
527 |
</pkgmetadata> |