* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-05-16 15:44 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-05-16 15:44 UTC (permalink / raw
To: gentoo-commits
commit: 7719c819d4a83c94c98b46917fb1647d6db6d619
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon May 16 15:44:16 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon May 16 15:44:39 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7719c819
sys-devel/binutils-apple: add ppc support and updates for testing, bug #582782
Package-Manager: portage-2.2.28
sys-devel/binutils-apple/Manifest | 14 ++
...ple-6.3.ebuild => binutils-apple-4.3-r2.ebuild} | 158 +++++++++---------
...ple-6.3.ebuild => binutils-apple-5.1-r1.ebuild} | 141 +++++++++++------
...ple-6.3.ebuild => binutils-apple-6.1-r1.ebuild} | 138 ++++++++++------
...ple-6.3.ebuild => binutils-apple-6.3-r1.ebuild} | 123 ++++++++------
sys-devel/binutils-apple/binutils-apple-6.3.ebuild | 2 +-
...-apple-6.3.ebuild => binutils-apple-7.0.ebuild} | 175 +++++++++++---------
...-apple-6.3.ebuild => binutils-apple-7.1.ebuild} | 176 ++++++++++++---------
...-apple-6.3.ebuild => binutils-apple-7.2.ebuild} | 175 +++++++++++---------
sys-devel/binutils-apple/metadata.xml | 3 +
10 files changed, 652 insertions(+), 453 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 6133d20..2a8ea37 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,5 +1,10 @@
DIST binutils-apple-3.2-unwind-patches-5.tar.xz 26924 SHA256 65a3b979df5c2033ac34e830d8a77b92b436b6d5707483c619c90a1c2ea46428 SHA512 9f3ec399274060b67c51193029da5af2199c45bf923a2fa513143111cf3f1c899256c993f4927f4da85a21570d0bc9ff0872e663f90284b2cdbb3f609ea8484e WHIRLPOOL 877410e6e0b442df9e9b7cdef51cc28bd636856949ea42ac53e97ebfc41c2f50309a054729d4fc3498d6eccac96170ffb59dd5700237e59684773832218793cc
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 SHA256 a107459f3914d57524e51ec4cb5e800f6715d40003514c79add0b5b4521cf809 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1 WHIRLPOOL c46d2021c85cee46e87871687ca7217169d14061848d12b4fa203db5d76a89969313ce55b345f2ad9fdba65fd39bdd34b146393332566fd539b2bdfc3f1e4304
+DIST binutils-apple-patches-4.3-r0.tar.bz2 36764 SHA256 968753a7de5281d01b01a8d0313bb011e051f0366e9d90e601c77882cb27c606 SHA512 17c7b51c7dbcc6857ab366ef72bd96bf7376ee4ebfed4086f2bafa39b0ae6f22830f2e765e0ff529e2931221444ca926659eeb81db24d7649a086bc660d6f53a WHIRLPOOL b8d11f6b47d0f10ecb57aaac5ab4a147bdf52167fb583f4dfda9dad0799e9386c301185abb7ba9cebb461f4856160f8fa9e7465014d9a181e0c8ee0e003a4b64
+DIST binutils-apple-patches-5.1-r0.tar.bz2 50582 SHA256 41701843d698535797c7e63de97f5f737acd479a1e5eb2d8b80601ac6e3fcf14 SHA512 9e056085c33594e834f456ce0be07b16672141b0219b54de19102862e95e6ec6c491133cf3cd29952a216fbb42257da4f54f2fc00ab521f21d217b21110ac76d WHIRLPOOL 12f533ce8f8c4d2d738cbe1d9d30aedb461ce224b4bdbdac99271f11102f5767c74b0d8821a660f6029ebdb401c05cfe62a80d78dfd7aae5abf0802118e7367f
+DIST binutils-apple-patches-6.1-r0.tar.bz2 42092 SHA256 22515ea8b91551010506f34a188b5934fd9d43e4f5d1dca9db17fac7991a4c18 SHA512 11bdb62729f1bea0fddd3e4c054e714a6f755d36ea83e19af35bfb6c19508056ce214ce7007ee05a4fd52bca94bab81f5e3798225d771e633fd141a0b6b90dad WHIRLPOOL 646d7e9ab2aed76b9c558735e7915b963ed2377eb0f50c6bf7545b7d3a8240fe7502699b518c3252696b073df998fa83dc5b90abfa2ce15f63c0fd1b57d4b1a7
+DIST binutils-apple-patches-6.3-r0.tar.bz2 37915 SHA256 8c71f3e69b8509a0537d670bb552ac93b90e062e81b98db933c4e6c4dfbdeb0e SHA512 58a526458bca075cf4374d100d00268e8842412637d1da82114987d52e1d1206ffe97b915a763412de6b1d93770443bee6c1c93c37cc7fa204dc08cea2736bb9 WHIRLPOOL ebfd148390e216d26f95b34acffc0a3ed858f6fdbb6b1a55eb2e52bf45a3665247364d4a8e53ea6fd2497953d8d87ed9280374c2085fa4f143e3835032819e29
+DIST binutils-apple-patches-7.0-r0.tar.bz2 43065 SHA256 640eaa1fb4cffdbaa986e54f437f67538e54add8b08d10fc3e2efd4a10e95ad6 SHA512 5936616d518262d036172bc2a40e0654322018ebecbd52272eaf4ee298c65157b5e6e993623b2d8dcd56a97d1fd48fa897dbeb259861bd454e81b0ba536edc83 WHIRLPOOL 32527e3f9c640f1620433d880d9726a72da7ad8d63fa8ff91d9004317ab837ff6bbdc68775038e395da8696799d884abd09329c9e6acaf7ab6fb2cf18e24c22e
DIST cctools-698.1.tar.gz 2318018 SHA256 383f1c0c78a2b3efdfdf7ce01adb7e2f8ee9985164dba6ab1c0fae800a211cec SHA512 05e64df9bead958e6035b3cf449a2cb21b19cef10278348ebea8b47816b05a77ebd7f72fd90270400784a231b5d55c8f909653e8177cbe1332d7f7d618453f12 WHIRLPOOL 6ae1244ca97b13378e864609aa62efc4bf028b3e55bfb00cdbf9d20ed6cedd917c64ce337b2635dcabce334b8f994e2558fbda36055b951bf769a21950673e12
DIST cctools-750.tar.gz 1947953 SHA256 188855640da114e37e4ddd4824ff6cdc1ea89dfb6c90a23905c9ca315342f356 SHA512 e2e152a9fb7db47c60fe450e1fc92c6866ab89682c7fdc594b97e419ce93ea1353654bd4419bf3df99d119f554aa0f32993dc645dd7c4680840cd01b7dce2f67 WHIRLPOOL 98e48fca183ee47d138426c65401138954a86abc3b80bfc4c5d105b97b8eb583ae350657f1a7dc1154259d0bcdfe1d60dc0a63409826e9a24b178674a5afdf21
DIST cctools-795.tar.gz 1993795 SHA256 7fab7044b648e92a9fefd493a1bb6daa4246f24c5838d8b5c913a446e6bbd2ef SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254 WHIRLPOOL 2bd074ac8ef8542c2c3df5fae91a0bece2e1c31d6c6c771c55e7c7a3d90929f9a7cd420760dcb5ecffb9dd279abed4ba5ebf840c9e9bb983a806707d735cd735
@@ -8,14 +13,23 @@ DIST cctools-822.tar.gz 2024412 SHA256 dfaa9bdbd023524d47429674f64d2d5ea393123da
DIST cctools-855.tar.gz 1699635 SHA256 751748ddf32c8ea84c175f32792721fa44424dad6acbf163f84f41e9617dbc58 SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f WHIRLPOOL fa493a29e32583f60c3553794bbb6d01a7b5ef797d8e8ba8161c9cbf237906ebbfaff560366da2d5b852bfcbdd55e874c00edf5b3169b16b357a54fcf3c07c4c
DIST cctools-862.tar.gz 1702345 SHA256 1bf29f620b91c901ad3116b47738ab5076c1aed75d13869cd3bc7f067b4aaadb SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a WHIRLPOOL 371307f3264361f5e2e48d83177aff1a8f435cf2bdc1f4998cc5780c5b3760048a29a7620d2390db8f0c9378cd2f3b2f130b6aca9d402e3d428c4f4d353db097
DIST cctools-870.tar.gz 1702965 SHA256 b83f4b4696414b814cc1781ec4b68ff9c7bb97920a68f308351a74e75f41d961 SHA512 8cd16350bc2eea576e3922f44de3d15cfcf492a5561215a3a9160f2045284a2fd0fa28e030686868bae8619993fc8901649d7576c56d86a423f9955b27f65138 WHIRLPOOL 9c99188b0e6e71fc3beef674b977f5f59310410b004c26e85e83b7fe7d48f4499a31b982935c695effaa9130781dc10b9a20633800df361a550cf53fb52ba352
+DIST cctools-877.5.tar.gz 1717664 SHA256 5e7525c86581d9dead8a8508a9e824101765d05a3e14d612de1aa38def9adde9 SHA512 cec8520450c3b1ffe77bd841ad6b8f6b0d28657e7c39ae1525bfe7ec1460c0f4bb394da316e6ed5b08cb5df26b757b9d94a9923cc7eaf9b14315d045ea891062 WHIRLPOOL 30b8c8fad772804a449318b08b7e3362e9a73345a4fe43758216d41f533189dac6a2bee37f1884fc049702f2705fda250767cf3a776956796c270147197920b7
+DIST cctools-877.7.tar.gz 1720523 SHA256 c3809b7604a27db0c0b418fcccd5cad49f002e2a750ec611f92f806521f7ed9e SHA512 5c381fe8b85d1254f660eb3c3510d9e0a49792ae5bb0e69a4dfb5a18e7f1706ee1411589f20583a9d7f12126ef616f66f1ad5c1c4ff405f66b52759c0a4272b5 WHIRLPOOL 2c8e85fd33f183bd074abf90237301eff252ca05aa48a59aea713d263b10e0710d261a5ac01185e9a17d1a391fa025fb91d60df0f3b426140defdbd5536e4bbb
+DIST cctools-877.8.tar.gz 1720708 SHA256 88be2788adf461f1d8278324b0078f6003b2328b6f95a54b16ec6ed1ba651dc2 SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef WHIRLPOOL eea67bacd8037b19ba3efcc2fecfcc74ec3e785ce92628fdeccbeca6e17dee4d1926719a02ca7f68fc2045f9b37571cb044cc29a3a8fe6a5bd704a3446f44945
DIST dyld-195.5.tar.gz 411615 SHA256 2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c SHA512 f316d32f3e417cf0898a8e231df66572d3424765831375863799d3ff30f8e28342ca692426d0ece7a8d069b341a3b9ca79c625edc322d90e3f26f528ea555324 WHIRLPOOL e0e231653ad37ad8fdb7d5fbd372fe1dc34b80e41f7dafa8bb46f4c8fa4f5acb4574f4cd346304dfaca1f074667f381931ca5ff7a7efddaea770fb35d30539dc
DIST dyld-195.6.tar.gz 412518 SHA256 69296e9b4192bdac778ea899fffc18b02be62b51b5e8474b4cf85ae5f2b08aa4 SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5 WHIRLPOOL e37b11d3996559f8a1843577a5fa42f96e4d42419f205276600f0ed79fcd2490da1f8a77eecf29f111b3db62a65e8e9cd77a154e3b389d633a7ac1525273b9b5
DIST dyld-353.2.1.tar.gz 510036 SHA256 051089e284c5a4d671b21b73866abd01d54e5ea1912cadf3a9b916890fb31540 SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f WHIRLPOOL 3164746ed8c866df993f08e405e7e329db427af8eeded681d5fb88031ef2c025363d5bfb647e9315738024adf9f48efacf49226f86f27def584ec7f538da292e
+DIST dyld-360.14.tar.gz 518873 SHA256 c4e011241d75e3fac4dbdfc0049ccf26fb939fea6c0256b6f16036b2e4690c6e SHA512 cfe536ea1f0ad8fbc2846417289e3e36704bf69388e083e0ece0ffa6eeee501e7e9b2ba47eed7be0e5120b5cc72f33b2fc0d2d39ba7a16beaf98db94dfb4ae40 WHIRLPOOL 6ed42fa38f60a84deab0bc9b128f5de232df487613726978be29783ede7eee9b5899472a984d50f44a20c87c1772aeede9b81706000fa66713df34d6e956c88e
+DIST dyld-360.17.tar.gz 518876 SHA256 e137f54d5f7af7512e2e2337248caa0580743db212471de71fd45d3e3e92c68d SHA512 aae2a0ea1f4130de51aa920ce1affa579993b3b58a7d398ec998c0d7ac4919907ba4e508b9bfc15080b1f4f4cf15e4615bc416b6ec32b52a4b5d8fbbad1dc9ab WHIRLPOOL 2c3cc5fe0063b0a6ad1cc77e5ae1204e8bcd23ba732ad775910fe6340a5d908b77d2623fb7fa4eccff20e0e2176405d8d6734b7d60dbba61ccfc58f37009aca7
+DIST dyld-360.18.tar.gz 518957 SHA256 a5bec8c2e3bded111aec7e447b35c110038e822f95e11e55b9a4d331fbaeff08 SHA512 1299bd2dd5cd663917ec4a03ed0f875e0bf07d6680d3d095af12f4b11960c02a52e361bde27ff88843f80832fc6d36654e2556ee0a3ca2259fcded5b568ab2f9 WHIRLPOOL 5b42ea6de3f08b7e0fbad7ea9df512c74fd4bceecf859683297d0cb8998d642ea3a0597ef488dcbf42a75064a07a528baf63c957d36174fddff34d6e6c7502d8
DIST ld64-127.2.tar.gz 496975 SHA256 97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 SHA512 a87181eca9307518aa21fc52a4d665c11ad51106c318c229d7f08650228f771484fd0b8c01c63639d577503aa9bc86d0792a3524643dc18cff19c3754aed9fc8 WHIRLPOOL 94f58da977da3d2d0c5a907a7d2c02e4a0d8323d04b8429d133e377b8495b0d344eec93dd1baaf369aa0a1517c7666cbef1d98d3cc6e8fd5d51c9622a2edcdf1
DIST ld64-128.2.tar.gz 494361 SHA256 96a912464e2d4d3d7cdaab0744003b0fa93d139f203c82867f659ee94b4ae9f7 SHA512 f50a3c396e6f4fddc685bb3f59f9a260bd2f47060535d24259b2b411e4f759e48daa35819da682ad9bceaa1b9a1981eb34716387d988cdc4b7eec9ab2169726e WHIRLPOOL 78dec40124ae11c80483b362860b01c833fcaff67bae6b6cb3b72371daffdf3be809186f5daca4bb6ace77441cb43168939eb60eedf9f8c05ae3ec644c2a0502
DIST ld64-236.3.tar.gz 624400 SHA256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6 SHA512 e103fc5efd4d4161c7dc55b1ad53aebd455cfcd72de7873ebfdf5ba896b7b0da9c9aeb12e1e1a76425768ac1dc85d864a4ce33b5b841ba115eeab96a2e2965aa WHIRLPOOL d122e325518860c810b9efde7016ebecb6b59c56bb40ae1f041a840be764a5d9b90c7db1922fd9037c18f4caae7ace0d395591ffb3db704c87b92837ef997a17
DIST ld64-241.9.tar.gz 639944 SHA256 3594e87c626c3b5abab6470cac6f27b367f1efcee60eb3d0f6b6d4ecf9b24230 SHA512 6958e7064f4fd8b47501225fc4cbc6292e5da63d7f4103ad79add177ef7382c8de3c732f14d19a9c11356b8070f578392383caccc3795e2ab8ef7b7ddbde88da WHIRLPOOL 5b07a336efde52b00b2601866907513517593a113583f05a9c45b98b4d6f394d87add887a7e44a95f462b6c2b5617ce497376b94a523e5cdf0f69d4d10ef3407
DIST ld64-242.tar.gz 641597 SHA256 bec1a5e20b599d108be0017736833c1f6212ea26c67f20d8437abc5d23433c36 SHA512 bde2eee69ada7f81d5e97762c371661f304372d5461da4bd843c76d0abcab518193fa71b917850af2022e586a756a3624a0ad28debfa8de6777e3c255d83dd34 WHIRLPOOL d4c54f2a145386fd90a8a12f08010e31a84912c5f11e4a48e08497f282449cc9eb053855f302cf0353035bb2a6513aaed92737ab60c8b3a6bb3a1af626adf475
+DIST ld64-253.3.tar.gz 671087 SHA256 76c02f6f297c251b66504e1115946bda6e1618640bc6cf03d0ad99b17bd8a5d6 SHA512 ce2c86f2f37ee37bd417315ba51815707b0ca6f24da06819fd1b2d0b4fe0762e45a08c3faf2c0c980e4913c9cbfbf6c8185f9a6810cfa1d9dad231b5bb276081 WHIRLPOOL 7e168bb6dc1474d26da77ca6afde1b591781eb5c0a7a50530b334e4ed6dc0206a2d047375d7d924aa05ccc0912ec8ee966874a9324c66820c454ebd173d1520e
+DIST ld64-253.6.tar.gz 671838 SHA256 7fbae5e88ac1420480de8a495dcd3b876d399278bfce9ffbef7d54334dd80b4a SHA512 40b29e273ed3d69e4f92593cadea831fd618452d3f05e30c0b836ffc05db61fd345cb2f6d63271563c786ecabd47f19f8369456cbe6422800117a53c654a98c6 WHIRLPOOL b687166038f0ad3dd65a623c91aa7204025ab371b90d5be57fff3bf8f8d89df93aaf8d781fd3a950ced4deab667917a379ad5ac479d25fb00644a02950c118cd
+DIST ld64-253.9.tar.gz 673388 SHA256 8fa3a1b65f665824ac129c02e2fab8926a06e503ec277ea32cd8bc27c8de11c3 SHA512 a52b081295c19f28858f8ee47c05249bba3e15cc8bb6f7017d9f6dcf7509cdacef7a4b16b3940cd0b1f72b3b67efb503ab2e3801b31e50cda1d34c6bc8df8dcf WHIRLPOOL 07e850984d2ff24637a64d76860799136e63af56dc2740f8d1e1bd3311ae3f33eac902e7850f94555407002d0d16f44d4a276470f54e60a0633169b884b7dfc1
DIST ld64-85.2.1.tar.gz 598524 SHA256 4bcbcbdfd62efdc46c51700b8f5dae2cbd1638e9e50f649d5c7f242d32fca804 SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999 WHIRLPOOL 7c50f462eb41808b57ea06b82bdf576460bddb4150abe7a678af541aa0b179105d994a2b6fd10152481aa28acc903265160945b4aae9dcfce0a1a1cfe4b9460a
DIST ld64-97.17.tar.gz 421947 SHA256 02bd46af0809eaa415d096d7d41c3e8e7d80f7d8d181840866fb87f036b4e089 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6 WHIRLPOOL 7225b44d845b13c6b6d1a685170f2b6e15b81c48320fa3b570771938ed457a59452e80873996a4b2712a8f6813486063afd73acf979a97d823afb3d510d74678
DIST libunwind-30.tar.gz 82811 SHA256 6ac97d18cc2b05e6de1269bf5af03b81948bd2200dae827527f3dc618b82bd41 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f WHIRLPOOL c3caf5ba593cffa2f0a9cdb256f518524e9500eaf0a013c4973dc9881b16efa0c388e70407bbed1fd331f100af2da01ddeee12d33b3afc1213d69c32ab5e1d0b
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
similarity index 70%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 663c668..00c71a8 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -1,35 +1,36 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="5"
+EAPI="3"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-128.2
+CCTOOLS_VERSION=822
CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
+CCTOOLS_HEADERS=cctools-855
+LIBUNWIND=libunwind-30
+DYLD=dyld-195.6
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
+#KEYWORDS="~x64-macos ~x86-macos" # needs more work, bug 582782
+IUSE="lto test multitarget"
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
- libcxx? ( sys-libs/libcxx )"
+ lto? ( sys-devel/llvm )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )"
export CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -40,9 +41,9 @@ fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
if is_cross ; then
- SLOT="${CTARGET}-6"
+ SLOT="${CTARGET}-4"
else
- SLOT="6"
+ SLOT="4"
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
@@ -57,21 +58,34 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-128.2-Makefile-3 Makefile
+ epatch "${S}"/ld64-127.2-lto.patch
+ epatch "${S}"/ld64-128.2-stdlib.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-128.2-1010.patch
+ epatch "${S}"/ld64-128.2-ppc.patch
+
+ # We used to use our own copy of lto.h, which doesn't require llvm
+ # build-env. Current versions of llvm provide
+ # $EPREFIX/usr/include/llvm-c/lto.h as well as
+ # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +103,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,21 +113,28 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.0-as.patch
+ epatch "${S}"/${PN}-4.2-as-dir.patch
+ epatch "${S}"/${PN}-3.2.3-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-nmedit.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/${PN}-4.2-lto.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-4.3-makefile-target-warning.patch
+ epatch "${S}"/${PN}-4.3-lto-prefix.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+ # __darwin_i386_float_state missing on <= 10.4
+ cp -a ../${CCTOOLS_HEADERS}/include/mach/i386 include/mach
# do not build profileable libstuff to save compile time
sed -i -e "/^all:/s, profile , ," libstuff/Makefile
@@ -165,35 +186,13 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
-
- if [[ ${CXX} == *clang* ]] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
CCTOOLS_OFLAG=
if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
# cctools expect to use UNIX03 struct member names.
@@ -202,20 +201,22 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ cat <<EOF > ${LD64}/src/configure.h
+#define DEFAULT_MACOSX_MIN_VERSION "${MACOSX_DEPLOYMENT_TARGET}"
+#define SUPPORT_ARCH_arm_any 1
+EOF
+
+ use multitarget && cat <<EOF >> ${LD64}/src/configure.h
+#define SUPPORT_ARCH_ppc 1
+EOF
+#define SUPPORT_ARCH_ppc64 1
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
emake \
- LTO=${LD64_LTO} \
+ LTO=${ENABLE_LTO} \
|| die "emake failed for ld64"
use test && emake build_test
}
@@ -224,22 +225,16 @@ compile_cctools() {
einfo "building ${CCTOOLS}"
cd "${S}"/${CCTOOLS}
# -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
+ ENABLE_LTO="${ENABLE_LTO}" \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
RC_CFLAGS="${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
- DSYMUTIL=": disabled: dsymutil" \
-j1 \
|| die "emake failed for the cctools"
cd "${S}"/${CCTOOLS}/as
@@ -248,7 +243,6 @@ compile_cctools() {
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
|| die "emake failed for as"
}
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
similarity index 69%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 663c668..fd83590 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="5"
+EAPI="3"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-236.3
+CCTOOLS_VERSION=855
CCTOOLS=cctools-${CCTOOLS_VERSION}
LIBUNWIND=libunwind-35.3
DYLD=dyld-353.2.1
@@ -17,11 +17,13 @@ HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
lto? ( sys-devel/llvm )
@@ -40,9 +42,9 @@ fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
if is_cross ; then
- SLOT="${CTARGET}-6"
+ SLOT="${CTARGET}-5"
else
- SLOT="6"
+ SLOT="5"
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
@@ -57,21 +59,43 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-236.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-236.3-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-arm64-fixup.patch
+ epatch "${S}"/ld64-241.9-arm64-cputype.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-236.3-nosnapshots.patch
+ epatch "${S}"/ld64-236.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-236.3-gcc-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
+
+ # We used to use our own copy of lto.h, which doesn't require llvm
+ # build-env. Current versions of llvm provide
+ # $EPREFIX/usr/include/llvm-c/lto.h as well as
+ # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +113,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +123,29 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/${PN}-5.1-nolto.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-6.3-lto-prefix.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,14 +198,10 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
- if [[ ${CXX} == *clang* ]] ; then
+ if [ "${CXX/*clang*/yes}" = "yes" ] ; then
if use libcxx ; then
append-cxxflags -stdlib=libc++
CXXLIB=-stdlib=libc++
@@ -202,20 +231,32 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
emake \
- LTO=${LD64_LTO} \
+ LTO=${ENABLE_LTO} \
|| die "emake failed for ld64"
use test && emake build_test
}
@@ -231,7 +272,7 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
+ ENABLE_LTO=${ENABLE_LTO} \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
similarity index 69%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index 663c668..24cb641 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="5"
+EAPI="3"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-241.9
+CCTOOLS_VERSION=862
CCTOOLS=cctools-${CCTOOLS_VERSION}
LIBUNWIND=libunwind-35.3
DYLD=dyld-353.2.1
@@ -17,11 +17,14 @@ HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
lto? ( sys-devel/llvm )
@@ -57,21 +60,43 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-236.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-236.3-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-241.9-arm64-cputype.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-241.9-nosnapshots.patch
+ epatch "${S}"/ld64-241.9-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-gcc-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-241.9-lto-noremarks.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
+
+ # We used to use our own copy of lto.h, which doesn't require llvm
+ # build-env. Current versions of llvm provide
+ # $EPREFIX/usr/include/llvm-c/lto.h as well as
+ # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +114,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +124,29 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/${PN}-5.1-nolto.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-6.3-lto-prefix.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,14 +199,10 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
- if [[ ${CXX} == *clang* ]] ; then
+ if [ "${CXX/*clang*/yes}" = "yes" ] ; then
if use libcxx ; then
append-cxxflags -stdlib=libc++
CXXLIB=-stdlib=libc++
@@ -202,20 +232,32 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
emake \
- LTO=${LD64_LTO} \
+ LTO=${ENABLE_LTO} \
|| die "emake failed for ld64"
use test && emake build_test
}
@@ -231,7 +273,7 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
+ ENABLE_LTO=${ENABLE_LTO} \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
similarity index 72%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 663c668..1b61176 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -17,11 +17,15 @@ HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
lto? ( sys-devel/llvm )
@@ -57,21 +61,36 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-236.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-236.3-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-241.9-nosnapshots.patch
+ epatch "${S}"/ld64-242-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-242-gcc-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +108,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +118,28 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-6.3-lto-prefix.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,12 +192,8 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
if [[ ${CXX} == *clang* ]] ; then
if use libcxx ; then
@@ -202,20 +225,32 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
emake \
- LTO=${LD64_LTO} \
+ LTO=${ENABLE_LTO} \
|| die "emake failed for ld64"
use test && emake build_test
}
@@ -231,7 +266,7 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
+ ENABLE_LTO="${ENABLE_LTO}" \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
index 663c668..99999f6 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
similarity index 64%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index 663c668..f44a4bc 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -6,30 +6,43 @@ EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-253.3
+CCTOOLS_VERSION=877.5
CCTOOLS=cctools-${CCTOOLS_VERSION}
LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
+DYLD=dyld-360.14
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
-
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+
+# Also, llvm lto and disassembler interfaces are now widely used in cctools.
+# Since we cannot compile with gcc any more and every llvm since 3.4 has
+# provided those interfaces, we no longer support disabling them. That
+# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
- libcxx? ( sys-libs/libcxx )"
+ app-arch/xar
+ sys-devel/llvm
+ sys-libs/libcxx"
DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ test? ( >=dev-lang/perl-5.8.8 )"
export CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -40,9 +53,9 @@ fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
if is_cross ; then
- SLOT="${CTARGET}-6"
+ SLOT="${CTARGET}-7"
else
- SLOT="6"
+ SLOT="7"
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
@@ -57,21 +70,35 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +116,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +126,29 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,27 +201,6 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
-
- if [[ ${CXX} == *clang* ]] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
-
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
@@ -202,21 +217,31 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
- emake \
- LTO=${LD64_LTO} \
- || die "emake failed for ld64"
+ emake || die "emake failed for ld64"
use test && emake build_test
}
@@ -231,14 +256,12 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
RC_CFLAGS="${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
DSYMUTIL=": disabled: dsymutil" \
-j1 \
|| die "emake failed for the cctools"
@@ -246,7 +269,7 @@ compile_cctools() {
emake \
BUILD_OBSOLETE_ARCH= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
DSYMUTIL=": disabled: dsymutil" \
|| die "emake failed for as"
@@ -322,8 +345,8 @@ src_test() {
BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
ARCH="$(arch)" \
LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
| perl ../bin/result-filter.pl
}
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
similarity index 64%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index 663c668..f8e1772 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -6,30 +6,44 @@ EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-253.6
+CCTOOLS_VERSION=877.7
CCTOOLS=cctools-${CCTOOLS_VERSION}
LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
+DYLD=dyld-360.17
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
-LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
+LICENSE="APSL-2"
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+
+# Also, llvm lto and disassembler interfaces are now widely used in cctools.
+# Since we cannot compile with gcc any more and every llvm since 3.4 has
+# provided those interfaces, we no longer support disabling them. That
+# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
- libcxx? ( sys-libs/libcxx )"
+ app-arch/xar
+ sys-devel/llvm
+ sys-libs/libcxx"
DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ test? ( >=dev-lang/perl-5.8.8 )"
export CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -40,9 +54,9 @@ fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
if is_cross ; then
- SLOT="${CTARGET}-6"
+ SLOT="${CTARGET}-7"
else
- SLOT="6"
+ SLOT="7"
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
@@ -57,21 +71,35 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +117,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +127,29 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,27 +202,6 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
-
- if [[ ${CXX} == *clang* ]] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
-
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
@@ -202,21 +218,31 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
- emake \
- LTO=${LD64_LTO} \
- || die "emake failed for ld64"
+ emake || die "emake failed for ld64"
use test && emake build_test
}
@@ -231,14 +257,12 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
RC_CFLAGS="${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
DSYMUTIL=": disabled: dsymutil" \
-j1 \
|| die "emake failed for the cctools"
@@ -246,7 +270,7 @@ compile_cctools() {
emake \
BUILD_OBSOLETE_ARCH= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
DSYMUTIL=": disabled: dsymutil" \
|| die "emake failed for as"
@@ -322,8 +346,8 @@ src_test() {
BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
ARCH="$(arch)" \
LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
| perl ../bin/result-filter.pl
}
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
similarity index 64%
copy from sys-devel/binutils-apple/binutils-apple-6.3.ebuild
copy to sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index 663c668..275f184 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -6,30 +6,43 @@ EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
-LD64=ld64-242
-CCTOOLS_VERSION=870
+LD64=ld64-253.9
+CCTOOLS_VERSION=877.8
CCTOOLS=cctools-${CCTOOLS_VERSION}
LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
+DYLD=dyld-360.18
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz"
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto test libcxx"
-
+#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+IUSE="test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+
+# Also, llvm lto and disassembler interfaces are now widely used in cctools.
+# Since we cannot compile with gcc any more and every llvm since 3.4 has
+# provided those interfaces, we no longer support disabling them. That
+# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
- libcxx? ( sys-libs/libcxx )"
+ app-arch/xar
+ sys-devel/llvm
+ sys-libs/libcxx"
DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ test? ( >=dev-lang/perl-5.8.8 )"
export CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -40,9 +53,9 @@ fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
if is_cross ; then
- SLOT="${CTARGET}-6"
+ SLOT="${CTARGET}-7"
else
- SLOT="6"
+ SLOT="7"
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
@@ -57,21 +70,35 @@ fi
S=${WORKDIR}
src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
cd "${S}"/${LD64}/src
- cp "${FILESDIR}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${FILESDIR}"/ld64-236.3-Makefile Makefile
-
- epatch "${FILESDIR}"/ld64-236.3-nolto.patch
- epatch "${FILESDIR}"/ld64-241.9-extraneous-includes.patch
- epatch "${FILESDIR}"/ld64-241.9-atomic-volatile.patch
- epatch "${FILESDIR}"/ld64-236.3-crashreporter.patch
- epatch "${FILESDIR}"/ld64-242-gcc.patch
- epatch "${FILESDIR}"/ld64-236.3-constant-types.patch
- epatch "${FILESDIR}"/ld64-241.9-nosnapshots.patch
- epatch "${FILESDIR}"/ld64-242-noarm.patch
- epatch "${FILESDIR}"/ld64-241.9-register-names.patch
- epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch
- epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-2 Makefile
+
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
@@ -89,7 +116,7 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
# mimic OS X Leopard-style Availability.h macros for libunwind.h on
# older systems
@@ -99,20 +126,29 @@ src_prepare() {
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
cd "${S}"/${CCTOOLS}
- epatch "${FILESDIR}"/${PN}-4.5-as.patch
- epatch "${FILESDIR}"/${PN}-5.1-as-dir.patch
- epatch "${FILESDIR}"/${PN}-5.1-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
- epatch "${FILESDIR}"/cctools-839-intel-retf.patch
- epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch
- epatch "${FILESDIR}"/${PN}-5.1-otool-stdc.patch
- epatch "${FILESDIR}"/${PN}-5.1-constant-types.patch
- epatch "${FILESDIR}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
@@ -165,27 +201,6 @@ src_prepare() {
}
src_configure() {
- CCTOOLS_LTO=
- LD64_LTO=0
- if use lto ; then
- CCTOOLS_LTO="-DLTO_SUPPORT"
- LD64_LTO=1
- fi
-
- if [[ ${CXX} == *clang* ]] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
-
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
@@ -202,21 +217,31 @@ src_configure() {
CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
fi
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- # RC_SUPPORTED_ARCHS="i386 x86_64 x86_64h armv6 ..." can be used to
- # override architectures (there are more arms to add) but we configure
- # with the default to be in line with Xcode's ld.
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="" \
- ${LD64}/src/create_configure
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
}
compile_ld64() {
einfo "building ${LD64}"
cd "${S}"/${LD64}/src
- emake \
- LTO=${LD64_LTO} \
- || die "emake failed for ld64"
+ emake || die "emake failed for ld64"
use test && emake build_test
}
@@ -231,14 +256,12 @@ compile_cctools() {
emake \
LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
EFITOOLS= \
- LTO="${CCTOOLS_LTO}" \
COMMON_SUBDIRS='libstuff ar misc otool' \
SUBDIRS_32= \
LEGACY= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
RC_CFLAGS="${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
DSYMUTIL=": disabled: dsymutil" \
-j1 \
|| die "emake failed for the cctools"
@@ -246,7 +269,7 @@ compile_cctools() {
emake \
BUILD_OBSOLETE_ARCH= \
RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
OFLAG="${CCTOOLS_OFLAG}" \
DSYMUTIL=": disabled: dsymutil" \
|| die "emake failed for as"
@@ -322,8 +345,8 @@ src_test() {
BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
ARCH="$(arch)" \
LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
| perl ../bin/result-filter.pl
}
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml
index de816dd..2b36ce1 100644
--- a/sys-devel/binutils-apple/metadata.xml
+++ b/sys-devel/binutils-apple/metadata.xml
@@ -8,5 +8,8 @@
<use>
<flag name="lto">Add support for Link-Time Optimization with LLVM</flag>
<flag name="libcxx">Add support for libcxx</flag>
+ <flag name="multitarget">Compile for non-standard target
+ architectures (ppc and ppc64) -- experimental, Gentoo
+ only</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-05-16 19:11 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-05-16 19:11 UTC (permalink / raw
To: gentoo-commits
commit: 7b1a18d8df86708bfafd5fb2c9aae4704a4a0f2a
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon May 16 19:11:16 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon May 16 19:11:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b1a18d8
sys-devel/binutils-apple: bump patchsets for missing patches
Package-Manager: portage-2.2.28
sys-devel/binutils-apple/Manifest | 10 +++++-----
sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 8 ++++----
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 10 +++++-----
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 12 ++++++------
8 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 2a8ea37..73e57ad 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,10 +1,10 @@
DIST binutils-apple-3.2-unwind-patches-5.tar.xz 26924 SHA256 65a3b979df5c2033ac34e830d8a77b92b436b6d5707483c619c90a1c2ea46428 SHA512 9f3ec399274060b67c51193029da5af2199c45bf923a2fa513143111cf3f1c899256c993f4927f4da85a21570d0bc9ff0872e663f90284b2cdbb3f609ea8484e WHIRLPOOL 877410e6e0b442df9e9b7cdef51cc28bd636856949ea42ac53e97ebfc41c2f50309a054729d4fc3498d6eccac96170ffb59dd5700237e59684773832218793cc
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 SHA256 a107459f3914d57524e51ec4cb5e800f6715d40003514c79add0b5b4521cf809 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1 WHIRLPOOL c46d2021c85cee46e87871687ca7217169d14061848d12b4fa203db5d76a89969313ce55b345f2ad9fdba65fd39bdd34b146393332566fd539b2bdfc3f1e4304
-DIST binutils-apple-patches-4.3-r0.tar.bz2 36764 SHA256 968753a7de5281d01b01a8d0313bb011e051f0366e9d90e601c77882cb27c606 SHA512 17c7b51c7dbcc6857ab366ef72bd96bf7376ee4ebfed4086f2bafa39b0ae6f22830f2e765e0ff529e2931221444ca926659eeb81db24d7649a086bc660d6f53a WHIRLPOOL b8d11f6b47d0f10ecb57aaac5ab4a147bdf52167fb583f4dfda9dad0799e9386c301185abb7ba9cebb461f4856160f8fa9e7465014d9a181e0c8ee0e003a4b64
-DIST binutils-apple-patches-5.1-r0.tar.bz2 50582 SHA256 41701843d698535797c7e63de97f5f737acd479a1e5eb2d8b80601ac6e3fcf14 SHA512 9e056085c33594e834f456ce0be07b16672141b0219b54de19102862e95e6ec6c491133cf3cd29952a216fbb42257da4f54f2fc00ab521f21d217b21110ac76d WHIRLPOOL 12f533ce8f8c4d2d738cbe1d9d30aedb461ce224b4bdbdac99271f11102f5767c74b0d8821a660f6029ebdb401c05cfe62a80d78dfd7aae5abf0802118e7367f
-DIST binutils-apple-patches-6.1-r0.tar.bz2 42092 SHA256 22515ea8b91551010506f34a188b5934fd9d43e4f5d1dca9db17fac7991a4c18 SHA512 11bdb62729f1bea0fddd3e4c054e714a6f755d36ea83e19af35bfb6c19508056ce214ce7007ee05a4fd52bca94bab81f5e3798225d771e633fd141a0b6b90dad WHIRLPOOL 646d7e9ab2aed76b9c558735e7915b963ed2377eb0f50c6bf7545b7d3a8240fe7502699b518c3252696b073df998fa83dc5b90abfa2ce15f63c0fd1b57d4b1a7
-DIST binutils-apple-patches-6.3-r0.tar.bz2 37915 SHA256 8c71f3e69b8509a0537d670bb552ac93b90e062e81b98db933c4e6c4dfbdeb0e SHA512 58a526458bca075cf4374d100d00268e8842412637d1da82114987d52e1d1206ffe97b915a763412de6b1d93770443bee6c1c93c37cc7fa204dc08cea2736bb9 WHIRLPOOL ebfd148390e216d26f95b34acffc0a3ed858f6fdbb6b1a55eb2e52bf45a3665247364d4a8e53ea6fd2497953d8d87ed9280374c2085fa4f143e3835032819e29
-DIST binutils-apple-patches-7.0-r0.tar.bz2 43065 SHA256 640eaa1fb4cffdbaa986e54f437f67538e54add8b08d10fc3e2efd4a10e95ad6 SHA512 5936616d518262d036172bc2a40e0654322018ebecbd52272eaf4ee298c65157b5e6e993623b2d8dcd56a97d1fd48fa897dbeb259861bd454e81b0ba536edc83 WHIRLPOOL 32527e3f9c640f1620433d880d9726a72da7ad8d63fa8ff91d9004317ab837ff6bbdc68775038e395da8696799d884abd09329c9e6acaf7ab6fb2cf18e24c22e
+DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 SHA256 0abb41301034903452084f13566d912976a8d8845dfe37564e727c9dba9bb130 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5 WHIRLPOOL eca7f9c2cd0e0c35978824c7ae591844ee5f88522db0747ed7d4e37e73bec076dadb3a2e017de7ee6cf2564a8363f4848b0cac36117a6dfd918b4514ad14e843
+DIST binutils-apple-patches-5.1-r1.tar.bz2 50957 SHA256 d2b4d4216e2eb02055d2d6a24a1d52363c193812fda6d215e1a802a714b917b8 SHA512 28cda5298f399441cd8ecf9ae704101242f04777d09d4db71ad9b915f06a4ebe392ff0a21c2846b598dec78a5359dc42f5706f78740d2e0e56afc0f1472d4c10 WHIRLPOOL 439a27398a3ea6fa95211d063f2ca1c30982bef5bb0d54c4c13024715498e67630f7e8f4ca9bc2e6f7814e24e00bde33dde4265374495aa3faf0300e3a337658
+DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 SHA256 8efc006a59a589d498cd0a745e3096f6e0387031a69b0583b94f8ff943bdd10a SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3 WHIRLPOOL 80fa76ed8c8f60908ac12b4a2d252d8ec1ae6d418f3e20faa6e1905f6d6284dae74d9d82190d02fdd2690ce572c7e97cf38e9e4b88089beaf8962b6162616b20
+DIST binutils-apple-patches-6.3-r1.tar.bz2 37951 SHA256 3a5f647eea58f37c091fc7358ee8b8a36de75a5ea826b50e4de1507d31540c79 SHA512 07262f4cb621d7afa240c4d81f80eb1a2adf486b60eb480fe283235eac12167f8efa0a462bf9d0036226aa5e6a5382f9f74420ba3269bc260d0a48d0e4442578 WHIRLPOOL 37429146254f62bb3b67b63551ae7c759131d117ee98a3a9e465b2765550378487d425c435ac7e37f20a0259a536dec7b66851bae1c680c9c25a117a4921ced9
+DIST binutils-apple-patches-7.0-r1.tar.bz2 43705 SHA256 e016615294167a539c716094ee595c37d7e11a44e76c6aeadb4d9e6bd14622fb SHA512 a25570062628979e23d73ce9dfd0a9bbb4237fdac472a30f2ec564a9bc9afa7d91d8d8b5bf460d16344677f817b55154394608d74c937f0b1fc6dda64f538266 WHIRLPOOL 2b9b2db3c5e81c26bc6857e2b9b38ae487e3c34e58e2180d84e26762bea287f82d290633efe0d9c4b531b4167782487e260963ff8bc4f2775c23a36c9fe3a0ba
DIST cctools-698.1.tar.gz 2318018 SHA256 383f1c0c78a2b3efdfdf7ce01adb7e2f8ee9985164dba6ab1c0fae800a211cec SHA512 05e64df9bead958e6035b3cf449a2cb21b19cef10278348ebea8b47816b05a77ebd7f72fd90270400784a231b5d55c8f909653e8177cbe1332d7f7d618453f12 WHIRLPOOL 6ae1244ca97b13378e864609aa62efc4bf028b3e55bfb00cdbf9d20ed6cedd917c64ce337b2635dcabce334b8f994e2558fbda36055b951bf769a21950673e12
DIST cctools-750.tar.gz 1947953 SHA256 188855640da114e37e4ddd4824ff6cdc1ea89dfb6c90a23905c9ca315342f356 SHA512 e2e152a9fb7db47c60fe450e1fc92c6866ab89682c7fdc594b97e419ce93ea1353654bd4419bf3df99d119f554aa0f32993dc645dd7c4680840cd01b7dce2f67 WHIRLPOOL 98e48fca183ee47d138426c65401138954a86abc3b80bfc4c5d105b97b8eb583ae350657f1a7dc1154259d0bcdfe1d60dc0a63409826e9a24b178674a5afdf21
DIST cctools-795.tar.gz 1993795 SHA256 7fab7044b648e92a9fefd493a1bb6daa4246f24c5838d8b5c913a446e6bbd2ef SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254 WHIRLPOOL 2bd074ac8ef8542c2c3df5fae91a0bece2e1c31d6c6c771c55e7c7a3d90929f9a7cd420760dcb5ecffb9dd279abed4ba5ebf840c9e9bb983a806707d735cd735
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 00c71a8..df763c4 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -20,10 +20,10 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # needs more work, bug 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="lto test multitarget"
RDEPEND="sys-devel/binutils-config
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index fd83590..09aac00 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -18,8 +18,8 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2"
LICENSE="APSL-2"
#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index 24cb641..ee0aa19 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -18,12 +18,12 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 1b61176..788da96 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -18,13 +18,13 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index f44a4bc..a904490 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -18,14 +18,14 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="test multitarget"
# ld64 can now only be compiled using llvm and libc++ since it massivley uses
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index f8e1772..a5fc7d8 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -18,15 +18,15 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="test multitarget"
# ld64 can now only be compiled using llvm and libc++ since it massivley uses
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index 275f184..ef4a45d 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -18,14 +18,14 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="test multitarget"
# ld64 can now only be compiled using llvm and libc++ since it massivley uses
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-05-20 16:15 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-05-20 16:15 UTC (permalink / raw
To: gentoo-commits
commit: 48af45f1951001115df0abd34cf6e79bb0812872
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri May 20 16:15:10 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri May 20 16:15:10 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48af45f1
sys-devel/binutils-apple: update 5.1 patchset to apply, re-enable, bug #582782
Package-Manager: portage-2.2.28
sys-devel/binutils-apple/Manifest | 2 +-
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 6 +++---
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 2 +-
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 2 +-
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 2 +-
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 2 +-
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 2 +-
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 73e57ad..711ba52 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,7 +1,7 @@
DIST binutils-apple-3.2-unwind-patches-5.tar.xz 26924 SHA256 65a3b979df5c2033ac34e830d8a77b92b436b6d5707483c619c90a1c2ea46428 SHA512 9f3ec399274060b67c51193029da5af2199c45bf923a2fa513143111cf3f1c899256c993f4927f4da85a21570d0bc9ff0872e663f90284b2cdbb3f609ea8484e WHIRLPOOL 877410e6e0b442df9e9b7cdef51cc28bd636856949ea42ac53e97ebfc41c2f50309a054729d4fc3498d6eccac96170ffb59dd5700237e59684773832218793cc
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 SHA256 a107459f3914d57524e51ec4cb5e800f6715d40003514c79add0b5b4521cf809 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1 WHIRLPOOL c46d2021c85cee46e87871687ca7217169d14061848d12b4fa203db5d76a89969313ce55b345f2ad9fdba65fd39bdd34b146393332566fd539b2bdfc3f1e4304
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 SHA256 0abb41301034903452084f13566d912976a8d8845dfe37564e727c9dba9bb130 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5 WHIRLPOOL eca7f9c2cd0e0c35978824c7ae591844ee5f88522db0747ed7d4e37e73bec076dadb3a2e017de7ee6cf2564a8363f4848b0cac36117a6dfd918b4514ad14e843
-DIST binutils-apple-patches-5.1-r1.tar.bz2 50957 SHA256 d2b4d4216e2eb02055d2d6a24a1d52363c193812fda6d215e1a802a714b917b8 SHA512 28cda5298f399441cd8ecf9ae704101242f04777d09d4db71ad9b915f06a4ebe392ff0a21c2846b598dec78a5359dc42f5706f78740d2e0e56afc0f1472d4c10 WHIRLPOOL 439a27398a3ea6fa95211d063f2ca1c30982bef5bb0d54c4c13024715498e67630f7e8f4ca9bc2e6f7814e24e00bde33dde4265374495aa3faf0300e3a337658
+DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 SHA256 fa179acf848b3cb4f888d8f8154dffec2737e06bb7002daa8d317ad0bdf02f49 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8 WHIRLPOOL 8cd1b1730b7df31d2324c8c5f23d9b7e11ffb85284cbc1f6f6ee0290304789c405b878d207821dae997420382dd39aa943fcd1fe78ae8135fc238589f429b55f
DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 SHA256 8efc006a59a589d498cd0a745e3096f6e0387031a69b0583b94f8ff943bdd10a SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3 WHIRLPOOL 80fa76ed8c8f60908ac12b4a2d252d8ec1ae6d418f3e20faa6e1905f6d6284dae74d9d82190d02fdd2690ce572c7e97cf38e9e4b88089beaf8962b6162616b20
DIST binutils-apple-patches-6.3-r1.tar.bz2 37951 SHA256 3a5f647eea58f37c091fc7358ee8b8a36de75a5ea826b50e4de1507d31540c79 SHA512 07262f4cb621d7afa240c4d81f80eb1a2adf486b60eb480fe283235eac12167f8efa0a462bf9d0036226aa5e6a5382f9f74420ba3269bc260d0a48d0e4442578 WHIRLPOOL 37429146254f62bb3b67b63551ae7c759131d117ee98a3a9e465b2765550378487d425c435ac7e37f20a0259a536dec7b66851bae1c680c9c25a117a4921ced9
DIST binutils-apple-patches-7.0-r1.tar.bz2 43705 SHA256 e016615294167a539c716094ee595c37d7e11a44e76c6aeadb4d9e6bd14622fb SHA512 a25570062628979e23d73ce9dfd0a9bbb4237fdac472a30f2ec564a9bc9afa7d91d8d8b5bf460d16344677f817b55154394608d74c937f0b1fc6dda64f538266 WHIRLPOOL 2b9b2db3c5e81c26bc6857e2b9b38ae487e3c34e58e2180d84e26762bea287f82d290633efe0d9c4b531b4167782487e260963ff8bc4f2775c23a36c9fe3a0ba
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 09aac00..397aaa6 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -19,10 +19,10 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2"
LICENSE="APSL-2"
-#KEYWORDS="~x64-macos ~x86-macos" # in progress 582782
+KEYWORDS="~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
@@ -145,7 +145,7 @@ src_prepare() {
epatch "${S}"/${PN}-5.1-ppc.patch
epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-6.3-lto-prefix.patch
+ epatch "${S}"/${PN}-5.1-lto-prefix.patch
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
# do not build profileable libstuff to save compile time
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index ee0aa19..f588fad 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2"
LICENSE="APSL-2"
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 788da96..abf6a25 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index a904490..3994a76 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index a5fc7d8..85fa258 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index ef4a45d..b705276 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-07-10 17:32 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-07-10 17:32 UTC (permalink / raw
To: gentoo-commits
commit: 5e648a50f95c170bd0dc3983e93adf96e1c8e037
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 17:30:30 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 17:30:30 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e648a50
sys-devel/binutils-apple: fix LTO for 7.x series, thanks Michael Weiser, bug #587622
Package-Manager: portage-2.2.28
sys-devel/binutils-apple/Manifest | 6 +
.../binutils-apple/binutils-apple-7.0-r1.ebuild | 373 ++++++++++++++++++++
.../binutils-apple/binutils-apple-7.1-r1.ebuild | 374 ++++++++++++++++++++
.../binutils-apple/binutils-apple-7.2-r1.ebuild | 374 ++++++++++++++++++++
.../binutils-apple/binutils-apple-7.3.1.ebuild | 390 +++++++++++++++++++++
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 390 +++++++++++++++++++++
6 files changed, 1907 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 711ba52..6b5b191 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -5,6 +5,9 @@ DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 SHA256 fa179acf848b3cb4f888d8f8
DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 SHA256 8efc006a59a589d498cd0a745e3096f6e0387031a69b0583b94f8ff943bdd10a SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3 WHIRLPOOL 80fa76ed8c8f60908ac12b4a2d252d8ec1ae6d418f3e20faa6e1905f6d6284dae74d9d82190d02fdd2690ce572c7e97cf38e9e4b88089beaf8962b6162616b20
DIST binutils-apple-patches-6.3-r1.tar.bz2 37951 SHA256 3a5f647eea58f37c091fc7358ee8b8a36de75a5ea826b50e4de1507d31540c79 SHA512 07262f4cb621d7afa240c4d81f80eb1a2adf486b60eb480fe283235eac12167f8efa0a462bf9d0036226aa5e6a5382f9f74420ba3269bc260d0a48d0e4442578 WHIRLPOOL 37429146254f62bb3b67b63551ae7c759131d117ee98a3a9e465b2765550378487d425c435ac7e37f20a0259a536dec7b66851bae1c680c9c25a117a4921ced9
DIST binutils-apple-patches-7.0-r1.tar.bz2 43705 SHA256 e016615294167a539c716094ee595c37d7e11a44e76c6aeadb4d9e6bd14622fb SHA512 a25570062628979e23d73ce9dfd0a9bbb4237fdac472a30f2ec564a9bc9afa7d91d8d8b5bf460d16344677f817b55154394608d74c937f0b1fc6dda64f538266 WHIRLPOOL 2b9b2db3c5e81c26bc6857e2b9b38ae487e3c34e58e2180d84e26762bea287f82d290633efe0d9c4b531b4167782487e260963ff8bc4f2775c23a36c9fe3a0ba
+DIST binutils-apple-patches-7.0-r2.tar.bz2 50934 SHA256 5be8cf3ed268bb413ffd05aff91a74a138c5ee92f3cad7c1bcafb4abd957ce8d SHA512 c7c8f50fad0507228336b6144b8be3e70df07d64f1df617bfd9cd717a095c49cd9555c441cde7d24bbe2d179ab8763e4f6ab1074dd6c5532b80a1bbb4f13a244 WHIRLPOOL 35e735356ee72161b0f69ea12ca3ae6745dcea18f8bcba62adbe8c189da9ddf0595bbd837c21acecf0a32a6a50a998c80a2cc3088e63b64655c6f0d0949e05c8
+DIST binutils-apple-patches-7.2-r0.tar.bz2 2917 SHA256 8fa3c64c840aefb71c32fc0294ce6c2b0cf058a5e7f624d736dac6b8c1f44287 SHA512 ca2fc2da88144fbf01f34f1664e6177105a5d1bff956e83f6c7cd530b8e80dcd59b0c921ad95d3c4554e02909bcd846d3a2a4535bf47569b343c85e765619821 WHIRLPOOL 9ba63b8407f6015dd8cca48bea474c375cf90047a138fac8aef800622a780bfcc98910cc46781aea72a2b9803e7cd86c3ea35cfe9fa33bba8813499cc8b91c2c
+DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 SHA256 18a9484b53225004ccd37d34d0e208e3a716f73831f4a433be211f233d855fb1 SHA512 6b092c586ac4c3a3c65229a7490f93b0f0d38348e5a2db4f73d6062c737007ee0a5b6bdb5948b7aac1d74d32442fa501ba92161a9ffe13151288432c6a706c43 WHIRLPOOL ef159c24cd1e53538f73aac805e06d14775f82921b1e8a10919981dbec0017d0c70ada0e80ea6135cca5551ccfb38f229df666bcb2e692880d6a23d380d39801
DIST cctools-698.1.tar.gz 2318018 SHA256 383f1c0c78a2b3efdfdf7ce01adb7e2f8ee9985164dba6ab1c0fae800a211cec SHA512 05e64df9bead958e6035b3cf449a2cb21b19cef10278348ebea8b47816b05a77ebd7f72fd90270400784a231b5d55c8f909653e8177cbe1332d7f7d618453f12 WHIRLPOOL 6ae1244ca97b13378e864609aa62efc4bf028b3e55bfb00cdbf9d20ed6cedd917c64ce337b2635dcabce334b8f994e2558fbda36055b951bf769a21950673e12
DIST cctools-750.tar.gz 1947953 SHA256 188855640da114e37e4ddd4824ff6cdc1ea89dfb6c90a23905c9ca315342f356 SHA512 e2e152a9fb7db47c60fe450e1fc92c6866ab89682c7fdc594b97e419ce93ea1353654bd4419bf3df99d119f554aa0f32993dc645dd7c4680840cd01b7dce2f67 WHIRLPOOL 98e48fca183ee47d138426c65401138954a86abc3b80bfc4c5d105b97b8eb583ae350657f1a7dc1154259d0bcdfe1d60dc0a63409826e9a24b178674a5afdf21
DIST cctools-795.tar.gz 1993795 SHA256 7fab7044b648e92a9fefd493a1bb6daa4246f24c5838d8b5c913a446e6bbd2ef SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254 WHIRLPOOL 2bd074ac8ef8542c2c3df5fae91a0bece2e1c31d6c6c771c55e7c7a3d90929f9a7cd420760dcb5ecffb9dd279abed4ba5ebf840c9e9bb983a806707d735cd735
@@ -16,6 +19,7 @@ DIST cctools-870.tar.gz 1702965 SHA256 b83f4b4696414b814cc1781ec4b68ff9c7bb97920
DIST cctools-877.5.tar.gz 1717664 SHA256 5e7525c86581d9dead8a8508a9e824101765d05a3e14d612de1aa38def9adde9 SHA512 cec8520450c3b1ffe77bd841ad6b8f6b0d28657e7c39ae1525bfe7ec1460c0f4bb394da316e6ed5b08cb5df26b757b9d94a9923cc7eaf9b14315d045ea891062 WHIRLPOOL 30b8c8fad772804a449318b08b7e3362e9a73345a4fe43758216d41f533189dac6a2bee37f1884fc049702f2705fda250767cf3a776956796c270147197920b7
DIST cctools-877.7.tar.gz 1720523 SHA256 c3809b7604a27db0c0b418fcccd5cad49f002e2a750ec611f92f806521f7ed9e SHA512 5c381fe8b85d1254f660eb3c3510d9e0a49792ae5bb0e69a4dfb5a18e7f1706ee1411589f20583a9d7f12126ef616f66f1ad5c1c4ff405f66b52759c0a4272b5 WHIRLPOOL 2c8e85fd33f183bd074abf90237301eff252ca05aa48a59aea713d263b10e0710d261a5ac01185e9a17d1a391fa025fb91d60df0f3b426140defdbd5536e4bbb
DIST cctools-877.8.tar.gz 1720708 SHA256 88be2788adf461f1d8278324b0078f6003b2328b6f95a54b16ec6ed1ba651dc2 SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef WHIRLPOOL eea67bacd8037b19ba3efcc2fecfcc74ec3e785ce92628fdeccbeca6e17dee4d1926719a02ca7f68fc2045f9b37571cb044cc29a3a8fe6a5bd704a3446f44945
+DIST cctools-886.tar.gz 1731850 SHA256 f3a4fa7dad4a54d862b1d9f48e3dfb25fc532c9cf46a041cf8134694328a8878 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b WHIRLPOOL 91a09d3c773f0aede36de548310879a1ad4158f39e9d4d91b4e1a9460d31acdcab5c658113381742512861c6281661dea7fd8273d7146ac6838088d1435ebe2f
DIST dyld-195.5.tar.gz 411615 SHA256 2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c SHA512 f316d32f3e417cf0898a8e231df66572d3424765831375863799d3ff30f8e28342ca692426d0ece7a8d069b341a3b9ca79c625edc322d90e3f26f528ea555324 WHIRLPOOL e0e231653ad37ad8fdb7d5fbd372fe1dc34b80e41f7dafa8bb46f4c8fa4f5acb4574f4cd346304dfaca1f074667f381931ca5ff7a7efddaea770fb35d30539dc
DIST dyld-195.6.tar.gz 412518 SHA256 69296e9b4192bdac778ea899fffc18b02be62b51b5e8474b4cf85ae5f2b08aa4 SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5 WHIRLPOOL e37b11d3996559f8a1843577a5fa42f96e4d42419f205276600f0ed79fcd2490da1f8a77eecf29f111b3db62a65e8e9cd77a154e3b389d633a7ac1525273b9b5
DIST dyld-353.2.1.tar.gz 510036 SHA256 051089e284c5a4d671b21b73866abd01d54e5ea1912cadf3a9b916890fb31540 SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f WHIRLPOOL 3164746ed8c866df993f08e405e7e329db427af8eeded681d5fb88031ef2c025363d5bfb647e9315738024adf9f48efacf49226f86f27def584ec7f538da292e
@@ -30,6 +34,8 @@ DIST ld64-242.tar.gz 641597 SHA256 bec1a5e20b599d108be0017736833c1f6212ea26c67f2
DIST ld64-253.3.tar.gz 671087 SHA256 76c02f6f297c251b66504e1115946bda6e1618640bc6cf03d0ad99b17bd8a5d6 SHA512 ce2c86f2f37ee37bd417315ba51815707b0ca6f24da06819fd1b2d0b4fe0762e45a08c3faf2c0c980e4913c9cbfbf6c8185f9a6810cfa1d9dad231b5bb276081 WHIRLPOOL 7e168bb6dc1474d26da77ca6afde1b591781eb5c0a7a50530b334e4ed6dc0206a2d047375d7d924aa05ccc0912ec8ee966874a9324c66820c454ebd173d1520e
DIST ld64-253.6.tar.gz 671838 SHA256 7fbae5e88ac1420480de8a495dcd3b876d399278bfce9ffbef7d54334dd80b4a SHA512 40b29e273ed3d69e4f92593cadea831fd618452d3f05e30c0b836ffc05db61fd345cb2f6d63271563c786ecabd47f19f8369456cbe6422800117a53c654a98c6 WHIRLPOOL b687166038f0ad3dd65a623c91aa7204025ab371b90d5be57fff3bf8f8d89df93aaf8d781fd3a950ced4deab667917a379ad5ac479d25fb00644a02950c118cd
DIST ld64-253.9.tar.gz 673388 SHA256 8fa3a1b65f665824ac129c02e2fab8926a06e503ec277ea32cd8bc27c8de11c3 SHA512 a52b081295c19f28858f8ee47c05249bba3e15cc8bb6f7017d9f6dcf7509cdacef7a4b16b3940cd0b1f72b3b67efb503ab2e3801b31e50cda1d34c6bc8df8dcf WHIRLPOOL 07e850984d2ff24637a64d76860799136e63af56dc2740f8d1e1bd3311ae3f33eac902e7850f94555407002d0d16f44d4a276470f54e60a0633169b884b7dfc1
+DIST ld64-264.3.101.tar.gz 681491 SHA256 2882f0c104334bdba8eb64cd3a9f9059ceca4d4e0c08473506a926d53c9ef218 SHA512 ffa37af95f1a6e76829d0ac8badfd0236d93dc2f9988c7f4b88fe271b7b02a4b5553402a1e9a49feed9da4d04a50e2a2cacdb1bd4c04ecbef09d68b85a2e8a6a WHIRLPOOL cdc466a24fdbc2bf3756d73f89f91d26fec21d8004a2e77804e2b678a9da08afe83bb5aa9fb4548496feb3d9180c3d2521a8d5329b875ed76d4e3a0ea231d5be
+DIST ld64-264.3.102.tar.gz 681509 SHA256 307f73678a3e5c9ed4d1bcf77da7399d84efac32916c5df6cd477c3b5c36f953 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0 WHIRLPOOL 509774429d498c4a070a54798715776eddf2b8ef70a99dd4250d60144efa2d4a6a324914112556435709beb614172dd45b860f3963b0da9a0825cb0756bcd719
DIST ld64-85.2.1.tar.gz 598524 SHA256 4bcbcbdfd62efdc46c51700b8f5dae2cbd1638e9e50f649d5c7f242d32fca804 SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999 WHIRLPOOL 7c50f462eb41808b57ea06b82bdf576460bddb4150abe7a678af541aa0b179105d994a2b6fd10152481aa28acc903265160945b4aae9dcfce0a1a1cfe4b9460a
DIST ld64-97.17.tar.gz 421947 SHA256 02bd46af0809eaa415d096d7d41c3e8e7d80f7d8d181840866fb87f036b4e089 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6 WHIRLPOOL 7225b44d845b13c6b6d1a685170f2b6e15b81c48320fa3b570771938ed457a59452e80873996a4b2712a8f6813486063afd73acf979a97d823afb3d510d74678
DIST libunwind-30.tar.gz 82811 SHA256 6ac97d18cc2b05e6de1269bf5af03b81948bd2200dae827527f3dc618b82bd41 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f WHIRLPOOL c3caf5ba593cffa2f0a9cdb256f518524e9500eaf0a013c4973dc9881b16efa0c388e70407bbed1fd331f100af2da01ddeee12d33b3afc1213d69c32ab5e1d0b
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
new file mode 100644
index 0000000..0606643
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -0,0 +1,373 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-253.3
+CCTOOLS_VERSION=877.5
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+LIBUNWIND=libunwind-35.3
+DYLD=dyld-360.14
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+if is_cross ; then
+ SLOT="${CTARGET}-7"
+else
+ SLOT="7"
+fi
+
+LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+INCPATH=${LIBPATH}/include
+DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+fi
+
+S=${WORKDIR}
+
+src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-3 Makefile
+
+ epatch "${S}"/ld64-253.3-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ # mimic OS X Leopard-style Availability.h macros for libunwind.h on
+ # older systems
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
+ echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-7.0-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-7.0-nolto.patch
+ epatch "${S}"/${PN}-7.0-nollvm.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Block API and thus snapshots supported on >= 10.6
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
+ append-cppflags -DSUPPORT_SNAPSHOTS
+
+ CCTOOLS_OFLAG=
+ if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
+ # cctools expect to use UNIX03 struct member names.
+ # This is default on > 10.4. Activate it on <= 10.4 by defining
+ # __DARWIN_UNIX03 explicitly.
+ CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
+ fi
+
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
new file mode 100644
index 0000000..f588ce7
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -0,0 +1,374 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-253.6
+CCTOOLS_VERSION=877.7
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+LIBUNWIND=libunwind-35.3
+DYLD=dyld-360.17
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+if is_cross ; then
+ SLOT="${CTARGET}-7"
+else
+ SLOT="7"
+fi
+
+LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+INCPATH=${LIBPATH}/include
+DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+fi
+
+S=${WORKDIR}
+
+src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-3 Makefile
+
+ epatch "${S}"/ld64-253.3-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ # mimic OS X Leopard-style Availability.h macros for libunwind.h on
+ # older systems
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
+ echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-7.0-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-7.0-nolto.patch
+ epatch "${S}"/${PN}-7.0-nollvm.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Block API and thus snapshots supported on >= 10.6
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
+ append-cppflags -DSUPPORT_SNAPSHOTS
+
+ CCTOOLS_OFLAG=
+ if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
+ # cctools expect to use UNIX03 struct member names.
+ # This is default on > 10.4. Activate it on <= 10.4 by defining
+ # __DARWIN_UNIX03 explicitly.
+ CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
+ fi
+
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
new file mode 100644
index 0000000..e251faf
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -0,0 +1,374 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-253.9
+CCTOOLS_VERSION=877.8
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+LIBUNWIND=libunwind-35.3
+DYLD=dyld-360.18
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+if is_cross ; then
+ SLOT="${CTARGET}-7"
+else
+ SLOT="7"
+fi
+
+LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+INCPATH=${LIBPATH}/include
+DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+fi
+
+S=${WORKDIR}
+
+src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-253.3-Makefile-3 Makefile
+
+ epatch "${S}"/ld64-253.9-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-253.3-nosnapshots.patch
+ epatch "${S}"/ld64-253.3-ppc.patch
+ epatch "${S}"/ld64-236.3-constant-types-2.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-253.3-make_pair.patch
+ epatch "${S}"/ld64-253.3-delete-warning.patch
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ # mimic OS X Leopard-style Availability.h macros for libunwind.h on
+ # older systems
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
+ echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-7.0-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-7.0-nolto.patch
+ epatch "${S}"/${PN}-7.0-nollvm.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Block API and thus snapshots supported on >= 10.6
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
+ append-cppflags -DSUPPORT_SNAPSHOTS
+
+ CCTOOLS_OFLAG=
+ if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
+ # cctools expect to use UNIX03 struct member names.
+ # This is default on > 10.4. Activate it on <= 10.4 by defining
+ # __DARWIN_UNIX03 explicitly.
+ CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
+ fi
+
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
new file mode 100644
index 0000000..68ecb9f
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -0,0 +1,390 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-264.3.102
+CCTOOLS_VERSION=886
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+LIBUNWIND=libunwind-35.3
+DYLD=dyld-360.18
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+if is_cross ; then
+ SLOT="${CTARGET}-7"
+else
+ SLOT="7"
+fi
+
+LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+INCPATH=${LIBPATH}/include
+DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+fi
+
+S=${WORKDIR}
+
+src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-264.3.101-Makefile Makefile
+
+ epatch "${S}"/ld64-264.3.101-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-264.3.101-nosnapshots.patch
+ epatch "${S}"/ld64-264.3.101-ppc.patch
+ epatch "${S}"/ld64-264.3.101-constant-types.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ # mimic OS X Leopard-style Availability.h macros for libunwind.h on
+ # older systems
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
+ echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-7.3-nolto.patch
+ epatch "${S}"/${PN}-7.3-nollvm.patch
+ epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Block API and thus snapshots supported on >= 10.6
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
+ append-cppflags -DSUPPORT_SNAPSHOTS
+
+ CCTOOLS_OFLAG=
+ if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
+ # cctools expect to use UNIX03 struct member names.
+ # This is default on > 10.4. Activate it on <= 10.4 by defining
+ # __DARWIN_UNIX03 explicitly.
+ CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
+ fi
+
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
+ # version is preserved as {nm,size}-classic. (BTW: otool is a symlink to
+ # otool-classic for now but a wrapper llvm-otool that is calling
+ # llvm-objdump is present already.)
+ # Since our binutils do not live in the same directory as the llvm
+ # installation, we have to rewrite the symlinks to the llvm tools.
+ # This also means, that these tools still appear to be versioned via
+ # binutils-config but actually always run the currently installed llvm
+ # tool.
+ for tool in nm size ; do
+ # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
+ # -> ${EPREFIX}/bin/llvm-$tool
+ ln -sfn ../../../bin/llvm-$tool "${D}/${EPREFIX}/${BINPATH}/$tool"
+ done
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
new file mode 100644
index 0000000..89e17b0
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
@@ -0,0 +1,390 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-264.3.101
+CCTOOLS_VERSION=886
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+LIBUNWIND=libunwind-35.3
+DYLD=dyld-360.18
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto test multitarget"
+
+# ld64 can now only be compiled using llvm and libc++ since it massivley uses
+# C++11 language fatures. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+if is_cross ; then
+ SLOT="${CTARGET}-7"
+else
+ SLOT="7"
+fi
+
+LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+INCPATH=${LIBPATH}/include
+DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+fi
+
+S=${WORKDIR}
+
+src_prepare() {
+ if use multitarget ; then
+ ewarn "You have enabled support for non-standard target architectures"
+ ewarn "using USE=multitarget. This includes experimental support for"
+ ewarn "ppc and ppc64 which is a community forward-port from the last"
+ ewarn "version of ld64 to officially support PPC."
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
+ ewarn "the actual usability of your Gentoo programs will depend on the"
+ ewarn "above-mentioned experimental PPC support in the linker. Be"
+ ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
+ fi
+ fi
+
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-264.3.101-Makefile Makefile
+
+ epatch "${S}"/ld64-264.3.101-nolto.patch
+ epatch "${S}"/ld64-241.9-extraneous-includes.patch
+ epatch "${S}"/ld64-241.9-osatomic.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-264.3.101-nosnapshots.patch
+ epatch "${S}"/ld64-264.3.101-ppc.patch
+ epatch "${S}"/ld64-264.3.101-constant-types.patch
+ epatch "${S}"/ld64-241.9-register-names.patch
+ epatch "${S}"/ld64-241.9-get-comm-align.patch
+ epatch "${S}"/ld64-241.9-cc_md5.patch
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ # mimic OS X Leopard-style Availability.h macros for libunwind.h on
+ # older systems
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
+ echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+ epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
+ epatch "${S}"/ld64-127.2-thread_state.patch
+ fi
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ #epatch "${S}"/${PN}-5.1-otool-stdc.patch
+ epatch "${S}"/${PN}-5.1-constant-types.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-5.1-ppc.patch
+ epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-7.3-nolto.patch
+ epatch "${S}"/${PN}-7.3-nollvm.patch
+ epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Block API and thus snapshots supported on >= 10.6
+ [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
+ append-cppflags -DSUPPORT_SNAPSHOTS
+
+ CCTOOLS_OFLAG=
+ if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
+ # cctools expect to use UNIX03 struct member names.
+ # This is default on > 10.4. Activate it on <= 10.4 by defining
+ # __DARWIN_UNIX03 explicitly.
+ CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
+ fi
+
+ # if compiling with USE multitarget, extract all the known arches from
+ # create_configure and pass them back to it
+ creco=${LD64}/src/create_configure
+ ARCHS_TO_SUPPORT=""
+ if use multitarget ; then
+ ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
+ cut -d\" -f2 | tr ',' ' ')"
+ fi
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ $creco
+
+ # do not depend on MachOFileAbstraction.hpp to define
+ # SUPPORT_ARCH_arm_any because that's not included by every file where
+ # our ppc/arm-optional patch uses it, ld.hpp in particular
+ grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
+ echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
+ # version is preserved as {nm,size}-classic. (BTW: otool is a symlink to
+ # otool-classic for now but a wrapper llvm-otool that is calling
+ # llvm-objdump is present already.)
+ # Since our binutils do not live in the same directory as the llvm
+ # installation, we have to rewrite the symlinks to the llvm tools.
+ # This also means, that these tools still appear to be versioned via
+ # binutils-config but actually always run the currently installed llvm
+ # tool.
+ for tool in nm size ; do
+ # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
+ # -> ${EPREFIX}/bin/llvm-$tool
+ ln -sfn ../../../bin/llvm-$tool "${D}/${EPREFIX}/${BINPATH}/$tool"
+ done
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-07-10 21:59 Patrick Lauer
0 siblings, 0 replies; 42+ messages in thread
From: Patrick Lauer @ 2016-07-10 21:59 UTC (permalink / raw
To: gentoo-commits
commit: 01643912b0d016df798ab6d20d37aa349ff6fe98
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 21:58:57 2016 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 21:58:57 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01643912
sys-devel/binutils-apple: Whitespace
Package-Manager: portage-2.3.0
sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild | 1 -
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 1 -
2 files changed, 2 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 6e49c5a..a56e1b0 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -24,7 +24,6 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
-
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test multitarget"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index fc8e6be..10bb084 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -24,7 +24,6 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
-
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="test multitarget"
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-09-10 14:08 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-09-10 14:08 UTC (permalink / raw
To: gentoo-commits
commit: 8ac25df019a480ca19dc0913ba7810148eb5a221
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 14:07:57 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 14:08:15 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ac25df0
sys-devel/binutils-apple: remove cross-compile SLOT magic once copied from binutils/toolchain.eclass, bug #593392
Package-Manager: portage-2.2.28
sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 6 +-----
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 6 +-----
12 files changed, 12 insertions(+), 60 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 15692ec..7fc3013 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -40,11 +40,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-4"
-else
- SLOT="4"
-fi
+SLOT="4"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 9e3d115..58c2d4e 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -41,11 +41,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-5"
-else
- SLOT="5"
-fi
+SLOT="5"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index b85a90c..99e5309 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -42,11 +42,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-6"
-else
- SLOT="6"
-fi
+SLOT="6"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 75fdff2..da9d320 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -43,11 +43,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-6"
-else
- SLOT="6"
-fi
+SLOT="6"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index 017df46..dfa6214 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -47,11 +47,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index 0cd3df8..0227bb2 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -52,11 +52,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index a56e1b0..82bc725 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -47,11 +47,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index 10bb084..3840d04 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -52,11 +52,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index e1886af..abd7401 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -48,11 +48,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index 82a9a7a..d064f41 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -52,11 +52,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 733b6af..70febd4 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -49,11 +49,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
index 6828f5a..e177c38 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
@@ -49,11 +49,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-if is_cross ; then
- SLOT="${CTARGET}-7"
-else
- SLOT="7"
-fi
+SLOT="7"
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-09-10 14:40 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-09-10 14:40 UTC (permalink / raw
To: gentoo-commits
commit: 49925c0dd0a4ab8599c955244cee2d0764cc08e9
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 14:38:28 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 14:40:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49925c0d
sys-devel/binutils-apple: bump to EAPI=5 and remove all conditional code from global scope, bug #593392
Package-Manager: portage-2.2.28
.../binutils-apple/binutils-apple-4.3-r2.ebuild | 37 +++++++++++-----------
.../binutils-apple/binutils-apple-5.1-r1.ebuild | 37 +++++++++++-----------
.../binutils-apple/binutils-apple-6.1-r1.ebuild | 37 +++++++++++-----------
.../binutils-apple/binutils-apple-6.3-r1.ebuild | 35 ++++++++++----------
.../binutils-apple/binutils-apple-7.0-r1.ebuild | 35 ++++++++++----------
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 35 ++++++++++----------
.../binutils-apple/binutils-apple-7.1-r1.ebuild | 35 ++++++++++----------
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 35 ++++++++++----------
.../binutils-apple/binutils-apple-7.2-r1.ebuild | 35 ++++++++++----------
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 35 ++++++++++----------
.../binutils-apple/binutils-apple-7.3.1.ebuild | 35 ++++++++++----------
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 35 ++++++++++----------
12 files changed, 219 insertions(+), 207 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 7fc3013..a03dbc3 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
@@ -32,27 +32,12 @@ DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
|| ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="4"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -185,6 +170,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 58c2d4e..682f644 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
@@ -33,27 +33,12 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
libcxx? ( sys-devel/llvm )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="5"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -197,6 +182,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
if [ "${CXX/*clang*/yes}" = "yes" ] ; then
if use libcxx ; then
append-cxxflags -stdlib=libc++
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index 99e5309..9743fd4 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
@@ -34,27 +34,12 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
libcxx? ( sys-devel/llvm )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="6"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -198,6 +183,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
if [ "${CXX/*clang*/yes}" = "yes" ] ; then
if use libcxx ; then
append-cxxflags -stdlib=libc++
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index da9d320..e3022aa 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -35,27 +35,12 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
libcxx? ( sys-devel/llvm )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="6"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -191,6 +176,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
if [[ ${CXX} == *clang* ]] ; then
if use libcxx ; then
append-cxxflags -stdlib=libc++
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index dfa6214..b6ea3cd 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -39,27 +39,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -198,6 +183,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index 0227bb2..9191605 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -44,27 +44,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -197,6 +182,22 @@ src_prepare() {
}
src_configure() {
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 82bc725..66a8329 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -39,27 +39,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -198,6 +183,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index 3840d04..60ef905 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -44,27 +44,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -201,6 +186,22 @@ src_configure() {
# what we want)
append-cppflags -DNDEBUG
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# Block API and thus snapshots supported on >= 10.6
[[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
append-cppflags -DSUPPORT_SNAPSHOTS
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index abd7401..0cdd484 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -40,27 +40,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -199,6 +184,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index d064f41..9973a8b 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -44,27 +44,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -201,6 +186,22 @@ src_configure() {
# what we want)
append-cppflags -DNDEBUG
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# Block API and thus snapshots supported on >= 10.6
[[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
append-cppflags -DSUPPORT_SNAPSHOTS
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 70febd4..55be112 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -41,27 +41,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -199,6 +184,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
index e177c38..db27567 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
@@ -41,27 +41,12 @@ RDEPEND="sys-devel/binutils-config
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
SLOT="7"
-LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
-INCPATH=${LIBPATH}/include
-DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
-if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
-else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
-fi
-
S=${WORKDIR}
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
src_prepare() {
if use multitarget ; then
ewarn "You have enabled support for non-standard target architectures"
@@ -199,6 +184,22 @@ src_configure() {
ENABLE_LTO=0
use lto && ENABLE_LTO=1
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
# what we want)
append-cppflags -DNDEBUG
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-12-15 15:01 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-12-15 15:01 UTC (permalink / raw
To: gentoo-commits
commit: 19e5c502181d50f98769ad4ccd896e4974f5a2ad
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 15:00:53 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 15:01:05 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19e5c502
sys-devel/binutils-apple: fix 7.3.1 on case-sensitive filesystems, bug #601804
Package-Manager: portage-2.3.0
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 55be112..ec675e4 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -30,8 +30,8 @@ LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test multitarget"
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
+# ld64 can now only be compiled using llvm and libc++ since it massively uses
+# C++11 language features. *But additionally* the as driver now defaults to
# calling clang as the assembler on many platforms. This can be disabled using
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
@@ -65,6 +65,8 @@ src_prepare() {
cd "${S}"/${LD64}/src
cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
cp "${S}"/ld64-264.3.101-Makefile Makefile
+ # provide right file for case-sensitive filesystems, bug #601804
+ ( cd ld && ln -s {B,b}itcode.hpp >& /dev/null )
epatch "${S}"/ld64-264.3.101-nolto.patch
epatch "${S}"/ld64-241.9-extraneous-includes.patch
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2016-12-22 7:44 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2016-12-22 7:44 UTC (permalink / raw
To: gentoo-commits
commit: 267510dce9fa26401385a5bfa0f7fe8415b80729
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 07:44:17 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 07:44:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=267510dc
sys-devel/binutils-apple: properly fix case-mismatch, bug #601804
Package-Manager: portage-2.3.0
sys-devel/binutils-apple/Manifest | 1 +
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 5 ++---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 96e0594..9ec3416 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -6,6 +6,7 @@ DIST binutils-apple-patches-7.0-r1.tar.bz2 43705 SHA256 e016615294167a539c716094
DIST binutils-apple-patches-7.0-r2.tar.bz2 50934 SHA256 5be8cf3ed268bb413ffd05aff91a74a138c5ee92f3cad7c1bcafb4abd957ce8d SHA512 c7c8f50fad0507228336b6144b8be3e70df07d64f1df617bfd9cd717a095c49cd9555c441cde7d24bbe2d179ab8763e4f6ab1074dd6c5532b80a1bbb4f13a244 WHIRLPOOL 35e735356ee72161b0f69ea12ca3ae6745dcea18f8bcba62adbe8c189da9ddf0595bbd837c21acecf0a32a6a50a998c80a2cc3088e63b64655c6f0d0949e05c8
DIST binutils-apple-patches-7.2-r0.tar.bz2 2917 SHA256 8fa3c64c840aefb71c32fc0294ce6c2b0cf058a5e7f624d736dac6b8c1f44287 SHA512 ca2fc2da88144fbf01f34f1664e6177105a5d1bff956e83f6c7cd530b8e80dcd59b0c921ad95d3c4554e02909bcd846d3a2a4535bf47569b343c85e765619821 WHIRLPOOL 9ba63b8407f6015dd8cca48bea474c375cf90047a138fac8aef800622a780bfcc98910cc46781aea72a2b9803e7cd86c3ea35cfe9fa33bba8813499cc8b91c2c
DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 SHA256 18a9484b53225004ccd37d34d0e208e3a716f73831f4a433be211f233d855fb1 SHA512 6b092c586ac4c3a3c65229a7490f93b0f0d38348e5a2db4f73d6062c737007ee0a5b6bdb5948b7aac1d74d32442fa501ba92161a9ffe13151288432c6a706c43 WHIRLPOOL ef159c24cd1e53538f73aac805e06d14775f82921b1e8a10919981dbec0017d0c70ada0e80ea6135cca5551ccfb38f229df666bcb2e692880d6a23d380d39801
+DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 SHA256 215da3068451640cf25dbe7beb0c8d704a6fbc6d3d988675ae17b9ebbd9d1ee2 SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da WHIRLPOOL 1c8a2b251e385eff5de435f9c72c8244329f55de5a61549371214ddab1cfe687491571d68d0a2c7cee4da2529f24005d1d0a7429daa5c6a1ef3a68ea8af0da20
DIST cctools-822.tar.gz 2024412 SHA256 dfaa9bdbd023524d47429674f64d2d5ea393123dabf90868be0aa17f61f45289 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586 WHIRLPOOL 81191ab46e8a9e47e4267146f978438ff64314b0363296b973a02f361918a5cd69057753a1b40766b93d3d4a3ed10585a27f6da2953992a406be61d1dcc1d06c
DIST cctools-855.tar.gz 1699635 SHA256 751748ddf32c8ea84c175f32792721fa44424dad6acbf163f84f41e9617dbc58 SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f WHIRLPOOL fa493a29e32583f60c3553794bbb6d01a7b5ef797d8e8ba8161c9cbf237906ebbfaff560366da2d5b852bfcbdd55e874c00edf5b3169b16b357a54fcf3c07c4c
DIST cctools-862.tar.gz 1702345 SHA256 1bf29f620b91c901ad3116b47738ab5076c1aed75d13869cd3bc7f067b4aaadb SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a WHIRLPOOL 371307f3264361f5e2e48d83177aff1a8f435cf2bdc1f4998cc5780c5b3760048a29a7620d2390db8f0c9378cd2f3b2f130b6aca9d402e3d428c4f4d353db097
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index ec675e4..2d54d8c 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -24,7 +24,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
@@ -65,8 +65,6 @@ src_prepare() {
cd "${S}"/${LD64}/src
cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
cp "${S}"/ld64-264.3.101-Makefile Makefile
- # provide right file for case-sensitive filesystems, bug #601804
- ( cd ld && ln -s {B,b}itcode.hpp >& /dev/null )
epatch "${S}"/ld64-264.3.101-nolto.patch
epatch "${S}"/ld64-241.9-extraneous-includes.patch
@@ -78,6 +76,7 @@ src_prepare() {
epatch "${S}"/ld64-241.9-register-names.patch
epatch "${S}"/ld64-241.9-get-comm-align.patch
epatch "${S}"/ld64-241.9-cc_md5.patch
+ epatch "${S}"/ld64-264.3.102-bitcode-case.patch
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2017-01-01 13:17 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2017-01-01 13:17 UTC (permalink / raw
To: gentoo-commits
commit: 6407ad21bb14a7dc0e62c90084ce6a743715c27a
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 1 13:15:51 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jan 1 13:16:38 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6407ad21
sys-devel/binutils-apple: workaround llvm-3.9.{0,1} bug
Package-Manager: portage-2.2.28-prefix
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 2d54d8c..9eb28b9 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -78,6 +78,12 @@ src_prepare() {
epatch "${S}"/ld64-241.9-cc_md5.patch
epatch "${S}"/ld64-264.3.102-bitcode-case.patch
+ # workound llvm-3.9.{0,1} issue
+ # https://bugs.gentoo.org/show_bug.cgi?id=603580
+ # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
+ # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
+ sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
+
# provide missing headers from libunwind and dyld
mkdir -p include/{mach,mach-o/arm} || die
# never present because it's private
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2017-02-26 19:06 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2017-02-26 19:06 UTC (permalink / raw
To: gentoo-commits
commit: ef835654905c7fea9a55359ad930385cff248e22
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 19:06:04 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 19:06:16 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef835654
sys-devel/binutils-apple: version bumps for Xcode 8.1 and 8.2.1 by Michael Weiser, bug #609436
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sys-devel/binutils-apple/Manifest | 5 +
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 334 +++++++++++++++++++++
.../binutils-apple/binutils-apple-8.2.1.ebuild | 334 +++++++++++++++++++++
sys-devel/binutils-apple/metadata.xml | 3 +
4 files changed, 676 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 9ec34163fc..c8daa0501d 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -7,6 +7,7 @@ DIST binutils-apple-patches-7.0-r2.tar.bz2 50934 SHA256 5be8cf3ed268bb413ffd05af
DIST binutils-apple-patches-7.2-r0.tar.bz2 2917 SHA256 8fa3c64c840aefb71c32fc0294ce6c2b0cf058a5e7f624d736dac6b8c1f44287 SHA512 ca2fc2da88144fbf01f34f1664e6177105a5d1bff956e83f6c7cd530b8e80dcd59b0c921ad95d3c4554e02909bcd846d3a2a4535bf47569b343c85e765619821 WHIRLPOOL 9ba63b8407f6015dd8cca48bea474c375cf90047a138fac8aef800622a780bfcc98910cc46781aea72a2b9803e7cd86c3ea35cfe9fa33bba8813499cc8b91c2c
DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 SHA256 18a9484b53225004ccd37d34d0e208e3a716f73831f4a433be211f233d855fb1 SHA512 6b092c586ac4c3a3c65229a7490f93b0f0d38348e5a2db4f73d6062c737007ee0a5b6bdb5948b7aac1d74d32442fa501ba92161a9ffe13151288432c6a706c43 WHIRLPOOL ef159c24cd1e53538f73aac805e06d14775f82921b1e8a10919981dbec0017d0c70ada0e80ea6135cca5551ccfb38f229df666bcb2e692880d6a23d380d39801
DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 SHA256 215da3068451640cf25dbe7beb0c8d704a6fbc6d3d988675ae17b9ebbd9d1ee2 SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da WHIRLPOOL 1c8a2b251e385eff5de435f9c72c8244329f55de5a61549371214ddab1cfe687491571d68d0a2c7cee4da2529f24005d1d0a7429daa5c6a1ef3a68ea8af0da20
+DIST binutils-apple-patches-8.2-r0.tar.bz2 5771 SHA256 839dba0eb6314e15bfa43b50479359adfc695c8b65b6c7176abc0983c41c6dbb SHA512 92d04396630a31b752a24845c27fe8da2e37eb176117c9b31193e8f48af7ade707cda4060289b848965310afd05b2f121c740b0e5baa56b79c5481273a88c84e WHIRLPOOL 5706ab6aee04670b4fbbf5cca62109c3f69beba834729280dc636d8c5c4017f321d0402db080032219ccf025899a9bf1daf48a7ac6805faf01e10ed6faf73242
DIST cctools-822.tar.gz 2024412 SHA256 dfaa9bdbd023524d47429674f64d2d5ea393123dabf90868be0aa17f61f45289 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586 WHIRLPOOL 81191ab46e8a9e47e4267146f978438ff64314b0363296b973a02f361918a5cd69057753a1b40766b93d3d4a3ed10585a27f6da2953992a406be61d1dcc1d06c
DIST cctools-855.tar.gz 1699635 SHA256 751748ddf32c8ea84c175f32792721fa44424dad6acbf163f84f41e9617dbc58 SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f WHIRLPOOL fa493a29e32583f60c3553794bbb6d01a7b5ef797d8e8ba8161c9cbf237906ebbfaff560366da2d5b852bfcbdd55e874c00edf5b3169b16b357a54fcf3c07c4c
DIST cctools-862.tar.gz 1702345 SHA256 1bf29f620b91c901ad3116b47738ab5076c1aed75d13869cd3bc7f067b4aaadb SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a WHIRLPOOL 371307f3264361f5e2e48d83177aff1a8f435cf2bdc1f4998cc5780c5b3760048a29a7620d2390db8f0c9378cd2f3b2f130b6aca9d402e3d428c4f4d353db097
@@ -15,11 +16,13 @@ DIST cctools-877.5.tar.gz 1717664 SHA256 5e7525c86581d9dead8a8508a9e824101765d05
DIST cctools-877.7.tar.gz 1720523 SHA256 c3809b7604a27db0c0b418fcccd5cad49f002e2a750ec611f92f806521f7ed9e SHA512 5c381fe8b85d1254f660eb3c3510d9e0a49792ae5bb0e69a4dfb5a18e7f1706ee1411589f20583a9d7f12126ef616f66f1ad5c1c4ff405f66b52759c0a4272b5 WHIRLPOOL 2c8e85fd33f183bd074abf90237301eff252ca05aa48a59aea713d263b10e0710d261a5ac01185e9a17d1a391fa025fb91d60df0f3b426140defdbd5536e4bbb
DIST cctools-877.8.tar.gz 1720708 SHA256 88be2788adf461f1d8278324b0078f6003b2328b6f95a54b16ec6ed1ba651dc2 SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef WHIRLPOOL eea67bacd8037b19ba3efcc2fecfcc74ec3e785ce92628fdeccbeca6e17dee4d1926719a02ca7f68fc2045f9b37571cb044cc29a3a8fe6a5bd704a3446f44945
DIST cctools-886.tar.gz 1731850 SHA256 f3a4fa7dad4a54d862b1d9f48e3dfb25fc532c9cf46a041cf8134694328a8878 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b WHIRLPOOL 91a09d3c773f0aede36de548310879a1ad4158f39e9d4d91b4e1a9460d31acdcab5c658113381742512861c6281661dea7fd8273d7146ac6838088d1435ebe2f
+DIST cctools-895.tar.gz 1716126 SHA256 ce66034fa35117f9ae76bbb7dd72d8068c405778fa42e877e8a13237a10c5cb7 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126 WHIRLPOOL 36f6814cfe25fd5e257720560db18ceaed7cc5504f9fcb20cd00f48e9295797067d1538fd172406b7c68d771df1059d46261b33fc4fb293afe8b28a7580e90c4
DIST dyld-195.6.tar.gz 412518 SHA256 69296e9b4192bdac778ea899fffc18b02be62b51b5e8474b4cf85ae5f2b08aa4 SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5 WHIRLPOOL e37b11d3996559f8a1843577a5fa42f96e4d42419f205276600f0ed79fcd2490da1f8a77eecf29f111b3db62a65e8e9cd77a154e3b389d633a7ac1525273b9b5
DIST dyld-353.2.1.tar.gz 510036 SHA256 051089e284c5a4d671b21b73866abd01d54e5ea1912cadf3a9b916890fb31540 SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f WHIRLPOOL 3164746ed8c866df993f08e405e7e329db427af8eeded681d5fb88031ef2c025363d5bfb647e9315738024adf9f48efacf49226f86f27def584ec7f538da292e
DIST dyld-360.14.tar.gz 518873 SHA256 c4e011241d75e3fac4dbdfc0049ccf26fb939fea6c0256b6f16036b2e4690c6e SHA512 cfe536ea1f0ad8fbc2846417289e3e36704bf69388e083e0ece0ffa6eeee501e7e9b2ba47eed7be0e5120b5cc72f33b2fc0d2d39ba7a16beaf98db94dfb4ae40 WHIRLPOOL 6ed42fa38f60a84deab0bc9b128f5de232df487613726978be29783ede7eee9b5899472a984d50f44a20c87c1772aeede9b81706000fa66713df34d6e956c88e
DIST dyld-360.17.tar.gz 518876 SHA256 e137f54d5f7af7512e2e2337248caa0580743db212471de71fd45d3e3e92c68d SHA512 aae2a0ea1f4130de51aa920ce1affa579993b3b58a7d398ec998c0d7ac4919907ba4e508b9bfc15080b1f4f4cf15e4615bc416b6ec32b52a4b5d8fbbad1dc9ab WHIRLPOOL 2c3cc5fe0063b0a6ad1cc77e5ae1204e8bcd23ba732ad775910fe6340a5d908b77d2623fb7fa4eccff20e0e2176405d8d6734b7d60dbba61ccfc58f37009aca7
DIST dyld-360.18.tar.gz 518957 SHA256 a5bec8c2e3bded111aec7e447b35c110038e822f95e11e55b9a4d331fbaeff08 SHA512 1299bd2dd5cd663917ec4a03ed0f875e0bf07d6680d3d095af12f4b11960c02a52e361bde27ff88843f80832fc6d36654e2556ee0a3ca2259fcded5b568ab2f9 WHIRLPOOL 5b42ea6de3f08b7e0fbad7ea9df512c74fd4bceecf859683297d0cb8998d642ea3a0597ef488dcbf42a75064a07a528baf63c957d36174fddff34d6e6c7502d8
+DIST dyld-421.2.tar.gz 625173 SHA256 e922c4e78af8f7af14dd158f1db986f8eb260403e7a0dc67fa35279d2cfdceb7 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8 WHIRLPOOL cf7093f68ecaf41db2bd8ed5d456183007e5b87b1296f182ffa007464c65248188127c60e2f937faa6fdaba771b9995673bedf22e9b81826c74cf1c50d39360e
DIST ld64-128.2.tar.gz 494361 SHA256 96a912464e2d4d3d7cdaab0744003b0fa93d139f203c82867f659ee94b4ae9f7 SHA512 f50a3c396e6f4fddc685bb3f59f9a260bd2f47060535d24259b2b411e4f759e48daa35819da682ad9bceaa1b9a1981eb34716387d988cdc4b7eec9ab2169726e WHIRLPOOL 78dec40124ae11c80483b362860b01c833fcaff67bae6b6cb3b72371daffdf3be809186f5daca4bb6ace77441cb43168939eb60eedf9f8c05ae3ec644c2a0502
DIST ld64-236.3.tar.gz 624400 SHA256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6 SHA512 e103fc5efd4d4161c7dc55b1ad53aebd455cfcd72de7873ebfdf5ba896b7b0da9c9aeb12e1e1a76425768ac1dc85d864a4ce33b5b841ba115eeab96a2e2965aa WHIRLPOOL d122e325518860c810b9efde7016ebecb6b59c56bb40ae1f041a840be764a5d9b90c7db1922fd9037c18f4caae7ace0d395591ffb3db704c87b92837ef997a17
DIST ld64-241.9.tar.gz 639944 SHA256 3594e87c626c3b5abab6470cac6f27b367f1efcee60eb3d0f6b6d4ecf9b24230 SHA512 6958e7064f4fd8b47501225fc4cbc6292e5da63d7f4103ad79add177ef7382c8de3c732f14d19a9c11356b8070f578392383caccc3795e2ab8ef7b7ddbde88da WHIRLPOOL 5b07a336efde52b00b2601866907513517593a113583f05a9c45b98b4d6f394d87add887a7e44a95f462b6c2b5617ce497376b94a523e5cdf0f69d4d10ef3407
@@ -29,5 +32,7 @@ DIST ld64-253.6.tar.gz 671838 SHA256 7fbae5e88ac1420480de8a495dcd3b876d399278bfc
DIST ld64-253.9.tar.gz 673388 SHA256 8fa3a1b65f665824ac129c02e2fab8926a06e503ec277ea32cd8bc27c8de11c3 SHA512 a52b081295c19f28858f8ee47c05249bba3e15cc8bb6f7017d9f6dcf7509cdacef7a4b16b3940cd0b1f72b3b67efb503ab2e3801b31e50cda1d34c6bc8df8dcf WHIRLPOOL 07e850984d2ff24637a64d76860799136e63af56dc2740f8d1e1bd3311ae3f33eac902e7850f94555407002d0d16f44d4a276470f54e60a0633169b884b7dfc1
DIST ld64-264.3.101.tar.gz 681491 SHA256 2882f0c104334bdba8eb64cd3a9f9059ceca4d4e0c08473506a926d53c9ef218 SHA512 ffa37af95f1a6e76829d0ac8badfd0236d93dc2f9988c7f4b88fe271b7b02a4b5553402a1e9a49feed9da4d04a50e2a2cacdb1bd4c04ecbef09d68b85a2e8a6a WHIRLPOOL cdc466a24fdbc2bf3756d73f89f91d26fec21d8004a2e77804e2b678a9da08afe83bb5aa9fb4548496feb3d9180c3d2521a8d5329b875ed76d4e3a0ea231d5be
DIST ld64-264.3.102.tar.gz 681509 SHA256 307f73678a3e5c9ed4d1bcf77da7399d84efac32916c5df6cd477c3b5c36f953 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0 WHIRLPOOL 509774429d498c4a070a54798715776eddf2b8ef70a99dd4250d60144efa2d4a6a324914112556435709beb614172dd45b860f3963b0da9a0825cb0756bcd719
+DIST ld64-274.1.tar.gz 670493 SHA256 6cbe886717de833789fa562ec4889ebf9136ae5f7573d17d39836d3f5755b7ab SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99 WHIRLPOOL 5b98613419f304cca05d7e626a33a93b08e991cbdf5a9b76891656e8b5757937e930bdc047ceb60a345a11ee195c641af5d2ec7b3d731530050be160c82d6a93
+DIST ld64-274.2.tar.gz 671652 SHA256 175d89c419e99d49a7a5f7e4196d3cef4c9e19cc17a425c332e86df6b516f7d7 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d WHIRLPOOL 30f935d1f49769a851871f6fc4d7210409122d910651835c3568c0fb22111bdc4c2419413a5808aa95dc6a840f856eefe7c5a3d8215470cf8f1b4b4432c40494
DIST libunwind-30.tar.gz 82811 SHA256 6ac97d18cc2b05e6de1269bf5af03b81948bd2200dae827527f3dc618b82bd41 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f WHIRLPOOL c3caf5ba593cffa2f0a9cdb256f518524e9500eaf0a013c4973dc9881b16efa0c388e70407bbed1fd331f100af2da01ddeee12d33b3afc1213d69c32ab5e1d0b
DIST libunwind-35.3.tar.gz 90002 SHA256 2bcc95553a44fa3edca41993ccfac65ba267830cb37c85dca760b34094722e56 SHA512 b7d9a86ef24f1fe9ca14517471e03a910219a229af9f0d4cf94435115971360640451107ba20c93fb1aab788f8b6eb5ed580ee08fdaa990b9fa43e9ae360c6b4 WHIRLPOOL 838912e46031b3a6796bfe854f0244991ce5bc3b59b95855224c9e84639e57b69f541b7993658360721423533dca75037248ea90f5e274b332f27319fdd85a9a
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
new file mode 100644
index 0000000000..28a8fad6e3
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-274.1
+CCTOOLS_VERSION=895
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+DYLD=dyld-421.2
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto tapi classic test"
+
+# ld64 can now only be compiled using llvm and libc++ since it massively uses
+# C++11 language features. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ tapi? ( sys-libs/tapi )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="8"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+src_prepare() {
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-274.1-Makefile Makefile
+
+ epatch "${S}"/ld64-274.1-nolto.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-264.3.102-bitcode-case.patch
+ epatch "${S}"/ld64-274.1-unknown-fixup.patch
+ epatch "${S}"/ld64-274.1-notapi.patch
+
+ # workound llvm-3.9.{0,1} issue
+ # https://bugs.gentoo.org/show_bug.cgi?id=603580
+ # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
+ # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
+ sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-8.1-nolto.patch
+ epatch "${S}"/${PN}-7.3-nollvm.patch
+ epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
+ epatch "${S}"/${PN}-8.1-llvm-tools.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ eapply_user
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ ${LD64}/src/create_configure
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ TAPI=$(use tapi && echo 1 || echo 0) \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
+ # version is preserved as {nm,size}-classic.
+ # Since our binutils do not live in the same directory as the llvm
+ # installation, we have to rewrite the symlinks to the llvm tools.
+ # This also means, that these tools still appear to be versioned via
+ # binutils-config but actually always run the currently installed llvm
+ # tool.
+ budir=${D}/${EPREFIX}/${BINPATH}
+ for tool in nm size ; do
+ # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
+ # -> ${EPREFIX}/bin/llvm-$tool
+ use classic && \
+ ln -sfn ${tool}-classic "${budir}/${tool}" || \
+ ln -sfn ../../../bin/llvm-${tool} "${budir}/${tool}"
+ done
+
+ # Also, otool is now based on llvm-objdump. But a small wrapper installed
+ # as llvm-otool remains, providing command line compatibility.
+ use classic && \
+ ln -sfn otool-classic "${budir}/otool" || \
+ ln -sfn llvm-otool "${budir}/otool"
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
new file mode 100644
index 0000000000..fda2218b30
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+LD64=ld64-274.2
+CCTOOLS_VERSION=895
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+DYLD=dyld-421.2
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto tapi classic test"
+
+# ld64 can now only be compiled using llvm and libc++ since it massively uses
+# C++11 language features. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ tapi? ( sys-libs/tapi )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="8"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+src_prepare() {
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-274.1-Makefile Makefile
+
+ epatch "${S}"/ld64-274.1-nolto.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-264.3.102-bitcode-case.patch
+ epatch "${S}"/ld64-274.1-unknown-fixup.patch
+ epatch "${S}"/ld64-274.1-notapi.patch
+
+ # workound llvm-3.9.{0,1} issue
+ # https://bugs.gentoo.org/show_bug.cgi?id=603580
+ # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
+ # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
+ sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
+ epatch "${S}"/${PN}-7.0-clang-as.patch
+ epatch "${S}"/${PN}-8.1-nolto.patch
+ epatch "${S}"/${PN}-7.3-nollvm.patch
+ epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
+ epatch "${S}"/${PN}-8.1-llvm-tools.patch
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ eapply_user
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ use lto && ENABLE_LTO=1
+
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ ${LD64}/src/create_configure
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ TAPI=$(use tapi && echo 1 || echo 0) \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${ENABLE_LTO}" \
+ LTO_LIBDIR=../../../lib \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
+ # version is preserved as {nm,size}-classic.
+ # Since our binutils do not live in the same directory as the llvm
+ # installation, we have to rewrite the symlinks to the llvm tools.
+ # This also means, that these tools still appear to be versioned via
+ # binutils-config but actually always run the currently installed llvm
+ # tool.
+ budir=${D}/${EPREFIX}/${BINPATH}
+ for tool in nm size ; do
+ # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
+ # -> ${EPREFIX}/bin/llvm-$tool
+ use classic && \
+ ln -sfn ${tool}-classic "${budir}/${tool}" || \
+ ln -sfn ../../../bin/llvm-${tool} "${budir}/${tool}"
+ done
+
+ # Also, otool is now based on llvm-objdump. But a small wrapper installed
+ # as llvm-otool remains, providing command line compatibility.
+ use classic && \
+ ln -sfn otool-classic "${budir}/otool" || \
+ ln -sfn llvm-otool "${budir}/otool"
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml
index 2b36ce133e..b6fa367652 100644
--- a/sys-devel/binutils-apple/metadata.xml
+++ b/sys-devel/binutils-apple/metadata.xml
@@ -11,5 +11,8 @@
<flag name="multitarget">Compile for non-standard target
architectures (ppc and ppc64) -- experimental, Gentoo
only</flag>
+ <flag name="classic">Use nm, otool, etc. from this ebuild
+ instead of llvm-based tools</flag>
+ <flag name="tapi">Build against <pkg>sys-libs/tapi</pkg></flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2017-09-06 21:00 Michał Górny
0 siblings, 0 replies; 42+ messages in thread
From: Michał Górny @ 2017-09-06 21:00 UTC (permalink / raw
To: gentoo-commits
commit: 21b97ce4a31ccc553c8e9ccba098b25139db733a
Author: Francesco Turco <fturco <AT> fastmail <DOT> fm>
AuthorDate: Sun Sep 3 16:39:42 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 6 20:59:19 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21b97ce4
sys-devel/binutils-apple: use HTTPS for links to dev.gentoo.org
sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 6 +++---
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 8 ++++----
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 10 +++++-----
sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild | 14 +++++++-------
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 12 ++++++------
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 14 +++++++-------
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 16 ++++++++--------
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 10 +++++-----
sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild | 10 +++++-----
14 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 1914b417867..5131c4f35b9 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -19,7 +19,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index ebc8c180cc4..507c8b54be1 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,8 +17,8 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index 2d0a41d69f8..984b3131982 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,9 +17,9 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 2fd91421e38..371c6a2b6c6 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,10 +17,10 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index 714af06fb4b..2eab5e95aab 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,11 +17,11 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index 47b575f52b8..c81eb3fe54e 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,11 +17,11 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 6fccfef91ff..6b57a7444fd 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,11 +17,11 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index bc9ec2617c0..9dfebf05d00 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,11 +17,11 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index 7d89e569b3c..e5de0f0f786 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,12 +17,12 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index afef337a62a..0f608625bca 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,11 +17,11 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index dc8704bab98..e56d422a78c 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -17,13 +17,13 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
index 9162df8db92..26f629c41ee 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -17,13 +17,13 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
index 28a8fad6e3c..d5ad6ab38a9 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
@@ -15,11 +15,11 @@ HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
index fda2218b308..9cf67823890 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
@@ -15,11 +15,11 @@ HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~x64-macos ~x86-macos"
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2017-12-29 13:50 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2017-12-29 13:50 UTC (permalink / raw
To: gentoo-commits
commit: e31bea4612e174201032c496edc62b8e97109569
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 29 13:49:59 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Dec 29 13:49:59 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e31bea46
sys-devel/binutils-apple: patchbump for llvm 4/5 by Michael Weiser
Closes: https://bugs.gentoo.org/642292
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/binutils-apple/Manifest | 1 +
.../binutils-apple/binutils-apple-8.2.1-r1.ebuild | 366 +++++++++++++++++++++
2 files changed, 367 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 1818fa06667..f404c7a7bfb 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -8,6 +8,7 @@ DIST binutils-apple-patches-7.2-r0.tar.bz2 2917 BLAKE2B 53bf5c5c8a21bcaa4df6b1fe
DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 BLAKE2B a9f23fe66f9b3e25b8975c9148db996fb3133f70b11768fe400993c90d62b6da2c9704a99104c6921dfae5052b5e0d66bd1af02640df8166a957fef9a092d52a SHA512 6b092c586ac4c3a3c65229a7490f93b0f0d38348e5a2db4f73d6062c737007ee0a5b6bdb5948b7aac1d74d32442fa501ba92161a9ffe13151288432c6a706c43
DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 BLAKE2B 4ac5d3b50c04b1ab71dc1c266db8b44e9d34f12bcc8a53966232cb5a6999b2662f9891367a2e7f8ea4f0f014b19594c1adf8dd945a18419980bca729c1de302e SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da
DIST binutils-apple-patches-8.2-r0.tar.bz2 5771 BLAKE2B b562ea4dd9214bc66695dbdb2452c88b1885ae1e36904516ea664157cbf0b54421d80cd0df792fcc431a3e0b98e804488c651b3fa29b368445450d0d13a1502c SHA512 92d04396630a31b752a24845c27fe8da2e37eb176117c9b31193e8f48af7ade707cda4060289b848965310afd05b2f121c740b0e5baa56b79c5481273a88c84e
+DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
DIST cctools-855.tar.gz 1699635 BLAKE2B 4d98cf2bbced6894083dc2733a35cf9a4c47f71172fe98265a8f047218cc90276085919129553e3a1ea0658416eebf3b7cf0908bd32ac1a224480554257999ee SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f
DIST cctools-862.tar.gz 1702345 BLAKE2B de84058aa78824562b0eabf93a29badaba0908a7140336a281a6ea46a9b09d893433a908c299e8de866a76e0eeb98b730570958fc8fac559ccc6e35f5138b121 SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a
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
new file mode 100644
index 00000000000..bf8351a7b24
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs llvm prefix
+
+LD64=ld64-274.2
+CCTOOLS_VERSION=895
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+DYLD=dyld-421.2
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto tapi classic test"
+
+# ld64 can now only be compiled using llvm and libc++ since it massively uses
+# C++11 language features. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ tapi? ( sys-libs/tapi )
+ sys-devel/llvm
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="8"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+llvm_pkg_setup() {
+ # eclass version will die if no LLVM can be found which will break prefix
+ # bootstrap
+ :
+}
+
+src_prepare() {
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-274.2-Makefile Makefile
+
+ epatch "${S}"/ld64-274.1-nolto.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+ epatch "${S}"/ld64-264.3.102-bitcode-case.patch
+ epatch "${S}"/ld64-274.1-unknown-fixup.patch
+ epatch "${S}"/ld64-274.1-notapi.patch
+ epatch "${S}"/ld64-274.2-cfi-info-type.patch
+
+ # workound llvm-3.9.{0,1} issue
+ # https://bugs.gentoo.org/show_bug.cgi?id=603580
+ # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
+ # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
+ sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+ # add alias for newer identifiers, because ld64 uses both but cctools
+ # header only defines the older
+ epatch "${S}"/ld64-236.3-missing-cputypes.patch
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ epatch "${S}"/ld64-123.2-debug-backtrace.patch
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
+ epatch "${S}"/${PN}-8.2.1-llvm-prefix-3.patch
+ epatch "${S}"/${PN}-8.2.1-llvm-shim.patch
+ eprefixify libstuff/execute.c
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ eapply_user
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ if use lto ; then
+ ENABLE_LTO=1
+
+ LLVM_INCDIR=$(get_llvm_prefix)/include
+ LLVM_LIBDIR=$(get_llvm_prefix)/lib
+
+ [ -n "${LLVM_INCDIR}" -a -n "${LLVM_LIBDIR}" ] || \
+ die "LLVM not found - LTO support can not be enabled"
+
+ # LTO and LLVM support currently both depend only on libLTO being
+ # present. So we can enable both.
+ CCTOOLS_LTO_CFLAGS="-DLTO_SUPPORT -I${LLVM_INCDIR}"
+ CCTOOLS_LLVM_CFLAGS="-DLLVM_SUPPORT -I${LLVM_INCDIR}"
+ fi
+
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want)
+ append-cppflags -DNDEBUG
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ ${LD64}/src/create_configure
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ LTO_INCDIR=${LLVM_INCDIR} \
+ LTO_LIBDIR=${LLVM_LIBDIR} \
+ TAPI=$(use tapi && echo 1 || echo 0) \
+ TAPI_LIBDIR=${EPREFIX}/usr/lib \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${CCTOOLS_LTO_CFLAGS} ${CCTOOLS_LLVM_CFLAGS}" \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. In Xcode, nm and size are now symlinks to llvm-{nm,size} while the
+ # classic version is preserved as {nm,size}-classic. When asked to do so
+ # by use classic we statically link to the classic version.
+ # binutils-bin/<version>/<tool>
+ # -> binutils-bin/<version>/<tool>-classic
+ #
+ # Otherwise we try to find and use the llvm version of the tool. Since our
+ # binutils do not live in the same directory as the llvm installation and
+ # llvm tends to move around, we use a shim that tries to find the llvm
+ # version of the tool in prefix. It will fall back to the classic tool if
+ # it fails.
+ # binutils-bin/<version>/<tool>
+ # -> binutils-bin/<version>/llvm-<tool>
+ # -> $EPREFIX/usr/lib/llvm/<major/bin/llvm-<tool>
+ # -> $EPREFIX/usr/bin/llvm-<tool>
+ # -> binutils-bin/<version>/<tool>-classic
+ budir=${D}/${EPREFIX}/${BINPATH}
+ for tool in nm size ; do
+ use classic && \
+ ln -sfn ${tool}-classic "${budir}/${tool}" || \
+ ln -sfn llvm-shim "${budir}/${tool}"
+ done
+
+ # Also, otool is now based on llvm-objdump. But a small wrapper installed
+ # as llvm-otool remains, providing command line compatibility.
+ use classic && \
+ ln -sfn otool-classic "${budir}/otool" || \
+ ln -sfn llvm-otool "${budir}/otool"
+
+ # And finally, although our cctools don't actually contain dsymutil and
+ # objdump, we provide access to the llvm versions of them via the shim to
+ # be in line with Xcode.
+ for tool in objdump dsymutil ; do
+ ln -sfn llvm-shim "${budir}/${tool}"
+ done
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-01-03 20:52 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-01-03 20:52 UTC (permalink / raw
To: gentoo-commits
commit: c5ac996b9f30b2b6221a67116b4e722cdb2c91e1
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 20:52:10 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 20:52:24 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5ac996b
sys-devel/binutils-apple: fix llvm slot-dep
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild | 6 +++---
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 8 ++++----
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 8 ++++----
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 8 ++++----
sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild | 6 +++---
sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild | 4 ++--
15 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 5131c4f35b9..021608d4682 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -26,10 +26,10 @@ KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test multitarget"
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )"
+ lto? ( sys-devel/llvm:* )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )"
+ || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )"
SLOT="4"
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 507c8b54be1..4920826c016 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -25,12 +25,12 @@ KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
+ lto? ( sys-devel/llvm:* )
libcxx? ( sys-libs/libcxx )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
+ libcxx? ( sys-devel/llvm:* )"
SLOT="5"
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index 984b3131982..bd320244231 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -26,12 +26,12 @@ KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
+ lto? ( sys-devel/llvm:* )
libcxx? ( sys-libs/libcxx )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
+ libcxx? ( sys-devel/llvm:* )"
SLOT="6"
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 371c6a2b6c6..5835b8852a0 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -27,12 +27,12 @@ KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="lto test libcxx multitarget"
RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm )
+ lto? ( sys-devel/llvm:* )
libcxx? ( sys-libs/libcxx )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )
- libcxx? ( sys-devel/llvm )"
+ || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
+ libcxx? ( sys-devel/llvm:* )"
SLOT="6"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index 2eab5e95aab..039399257b2 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -33,7 +33,7 @@ IUSE="lto test multitarget"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
index c81eb3fe54e..805b4d51e50 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -38,7 +38,7 @@ IUSE="test multitarget"
# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
app-arch/xar
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 6b57a7444fd..6ee67d9bd04 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -33,7 +33,7 @@ IUSE="lto test multitarget"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
index 9dfebf05d00..ed6be55fb9a 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -38,7 +38,7 @@ IUSE="test multitarget"
# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
app-arch/xar
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index e5de0f0f786..8cae70ffc66 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -34,7 +34,7 @@ IUSE="lto test multitarget"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
index 0f608625bca..4f76f80df25 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -38,7 +38,7 @@ IUSE="test multitarget"
# indirectly makes xar a static runtime dependency.
RDEPEND="sys-devel/binutils-config
app-arch/xar
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index e56d422a78c..1fc16db7730 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -35,7 +35,7 @@ IUSE="lto test multitarget"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
index 26f629c41ee..853dba37052 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -35,7 +35,7 @@ IUSE="lto test multitarget"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
index d5ad6ab38a9..32405f72fca 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -32,7 +32,7 @@ IUSE="lto tapi classic test"
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
tapi? ( sys-libs/tapi )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
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
index bf8351a7b24..781aff39edf 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -31,7 +31,7 @@ IUSE="lto tapi classic test"
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
tapi? ( sys-libs/tapi )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
@@ -200,7 +200,7 @@ compile_ld64() {
LTO_INCDIR=${LLVM_INCDIR} \
LTO_LIBDIR=${LLVM_LIBDIR} \
TAPI=$(use tapi && echo 1 || echo 0) \
- TAPI_LIBDIR=${EPREFIX}/usr/lib \
+ TAPI_LIBDIR="${EPREFIX}"/usr/lib \
|| die "emake failed for ld64"
use test && emake build_test
}
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
index 9cf67823890..11fae811996 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -32,7 +32,7 @@ IUSE="lto tapi classic test"
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
tapi? ( sys-libs/tapi )
- sys-devel/llvm
+ sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
test? ( >=dev-lang/perl-5.8.8 )"
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-01-03 20:52 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-01-03 20:52 UTC (permalink / raw
To: gentoo-commits
commit: 5a0370b07c54bfb2ef46835164c75167ff618345
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 20:45:45 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 20:52:23 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a0370b0
sys-devel/binutils-apple: restore 3.2 for bootstrapping 10.5
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/binutils-apple/Manifest | 4 +
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 227 +++++++++++++++++++++
2 files changed, 231 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index f404c7a7bfb..17d373c0421 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,3 +1,5 @@
+DIST binutils-apple-LP64-patches-1.tar.bz2 10235 BLAKE2B 3352170bcfe73c574217597233ca58c7d6ebeedf9dfe9da1399953dfe1a0c87fc26e9ba8864620ddd67c6f38e48aeb6950737637605f0b860eb4a0d246f3aff7 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1
+DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b2691e4acd73ee323d643da4335f6465ccc29b06f889d01fb42c7778576607bfdb859e2df38d3ebf82d4bf7f0971079da6985f237 SHA512 5381a93d61c39993cdb294ecb238016e26cdfe283fae553f75ddc6662812709301d5208c770ac0992d1dfab92e4802c660e6fb4336ad891335ab716d3b042805
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8
DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 BLAKE2B 8505acaff6343b2f4dffe9c1dd78e360762f0ad78d39fbc0227265ed8b6768dba62c1a7d6784ca685934942e1a211c70275474001b066e3292c579fa0aa2f356 SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3
@@ -9,6 +11,7 @@ DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 BLAKE2B a9f23fe66f9b3e25b8975c9
DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 BLAKE2B 4ac5d3b50c04b1ab71dc1c266db8b44e9d34f12bcc8a53966232cb5a6999b2662f9891367a2e7f8ea4f0f014b19594c1adf8dd945a18419980bca729c1de302e SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da
DIST binutils-apple-patches-8.2-r0.tar.bz2 5771 BLAKE2B b562ea4dd9214bc66695dbdb2452c88b1885ae1e36904516ea664157cbf0b54421d80cd0df792fcc431a3e0b98e804488c651b3fa29b368445450d0d13a1502c SHA512 92d04396630a31b752a24845c27fe8da2e37eb176117c9b31193e8f48af7ade707cda4060289b848965310afd05b2f121c740b0e5baa56b79c5481273a88c84e
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
+DIST cctools-750.tar.gz 1947953 BLAKE2B c2c6176daaeac0ca407c13c19ce15a84be639510d95c15bca654ba3415fe64a136a0155bcd3c8a34696c35cfe6989f1177a486cc71acc157b42d7c706b23fb29 SHA512 e2e152a9fb7db47c60fe450e1fc92c6866ab89682c7fdc594b97e419ce93ea1353654bd4419bf3df99d119f554aa0f32993dc645dd7c4680840cd01b7dce2f67
DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
DIST cctools-855.tar.gz 1699635 BLAKE2B 4d98cf2bbced6894083dc2733a35cf9a4c47f71172fe98265a8f047218cc90276085919129553e3a1ea0658416eebf3b7cf0908bd32ac1a224480554257999ee SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f
DIST cctools-862.tar.gz 1702345 BLAKE2B de84058aa78824562b0eabf93a29badaba0908a7140336a281a6ea46a9b09d893433a908c299e8de866a76e0eeb98b730570958fc8fac559ccc6e35f5138b121 SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a
@@ -35,5 +38,6 @@ DIST ld64-264.3.101.tar.gz 681491 BLAKE2B d924b8865924d7d2b55886221c0e8c6ed0b50c
DIST ld64-264.3.102.tar.gz 681509 BLAKE2B 4a0699ec761bd145b8034c8577ce9f843c9384fee5486855565d1d89858a445492d66aca2798a6e9c1bb4f59328680c05bcf1cd024d917c063e74d3549073ce0 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0
DIST ld64-274.1.tar.gz 670493 BLAKE2B 00ab46b09f29c6143c5066ffb0a12017fb2268a5f205c41851a95bc38443aa5494ce81b793a6668bcd3a8abb0ba4215f0da372c413ae52e4ca1e437ad370f8e0 SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
+DIST ld64-85.2.1.tar.gz 598524 BLAKE2B 92cb3c763cc067e2ee6c4fec910f078cc69daca2a328a74ebc988908b1655138873b69bfb0c19b284f0aedb678e99de3866d4f13460cb3427985704093dca37a SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f
DIST libunwind-35.3.tar.gz 90002 BLAKE2B d63ab0ae6e66a6f35ec17de9713d3bf4853cd80af218e868762b20dd8a44d42cd9ff8fce1d8c46fca4759144726bbf248a02a5dede5a94a2b75d3b45ddb7d018 SHA512 b7d9a86ef24f1fe9ca14517471e03a910219a229af9f0d4cf94435115971360640451107ba20c93fb1aab788f8b6eb5ed580ee08fdaa990b9fa43e9ae360c6b4
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
new file mode 100644
index 00000000000..8b3622786d6
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+RESTRICT="test" # the test suite will test what's installed.
+
+# LD64=ld64-95.2.12 # can't compile this one, missing libunwind/* includes
+# http://lists.apple.com/archives/Darwin-dev/2009/Sep/msg00025.html
+LD64=ld64-85.2.1 # from 3.1.2
+CCTOOLS=cctools-750
+LP64PATCHES=binutils-apple-LP64-patches-1
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools 3.2"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ https://opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ https://dev.gentoo.org/~grobian/distfiles/${LP64PATCHES}.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-3.2-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="sys-devel/binutils-config"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="3"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+prepare_ld64() {
+ cd "${S}"/${LD64}/src
+ cp "${WORKDIR}"/Makefile . || die
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ sed -i \
+ -e '/^#define LTO_SUPPORT 1/s:1:0:' \
+ ObjectDump.cpp || die
+ echo '#undef LTO_SUPPORT' > configure.h
+ echo '' > linker_opts
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ elog "Deleted $c tests that were bound to fail"
+}
+
+src_prepare() {
+ prepare_ld64
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${WORKDIR}"/${PN}-3.1.1-as.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-as-dir.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-ranlib.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
+ epatch "${WORKDIR}"/${P}-armv7-defines.patch
+
+ cd "${S}"/${LD64}
+ epatch "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
+ epatch "${WORKDIR}"/LP64/ld64/*.patch
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+
+ # -pg is used and the two are incompatible
+ filter-flags -fomit-frame-pointer
+
+ eapply_user
+}
+
+src_configure() {
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+}
+
+compile_ld64() {
+ cd "${S}"/${LD64}/src
+ # 'struct linkedit_data_command' is defined in mach-o/loader.h on leopard,
+ # but not on tiger.
+ [[ ${CHOST} == *-apple-darwin8 ]] && \
+ append-flags -isystem "${S}"/${CCTOOLS}/include/
+ emake || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake \
+ LTO= \
+ TRIE= \
+ EFITOOLS= \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ tc-export CC CXX
+ compile_cctools
+ compile_ld64
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # need host arch, since GNU arch doesn't do what Apple's does
+ tc-export CC CXX
+ perl ../bin/make-recursive.pl \
+ ARCH="$(/usr/bin/arch)" \
+ RELEASEDIR="${S}"/${LD64}/src \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-01-04 16:46 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-01-04 16:46 UTC (permalink / raw
To: gentoo-commits
commit: 030405ef8cd790d6a786d1f91485973486408880
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 4 16:45:43 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jan 4 16:46:22 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=030405ef
sys-devel/binutils-apple: set forgotten CTARGET in 3.2
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
index 8b3622786d6..9469e8bf164 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -106,6 +106,13 @@ src_prepare() {
}
src_configure() {
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
INCPATH=${LIBPATH}/include
DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
@@ -175,7 +182,8 @@ install_cctools() {
BUILD_OBSOLETE_ARCH= \
DSTROOT=\"${D}\" \
USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH}
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
cd "${ED}"${BINPATH}
insinto ${DATAPATH}/man/man1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-12-10 14:20 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-12-10 14:20 UTC (permalink / raw
To: gentoo-commits
commit: a6fb3635d4466cd218c292ce7eaa4954fa51cf3d
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 10 14:20:15 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Dec 10 14:20:28 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6fb3635
binutils-apple: enable build of 6.3 on ppc-macos
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
index 5835b8852a0..cdeffebc6f3 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -203,6 +203,10 @@ src_configure() {
else
use libcxx && \
ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
+
+ # force gcc-apple, FSF gcc doesn't grok this code
+ export CC=${CTARGET}-gcc-4.2.1
+ export CXX=${CTARGET}-g++-4.2.1
fi
# CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
@@ -228,11 +232,15 @@ src_configure() {
if use multitarget ; then
ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
cut -d\" -f2 | tr ',' ' ')"
+ elif use ppc-macos ; then
+ ARCHS_TO_SUPPORT="ppc ppc750 ppc7400 ppc7450 ppc970 ppc64 $(\
+ grep RC_SUPPORTED_ARCHS= $creco | cut -d\" -f2)"
fi
# Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ einfo "building support for: ${ARCHS_TO_SUPPORT}"
DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
+ RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
$creco
# do not depend on MachOFileAbstraction.hpp to define
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-12-13 7:28 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-12-13 7:28 UTC (permalink / raw
To: gentoo-commits
commit: 97111af5ab00787a738efbb81ed643d77f3ddf8e
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 13 07:28:24 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 13 07:28:44 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97111af5
sys-devel/binutils-apple: update digest
cctools-750.tar.gz was changed upstream
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/Manifest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 17d373c0421..4cb0acf9948 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -11,7 +11,7 @@ DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 BLAKE2B a9f23fe66f9b3e25b8975c9
DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 BLAKE2B 4ac5d3b50c04b1ab71dc1c266db8b44e9d34f12bcc8a53966232cb5a6999b2662f9891367a2e7f8ea4f0f014b19594c1adf8dd945a18419980bca729c1de302e SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da
DIST binutils-apple-patches-8.2-r0.tar.bz2 5771 BLAKE2B b562ea4dd9214bc66695dbdb2452c88b1885ae1e36904516ea664157cbf0b54421d80cd0df792fcc431a3e0b98e804488c651b3fa29b368445450d0d13a1502c SHA512 92d04396630a31b752a24845c27fe8da2e37eb176117c9b31193e8f48af7ade707cda4060289b848965310afd05b2f121c740b0e5baa56b79c5481273a88c84e
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
-DIST cctools-750.tar.gz 1947953 BLAKE2B c2c6176daaeac0ca407c13c19ce15a84be639510d95c15bca654ba3415fe64a136a0155bcd3c8a34696c35cfe6989f1177a486cc71acc157b42d7c706b23fb29 SHA512 e2e152a9fb7db47c60fe450e1fc92c6866ab89682c7fdc594b97e419ce93ea1353654bd4419bf3df99d119f554aa0f32993dc645dd7c4680840cd01b7dce2f67
+DIST cctools-750.tar.gz 1947990 BLAKE2B b0fe71ae6972bd2b21c1ecf7a699104c51519babf67bb5fc45e31ed1d17108e7627cb46b5f65d48c33dbec9e9032e703924e9a9a687ec19bd384a3cdea243a46 SHA512 298a447757d926b3d156aaf8be27ceadeb4242336b66cb0bee0fd2dc8bb4ad3f167758ff526e4bf3fe458cb72391f5dc38f9112171883fcf28d49a18d671296a
DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
DIST cctools-855.tar.gz 1699635 BLAKE2B 4d98cf2bbced6894083dc2733a35cf9a4c47f71172fe98265a8f047218cc90276085919129553e3a1ea0658416eebf3b7cf0908bd32ac1a224480554257999ee SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f
DIST cctools-862.tar.gz 1702345 BLAKE2B de84058aa78824562b0eabf93a29badaba0908a7140336a281a6ea46a9b09d893433a908c299e8de866a76e0eeb98b730570958fc8fac559ccc6e35f5138b121 SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-12-13 8:35 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-12-13 8:35 UTC (permalink / raw
To: gentoo-commits
commit: bc7b7d6779a07e0ae6a837fd4d6c871f8bd4b594
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 13 08:34:24 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 13 08:34:59 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc7b7d67
sys-devel/binutils-apple: force gcc-apple usage if necessary
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
index 9469e8bf164..55a843d9c6c 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -121,6 +121,12 @@ src_configure() {
else
BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
fi
+
+ if tc-is-gcc && [[ $(gcc-fullversion) != 4.2.1 ]] ; then
+ # force gcc-apple
+ CC=${CTARGET}-gcc-4.2.1
+ CXX=${CTARGET}-g++-4.2.1
+ fi
}
compile_ld64() {
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-12-13 10:47 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-12-13 10:47 UTC (permalink / raw
To: gentoo-commits
commit: ad50766a56d3d3d9af2065947fa84faf5e1eb7ab
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 13 10:47:24 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 13 10:47:49 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad50766a
sys-devel/binutils-apple: drop patch which was included in updated distfile
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
index 55a843d9c6c..6e37ac06e4c 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -84,7 +84,6 @@ src_prepare() {
epatch "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
epatch "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
epatch "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
- epatch "${WORKDIR}"/${P}-armv7-defines.patch
cd "${S}"/${LD64}
epatch "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2018-12-22 11:02 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2018-12-22 11:02 UTC (permalink / raw
To: gentoo-commits
commit: b089b9207c4157dc8b26ff7e2d3772352cff2dde
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 22 11:00:53 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Dec 22 11:01:30 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b089b920
sys-devel/binutils-apple: cleanup and fix PPC patch
Cleanup old versions, fix PPC patch in all affected ebuilds, only
revbump 6.3 as that's the only unmasked version for PPC (where it
applies) to avoid unnecessary rebuilds.
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/Manifest | 12 +-
...-6.3-r1.ebuild => binutils-apple-6.3-r2.ebuild} | 2 +-
.../binutils-apple/binutils-apple-7.0-r1.ebuild | 6 +-
sys-devel/binutils-apple/binutils-apple-7.0.ebuild | 366 -------------------
.../binutils-apple/binutils-apple-7.1-r1.ebuild | 6 +-
sys-devel/binutils-apple/binutils-apple-7.1.ebuild | 366 -------------------
.../binutils-apple/binutils-apple-7.2-r1.ebuild | 8 +-
sys-devel/binutils-apple/binutils-apple-7.2.ebuild | 366 -------------------
.../binutils-apple/binutils-apple-7.3.1.ebuild | 12 +-
sys-devel/binutils-apple/binutils-apple-7.3.ebuild | 386 ---------------------
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 8 +-
.../binutils-apple/binutils-apple-8.2.1-r1.ebuild | 4 +-
.../binutils-apple/binutils-apple-8.2.1.ebuild | 334 ------------------
13 files changed, 27 insertions(+), 1849 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 4cb0acf9948..a57a2e25a59 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -3,13 +3,10 @@ DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8
DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 BLAKE2B 8505acaff6343b2f4dffe9c1dd78e360762f0ad78d39fbc0227265ed8b6768dba62c1a7d6784ca685934942e1a211c70275474001b066e3292c579fa0aa2f356 SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3
-DIST binutils-apple-patches-6.3-r1.tar.bz2 37951 BLAKE2B c6d189c7bf2fc66d2db4593a178330a5fbd337a77f5d572b8be89b34441786a3a7e800de0870ed6712609dc70ccdc45060f9eae597fc0fb3a27d476689b95d92 SHA512 07262f4cb621d7afa240c4d81f80eb1a2adf486b60eb480fe283235eac12167f8efa0a462bf9d0036226aa5e6a5382f9f74420ba3269bc260d0a48d0e4442578
-DIST binutils-apple-patches-7.0-r1.tar.bz2 43705 BLAKE2B 9a912d0f65ae54ea39f39d356b9b3f04f35cafc2883962ef3fbc74d7a10c5556b22345619a00eb067a6e0b6bdd9ed438fc14b8dc13e2ed7d6647b39a50728614 SHA512 a25570062628979e23d73ce9dfd0a9bbb4237fdac472a30f2ec564a9bc9afa7d91d8d8b5bf460d16344677f817b55154394608d74c937f0b1fc6dda64f538266
-DIST binutils-apple-patches-7.0-r2.tar.bz2 50934 BLAKE2B 1726dd7c80efe0542832c19a75fff0f84a487aa7ce9fd69d9bd4111d3b606b406bf757bddbf2914800d06eb8ccf5f5e9a0b0ecece291ac42a3c57e58062e38ea SHA512 c7c8f50fad0507228336b6144b8be3e70df07d64f1df617bfd9cd717a095c49cd9555c441cde7d24bbe2d179ab8763e4f6ab1074dd6c5532b80a1bbb4f13a244
-DIST binutils-apple-patches-7.2-r0.tar.bz2 2917 BLAKE2B 53bf5c5c8a21bcaa4df6b1fe290628d428976c0e502c7c0bb3e1c2f7c13881b4b437963004e1daa5aa32361a2b02826086b5bd9b022321065d425b6663b79445 SHA512 ca2fc2da88144fbf01f34f1664e6177105a5d1bff956e83f6c7cd530b8e80dcd59b0c921ad95d3c4554e02909bcd846d3a2a4535bf47569b343c85e765619821
-DIST binutils-apple-patches-7.3-r0.tar.bz2 44576 BLAKE2B a9f23fe66f9b3e25b8975c9148db996fb3133f70b11768fe400993c90d62b6da2c9704a99104c6921dfae5052b5e0d66bd1af02640df8166a957fef9a092d52a SHA512 6b092c586ac4c3a3c65229a7490f93b0f0d38348e5a2db4f73d6062c737007ee0a5b6bdb5948b7aac1d74d32442fa501ba92161a9ffe13151288432c6a706c43
-DIST binutils-apple-patches-7.3-r1.tar.bz2 44737 BLAKE2B 4ac5d3b50c04b1ab71dc1c266db8b44e9d34f12bcc8a53966232cb5a6999b2662f9891367a2e7f8ea4f0f014b19594c1adf8dd945a18419980bca729c1de302e SHA512 ce4b3a725e19cb632b0c101a32488ce09a8bb89aed08339d5518d834cb68c525b2e0c8b66564a945c077915e92cc6be3f7028c5baacb870b3ca9b9422b4fb0da
-DIST binutils-apple-patches-8.2-r0.tar.bz2 5771 BLAKE2B b562ea4dd9214bc66695dbdb2452c88b1885ae1e36904516ea664157cbf0b54421d80cd0df792fcc431a3e0b98e804488c651b3fa29b368445450d0d13a1502c SHA512 92d04396630a31b752a24845c27fe8da2e37eb176117c9b31193e8f48af7ade707cda4060289b848965310afd05b2f121c740b0e5baa56b79c5481273a88c84e
+DIST binutils-apple-patches-6.3-r2.tar.bz2 53029 BLAKE2B c2e7d773c00d3e6e13e01ee23a8aaf1986af31d2e1390a49ff3932bec45be916af56584a1d218412e2ed528bf55bd4de3942fa1ea3e4d113f841699172ab295c SHA512 bb165ceaebbb2545ac946c94bcc930ba52de452ea71c984d3d92a5b5105507de94752c3584cf05bd27ea288f5353e459c31e97f45553f2ad993249023f486a71
+DIST binutils-apple-patches-7.0-r3.tar.bz2 57504 BLAKE2B 2c894368141fa68c2b5ee85e05309233857afed89e81a89ff9739570397042e174921c9a174b026c61cf04d4bd09b84600a6acb8ac0ac6d55b59d37667ccc0a6 SHA512 4bfe2f1f29f3ca91c093af6b95d16cc315fe8098fb5fd0230458ac2575b34110c250d848b8d9a5425136069b5022d5005fa099489ba6534dd38d1c7049dce009
+DIST binutils-apple-patches-7.2-r1.tar.bz2 2924 BLAKE2B 167fb37e5cb4cae8fe6777dceb1085eee68ce601cf158a9b67d9f77113088c745551ef1500e1fb82e9e74a15bf010fc8e07728506879b5f8ee97fe10b93cea2f SHA512 1285ae5dfcac59e3f27312cfe53683df2f3f166a28ae60e78bc4d25fab6de2a8baf99a4e166638ea90b5823b9c9f0c5feb2a16265c7713fbfe81b5f43b524c54
+DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f2984cce1c15f0d07c6b66aa6c8df3e07360943104aabe6f2555a0094973df71a5844496cb69d97a0ff13366043e02a01d8fbb0b0239 SHA512 219c26aeb54e89e23ab91706dda0803cf0c9f2a33acb5cc676db2d2ea33ad22af0661ea19450ad8f1f006f6c1703269fd95c98c52a7bcfa0c6491bc1cfb1a0ba
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
DIST cctools-750.tar.gz 1947990 BLAKE2B b0fe71ae6972bd2b21c1ecf7a699104c51519babf67bb5fc45e31ed1d17108e7627cb46b5f65d48c33dbec9e9032e703924e9a9a687ec19bd384a3cdea243a46 SHA512 298a447757d926b3d156aaf8be27ceadeb4242336b66cb0bee0fd2dc8bb4ad3f167758ff526e4bf3fe458cb72391f5dc38f9112171883fcf28d49a18d671296a
DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
@@ -34,7 +31,6 @@ DIST ld64-242.tar.gz 641597 BLAKE2B 09d241cbd24e98cf59cd4b25f2237fb518bbd6550d75
DIST ld64-253.3.tar.gz 671087 BLAKE2B 33d00185bdeb7eadc8c1f94d338ebe08c23b8944daeca794e1ee8e58528d6c9775eecf704b098a87bc0a3281b2e3dc9e634714923fea65cc22977b2cd89cfa1d SHA512 ce2c86f2f37ee37bd417315ba51815707b0ca6f24da06819fd1b2d0b4fe0762e45a08c3faf2c0c980e4913c9cbfbf6c8185f9a6810cfa1d9dad231b5bb276081
DIST ld64-253.6.tar.gz 671838 BLAKE2B e7b05c658896a799cfb6dd8d4d74ec16d9a2c39cdbdfac1e7d3f6b5ccd4722b343a9567dbd649e71e96742d6b2eae74ac951bada8899be51f152809c579c73e9 SHA512 40b29e273ed3d69e4f92593cadea831fd618452d3f05e30c0b836ffc05db61fd345cb2f6d63271563c786ecabd47f19f8369456cbe6422800117a53c654a98c6
DIST ld64-253.9.tar.gz 673388 BLAKE2B 65af4f3ddd49b15deecf824fd991d41e5223ff9c963a0ccc89862181353c52279897171d37a00939d6678f2260efa7f7852b9dfd71c2c7b4b00d3fa2dbd85a34 SHA512 a52b081295c19f28858f8ee47c05249bba3e15cc8bb6f7017d9f6dcf7509cdacef7a4b16b3940cd0b1f72b3b67efb503ab2e3801b31e50cda1d34c6bc8df8dcf
-DIST ld64-264.3.101.tar.gz 681491 BLAKE2B d924b8865924d7d2b55886221c0e8c6ed0b50c30167141531010fb43a8b05eacbd19358ea689458af3e34c348ee19f58bb9eabf6e6193b9d5e909c0daed3ed60 SHA512 ffa37af95f1a6e76829d0ac8badfd0236d93dc2f9988c7f4b88fe271b7b02a4b5553402a1e9a49feed9da4d04a50e2a2cacdb1bd4c04ecbef09d68b85a2e8a6a
DIST ld64-264.3.102.tar.gz 681509 BLAKE2B 4a0699ec761bd145b8034c8577ce9f843c9384fee5486855565d1d89858a445492d66aca2798a6e9c1bb4f59328680c05bcf1cd024d917c063e74d3549073ce0 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0
DIST ld64-274.1.tar.gz 670493 BLAKE2B 00ab46b09f29c6143c5066ffb0a12017fb2268a5f205c41851a95bc38443aa5494ce81b793a6668bcd3a8abb0ba4215f0da372c413ae52e4ca1e437ad370f8e0 SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
similarity index 99%
rename from sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
rename to sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
index cdeffebc6f3..763bdb04110 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index 039399257b2..1d46085dfbc 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -20,8 +20,8 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
deleted file mode 100644
index 805b4d51e50..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.0.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.3
-CCTOOLS_VERSION=877.5
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.14
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="test multitarget"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-
-# Also, llvm lto and disassembler interfaces are now widely used in cctools.
-# Since we cannot compile with gcc any more and every llvm since 3.4 has
-# provided those interfaces, we no longer support disabling them. That
-# indirectly makes xar a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- app-arch/xar
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-7.0-lto-prefix.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake || die "emake failed for ld64"
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1 \
- || die "emake failed for the cctools"
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for as"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 6ee67d9bd04..9bf30b1f105 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -20,8 +20,8 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
deleted file mode 100644
index ed6be55fb9a..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.1.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.6
-CCTOOLS_VERSION=877.7
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.17
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="test multitarget"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-
-# Also, llvm lto and disassembler interfaces are now widely used in cctools.
-# Since we cannot compile with gcc any more and every llvm since 3.4 has
-# provided those interfaces, we no longer support disabling them. That
-# indirectly makes xar a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- app-arch/xar
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-7.0-lto-prefix.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake || die "emake failed for ld64"
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1 \
- || die "emake failed for the cctools"
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for as"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index 8cae70ffc66..7bf3b8b52ad 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -20,9 +20,9 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
deleted file mode 100644
index 4f76f80df25..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.2.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.9
-CCTOOLS_VERSION=877.8
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.18
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="test multitarget"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-
-# Also, llvm lto and disassembler interfaces are now widely used in cctools.
-# Since we cannot compile with gcc any more and every llvm since 3.4 has
-# provided those interfaces, we no longer support disabling them. That
-# indirectly makes xar a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- app-arch/xar
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-7.0-lto-prefix.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake || die "emake failed for ld64"
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1 \
- || die "emake failed for the cctools"
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for as"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 1fc16db7730..78efc1276de 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -20,10 +20,10 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
@@ -70,7 +70,7 @@ src_prepare() {
epatch "${S}"/ld64-241.9-osatomic.patch
epatch "${S}"/ld64-236.3-crashreporter.patch
epatch "${S}"/ld64-264.3.101-nosnapshots.patch
- epatch "${S}"/ld64-264.3.101-ppc.patch
+ epatch "${S}"/ld64-264.3.102-ppc.patch
epatch "${S}"/ld64-264.3.101-constant-types.patch
epatch "${S}"/ld64-241.9-register-names.patch
epatch "${S}"/ld64-241.9-get-comm-align.patch
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
deleted file mode 100644
index 853dba37052..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.3.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-264.3.101
-CCTOOLS_VERSION=886
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.18
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r0.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r0.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-264.3.101-Makefile Makefile
-
- epatch "${S}"/ld64-264.3.101-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-264.3.101-nosnapshots.patch
- epatch "${S}"/ld64-264.3.101-ppc.patch
- epatch "${S}"/ld64-264.3.101-constant-types.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-7.3-nolto.patch
- epatch "${S}"/${PN}-7.3-nollvm.patch
- epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO} \
- || die "emake failed for ld64"
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for the cctools"
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for as"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- # upstream is starting to replace classic binutils with llvm-integrated
- # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
- # version is preserved as {nm,size}-classic. (BTW: otool is a symlink to
- # otool-classic for now but a wrapper llvm-otool that is calling
- # llvm-objdump is present already.)
- # Since our binutils do not live in the same directory as the llvm
- # installation, we have to rewrite the symlinks to the llvm tools.
- # This also means, that these tools still appear to be versioned via
- # binutils-config but actually always run the currently installed llvm
- # tool.
- for tool in nm size ; do
- # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
- # -> ${EPREFIX}/bin/llvm-$tool
- ln -sfn ../../../bin/llvm-$tool "${D}/${EPREFIX}/${BINPATH}/$tool"
- done
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
index 32405f72fca..69ff01d148f 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -17,9 +17,9 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~x64-macos ~x86-macos"
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
index 781aff39edf..c664dedee15 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -17,7 +17,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2"
LICENSE="APSL-2"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
deleted file mode 100644
index 11fae811996..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-274.2
-CCTOOLS_VERSION=895
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-DYLD=dyld-421.2
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r0.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto tapi classic test"
-
-# ld64 can now only be compiled using llvm and libc++ since it massively uses
-# C++11 language features. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- tapi? ( sys-libs/tapi )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="8"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-274.1-Makefile Makefile
-
- epatch "${S}"/ld64-274.1-nolto.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-264.3.102-bitcode-case.patch
- epatch "${S}"/ld64-274.1-unknown-fixup.patch
- epatch "${S}"/ld64-274.1-notapi.patch
-
- # workound llvm-3.9.{0,1} issue
- # https://bugs.gentoo.org/show_bug.cgi?id=603580
- # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
- # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
- sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-8.1-nolto.patch
- epatch "${S}"/${PN}-7.3-nollvm.patch
- epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
- epatch "${S}"/${PN}-8.1-llvm-tools.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- eapply_user
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- ${LD64}/src/create_configure
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO} \
- TAPI=$(use tapi && echo 1 || echo 0) \
- || die "emake failed for ld64"
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for the cctools"
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil" \
- || die "emake failed for as"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- # upstream is starting to replace classic binutils with llvm-integrated
- # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
- # version is preserved as {nm,size}-classic.
- # Since our binutils do not live in the same directory as the llvm
- # installation, we have to rewrite the symlinks to the llvm tools.
- # This also means, that these tools still appear to be versioned via
- # binutils-config but actually always run the currently installed llvm
- # tool.
- budir=${D}/${EPREFIX}/${BINPATH}
- for tool in nm size ; do
- # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
- # -> ${EPREFIX}/bin/llvm-$tool
- use classic && \
- ln -sfn ${tool}-classic "${budir}/${tool}" || \
- ln -sfn ../../../bin/llvm-${tool} "${budir}/${tool}"
- done
-
- # Also, otool is now based on llvm-objdump. But a small wrapper installed
- # as llvm-otool remains, providing command line compatibility.
- use classic && \
- ln -sfn otool-classic "${budir}/otool" || \
- ln -sfn llvm-otool "${budir}/otool"
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2019-01-28 10:37 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2019-01-28 10:37 UTC (permalink / raw
To: gentoo-commits
commit: 0bdebb89acdfbafa9db713e6b1fbd366ce8ad5f9
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 28 10:36:52 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Jan 28 10:37:06 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bdebb89
sys-devel/binutils-apple: introduce latest version from 3.2 Xcode branch
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
sys-devel/binutils-apple/Manifest | 4 +
.../binutils-apple/binutils-apple-3.2.6.ebuild | 265 +++++++++++++++++++++
2 files changed, 269 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index a57a2e25a59..530d344b9cc 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,5 +1,6 @@
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 BLAKE2B 3352170bcfe73c574217597233ca58c7d6ebeedf9dfe9da1399953dfe1a0c87fc26e9ba8864620ddd67c6f38e48aeb6950737637605f0b860eb4a0d246f3aff7 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1
DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b2691e4acd73ee323d643da4335f6465ccc29b06f889d01fb42c7778576607bfdb859e2df38d3ebf82d4bf7f0971079da6985f237 SHA512 5381a93d61c39993cdb294ecb238016e26cdfe283fae553f75ddc6662812709301d5208c770ac0992d1dfab92e4802c660e6fb4336ad891335ab716d3b042805
+DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8
DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 BLAKE2B 8505acaff6343b2f4dffe9c1dd78e360762f0ad78d39fbc0227265ed8b6768dba62c1a7d6784ca685934942e1a211c70275474001b066e3292c579fa0aa2f356 SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3
@@ -9,6 +10,7 @@ DIST binutils-apple-patches-7.2-r1.tar.bz2 2924 BLAKE2B 167fb37e5cb4cae8fe6777dc
DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f2984cce1c15f0d07c6b66aa6c8df3e07360943104aabe6f2555a0094973df71a5844496cb69d97a0ff13366043e02a01d8fbb0b0239 SHA512 219c26aeb54e89e23ab91706dda0803cf0c9f2a33acb5cc676db2d2ea33ad22af0661ea19450ad8f1f006f6c1703269fd95c98c52a7bcfa0c6491bc1cfb1a0ba
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
DIST cctools-750.tar.gz 1947990 BLAKE2B b0fe71ae6972bd2b21c1ecf7a699104c51519babf67bb5fc45e31ed1d17108e7627cb46b5f65d48c33dbec9e9032e703924e9a9a687ec19bd384a3cdea243a46 SHA512 298a447757d926b3d156aaf8be27ceadeb4242336b66cb0bee0fd2dc8bb4ad3f167758ff526e4bf3fe458cb72391f5dc38f9112171883fcf28d49a18d671296a
+DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
DIST cctools-855.tar.gz 1699635 BLAKE2B 4d98cf2bbced6894083dc2733a35cf9a4c47f71172fe98265a8f047218cc90276085919129553e3a1ea0658416eebf3b7cf0908bd32ac1a224480554257999ee SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f
DIST cctools-862.tar.gz 1702345 BLAKE2B de84058aa78824562b0eabf93a29badaba0908a7140336a281a6ea46a9b09d893433a908c299e8de866a76e0eeb98b730570958fc8fac559ccc6e35f5138b121 SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a
@@ -18,6 +20,7 @@ DIST cctools-877.7.tar.gz 1720523 BLAKE2B 78e4d387b34504a001a5dac2db5f791fcbeae7
DIST cctools-877.8.tar.gz 1720708 BLAKE2B 97bce69d7c88a917ad1351635b4bd0ebd3273f7a62b10dd3d58a0df7e1de2e05dc3fa04b014dff6966e77b85e264d1be181ac4d5dafc069c72c79d803393176a SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef
DIST cctools-886.tar.gz 1731850 BLAKE2B c206ad8c94fa3d132726db8cbc60ed09b6f1f7aa8118a99b1e7ed350323c11b729d68c912ba7648cf900cc2a26cbff12a03072afe92efe09c8974be280448731 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
+DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-195.6.tar.gz 412518 BLAKE2B f525aac0020baa69c5d7c42a7027b0d2fdef9fa3c2e5d3831101989eab20f2eb7932c99355ca34e6e0b988b9808013739d452592e0b8832e1306cc6027cc5d0f SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5
DIST dyld-353.2.1.tar.gz 510036 BLAKE2B 6f355bcb87d6136d3c29b2766146303ecf092fb407296a0a93412598276ea88c4f826da75d20cc5d3e2bfac750a62c413b117ee95dd710eac83b647786fb109b SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f
DIST dyld-360.14.tar.gz 518873 BLAKE2B ebf651a8880ef337ed5ee7d5d7b9d2da77fed481f4a01c52dbc81e1192138a423bafc89b49417d1edf36167c59600a6ef63d60c2f3e080d4f77b19405e5b0755 SHA512 cfe536ea1f0ad8fbc2846417289e3e36704bf69388e083e0ece0ffa6eeee501e7e9b2ba47eed7be0e5120b5cc72f33b2fc0d2d39ba7a16beaf98db94dfb4ae40
@@ -35,5 +38,6 @@ DIST ld64-264.3.102.tar.gz 681509 BLAKE2B 4a0699ec761bd145b8034c8577ce9f843c9384
DIST ld64-274.1.tar.gz 670493 BLAKE2B 00ab46b09f29c6143c5066ffb0a12017fb2268a5f205c41851a95bc38443aa5494ce81b793a6668bcd3a8abb0ba4215f0da372c413ae52e4ca1e437ad370f8e0 SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
DIST ld64-85.2.1.tar.gz 598524 BLAKE2B 92cb3c763cc067e2ee6c4fec910f078cc69daca2a328a74ebc988908b1655138873b69bfb0c19b284f0aedb678e99de3866d4f13460cb3427985704093dca37a SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999
+DIST ld64-97.17.tar.gz 421947 BLAKE2B 56820ef28490f2e0181d6e36b87506c6f00ae5759afe304a063fb6bd1904ace566ef4aa69ff0d235d65968af547a1a5735cb23bcefa990f418740188d399b637 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f
DIST libunwind-35.3.tar.gz 90002 BLAKE2B d63ab0ae6e66a6f35ec17de9713d3bf4853cd80af218e868762b20dd8a44d42cd9ff8fce1d8c46fca4759144726bbf248a02a5dede5a94a2b75d3b45ddb7d018 SHA512 b7d9a86ef24f1fe9ca14517471e03a910219a229af9f0d4cf94435115971360640451107ba20c93fb1aab788f8b6eb5ed580ee08fdaa990b9fa43e9ae360c6b4
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
new file mode 100644
index 00000000000..972e7b72856
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+RESTRICT="test" # the test suite will test what's installed.
+
+LD64=ld64-97.17
+CCTOOLS=cctools-795
+LIBUNWIND=libunwind-30
+DYLD=dyld-132.13
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools 3.2.6"
+HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ https://opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-3.2.6-r0.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="sys-devel/binutils-config"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="3"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+prepare_ld64() {
+ cd "${S}"/${LD64}/src
+ cp "${WORKDIR}"/Makefile Makefile || die
+
+ # provide missing headers from libunwind and dyld
+ mkdir -p include/{mach,mach-o/arm} || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # missing on <= 10.5
+ cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
+ ln -s ../../../${LIBUNWIND}/src include/libunwind || die
+ cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
+ # missing on <= 10.4
+ cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
+ cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
+ # use copies from cctools because they're otherwise hidden in some SDK
+ cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
+ # provide all required CPU_TYPEs on all platforms
+ cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ sed -i \
+ -e '/^#define LTO_SUPPORT 1/s:1:0:' \
+ other/ObjectDump.cpp || die
+ echo '#undef LTO_SUPPORT' > include/configure.h
+ echo '' > linker_opts
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ elog "Deleted $c tests that were bound to fail"
+}
+
+src_prepare() {
+ prepare_ld64
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${WORKDIR}"/${PN}-3.2.6-as-dir.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
+ epatch "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
+
+ # drop as targets which are not suported by anything
+ sed -i \
+ -e '/^all:/,/^$/s/\(a68\|a88\|a860\|ahppa\|asparc\)_build//g' \
+ -e '/^macos_install:/s/common_install//' \
+ -e '/^xcommon_install:/,/^$/{' \
+ -e '/\(m68k\|a68\|sparc\)/d' \
+ -e '}' \
+ as/Makefile || die
+
+ cd "${S}"/${LD64}
+ epatch "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
+ epatch "${WORKDIR}"/${PN}-3.2.6-lto.patch
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+
+ # -pg is used and the two are incompatible
+ filter-flags -fomit-frame-pointer
+
+ eapply_user
+}
+
+src_configure() {
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
+ if tc-is-gcc && [[ $(gcc-fullversion) != 4.2.1 ]] ; then
+ # force gcc-apple
+ CC=${CTARGET}-gcc-4.2.1
+ CXX=${CTARGET}-g++-4.2.1
+ fi
+}
+
+compile_ld64() {
+ cd "${S}"/${LD64}/src
+ # 'struct linkedit_data_command' is defined in mach-o/loader.h on leopard,
+ # but not on tiger.
+ [[ ${CHOST} == *-apple-darwin8 ]] && \
+ append-flags -isystem "${S}"/${CCTOOLS}/include/
+ local myincs="-Iinclude -Iabstraction -Ild"
+ emake CFLAGS="${CFLAGS} ${myincs}" CXXFLAGS="${CXXFLAGS} ${myincs}" \
+ || die "emake failed for ld64"
+ use test && emake build_test
+}
+
+compile_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake \
+ LTO= \
+ TRIE= \
+ EFITOOLS= \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
+ || die "emake failed for the cctools"
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ || die "emake failed for as"
+}
+
+src_compile() {
+ tc-export CC CXX
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,rebase}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # need host arch, since GNU arch doesn't do what Apple's does
+ tc-export CC CXX
+ perl ../bin/make-recursive.pl \
+ ARCH="$(/usr/bin/arch)" \
+ RELEASEDIR="${S}"/${LD64}/src \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2019-03-16 14:59 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2019-03-16 14:59 UTC (permalink / raw
To: gentoo-commits
commit: 012a50cbc4302fbcef1ced7ec9e4ecdaeaaea958
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 14:59:04 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 14:59:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=012a50cb
sys-devel/binutils-apple: fix HOMEPAGE, thanks yuLya in bug #680548
Closes: https://bugs.gentoo.org/680548
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild | 2 +-
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild | 4 ++--
12 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
index 972e7b72856..6636b170fc5 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
@@ -13,7 +13,7 @@ LIBUNWIND=libunwind-30
DYLD=dyld-132.13
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools 3.2.6"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
index 6e37ac06e4c..e60586c9425 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -14,7 +14,7 @@ CCTOOLS=cctools-750
LP64PATCHES=binutils-apple-LP64-patches-1
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools 3.2"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${LP64PATCHES}.tar.bz2
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
index 021608d4682..b22d2eadae7 100644
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -13,7 +13,7 @@ LIBUNWIND=libunwind-30
DYLD=dyld-195.6
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
index 4920826c016..8054c9ae0d5 100644
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-353.2.1
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
index bd320244231..8d7aa6d2cf3 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-353.2.1
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
index 763bdb04110..c84b2b5c8f2 100644
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-353.2.1
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
index 1d46085dfbc..6082903fa5a 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-360.14
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
index 9bf30b1f105..98eccefbd99 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-360.17
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
index 7bf3b8b52ad..ac2ac3a6ec4 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-360.18
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
index 78efc1276de..b903419b7cc 100644
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -12,7 +12,7 @@ LIBUNWIND=libunwind-35.3
DYLD=dyld-360.18
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
index 69ff01d148f..0658f981691 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -11,7 +11,7 @@ CCTOOLS=cctools-${CCTOOLS_VERSION}
DYLD=dyld-421.2
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
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
index c664dedee15..7df83c36da8 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -11,7 +11,7 @@ CCTOOLS=cctools-${CCTOOLS_VERSION}
DYLD=dyld-421.2
DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/darwinsource/"
+HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-11-27 15:33 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-11-27 15:33 UTC (permalink / raw
To: gentoo-commits
commit: 6f3826c28e296d98a50d7423c80041c3df0c86cd
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 15:33:15 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 15:33:15 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f3826c2
sys-devel/binutils-apple-11.3.1: version bump by Jacob Floyd, #693444
Closes: https://bugs.gentoo.org/693444
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 4 +
.../binutils-apple/binutils-apple-11.3.1.ebuild | 374 +++++++++++++++++++++
2 files changed, 378 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 530d344b9cc..6466da784e5 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,4 +1,5 @@
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 BLAKE2B 3352170bcfe73c574217597233ca58c7d6ebeedf9dfe9da1399953dfe1a0c87fc26e9ba8864620ddd67c6f38e48aeb6950737637605f0b860eb4a0d246f3aff7 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1
+DIST binutils-apple-patches-11.3.tar.bz2 7871 BLAKE2B de4e909a084da79d139b7f07d98c55ebe8aac3fc5ba5accb365e0eb003b726a619369e7695f43faaeb6acabc1db5eba9195e8e22aeed0e864446ade48d13a826 SHA512 ae73528bd0fa47413caef0f65b0077011123ae2bcf366a09da8fcd5cb79ef76495f9c11560f039fc2f35405430d5ff0295913ba44dce1a8677bd347db179ecdf
DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b2691e4acd73ee323d643da4335f6465ccc29b06f889d01fb42c7778576607bfdb859e2df38d3ebf82d4bf7f0971079da6985f237 SHA512 5381a93d61c39993cdb294ecb238016e26cdfe283fae553f75ddc6662812709301d5208c770ac0992d1dfab92e4802c660e6fb4336ad891335ab716d3b042805
DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
@@ -20,6 +21,7 @@ DIST cctools-877.7.tar.gz 1720523 BLAKE2B 78e4d387b34504a001a5dac2db5f791fcbeae7
DIST cctools-877.8.tar.gz 1720708 BLAKE2B 97bce69d7c88a917ad1351635b4bd0ebd3273f7a62b10dd3d58a0df7e1de2e05dc3fa04b014dff6966e77b85e264d1be181ac4d5dafc069c72c79d803393176a SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef
DIST cctools-886.tar.gz 1731850 BLAKE2B c206ad8c94fa3d132726db8cbc60ed09b6f1f7aa8118a99b1e7ed350323c11b729d68c912ba7648cf900cc2a26cbff12a03072afe92efe09c8974be280448731 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
+DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-195.6.tar.gz 412518 BLAKE2B f525aac0020baa69c5d7c42a7027b0d2fdef9fa3c2e5d3831101989eab20f2eb7932c99355ca34e6e0b988b9808013739d452592e0b8832e1306cc6027cc5d0f SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5
DIST dyld-353.2.1.tar.gz 510036 BLAKE2B 6f355bcb87d6136d3c29b2766146303ecf092fb407296a0a93412598276ea88c4f826da75d20cc5d3e2bfac750a62c413b117ee95dd710eac83b647786fb109b SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f
@@ -27,6 +29,7 @@ DIST dyld-360.14.tar.gz 518873 BLAKE2B ebf651a8880ef337ed5ee7d5d7b9d2da77fed481f
DIST dyld-360.17.tar.gz 518876 BLAKE2B f627c7628b0956fef040a526116d27db14010eb0769394c9130d5b0d24d0d03a471d1c44e9533a34b1832f542a98432f2045b309a85dff4e0c1756f7bc1b0fb4 SHA512 aae2a0ea1f4130de51aa920ce1affa579993b3b58a7d398ec998c0d7ac4919907ba4e508b9bfc15080b1f4f4cf15e4615bc416b6ec32b52a4b5d8fbbad1dc9ab
DIST dyld-360.18.tar.gz 518957 BLAKE2B 536954a681a18d55f9dba6e4ec2bce116dea84f80769c57518b50b3187625a7384bb77afe3d8b24c456da3ab4d8206f1ddfdbd008e4674dc1f5e9574ca09596f SHA512 1299bd2dd5cd663917ec4a03ed0f875e0bf07d6680d3d095af12f4b11960c02a52e361bde27ff88843f80832fc6d36654e2556ee0a3ca2259fcded5b568ab2f9
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
+DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0
DIST ld64-128.2.tar.gz 494361 BLAKE2B 787d145edafe56a134ead84ae376842d9994608a771d0512a6f56738e170c2498a031c77c895da79b30efa309986c8cd624f5f09cd9784f63c7b2d2e0334e0d9 SHA512 f50a3c396e6f4fddc685bb3f59f9a260bd2f47060535d24259b2b411e4f759e48daa35819da682ad9bceaa1b9a1981eb34716387d988cdc4b7eec9ab2169726e
DIST ld64-236.3.tar.gz 624400 BLAKE2B 37c074093c312fc9720564aa9702d6007bd44252a1282c4c67e0c1b75f6f4aeaf5b6278df3d5ed5f5baee948c547a462476dfe5eabb665612e4d31d57f26a286 SHA512 e103fc5efd4d4161c7dc55b1ad53aebd455cfcd72de7873ebfdf5ba896b7b0da9c9aeb12e1e1a76425768ac1dc85d864a4ce33b5b841ba115eeab96a2e2965aa
DIST ld64-241.9.tar.gz 639944 BLAKE2B 1aa58dbb4e42b8314421bb10867aacd6cdece7a5983ed88571349e97366b61c1de175769b2d9f7b04495f2f306406f8a6fe785548f74dd39f419f321ec24d93b SHA512 6958e7064f4fd8b47501225fc4cbc6292e5da63d7f4103ad79add177ef7382c8de3c732f14d19a9c11356b8070f578392383caccc3795e2ab8ef7b7ddbde88da
@@ -37,6 +40,7 @@ DIST ld64-253.9.tar.gz 673388 BLAKE2B 65af4f3ddd49b15deecf824fd991d41e5223ff9c96
DIST ld64-264.3.102.tar.gz 681509 BLAKE2B 4a0699ec761bd145b8034c8577ce9f843c9384fee5486855565d1d89858a445492d66aca2798a6e9c1bb4f59328680c05bcf1cd024d917c063e74d3549073ce0 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0
DIST ld64-274.1.tar.gz 670493 BLAKE2B 00ab46b09f29c6143c5066ffb0a12017fb2268a5f205c41851a95bc38443aa5494ce81b793a6668bcd3a8abb0ba4215f0da372c413ae52e4ca1e437ad370f8e0 SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
+DIST ld64-530.tar.gz 744871 BLAKE2B 8117160ffe55c02b463559a52fcbd109629d6e2b4707f36391ec2151785cc1ab5be911129397af7bea05f06b2c718bc345a1e3b6b0838dae943f4083612af38f SHA512 0197ec05f9fbaf9e1902bb6e0819d0562573a433e0445809f1020e76126d3af57222a8e9e187fce793a5b581f825b48bfb5ec5cca9ae3eb77758cbc7f20e9e20
DIST ld64-85.2.1.tar.gz 598524 BLAKE2B 92cb3c763cc067e2ee6c4fec910f078cc69daca2a328a74ebc988908b1655138873b69bfb0c19b284f0aedb678e99de3866d4f13460cb3427985704093dca37a SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999
DIST ld64-97.17.tar.gz 421947 BLAKE2B 56820ef28490f2e0181d6e36b87506c6f00ae5759afe304a063fb6bd1904ace566ef4aa69ff0d235d65968af547a1a5735cb23bcefa990f418740188d399b637 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f
diff --git a/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
new file mode 100644
index 00000000000..9263d8e00b0
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
@@ -0,0 +1,374 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic toolchain-funcs llvm prefix
+
+# versions:
+# XCode-11.3.1 ld64-530 cctools-949.0.1
+# XCode-11.2.1 ld64-520 cctools-949.0.1
+# XCode-11.0 ld64-512.4 cctools-949.0.1
+# XCode-8.2.1 ld64-274.2 cctools-895 <== binutils-apple-8.2.1-r1 (2019)
+
+# macOS-10.15.6 dyld-750.6 Causes build failures with Xcode-11 tools
+# macOS-10.14.4-10.14.6 dyld-655.1.1 Causes build failures with Xcode-11 tools
+# macOS-10.13.6 dyld-551.4
+# macOS-10.12.1-10.12.3 dyld-421.2 <== binutils-apple-8.2.1-r1,8.1
+
+LD64=ld64-530
+CCTOOLS_VERSION=949.0.1
+CCTOOLS=cctools-${CCTOOLS_VERSION}
+DYLD=dyld-551.4
+
+DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
+HOMEPAGE="http://www.opensource.apple.com/"
+SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
+ http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
+ http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3.tar.bz2"
+
+LICENSE="APSL-2"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE="lto classic test" # tapi is now required
+RESTRICT="!test? ( test )"
+
+# ld64 can now only be compiled using llvm and libc++ since it massively uses
+# C++11 language features. *But additionally* the as driver now defaults to
+# calling clang as the assembler on many platforms. This can be disabled using
+# -Wa,-Q but since it's default we make llvm a static runtime dependency.
+RDEPEND="sys-devel/binutils-config
+ lto? ( app-arch/xar )
+ sys-libs/tapi
+ sys-devel/llvm:*
+ sys-libs/libcxx"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/perl-5.8.8 )"
+
+SLOT="11"
+
+S=${WORKDIR}
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+llvm_pkg_setup() {
+ # eclass version will die if no LLVM can be found which will break prefix
+ # bootstrap
+ :
+}
+
+src_prepare() {
+ cd "${S}"/${LD64}/src
+ cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
+ cp "${S}"/ld64-530-Makefile Makefile
+
+ epatch "${S}"/ld64-530-nolto.patch
+ epatch "${S}"/ld64-236.3-crashreporter.patch
+
+ # workound llvm-3.9.{0,1} issue
+ # https://bugs.gentoo.org/show_bug.cgi?id=603580
+ # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
+ # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
+ sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
+
+ # provide missing headers dyld
+ mkdir -p include/mach-o || die
+ # never present because it's private
+ cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+
+ local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
+ echo "char ldVersionString[] = ${VER_STR};" > version.cpp
+
+ cd "${S}"/${CCTOOLS}
+ epatch "${S}"/${PN}-4.5-as.patch
+ epatch "${S}"/${PN}-5.1-as-dir.patch
+ epatch "${S}"/${PN}-5.1-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ epatch "${S}"/${PN}-3.1.1-no-headers.patch
+ epatch "${S}"/${PN}-4.0-no-oss-dir.patch
+ epatch "${S}"/cctools-839-intel-retf.patch
+ epatch "${S}"/${PN}-5.1-extraneous-includes.patch
+ epatch "${S}"/${PN}-5.1-strnlen.patch
+ epatch "${S}"/${PN}-7.3-make-j.patch
+ epatch "${S}"/${PN}-11.3.1-no-developertools-dir.patch # 7.3 failed to apply. updated
+ epatch "${S}"/${PN}-11.3.1-llvm-prefix.patch # 8.2.1 failed to apply. updated
+ epatch "${S}"/${PN}-8.2.1-llvm-shim.patch
+ epatch "${S}"/${PN}-11.3.1-nolto-fix.patch # bugfix
+ epatch "${S}"/${PN}-11.3.1-segaddrtable-fix.patch # bugfix
+ eprefixify libstuff/execute.c
+ cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
+
+ # do not build profileable libstuff to save compile time
+ sed -i -e "/^all:/s, profile , ," libstuff/Makefile
+
+ # bugfix. args.c not built but args_expand_at is used in misc/libtool.c
+ sed -i -e "/^CFILES = /s, errors.c , errors.c args.c ," libstuff/Makefile
+
+ # cctools version is provided to make via RC_ProjectSourceVersion which
+ # generates and compiles it as apple_version[] into libstuff. From
+ # there it's picked up by the individual tools. Since
+ # RC_ProjectSourceVersion is also used as library version, we can't
+ # just append our local version info. So we hack the libstuff Makefile
+ # to include our Gentoo version.
+ sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
+ libstuff/Makefile
+
+ eapply_user
+
+ # clean up test suite
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ local c
+
+ # we don't have llvm
+ ((++c)); rm -rf llvm-integration;
+
+ # we don't have dtrace
+ ((++c)); rm -rf dtrace-static-probes-coalescing;
+ ((++c)); rm -rf dtrace-static-probes;
+
+ # a file is missing
+ ((++c)); rm -rf eh-coalescing-r
+
+ # we don't do universal binaries
+ ((++c)); rm -rf blank-stubs;
+
+ # looks like a problem with apple's result-filter.pl
+ ((++c)); rm -rf implicit-common3;
+ ((++c)); rm -rf order_file-ans;
+
+ # TODO no idea what goes wrong here
+ ((++c)); rm -rf dwarf-debug-notes;
+
+ einfo "Deleted $c tests that were bound to fail"
+
+ cd "${S}"
+ ebegin "cleaning Makefiles from unwanted CFLAGS"
+ find . -name "Makefile" -print0 | xargs -0 sed \
+ -i \
+ -e 's/ -g / /g' \
+ -e 's/"-g /"/g' \
+ -e 's/^G =.*$/G =/' \
+ -e 's/^OFLAG =.*$/OFLAG =/' \
+ -e 's/install -c -s/install/g'
+ eend $?
+}
+
+src_configure() {
+ ENABLE_LTO=0
+ if use lto ; then
+ ENABLE_LTO=1
+
+ LLVM_INCDIR=$(get_llvm_prefix)/include
+ LLVM_LIBDIR=$(get_llvm_prefix)/lib
+
+ [ -n "${LLVM_INCDIR}" -a -n "${LLVM_LIBDIR}" ] || \
+ die "LLVM not found - LTO support can not be enabled"
+
+ # LTO and LLVM support currently both depend only on libLTO being
+ # present. So we can enable both.
+ CCTOOLS_LTO_CFLAGS="-DLTO_SUPPORT -I${LLVM_INCDIR}"
+ CCTOOLS_LLVM_CFLAGS="-DLLVM_SUPPORT -I${LLVM_INCDIR}"
+ fi
+
+ export CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
+ fi
+
+ export CCTOOLS_CPPFLAGS="${CPPFLAGS}"
+ # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
+ # what we want). Removed in compile_cctools.
+ append-cppflags -DNDEBUG
+
+ # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
+ DERIVED_FILE_DIR=${LD64}/src \
+ ${LD64}/src/create_configure
+}
+
+compile_ld64() {
+ einfo "building ${LD64}"
+ cd "${S}"/${LD64}/src
+ emake \
+ LTO=${ENABLE_LTO} \
+ LTO_INCDIR=${LLVM_INCDIR} \
+ LTO_LIBDIR=${LLVM_LIBDIR} \
+ TAPI=1 \
+ TAPI_LIBDIR="${EPREFIX}"/usr/lib
+
+ use test && emake build_test
+}
+
+compile_cctools() {
+ einfo "building ${CCTOOLS}"
+ filter-flags -DNDEBUG
+
+ cd "${S}"/${CCTOOLS}
+ # Suppress running dsymutil because it will warn about missing debug
+ # info which is expected when compiling without -g as we normally do.
+ # This might need some more thought if anyone ever wanted to build us
+ # for debugging with Apple's tools.
+ emake \
+ LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
+ EFITOOLS= \
+ LTO="${CCTOOLS_LTO_CFLAGS} ${CCTOOLS_LLVM_CFLAGS}" \
+ COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
+ LEGACY= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil"
+
+ cd "${S}"/${CCTOOLS}/as
+ emake \
+ BUILD_OBSOLETE_ARCH= \
+ RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
+ RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
+ OFLAG="${CCTOOLS_OFLAG}" \
+ DSYMUTIL=": disabled: dsymutil"
+}
+
+src_compile() {
+ compile_ld64
+ compile_cctools
+}
+
+install_ld64() {
+ exeinto ${BINPATH}
+ doexe "${S}"/${LD64}/src/{ld64,dyldinfo,unwinddump,ObjectDump,objcimageinfo,machocheck}
+ dosym ld64 ${BINPATH}/ld
+ insinto ${DATAPATH}/man/man1
+ doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,dyldinfo,unwinddump}.1
+}
+
+install_cctools() {
+ cd "${S}"/${CCTOOLS}
+ emake install_all_but_headers \
+ EFITOOLS= \
+ COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ DSTROOT=\"${D}\" \
+ BINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ cd "${S}"/${CCTOOLS}/as
+ emake install \
+ BUILD_OBSOLETE_ARCH= \
+ DSTROOT=\"${D}\" \
+ USRBINDIR=\"${EPREFIX}\"${BINPATH} \
+ LIBDIR=\"${EPREFIX}\"${LIBPATH} \
+ LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+
+ # upstream is starting to replace classic binutils with llvm-integrated
+ # ones. In Xcode, nm and size are now symlinks to llvm-{nm,size} while the
+ # classic version is preserved as {nm,size}-classic. When asked to do so
+ # by use classic we statically link to the classic version.
+ # binutils-bin/<version>/<tool>
+ # -> binutils-bin/<version>/<tool>-classic
+ #
+ # Otherwise we try to find and use the llvm version of the tool. Since our
+ # binutils do not live in the same directory as the llvm installation and
+ # llvm tends to move around, we use a shim that tries to find the llvm
+ # version of the tool in prefix. It will fall back to the classic tool if
+ # it fails.
+ # binutils-bin/<version>/<tool>
+ # -> binutils-bin/<version>/llvm-<tool>
+ # -> $EPREFIX/usr/lib/llvm/<major/bin/llvm-<tool>
+ # -> $EPREFIX/usr/bin/llvm-<tool>
+ # -> binutils-bin/<version>/<tool>-classic
+ budir=${D}/${EPREFIX}/${BINPATH}
+ for tool in nm size ; do
+ use classic && \
+ ln -sfn ${tool}-classic "${budir}/${tool}" || \
+ ln -sfn llvm-shim "${budir}/${tool}"
+ done
+
+ # Also, otool is now based on llvm-objdump. But a small wrapper installed
+ # as llvm-otool remains, providing command line compatibility.
+ use classic && \
+ ln -sfn otool-classic "${budir}/otool" || \
+ ln -sfn llvm-otool "${budir}/otool"
+
+ # And finally, although our cctools don't actually contain dsymutil and
+ # objdump, we provide access to the llvm versions of them via the shim to
+ # be in line with Xcode.
+ for tool in objdump dsymutil ; do
+ ln -sfn llvm-shim "${budir}/${tool}"
+ done
+
+ cd "${ED}"${BINPATH}
+ insinto ${DATAPATH}/man/man1
+ local skips manpage
+ # ar brings an up-to-date manpage with it
+ skips=( ar )
+ for bin in *; do
+ for skip in ${skips[@]}; do
+ if [[ ${bin} == ${skip} ]]; then
+ continue 2;
+ fi
+ done
+ manpage=${S}/${CCTOOLS}/man/${bin}.1
+ if [[ -f "${manpage}" ]]; then
+ doins "${manpage}"
+ fi
+ done
+ insinto ${DATAPATH}/man/man5
+ doins "${S}"/${CCTOOLS}/man/*.5
+}
+
+src_test() {
+ if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ einfo "Test suite only works properly with clang - please install"
+ return
+ fi
+
+ einfo "Running unit tests"
+ cd "${S}"/${LD64}/unit-tests/test-cases
+ # provide the new ld as a symlink to clang so that -ccc-install-dir
+ # will pick it up
+ ln -sfn ../../src/ld64 ld
+ # use our arch command because the System's will report i386 even for an
+ # x86_64 prefix
+ perl ../bin/make-recursive.pl \
+ BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
+ ARCH="$(arch)" \
+ LD="${S}"/${LD64}/src/ld64 \
+ CC="${CC} -ccc-install-dir $PWD" \
+ CXX="${CXX} -ccc-install-dir $PWD" \
+ OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
+ | perl ../bin/result-filter.pl
+}
+
+src_install() {
+ install_ld64
+ install_cctools
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-19 19:07 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-19 19:07 UTC (permalink / raw
To: gentoo-commits
commit: 80f6d04c612d5bd82d6cb0aca530c6f68addf7b6
Author: Jacob Floyd <cognifloyd <AT> gmail <DOT> com>
AuthorDate: Fri Dec 18 21:06:17 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Dec 19 19:07:39 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80f6d04c
sys-devel/binutils-apple-11.3.1: fix compilation on newer macOS
In the version of private header (dyld_priv.h) copied from DYLD sources,
It uses TARGET_OS_BRIDGE which is not defined in the latest MacOSX.sdk.
We don't care about BridgeOS, so we just disable that.
This only hits during stage3 and later once we've compiled our own
clang so that clang starts injecting -Werror,-Wundef-prefix=TARGET_OS_
(Apple must have that disabled in their version of clang).
Bug: https://bugs.gentoo.org/758167
Signed-off-by: Jacob Floyd <cognifloyd <AT> gmail.com>
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
index 9263d8e00b0..9c24505b552 100644
--- a/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
@@ -79,6 +79,10 @@ src_prepare() {
mkdir -p include/mach-o || die
# never present because it's private
cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
+ # TARGET_OS_BRIDGE is undefined in TargetConditionals.h of newer MacOSX.sdk.
+ # We don't target BridgeOS. Disable it to avoid errors when clang adds:
+ # -Werror,-Wundef-prefix=TARGET_OS_
+ sed -i -e 's/#if TARGET_OS_BRIDGE/#if 0/' include/mach-o/dyld_priv.h
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-19 19:51 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-19 19:51 UTC (permalink / raw
To: gentoo-commits
commit: 9a608377e7001e3b578d1b9eff82ec15cebcfdf4
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 19 19:50:11 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Dec 19 19:51:38 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a608377
sys-devel/binutils-apple-11.3.1-r1: update patchset, thanks Jacob Floyd
Closes: https://bugs.gentoo.org/631862
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 2 +-
...nutils-apple-11.3.1.ebuild => binutils-apple-11.3.1-r1.ebuild} | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 6466da784e5..9b9dc915818 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,5 +1,5 @@
DIST binutils-apple-LP64-patches-1.tar.bz2 10235 BLAKE2B 3352170bcfe73c574217597233ca58c7d6ebeedf9dfe9da1399953dfe1a0c87fc26e9ba8864620ddd67c6f38e48aeb6950737637605f0b860eb4a0d246f3aff7 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1
-DIST binutils-apple-patches-11.3.tar.bz2 7871 BLAKE2B de4e909a084da79d139b7f07d98c55ebe8aac3fc5ba5accb365e0eb003b726a619369e7695f43faaeb6acabc1db5eba9195e8e22aeed0e864446ade48d13a826 SHA512 ae73528bd0fa47413caef0f65b0077011123ae2bcf366a09da8fcd5cb79ef76495f9c11560f039fc2f35405430d5ff0295913ba44dce1a8677bd347db179ecdf
+DIST binutils-apple-patches-11.3-r1.tar.bz2 9041 BLAKE2B c881117e19e119173dd8c126859f8ebab5ff4024697c9650b8ba145c021aa6e251086d3678d80fec2672e78637a5beca795b71ae871692e832ba4e69a7a8e04c SHA512 eda63cd89f67674556dc75de719cd318f534544db50165d4faac454f67c557c9944e7e024c4443e640f987ed8c8826ccd578427743a86d7220c2ba90ed2206d4
DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b2691e4acd73ee323d643da4335f6465ccc29b06f889d01fb42c7778576607bfdb859e2df38d3ebf82d4bf7f0971079da6985f237 SHA512 5381a93d61c39993cdb294ecb238016e26cdfe283fae553f75ddc6662812709301d5208c770ac0992d1dfab92e4802c660e6fb4336ad891335ab716d3b042805
DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
diff --git a/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
similarity index 97%
rename from sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
rename to sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
index 9c24505b552..fa4886114d0 100644
--- a/sys-devel/binutils-apple/binutils-apple-11.3.1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
@@ -30,7 +30,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3.tar.bz2"
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3-r1.tar.bz2"
LICENSE="APSL-2"
KEYWORDS="~x64-macos ~x86-macos"
@@ -98,9 +98,9 @@ src_prepare() {
epatch "${S}"/${PN}-5.1-extraneous-includes.patch
epatch "${S}"/${PN}-5.1-strnlen.patch
epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-11.3.1-no-developertools-dir.patch # 7.3 failed to apply. updated
- epatch "${S}"/${PN}-11.3.1-llvm-prefix.patch # 8.2.1 failed to apply. updated
- epatch "${S}"/${PN}-8.2.1-llvm-shim.patch
+ epatch "${S}"/${PN}-11.3.1-no-developertools-dir.patch
+ epatch "${S}"/${PN}-11.3.1-llvm-prefix.patch
+ epatch "${S}"/${PN}-11.3.1-llvm-shim.patch
epatch "${S}"/${PN}-11.3.1-nolto-fix.patch # bugfix
epatch "${S}"/${PN}-11.3.1-segaddrtable-fix.patch # bugfix
eprefixify libstuff/execute.c
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-20 16:06 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-20 16:06 UTC (permalink / raw
To: gentoo-commits
commit: 2e0d0499f41d0d01e121260c3166546cd92a708b
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 20 15:53:54 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 16:05:43 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e0d0499
sys-devel/binutils-apple-8.2.1-r100: revbump darwin-xtools based version
darwin-xtools compiles with FSF GCC, and supports ppc and ppc64 targets
TAPI support needs validation, this seems to work fine on non-TAPI macOS
releases, e.g. ppc-macos.
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 1 +
.../binutils-apple-8.2.1-r100.ebuild | 89 ++++++++++++++++++++++
2 files changed, 90 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 9b9dc915818..98b29403dd5 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -22,6 +22,7 @@ DIST cctools-877.8.tar.gz 1720708 BLAKE2B 97bce69d7c88a917ad1351635b4bd0ebd3273f
DIST cctools-886.tar.gz 1731850 BLAKE2B c206ad8c94fa3d132726db8cbc60ed09b6f1f7aa8118a99b1e7ed350323c11b729d68c912ba7648cf900cc2a26cbff12a03072afe92efe09c8974be280448731 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
+DIST darwin-xtools-8.2.1-r100.tar.gz 2934997 BLAKE2B d0324d47d3aa0afd0007fbbd16c74e046c643c645744cc7ef0535eeed275c2d61763a1c6708b3a0a796f0fc83e62b5e5fe907c62553b439bea750353cfac2f73 SHA512 7000bca61b1dc63d1d08a9bcf104dace4376c2656af0faddc28a7d6c3718dbe54713da96136091a2024a644eaf90758714d1e4eb3cfeec2df0e412d847f59c30
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-195.6.tar.gz 412518 BLAKE2B f525aac0020baa69c5d7c42a7027b0d2fdef9fa3c2e5d3831101989eab20f2eb7932c99355ca34e6e0b988b9808013739d452592e0b8832e1306cc6027cc5d0f SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5
DIST dyld-353.2.1.tar.gz 510036 BLAKE2B 6f355bcb87d6136d3c29b2766146303ecf092fb407296a0a93412598276ea88c4f826da75d20cc5d3e2bfac750a62c413b117ee95dd710eac83b647786fb109b SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
new file mode 100644
index 00000000000..5b7cd7f56ab
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
+HOMEPAGE="https://github.com/iains/darwin-xtools"
+SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -> darwin-xtools-${PVR}.tar.gz"
+
+LICENSE="APSL-2"
+SLOT="8"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE="tapi"
+
+DEPEND="sys-devel/binutils-config
+ app-arch/xar
+ tapi? ( sys-libs/tapi )"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+
+src_configure() {
+ CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
+ if [[ ${CHOST} != ${CTARGET} ]] ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/xtools-${PV}
+ fi
+
+ is-host-64bit() {
+ case ${CTARGET} in
+ x86_64-*|powerpc64*) echo YES ;;
+ *) echo NO ;;
+ esac
+ }
+
+ local mycmakeargs=(
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}
+ -DPACKAGE_VERSION="Gentoo ${PN}-${PVR}"
+ -DCMAKE_INSTALL_PREFIX=${EPREFIX}${BINPATH%/*} # cmake insists on /bin
+ -DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
+ -DXTOOLS_LTO_SUPPORT=NO
+ -DXTOOLS_TAPI_SUPPORT=$(use tapi && echo ON || echo OFF)
+ -DXTOOLS_HOST_IS_64B=$(is-host-64bit)
+ -DXTOOLS_BUGURL="https://bugs.gentoo.org/"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # cmake insists on installing in /bin, so move bins to the place we
+ # want them
+ mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
+
+ dodir "${LIBPATH}"
+ local as
+ for as in "${ED}${BINPATH}"/*/as ; do
+ as=${as%/as}
+ mv "${as}" "${ED}${LIBPATH}"/ || die
+ done
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="xtools-${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-xtools-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-xtools-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-20 18:47 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-20 18:47 UTC (permalink / raw
To: gentoo-commits
commit: f55aa7bf9af8a7f86b94c84d8356ee582b91f573
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 20 18:47:03 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 18:47:11 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f55aa7bf
sys-devel/binutils-apple-8.2.1-r100: unbreak as to find its impls
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
index 5b7cd7f56ab..92ab6addb2b 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
@@ -67,12 +67,7 @@ src_install() {
# want them
mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
- dodir "${LIBPATH}"
- local as
- for as in "${ED}${BINPATH}"/*/as ; do
- as=${as%/as}
- mv "${as}" "${ED}${LIBPATH}"/ || die
- done
+ keepdir "${LIBPATH}"
cd "${S}"
insinto /etc/env.d/binutils
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-21 8:32 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-21 8:32 UTC (permalink / raw
To: gentoo-commits
commit: 9e1ebce360837d3cd548a126d4b33bd17ec2b843
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 08:30:58 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 08:32:04 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e1ebce3
sys-devel/binutils-apple-8.2.1-r100: install man-pages
Package-Manager: Portage-3.0.12-prefix, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
index 92ab6addb2b..09414c80bf1 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
@@ -33,6 +33,7 @@ src_configure() {
fi
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/xtools-${PV}
if [[ ${CHOST} != ${CTARGET} ]] ; then
BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
else
@@ -69,6 +70,10 @@ src_install() {
keepdir "${LIBPATH}"
+ doman ld64/doc/man/man*/* cctools/man/*.[135]
+ dodir "${DATAPATH}"
+ mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
+
cd "${S}"
insinto /etc/env.d/binutils
cat <<-EOF > env.d
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-21 17:57 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-21 17:57 UTC (permalink / raw
To: gentoo-commits
commit: bd39ede440cb499e041b8352703111212fa2e6b6
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 17:56:44 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 17:57:08 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd39ede4
sys-devel/binutils-apple-8.2.1-r100: fix strip's linkage to libprunetrie
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
index 09414c80bf1..247ce794be1 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
@@ -24,6 +24,16 @@ BDEPEND=""
S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+src_prepare() {
+ cmake_src_prepare
+
+ # make prunetrie a static archive, because the dynamic libs aren't
+ # installed, for there really are no consumers
+ # fixed for next release
+ sed -i -e '/add_library/s/prunetrie/& STATIC/' \
+ ld64/src/CMakeLists.txt || die
+}
+
src_configure() {
CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
@@ -53,6 +63,7 @@ src_configure() {
-DCMAKE_INSTALL_PREFIX=${EPREFIX}${BINPATH%/*} # cmake insists on /bin
-DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
-DXTOOLS_LTO_SUPPORT=NO
+ -DXTOOLS_HAS_LIBPRUNETRIE=YES
-DXTOOLS_TAPI_SUPPORT=$(use tapi && echo ON || echo OFF)
-DXTOOLS_HOST_IS_64B=$(is-host-64bit)
-DXTOOLS_BUGURL="https://bugs.gentoo.org/"
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-22 20:25 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-22 20:25 UTC (permalink / raw
To: gentoo-commits
commit: ace9e06a9ab778a21babb5988e83f9fe3b1554f8
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 22 20:17:02 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Dec 22 20:25:35 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ace9e06a
sys-devel/binutils-apple: cleanup overshadowed versions
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 31 --
sys-devel/binutils-apple/binutils-apple-3.2.ebuild | 239 -------------
.../binutils-apple/binutils-apple-4.3-r2.ebuild | 337 ------------------
.../binutils-apple/binutils-apple-5.1-r1.ebuild | 384 --------------------
.../binutils-apple/binutils-apple-6.1-r1.ebuild | 385 --------------------
.../binutils-apple/binutils-apple-6.3-r2.ebuild | 386 --------------------
.../binutils-apple/binutils-apple-7.0-r1.ebuild | 369 -------------------
.../binutils-apple/binutils-apple-7.1-r1.ebuild | 369 -------------------
.../binutils-apple/binutils-apple-7.2-r1.ebuild | 370 -------------------
.../binutils-apple/binutils-apple-7.3.1.ebuild | 393 ---------------------
sys-devel/binutils-apple/binutils-apple-8.1.ebuild | 334 -----------------
sys-devel/binutils-apple/metadata.xml | 4 -
12 files changed, 3601 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 98b29403dd5..647103f352b 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,48 +1,17 @@
-DIST binutils-apple-LP64-patches-1.tar.bz2 10235 BLAKE2B 3352170bcfe73c574217597233ca58c7d6ebeedf9dfe9da1399953dfe1a0c87fc26e9ba8864620ddd67c6f38e48aeb6950737637605f0b860eb4a0d246f3aff7 SHA512 5632d4033c39e47de3ec275d02100ed53408a63122fe722c26dda1b02275c397524b113e51e1334d3235fc7f0a3bb8e53d4ccc1c2e40f24c6129282846da22e1
DIST binutils-apple-patches-11.3-r1.tar.bz2 9041 BLAKE2B c881117e19e119173dd8c126859f8ebab5ff4024697c9650b8ba145c021aa6e251086d3678d80fec2672e78637a5beca795b71ae871692e832ba4e69a7a8e04c SHA512 eda63cd89f67674556dc75de719cd318f534544db50165d4faac454f67c557c9944e7e024c4443e640f987ed8c8826ccd578427743a86d7220c2ba90ed2206d4
-DIST binutils-apple-patches-3.2-r0.tar.bz2 4137 BLAKE2B 9cd7afbba5337cb9c395556b2691e4acd73ee323d643da4335f6465ccc29b06f889d01fb42c7778576607bfdb859e2df38d3ebf82d4bf7f0971079da6985f237 SHA512 5381a93d61c39993cdb294ecb238016e26cdfe283fae553f75ddc6662812709301d5208c770ac0992d1dfab92e4802c660e6fb4336ad891335ab716d3b042805
DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8
-DIST binutils-apple-patches-6.1-r1.tar.bz2 42189 BLAKE2B 8505acaff6343b2f4dffe9c1dd78e360762f0ad78d39fbc0227265ed8b6768dba62c1a7d6784ca685934942e1a211c70275474001b066e3292c579fa0aa2f356 SHA512 be8ee5af5c8c9f9228cf6980f032aa101058ac1a414bec89401dbc4ff32ea96d6ebf96b7b79285fa1e7b4037a9ed68b285dbe59ff8e3d3e62bfc0145199e72f3
-DIST binutils-apple-patches-6.3-r2.tar.bz2 53029 BLAKE2B c2e7d773c00d3e6e13e01ee23a8aaf1986af31d2e1390a49ff3932bec45be916af56584a1d218412e2ed528bf55bd4de3942fa1ea3e4d113f841699172ab295c SHA512 bb165ceaebbb2545ac946c94bcc930ba52de452ea71c984d3d92a5b5105507de94752c3584cf05bd27ea288f5353e459c31e97f45553f2ad993249023f486a71
-DIST binutils-apple-patches-7.0-r3.tar.bz2 57504 BLAKE2B 2c894368141fa68c2b5ee85e05309233857afed89e81a89ff9739570397042e174921c9a174b026c61cf04d4bd09b84600a6acb8ac0ac6d55b59d37667ccc0a6 SHA512 4bfe2f1f29f3ca91c093af6b95d16cc315fe8098fb5fd0230458ac2575b34110c250d848b8d9a5425136069b5022d5005fa099489ba6534dd38d1c7049dce009
-DIST binutils-apple-patches-7.2-r1.tar.bz2 2924 BLAKE2B 167fb37e5cb4cae8fe6777dceb1085eee68ce601cf158a9b67d9f77113088c745551ef1500e1fb82e9e74a15bf010fc8e07728506879b5f8ee97fe10b93cea2f SHA512 1285ae5dfcac59e3f27312cfe53683df2f3f166a28ae60e78bc4d25fab6de2a8baf99a4e166638ea90b5823b9c9f0c5feb2a16265c7713fbfe81b5f43b524c54
DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f2984cce1c15f0d07c6b66aa6c8df3e07360943104aabe6f2555a0094973df71a5844496cb69d97a0ff13366043e02a01d8fbb0b0239 SHA512 219c26aeb54e89e23ab91706dda0803cf0c9f2a33acb5cc676db2d2ea33ad22af0661ea19450ad8f1f006f6c1703269fd95c98c52a7bcfa0c6491bc1cfb1a0ba
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
-DIST cctools-750.tar.gz 1947990 BLAKE2B b0fe71ae6972bd2b21c1ecf7a699104c51519babf67bb5fc45e31ed1d17108e7627cb46b5f65d48c33dbec9e9032e703924e9a9a687ec19bd384a3cdea243a46 SHA512 298a447757d926b3d156aaf8be27ceadeb4242336b66cb0bee0fd2dc8bb4ad3f167758ff526e4bf3fe458cb72391f5dc38f9112171883fcf28d49a18d671296a
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
-DIST cctools-822.tar.gz 2024412 BLAKE2B 6b58499a9dfc2a1b166ff428f1e263cd44e03c50cdc8f6e467cfee93bc2dc2a9c81bf7626479dce195b152f04217e2d3a427afac45484cba4c5f2bdfbb7e46f9 SHA512 8b02cc837d5e0520f35da445f25ba86b5042d5caa27b49a599e829ed89428cf78dbd1831bcf6c18301f941fbfb31ac2114e248041d98008a466e1574f4fe1586
-DIST cctools-855.tar.gz 1699635 BLAKE2B 4d98cf2bbced6894083dc2733a35cf9a4c47f71172fe98265a8f047218cc90276085919129553e3a1ea0658416eebf3b7cf0908bd32ac1a224480554257999ee SHA512 50f5d015ce807aa5ca274dd2deea810b8b375110e60b5e334ca4b2170526b738ea5f86a5436caebbdb748badc3b89601d0f450f5b867d8393c89e336a3db4b3f
-DIST cctools-862.tar.gz 1702345 BLAKE2B de84058aa78824562b0eabf93a29badaba0908a7140336a281a6ea46a9b09d893433a908c299e8de866a76e0eeb98b730570958fc8fac559ccc6e35f5138b121 SHA512 faa401c1dc55bfb9cd2a9a9cc7bc9d473ee63b019607967c8b0da325514d6a1f7b1f52404370bcc018e86d30d75a4b01183f49b793f577110663efe43871360a
-DIST cctools-870.tar.gz 1702965 BLAKE2B c0e6ebe33ce283d1c89d52df0a6d99c7065131e215532ad5e080d22e9e4742a146a9d448043f3b9ef8cf36ff971fe52c30fe0097b2a0ae5a9a6bce271232af46 SHA512 8cd16350bc2eea576e3922f44de3d15cfcf492a5561215a3a9160f2045284a2fd0fa28e030686868bae8619993fc8901649d7576c56d86a423f9955b27f65138
-DIST cctools-877.5.tar.gz 1717664 BLAKE2B 36f64578c23689e1e056500a6368854d5c80f49984d7b910d0b347042ecdcbb613e47ab83191d07ab6daa9bc12c567fc7f5aa5d97b817f80f96bb95bec4c24f1 SHA512 cec8520450c3b1ffe77bd841ad6b8f6b0d28657e7c39ae1525bfe7ec1460c0f4bb394da316e6ed5b08cb5df26b757b9d94a9923cc7eaf9b14315d045ea891062
-DIST cctools-877.7.tar.gz 1720523 BLAKE2B 78e4d387b34504a001a5dac2db5f791fcbeae7f1fc859b794e9262464dd2a6ad088dde07e47918d1b6fb3e6aff2b9c2ca495113135abce89945f4d1d75f252a1 SHA512 5c381fe8b85d1254f660eb3c3510d9e0a49792ae5bb0e69a4dfb5a18e7f1706ee1411589f20583a9d7f12126ef616f66f1ad5c1c4ff405f66b52759c0a4272b5
-DIST cctools-877.8.tar.gz 1720708 BLAKE2B 97bce69d7c88a917ad1351635b4bd0ebd3273f7a62b10dd3d58a0df7e1de2e05dc3fa04b014dff6966e77b85e264d1be181ac4d5dafc069c72c79d803393176a SHA512 3f75fbe4eacd89f2e6372a3167ed197e2b8bda9faa10fe6bce0cf9d3d3eca536f0af5fc4ce1e4bc6a24eb68db36f5d0b1d0bc3f9807e285e67cfaa2d336d81ef
-DIST cctools-886.tar.gz 1731850 BLAKE2B c206ad8c94fa3d132726db8cbc60ed09b6f1f7aa8118a99b1e7ed350323c11b729d68c912ba7648cf900cc2a26cbff12a03072afe92efe09c8974be280448731 SHA512 49f14e165da3a9fcf16614a810b8a2a68907348bd27a60b268b330e416a0bc070fb6445e1e6b80d849026bd6ce7de4459623ab86168e2d63bb492d1ba6680c5b
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
DIST darwin-xtools-8.2.1-r100.tar.gz 2934997 BLAKE2B d0324d47d3aa0afd0007fbbd16c74e046c643c645744cc7ef0535eeed275c2d61763a1c6708b3a0a796f0fc83e62b5e5fe907c62553b439bea750353cfac2f73 SHA512 7000bca61b1dc63d1d08a9bcf104dace4376c2656af0faddc28a7d6c3718dbe54713da96136091a2024a644eaf90758714d1e4eb3cfeec2df0e412d847f59c30
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
-DIST dyld-195.6.tar.gz 412518 BLAKE2B f525aac0020baa69c5d7c42a7027b0d2fdef9fa3c2e5d3831101989eab20f2eb7932c99355ca34e6e0b988b9808013739d452592e0b8832e1306cc6027cc5d0f SHA512 58a9ea27efc02e66f9d99bfa250af1d90326385385431e5279386bbd9ab53366bf7e8236543296908b7214c33523c8f60098a6298a7393b3180e2a6bce18e7c5
-DIST dyld-353.2.1.tar.gz 510036 BLAKE2B 6f355bcb87d6136d3c29b2766146303ecf092fb407296a0a93412598276ea88c4f826da75d20cc5d3e2bfac750a62c413b117ee95dd710eac83b647786fb109b SHA512 a9488620499f682e245b55b7e0e4ec02fc0bcf03bd8a70d4a4ee0ba762067ade2f41c188990c101727476d41c19368b4cc89cccf2df40231da1c777742c7391f
-DIST dyld-360.14.tar.gz 518873 BLAKE2B ebf651a8880ef337ed5ee7d5d7b9d2da77fed481f4a01c52dbc81e1192138a423bafc89b49417d1edf36167c59600a6ef63d60c2f3e080d4f77b19405e5b0755 SHA512 cfe536ea1f0ad8fbc2846417289e3e36704bf69388e083e0ece0ffa6eeee501e7e9b2ba47eed7be0e5120b5cc72f33b2fc0d2d39ba7a16beaf98db94dfb4ae40
-DIST dyld-360.17.tar.gz 518876 BLAKE2B f627c7628b0956fef040a526116d27db14010eb0769394c9130d5b0d24d0d03a471d1c44e9533a34b1832f542a98432f2045b309a85dff4e0c1756f7bc1b0fb4 SHA512 aae2a0ea1f4130de51aa920ce1affa579993b3b58a7d398ec998c0d7ac4919907ba4e508b9bfc15080b1f4f4cf15e4615bc416b6ec32b52a4b5d8fbbad1dc9ab
-DIST dyld-360.18.tar.gz 518957 BLAKE2B 536954a681a18d55f9dba6e4ec2bce116dea84f80769c57518b50b3187625a7384bb77afe3d8b24c456da3ab4d8206f1ddfdbd008e4674dc1f5e9574ca09596f SHA512 1299bd2dd5cd663917ec4a03ed0f875e0bf07d6680d3d095af12f4b11960c02a52e361bde27ff88843f80832fc6d36654e2556ee0a3ca2259fcded5b568ab2f9
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0
-DIST ld64-128.2.tar.gz 494361 BLAKE2B 787d145edafe56a134ead84ae376842d9994608a771d0512a6f56738e170c2498a031c77c895da79b30efa309986c8cd624f5f09cd9784f63c7b2d2e0334e0d9 SHA512 f50a3c396e6f4fddc685bb3f59f9a260bd2f47060535d24259b2b411e4f759e48daa35819da682ad9bceaa1b9a1981eb34716387d988cdc4b7eec9ab2169726e
-DIST ld64-236.3.tar.gz 624400 BLAKE2B 37c074093c312fc9720564aa9702d6007bd44252a1282c4c67e0c1b75f6f4aeaf5b6278df3d5ed5f5baee948c547a462476dfe5eabb665612e4d31d57f26a286 SHA512 e103fc5efd4d4161c7dc55b1ad53aebd455cfcd72de7873ebfdf5ba896b7b0da9c9aeb12e1e1a76425768ac1dc85d864a4ce33b5b841ba115eeab96a2e2965aa
-DIST ld64-241.9.tar.gz 639944 BLAKE2B 1aa58dbb4e42b8314421bb10867aacd6cdece7a5983ed88571349e97366b61c1de175769b2d9f7b04495f2f306406f8a6fe785548f74dd39f419f321ec24d93b SHA512 6958e7064f4fd8b47501225fc4cbc6292e5da63d7f4103ad79add177ef7382c8de3c732f14d19a9c11356b8070f578392383caccc3795e2ab8ef7b7ddbde88da
-DIST ld64-242.tar.gz 641597 BLAKE2B 09d241cbd24e98cf59cd4b25f2237fb518bbd6550d753812ea24ab7f1acdec0082319507e92b77362f61d599eef8c8abfec48dc2c87678454ced3b42fce917c2 SHA512 bde2eee69ada7f81d5e97762c371661f304372d5461da4bd843c76d0abcab518193fa71b917850af2022e586a756a3624a0ad28debfa8de6777e3c255d83dd34
-DIST ld64-253.3.tar.gz 671087 BLAKE2B 33d00185bdeb7eadc8c1f94d338ebe08c23b8944daeca794e1ee8e58528d6c9775eecf704b098a87bc0a3281b2e3dc9e634714923fea65cc22977b2cd89cfa1d SHA512 ce2c86f2f37ee37bd417315ba51815707b0ca6f24da06819fd1b2d0b4fe0762e45a08c3faf2c0c980e4913c9cbfbf6c8185f9a6810cfa1d9dad231b5bb276081
-DIST ld64-253.6.tar.gz 671838 BLAKE2B e7b05c658896a799cfb6dd8d4d74ec16d9a2c39cdbdfac1e7d3f6b5ccd4722b343a9567dbd649e71e96742d6b2eae74ac951bada8899be51f152809c579c73e9 SHA512 40b29e273ed3d69e4f92593cadea831fd618452d3f05e30c0b836ffc05db61fd345cb2f6d63271563c786ecabd47f19f8369456cbe6422800117a53c654a98c6
-DIST ld64-253.9.tar.gz 673388 BLAKE2B 65af4f3ddd49b15deecf824fd991d41e5223ff9c963a0ccc89862181353c52279897171d37a00939d6678f2260efa7f7852b9dfd71c2c7b4b00d3fa2dbd85a34 SHA512 a52b081295c19f28858f8ee47c05249bba3e15cc8bb6f7017d9f6dcf7509cdacef7a4b16b3940cd0b1f72b3b67efb503ab2e3801b31e50cda1d34c6bc8df8dcf
-DIST ld64-264.3.102.tar.gz 681509 BLAKE2B 4a0699ec761bd145b8034c8577ce9f843c9384fee5486855565d1d89858a445492d66aca2798a6e9c1bb4f59328680c05bcf1cd024d917c063e74d3549073ce0 SHA512 ec221de3624dcce3db694ec2d7b05f3c939cd1ba79c97437ba9f2d4e5d9c37369bb5df82cc37bc158bf5c4e2128cc2b96ca1a7477f98538850092bffa4601da0
-DIST ld64-274.1.tar.gz 670493 BLAKE2B 00ab46b09f29c6143c5066ffb0a12017fb2268a5f205c41851a95bc38443aa5494ce81b793a6668bcd3a8abb0ba4215f0da372c413ae52e4ca1e437ad370f8e0 SHA512 ef5d6802f759e09aa2dfab7eb84e9cd2a57b28da3f150833cf1a922c395dd696e501b1bcb10385cbe995f4945fc6c99c2d2d8c50c42f369186bdc1ac3e30ad99
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
DIST ld64-530.tar.gz 744871 BLAKE2B 8117160ffe55c02b463559a52fcbd109629d6e2b4707f36391ec2151785cc1ab5be911129397af7bea05f06b2c718bc345a1e3b6b0838dae943f4083612af38f SHA512 0197ec05f9fbaf9e1902bb6e0819d0562573a433e0445809f1020e76126d3af57222a8e9e187fce793a5b581f825b48bfb5ec5cca9ae3eb77758cbc7f20e9e20
-DIST ld64-85.2.1.tar.gz 598524 BLAKE2B 92cb3c763cc067e2ee6c4fec910f078cc69daca2a328a74ebc988908b1655138873b69bfb0c19b284f0aedb678e99de3866d4f13460cb3427985704093dca37a SHA512 b5ffaffc43e74f22688fecd9fb3023a59160cf051f9412f34e6b0acf1c4f9d43ba641e199d8d6b1c6cf3bbbbf117645988fd879ded1fec8be056b6941fe79999
DIST ld64-97.17.tar.gz 421947 BLAKE2B 56820ef28490f2e0181d6e36b87506c6f00ae5759afe304a063fb6bd1904ace566ef4aa69ff0d235d65968af547a1a5735cb23bcefa990f418740188d399b637 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f
-DIST libunwind-35.3.tar.gz 90002 BLAKE2B d63ab0ae6e66a6f35ec17de9713d3bf4853cd80af218e868762b20dd8a44d42cd9ff8fce1d8c46fca4759144726bbf248a02a5dede5a94a2b75d3b45ddb7d018 SHA512 b7d9a86ef24f1fe9ca14517471e03a910219a229af9f0d4cf94435115971360640451107ba20c93fb1aab788f8b6eb5ed580ee08fdaa990b9fa43e9ae360c6b4
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
deleted file mode 100644
index 4ccf5b257b9..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-RESTRICT="test" # the test suite will test what's installed.
-
-# LD64=ld64-95.2.12 # can't compile this one, missing libunwind/* includes
-# http://lists.apple.com/archives/Darwin-dev/2009/Sep/msg00025.html
-LD64=ld64-85.2.1 # from 3.1.2
-CCTOOLS=cctools-750
-LP64PATCHES=binutils-apple-LP64-patches-1
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools 3.2"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- https://opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${LP64PATCHES}.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-3.2-r0.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="test"
-
-RDEPEND="sys-devel/binutils-config"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="3"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-prepare_ld64() {
- cd "${S}"/${LD64}/src
- cp "${WORKDIR}"/Makefile . || die
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- sed -i \
- -e '/^#define LTO_SUPPORT 1/s:1:0:' \
- ObjectDump.cpp || die
- echo '#undef LTO_SUPPORT' > configure.h
- echo '' > linker_opts
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- elog "Deleted $c tests that were bound to fail"
-}
-
-src_prepare() {
- prepare_ld64
-
- cd "${S}"/${CCTOOLS}
- epatch "${WORKDIR}"/${PN}-3.1.1-as.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-as-dir.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-ranlib.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
-
- cd "${S}"/${LD64}
- epatch "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
- epatch "${WORKDIR}"/LP64/ld64/*.patch
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-
- # -pg is used and the two are incompatible
- filter-flags -fomit-frame-pointer
-
- eapply_user
-}
-
-src_configure() {
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- if tc-is-gcc && [[ $(gcc-fullversion) != 4.2.1 ]] ; then
- # force gcc-apple
- CC=${CTARGET}-gcc-4.2.1
- CXX=${CTARGET}-g++-4.2.1
- fi
-}
-
-compile_ld64() {
- cd "${S}"/${LD64}/src
- # 'struct linkedit_data_command' is defined in mach-o/loader.h on leopard,
- # but not on tiger.
- [[ ${CHOST} == *-apple-darwin8 ]] && \
- append-flags -isystem "${S}"/${CCTOOLS}/include/
- emake
- use test && emake build_test
-}
-
-compile_cctools() {
- cd "${S}"/${CCTOOLS}
- emake \
- LTO= \
- TRIE= \
- EFITOOLS= \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}"
-}
-
-src_compile() {
- tc-export CC CXX
- compile_cctools
- compile_ld64
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # need host arch, since GNU arch doesn't do what Apple's does
- tc-export CC CXX
- perl ../bin/make-recursive.pl \
- ARCH="$(/usr/bin/arch)" \
- RELEASEDIR="${S}"/${LD64}/src \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
deleted file mode 100644
index b3cf69bdae4..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-4.3-r2.ebuild
+++ /dev/null
@@ -1,337 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-128.2
-CCTOOLS_VERSION=822
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-CCTOOLS_HEADERS=cctools-855
-LIBUNWIND=libunwind-30
-DYLD=dyld-195.6
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm:* )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )"
-
-SLOT="4"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-128.2-Makefile-3 Makefile
- epatch "${S}"/ld64-127.2-lto.patch
- epatch "${S}"/ld64-128.2-stdlib.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-128.2-1010.patch
- epatch "${S}"/ld64-128.2-ppc.patch
-
- # We used to use our own copy of lto.h, which doesn't require llvm
- # build-env. Current versions of llvm provide
- # $EPREFIX/usr/include/llvm-c/lto.h as well as
- # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.0-as.patch
- epatch "${S}"/${PN}-4.2-as-dir.patch
- epatch "${S}"/${PN}-3.2.3-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-nmedit.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/${PN}-4.2-lto.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-4.3-makefile-target-warning.patch
- epatch "${S}"/${PN}-4.3-lto-prefix.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
- # __darwin_i386_float_state missing on <= 10.4
- cp -a ../${CCTOOLS_HEADERS}/include/mach/i386 include/mach
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- cat <<EOF > ${LD64}/src/configure.h
-#define DEFAULT_MACOSX_MIN_VERSION "${MACOSX_DEPLOYMENT_TARGET}"
-#define SUPPORT_ARCH_arm_any 1
-EOF
-
- use multitarget && cat <<EOF >> ${LD64}/src/configure.h
-#define SUPPORT_ARCH_ppc 1
-EOF
-#define SUPPORT_ARCH_ppc64 1
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- ENABLE_LTO="${ENABLE_LTO}" \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- -j1
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
deleted file mode 100644
index 73ec964cbef..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-5.1-r1.ebuild
+++ /dev/null
@@ -1,384 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-236.3
-CCTOOLS_VERSION=855
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test libcxx multitarget"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm:* )
- libcxx? ( sys-libs/libcxx )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
- libcxx? ( sys-devel/llvm:* )"
-
-SLOT="5"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-236.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-236.3-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-arm64-fixup.patch
- epatch "${S}"/ld64-241.9-arm64-cputype.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-236.3-nosnapshots.patch
- epatch "${S}"/ld64-236.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-236.3-gcc-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # We used to use our own copy of lto.h, which doesn't require llvm
- # build-env. Current versions of llvm provide
- # $EPREFIX/usr/include/llvm-c/lto.h as well as
- # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/${PN}-5.1-nolto.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-5.1-lto-prefix.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- if [ "${CXX/*clang*/yes}" = "yes" ] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- ENABLE_LTO=${ENABLE_LTO} \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
deleted file mode 100644
index 041d9a329ad..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-6.1-r1.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-241.9
-CCTOOLS_VERSION=862
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test libcxx multitarget"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm:* )
- libcxx? ( sys-libs/libcxx )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
- libcxx? ( sys-devel/llvm:* )"
-
-SLOT="6"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-236.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-236.3-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-241.9-arm64-cputype.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-241.9-nosnapshots.patch
- epatch "${S}"/ld64-241.9-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-gcc-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-241.9-lto-noremarks.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # We used to use our own copy of lto.h, which doesn't require llvm
- # build-env. Current versions of llvm provide
- # $EPREFIX/usr/include/llvm-c/lto.h as well as
- # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these.
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/${PN}-5.1-nolto.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-6.3-lto-prefix.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- if [ "${CXX/*clang*/yes}" = "yes" ] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- ENABLE_LTO=${ENABLE_LTO} \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
deleted file mode 100644
index b3af64fe16d..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-6.3-r2.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-242
-CCTOOLS_VERSION=870
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-353.2.1
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test libcxx multitarget"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-devel/binutils-config
- lto? ( sys-devel/llvm:* )
- libcxx? ( sys-libs/libcxx )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )
- || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm:* )
- libcxx? ( sys-devel/llvm:* )"
-
-SLOT="6"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-236.3-Makefile-2 Makefile
-
- epatch "${S}"/ld64-236.3-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-241.9-nosnapshots.patch
- epatch "${S}"/ld64-242-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-242-gcc-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-5.1-makefile-target-warning.patch
- epatch "${S}"/${PN}-6.3-lto-prefix.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- if [[ ${CXX} == *clang* ]] ; then
- if use libcxx ; then
- append-cxxflags -stdlib=libc++
- CXXLIB=-stdlib=libc++
- else
- # force libstdc++ for systems where libc++ is default (OS X 10.9+?)
- append-cxxflags -stdlib=libstdc++
- CXXLIB=-stdlib=libstdc++
- fi
- else
- use libcxx && \
- ewarn "libcxx only available with clang and your C++ compiler ($CXX) does not seem to be clang"
-
- # force gcc-apple, FSF gcc doesn't grok this code
- export CC=${CTARGET}-gcc-4.2.1
- export CXX=${CTARGET}-g++-4.2.1
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- elif use ppc-macos ; then
- ARCHS_TO_SUPPORT="ppc ppc750 ppc7400 ppc7450 ppc970 ppc64 $(\
- grep RC_SUPPORTED_ARCHS= $creco | cut -d\" -f2)"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- einfo "building support for: ${ARCHS_TO_SUPPORT}"
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # -j1 because it fails too often with weird errors
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- ENABLE_LTO="${ENABLE_LTO}" \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- CXXLIB="${CXXLIB}" \
- DSYMUTIL=": disabled: dsymutil" \
- -j1
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="clang -ccc-install-dir $PWD" \
- CXX="clang++ -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
deleted file mode 100644
index 7607b1e4624..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.0-r1.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.3
-CCTOOLS_VERSION=877.5
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.14
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-3 Makefile
-
- epatch "${S}"/ld64-253.3-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-7.0-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-7.0-nolto.patch
- epatch "${S}"/${PN}-7.0-nollvm.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
deleted file mode 100644
index 46382b1d678..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.1-r1.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.6
-CCTOOLS_VERSION=877.7
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.17
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-3 Makefile
-
- epatch "${S}"/ld64-253.3-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-7.0-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-7.0-nolto.patch
- epatch "${S}"/${PN}-7.0-nollvm.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
deleted file mode 100644
index e7e593598c9..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.2-r1.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-253.9
-CCTOOLS_VERSION=877.8
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.18
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massivley uses
-# C++11 language fatures. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-253.3-Makefile-3 Makefile
-
- epatch "${S}"/ld64-253.9-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-253.3-nosnapshots.patch
- epatch "${S}"/ld64-253.3-ppc.patch
- epatch "${S}"/ld64-236.3-constant-types-2.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-253.3-make_pair.patch
- epatch "${S}"/ld64-253.3-delete-warning.patch
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-7.0-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-7.0-nolto.patch
- epatch "${S}"/${PN}-7.0-nollvm.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild b/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
deleted file mode 100644
index 9497b6024a8..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-7.3.1.ebuild
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-264.3.102
-CCTOOLS_VERSION=886
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-LIBUNWIND=libunwind-35.3
-DYLD=dyld-360.18
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.1-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-6.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.2-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lto test multitarget"
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massively uses
-# C++11 language features. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="7"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- if use multitarget ; then
- ewarn "You have enabled support for non-standard target architectures"
- ewarn "using USE=multitarget. This includes experimental support for"
- ewarn "ppc and ppc64 which is a community forward-port from the last"
- ewarn "version of ld64 to officially support PPC."
-
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- ewarn "HERE BE DRAGONS! Your system seems to be PPC which means that"
- ewarn "the actual usability of your Gentoo programs will depend on the"
- ewarn "above-mentioned experimental PPC support in the linker. Be"
- ewarn "sure to keep a known-to-work version like ${PN}-3.2.6 around!"
- fi
- fi
-
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-264.3.101-Makefile Makefile
-
- epatch "${S}"/ld64-264.3.101-nolto.patch
- epatch "${S}"/ld64-241.9-extraneous-includes.patch
- epatch "${S}"/ld64-241.9-osatomic.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-264.3.101-nosnapshots.patch
- epatch "${S}"/ld64-264.3.102-ppc.patch
- epatch "${S}"/ld64-264.3.101-constant-types.patch
- epatch "${S}"/ld64-241.9-register-names.patch
- epatch "${S}"/ld64-241.9-get-comm-align.patch
- epatch "${S}"/ld64-241.9-cc_md5.patch
- epatch "${S}"/ld64-264.3.102-bitcode-case.patch
-
- # workound llvm-3.9.{0,1} issue
- # https://bugs.gentoo.org/show_bug.cgi?id=603580
- # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
- # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
- sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # missing on <= 10.5
- cp ../../${LIBUNWIND}/include/libunwind.h include/ || die
- cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die
- # missing on <= 10.4
- cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die
- cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- # mimic OS X Leopard-style Availability.h macros for libunwind.h on
- # older systems
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] && \
- echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
- if [[ ${CHOST} == powerpc*-darwin* ]] ; then
- epatch "${S}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch
- epatch "${S}"/ld64-127.2-thread_state.patch
- fi
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- #epatch "${S}"/${PN}-5.1-otool-stdc.patch
- epatch "${S}"/${PN}-5.1-constant-types.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-5.1-ppc.patch
- epatch "${S}"/${PN}-5.1-thread-state-redefined.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-7.3-nolto.patch
- epatch "${S}"/${PN}-7.3-nollvm.patch
- epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Block API and thus snapshots supported on >= 10.6
- [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -ge 10 ]] && \
- append-cppflags -DSUPPORT_SNAPSHOTS
-
- CCTOOLS_OFLAG=
- if [[ ${CHOST} == *darwin* && ${CHOST#*-darwin} -le 8 ]] ; then
- # cctools expect to use UNIX03 struct member names.
- # This is default on > 10.4. Activate it on <= 10.4 by defining
- # __DARWIN_UNIX03 explicitly.
- CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1"
- fi
-
- # if compiling with USE multitarget, extract all the known arches from
- # create_configure and pass them back to it
- creco=${LD64}/src/create_configure
- ARCHS_TO_SUPPORT=""
- if use multitarget ; then
- ARCHS_TO_SUPPORT="$(grep KNOWN_ARCHS= $creco | \
- cut -d\" -f2 | tr ',' ' ')"
- fi
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- RC_SUPPORTED_ARCHS="$ARCHS_TO_SUPPORT" \
- $creco
-
- # do not depend on MachOFileAbstraction.hpp to define
- # SUPPORT_ARCH_arm_any because that's not included by every file where
- # our ppc/arm-optional patch uses it, ld.hpp in particular
- grep "SUPPORT_ARCH_armv[0-9]" ${LD64}/src/configure.h >/dev/null && \
- echo "#define SUPPORT_ARCH_arm_any 1" >> ${LD64}/src/configure.h
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO}
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- # upstream is starting to replace classic binutils with llvm-integrated
- # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
- # version is preserved as {nm,size}-classic. (BTW: otool is a symlink to
- # otool-classic for now but a wrapper llvm-otool that is calling
- # llvm-objdump is present already.)
- # Since our binutils do not live in the same directory as the llvm
- # installation, we have to rewrite the symlinks to the llvm tools.
- # This also means, that these tools still appear to be versioned via
- # binutils-config but actually always run the currently installed llvm
- # tool.
- for tool in nm size ; do
- # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
- # -> ${EPREFIX}/bin/llvm-$tool
- ln -sfn ../../../bin/llvm-$tool "${D}/${EPREFIX}/${BINPATH}/$tool"
- done
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
deleted file mode 100644
index 94587375465..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-8.1.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-LD64=ld64-274.1
-CCTOOLS_VERSION=895
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-DYLD=dyld-421.2
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.0-r3.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
-IUSE="lto tapi classic test"
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massively uses
-# C++11 language features. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- tapi? ( sys-libs/tapi )
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="8"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-src_prepare() {
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-274.1-Makefile Makefile
-
- epatch "${S}"/ld64-274.1-nolto.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-264.3.102-bitcode-case.patch
- epatch "${S}"/ld64-274.1-unknown-fixup.patch
- epatch "${S}"/ld64-274.1-notapi.patch
-
- # workound llvm-3.9.{0,1} issue
- # https://bugs.gentoo.org/show_bug.cgi?id=603580
- # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
- # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
- sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
-
- # provide missing headers from libunwind and dyld
- mkdir -p include/{mach,mach-o/arm} || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # use copies from cctools because they're otherwise hidden in some SDK
- cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die
- # provide all required CPU_TYPEs on all platforms
- cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
- # add alias for newer identifiers, because ld64 uses both but cctools
- # header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-7.0-lto-prefix-2.patch
- epatch "${S}"/${PN}-7.0-clang-as.patch
- epatch "${S}"/${PN}-8.1-nolto.patch
- epatch "${S}"/${PN}-7.3-nollvm.patch
- epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
- epatch "${S}"/${PN}-8.1-llvm-tools.patch
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- eapply_user
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- use lto && ENABLE_LTO=1
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- INCPATH=${LIBPATH}/include
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want)
- append-cppflags -DNDEBUG
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- ${LD64}/src/create_configure
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO} \
- TAPI=$(use tapi && echo 1 || echo 0)
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${ENABLE_LTO}" \
- LTO_LIBDIR=../../../lib \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" -DCLANGDIR=\"\\\"${EPREFIX}/usr/bin/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- # upstream is starting to replace classic binutils with llvm-integrated
- # ones. nm and size are now symlinks to llvm-{nm,size} while the classic
- # version is preserved as {nm,size}-classic.
- # Since our binutils do not live in the same directory as the llvm
- # installation, we have to rewrite the symlinks to the llvm tools.
- # This also means, that these tools still appear to be versioned via
- # binutils-config but actually always run the currently installed llvm
- # tool.
- budir=${D}/${EPREFIX}/${BINPATH}
- for tool in nm size ; do
- # ${EPREFIX}/usr/x86_64-apple-darwin15/binutils-bin/7.3/$tool
- # -> ${EPREFIX}/bin/llvm-$tool
- use classic && \
- ln -sfn ${tool}-classic "${budir}/${tool}" || \
- ln -sfn ../../../bin/llvm-${tool} "${budir}/${tool}"
- done
-
- # Also, otool is now based on llvm-objdump. But a small wrapper installed
- # as llvm-otool remains, providing command line compatibility.
- use classic && \
- ln -sfn otool-classic "${budir}/otool" || \
- ln -sfn llvm-otool "${budir}/otool"
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml
index b6fa3676524..93df0e9db7f 100644
--- a/sys-devel/binutils-apple/metadata.xml
+++ b/sys-devel/binutils-apple/metadata.xml
@@ -7,10 +7,6 @@
</maintainer>
<use>
<flag name="lto">Add support for Link-Time Optimization with LLVM</flag>
- <flag name="libcxx">Add support for libcxx</flag>
- <flag name="multitarget">Compile for non-standard target
- architectures (ppc and ppc64) -- experimental, Gentoo
- only</flag>
<flag name="classic">Use nm, otool, etc. from this ebuild
instead of llvm-based tools</flag>
<flag name="tapi">Build against <pkg>sys-libs/tapi</pkg></flag>
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2020-12-31 12:17 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2020-12-31 12:17 UTC (permalink / raw
To: gentoo-commits
commit: 91c8a5258869485e8562ca3474b90b72d0e41404
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 31 12:16:59 2020 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 31 12:17:05 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91c8a525
sys-devel/binutils-apple-8.2.1-r101: bump for tapilite
With built-in tapilite, we can now read .tbd archives, thus performing a
link on platforms without dylibs available in their SDKs, such as
Catalina and Big Sur.
This release of binutils-apple is fully functional on macOS Big Sur.
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 1 +
.../binutils-apple-8.2.1-r101.ebuild | 120 +++++++++++++++++++++
2 files changed, 121 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 647103f352b..f84592c72d4 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -8,6 +8,7 @@ DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ea
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
DIST darwin-xtools-8.2.1-r100.tar.gz 2934997 BLAKE2B d0324d47d3aa0afd0007fbbd16c74e046c643c645744cc7ef0535eeed275c2d61763a1c6708b3a0a796f0fc83e62b5e5fe907c62553b439bea750353cfac2f73 SHA512 7000bca61b1dc63d1d08a9bcf104dace4376c2656af0faddc28a7d6c3718dbe54713da96136091a2024a644eaf90758714d1e4eb3cfeec2df0e412d847f59c30
+DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0
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
new file mode 100644
index 00000000000..3e02d9be4c8
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
+HOMEPAGE="https://github.com/iains/darwin-xtools"
+SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -> darwin-xtools-${PVR}.tar.gz"
+
+LICENSE="APSL-2"
+SLOT="8"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE="tapi"
+
+# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep
+DEPEND="sys-devel/binutils-config
+ || ( sys-devel/gcc:* sys-devel/clang:* )
+ app-arch/xar
+ tapi? ( sys-libs/tapi )
+ !tapi? ( dev-libs/libyaml )"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+
+src_configure() {
+ CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/xtools-${PV}
+ if [[ ${CHOST} != ${CTARGET} ]] ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/xtools-${PV}
+ fi
+
+ is-host-64bit() {
+ case ${CTARGET} in
+ x86_64-*|powerpc64-*|arm64-*) echo YES ;;
+ *) echo NO ;;
+ esac
+ }
+
+ local mycmakeargs=(
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}
+ -DPACKAGE_VERSION="Gentoo ${PN}-${PVR}"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}${BINPATH%/*}" # cmake insists on /bin
+ -DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
+ -DXTOOLS_AS_USE_CLANG=YES # default to host as for unsupported targets
+ -DXTOOLS_AS_CLANG_USE_HOST=YES # search for arch/as-host iso clang
+ -DXTOOLS_AS_SUBDIR="${EPREFIX}${LIBPATH}/"
+ -DXTOOLS_LTO_SUPPORT=NO
+ -DXTOOLS_HAS_LIBPRUNETRIE=YES
+ -DXTOOLS_TAPI_SUPPORT=ON
+ -DXTOOLS_USE_TAPILITE=$(use tapi && echo OFF || echo ON)
+ -DXTOOLS_HOST_IS_64B=$(is-host-64bit)
+ -DXTOOLS_BUGURL="https://bugs.gentoo.org/"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # cmake insists on installing in /bin, so move bins to the place we
+ # want them
+ mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
+
+ # move as impls into LIBPATH, such that binutils-config doesn't
+ # create links for this
+ dodir "${LIBPATH}"
+ local as
+ for as in "${ED}${BINPATH}"/*/as ; do
+ as=${as%/as}
+ mv "${as}" "${ED}${LIBPATH}"/ || die
+ done
+
+ # provide as-host wrappers, used on "unsupported" platforms: x86,
+ # x64, arm, arm64, the main reason here is missing support for
+ # instructions, e.g. the as works fine, until newer instruction sets
+ # are used like SSE4.1, AVX, etc.
+ local arch
+ for arch in i386 x86_64 arm arm64 ; do
+ mkdir -p "${ED}${LIBPATH}"/${arch}
+ as="${ED}${LIBPATH}"/${arch}/as-host
+ rm -f "${as}"
+ cat <<-EOF > "${as}"
+ #!/usr/bin/env bash
+ exec /usr/bin/as "\$@"
+ EOF
+ chmod 755 "${as}"
+ done
+
+ doman ld64/doc/man/man*/* cctools/man/*.[135]
+ dodir "${DATAPATH}"
+ mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="xtools-${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-xtools-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-xtools-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2021-01-06 15:32 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2021-01-06 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 2faf2e9183c8ba5b84bfea879669b0485287b297
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 15:28:36 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 15:28:36 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2faf2e91
sys-devel/binutils-apple: drop x86-macos
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild | 4 ++--
sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild | 4 ++--
5 files changed, 10 insertions(+), 10 deletions(-)
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
index fa4886114d0..42f2f2808cb 100644
--- a/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -33,7 +33,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3-r1.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
+KEYWORDS="~x64-macos"
IUSE="lto classic test" # tapi is now required
RESTRICT="!test? ( test )"
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
index fe828d3b164..49c5ce262a5 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -21,7 +21,7 @@ SRC_URI="https://opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-3.2.6-r0.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~ppc-macos ~x64-macos"
IUSE="test"
RDEPEND="sys-devel/binutils-config"
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
index f7a37367f25..3d5c7e8105d 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -21,7 +21,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2"
LICENSE="APSL-2"
-KEYWORDS="~x64-macos ~x86-macos"
+KEYWORDS="~x64-macos"
IUSE="lto tapi classic test"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
index 247ce794be1..97ee1d43e54 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -
LICENSE="APSL-2"
SLOT="8"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~ppc-macos ~x64-macos"
IUSE="tapi"
DEPEND="sys-devel/binutils-config
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
index 3e02d9be4c8..dc08967e958 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -
LICENSE="APSL-2"
SLOT="8"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~ppc-macos ~x64-macos"
IUSE="tapi"
# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2021-01-10 10:05 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2021-01-10 10:05 UTC (permalink / raw
To: gentoo-commits
commit: bb90346ed5980f47ee7998ef7e4af8f496b00df9
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 10 10:04:28 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jan 10 10:04:28 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb90346e
sys-devel/binutils-apple-8.2.1-r100: drop non-TAPI version
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 1 -
.../binutils-apple-8.2.1-r100.ebuild | 100 ---------------------
2 files changed, 101 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index f84592c72d4..a6468db7cc6 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -7,7 +7,6 @@ DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3f
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
-DIST darwin-xtools-8.2.1-r100.tar.gz 2934997 BLAKE2B d0324d47d3aa0afd0007fbbd16c74e046c643c645744cc7ef0535eeed275c2d61763a1c6708b3a0a796f0fc83e62b5e5fe907c62553b439bea750353cfac2f73 SHA512 7000bca61b1dc63d1d08a9bcf104dace4376c2656af0faddc28a7d6c3718dbe54713da96136091a2024a644eaf90758714d1e4eb3cfeec2df0e412d847f59c30
DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
deleted file mode 100644
index 97ee1d43e54..00000000000
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r100.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
-HOMEPAGE="https://github.com/iains/darwin-xtools"
-SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -> darwin-xtools-${PVR}.tar.gz"
-
-LICENSE="APSL-2"
-SLOT="8"
-KEYWORDS="~ppc-macos ~x64-macos"
-IUSE="tapi"
-
-DEPEND="sys-devel/binutils-config
- app-arch/xar
- tapi? ( sys-libs/tapi )"
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
-
-src_prepare() {
- cmake_src_prepare
-
- # make prunetrie a static archive, because the dynamic libs aren't
- # installed, for there really are no consumers
- # fixed for next release
- sed -i -e '/add_library/s/prunetrie/& STATIC/' \
- ld64/src/CMakeLists.txt || die
-}
-
-src_configure() {
- CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
- DATAPATH=/usr/share/binutils-data/${CTARGET}/xtools-${PV}
- if [[ ${CHOST} != ${CTARGET} ]] ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/xtools-${PV}
- fi
-
- is-host-64bit() {
- case ${CTARGET} in
- x86_64-*|powerpc64*) echo YES ;;
- *) echo NO ;;
- esac
- }
-
- local mycmakeargs=(
- -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}
- -DPACKAGE_VERSION="Gentoo ${PN}-${PVR}"
- -DCMAKE_INSTALL_PREFIX=${EPREFIX}${BINPATH%/*} # cmake insists on /bin
- -DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
- -DXTOOLS_LTO_SUPPORT=NO
- -DXTOOLS_HAS_LIBPRUNETRIE=YES
- -DXTOOLS_TAPI_SUPPORT=$(use tapi && echo ON || echo OFF)
- -DXTOOLS_HOST_IS_64B=$(is-host-64bit)
- -DXTOOLS_BUGURL="https://bugs.gentoo.org/"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # cmake insists on installing in /bin, so move bins to the place we
- # want them
- mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
-
- keepdir "${LIBPATH}"
-
- doman ld64/doc/man/man*/* cctools/man/*.[135]
- dodir "${DATAPATH}"
- mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="xtools-${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-xtools-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-xtools-${PV}
-}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2022-03-29 11:31 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2022-03-29 11:31 UTC (permalink / raw
To: gentoo-commits
commit: 9ca9f406cf625ed40286adc4b900d3ca46eb41df
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 29 11:31:20 2022 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Mar 29 11:31:20 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ca9f406
sys-devel/binutils-apple: drop sys-libs/tapi dependency
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 4 -
.../binutils-apple/binutils-apple-11.3.1-r1.ebuild | 378 ---------------------
.../binutils-apple/binutils-apple-8.2.1-r1.ebuild | 18 +-
.../binutils-apple-8.2.1-r101.ebuild | 8 +-
sys-devel/binutils-apple/metadata.xml | 1 -
5 files changed, 17 insertions(+), 392 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index a6468db7cc6c..718995f313cf 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -1,4 +1,3 @@
-DIST binutils-apple-patches-11.3-r1.tar.bz2 9041 BLAKE2B c881117e19e119173dd8c126859f8ebab5ff4024697c9650b8ba145c021aa6e251086d3678d80fec2672e78637a5beca795b71ae871692e832ba4e69a7a8e04c SHA512 eda63cd89f67674556dc75de719cd318f534544db50165d4faac454f67c557c9944e7e024c4443e640f987ed8c8826ccd578427743a86d7220c2ba90ed2206d4
DIST binutils-apple-patches-3.2.6-r0.tar.bz2 3500 BLAKE2B f10dcf71400ea5d4bf7efb8ad906240765cfb56743274b3e1684eeb4273a35171aa4202d475920cff2c5c39e89f9bd1d7e5b0d38ba6c2b4705b0a592ba47e063 SHA512 4ccb8ebd49ac8eac4dbd0c1f24ee1836f216efd2e9e15b13072cbc76d8f83fbf4f1f6b3b60736bf5d5482af3e49ec1eaedfce8dd0ce1e949f915faf9c92ee0ea
DIST binutils-apple-patches-4.3-r1.tar.bz2 37363 BLAKE2B a5ad04d4bf746a864f03a25d052197ed9a6ecada1f34460f4e38bea8cd87dfe2cb6c7f99f2096acac2231cd1e0c13c53757854b07f729a7a0c5a162a908fbe83 SHA512 f5d64ad182891c3af971e6aabd3c0c1b717b6a1cb471632339cba61b41a998d15880d18de09aafa1c3d059e528c888d6e8b914025c79bc21897d90a6d0e2ebf5
DIST binutils-apple-patches-5.1-r2.tar.bz2 51642 BLAKE2B 1b44020a05e0a91cfe569273f1e3dc65afaeac4bcdb80a626bdcc1f30cf8fbba6cc7bb522ece93126d4035b2d309defefd17fe0cee5bcaadcc58c4fa0feb4827 SHA512 37ba0dcae6c10b54a07c6208f6893ab80b0de1bd1c2f677902f707c8290629f7671a481e256b57a18bf304b95e41e4d59519bc1c88f15de488c0ef7e142f5cd8
@@ -6,12 +5,9 @@ DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f29
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
-DIST cctools-949.0.1.tar.gz 1968671 BLAKE2B b38fbae5d2ec011a94c2e4ec299c1ecd173f2c2516664cf925b06aaa078e234b59068158ea29dfcbf763ca98c73bc1806a507fbbe49a8d4d0a2fd4e602f401ce SHA512 13c493a48852c980d2829d28616c18640ad5ebfe6acd55143c4c948665e0b65377a459560667074fdac5e69bb6360fea13d988303c49fd3dd4a58e9b5c54ebcb
DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
-DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
-DIST ld64-530.tar.gz 744871 BLAKE2B 8117160ffe55c02b463559a52fcbd109629d6e2b4707f36391ec2151785cc1ab5be911129397af7bea05f06b2c718bc345a1e3b6b0838dae943f4083612af38f SHA512 0197ec05f9fbaf9e1902bb6e0819d0562573a433e0445809f1020e76126d3af57222a8e9e187fce793a5b581f825b48bfb5ec5cca9ae3eb77758cbc7f20e9e20
DIST ld64-97.17.tar.gz 421947 BLAKE2B 56820ef28490f2e0181d6e36b87506c6f00ae5759afe304a063fb6bd1904ace566ef4aa69ff0d235d65968af547a1a5735cb23bcefa990f418740188d399b637 SHA512 841774a1a7c0e2f661ac7e66703f7578d8f11274897ffa15f8c49daf290a23465763f264a4dae99f15754891f44c425c0d327652112007b499bc8f755a7fc9d6
DIST libunwind-30.tar.gz 82811 BLAKE2B 26993d6afa6930931c01b579326964a66832ed7a6ffa26eff10016c8d6d175d3b671753cf8700dcdbae7f0a9c01b16e9cbd3c9fe86697608f1f08a8eceb64782 SHA512 57106eafa1516791b4e0db2de6c6336bc0c1cbd8bf098a6d3a809fafa457802c95a7aeae9137f4ca5922a3018dfd8f597907ea4187b0afbbf267500eae00041f
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
deleted file mode 100644
index 42f2f2808cb7..000000000000
--- a/sys-devel/binutils-apple/binutils-apple-11.3.1-r1.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs llvm prefix
-
-# versions:
-# XCode-11.3.1 ld64-530 cctools-949.0.1
-# XCode-11.2.1 ld64-520 cctools-949.0.1
-# XCode-11.0 ld64-512.4 cctools-949.0.1
-# XCode-8.2.1 ld64-274.2 cctools-895 <== binutils-apple-8.2.1-r1 (2019)
-
-# macOS-10.15.6 dyld-750.6 Causes build failures with Xcode-11 tools
-# macOS-10.14.4-10.14.6 dyld-655.1.1 Causes build failures with Xcode-11 tools
-# macOS-10.13.6 dyld-551.4
-# macOS-10.12.1-10.12.3 dyld-421.2 <== binutils-apple-8.2.1-r1,8.1
-
-LD64=ld64-530
-CCTOOLS_VERSION=949.0.1
-CCTOOLS=cctools-${CCTOOLS_VERSION}
-DYLD=dyld-551.4
-
-DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}"
-HOMEPAGE="http://www.opensource.apple.com/"
-SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
- http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
- http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-4.3-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-5.1-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-7.3-r2.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-8.2-r1.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-patches-11.3-r1.tar.bz2"
-
-LICENSE="APSL-2"
-KEYWORDS="~x64-macos"
-IUSE="lto classic test" # tapi is now required
-RESTRICT="!test? ( test )"
-
-# ld64 can now only be compiled using llvm and libc++ since it massively uses
-# C++11 language features. *But additionally* the as driver now defaults to
-# calling clang as the assembler on many platforms. This can be disabled using
-# -Wa,-Q but since it's default we make llvm a static runtime dependency.
-RDEPEND="sys-devel/binutils-config
- lto? ( app-arch/xar )
- sys-libs/tapi
- sys-devel/llvm:*
- sys-libs/libcxx"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/perl-5.8.8 )"
-
-SLOT="11"
-
-S=${WORKDIR}
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-llvm_pkg_setup() {
- # eclass version will die if no LLVM can be found which will break prefix
- # bootstrap
- :
-}
-
-src_prepare() {
- cd "${S}"/${LD64}/src
- cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
- cp "${S}"/ld64-530-Makefile Makefile
-
- epatch "${S}"/ld64-530-nolto.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
-
- # workound llvm-3.9.{0,1} issue
- # https://bugs.gentoo.org/show_bug.cgi?id=603580
- # https://groups.google.com/forum/#!topic/llvm-dev/JY6nuKE__sU
- # http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160829/169553.html
- sed -i -e '/COMPILE_TIME_ASSERT/d' ld/parsers/libunwind/*.hpp || die
-
- # provide missing headers dyld
- mkdir -p include/mach-o || die
- # never present because it's private
- cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die
- # TARGET_OS_BRIDGE is undefined in TargetConditionals.h of newer MacOSX.sdk.
- # We don't target BridgeOS. Disable it to avoid errors when clang adds:
- # -Werror,-Wundef-prefix=TARGET_OS_
- sed -i -e 's/#if TARGET_OS_BRIDGE/#if 0/' include/mach-o/dyld_priv.h
-
- local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
- echo "char ldVersionString[] = ${VER_STR};" > version.cpp
-
- cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-11.3.1-no-developertools-dir.patch
- epatch "${S}"/${PN}-11.3.1-llvm-prefix.patch
- epatch "${S}"/${PN}-11.3.1-llvm-shim.patch
- epatch "${S}"/${PN}-11.3.1-nolto-fix.patch # bugfix
- epatch "${S}"/${PN}-11.3.1-segaddrtable-fix.patch # bugfix
- eprefixify libstuff/execute.c
- cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
-
- # do not build profileable libstuff to save compile time
- sed -i -e "/^all:/s, profile , ," libstuff/Makefile
-
- # bugfix. args.c not built but args_expand_at is used in misc/libtool.c
- sed -i -e "/^CFILES = /s, errors.c , errors.c args.c ," libstuff/Makefile
-
- # cctools version is provided to make via RC_ProjectSourceVersion which
- # generates and compiles it as apple_version[] into libstuff. From
- # there it's picked up by the individual tools. Since
- # RC_ProjectSourceVersion is also used as library version, we can't
- # just append our local version info. So we hack the libstuff Makefile
- # to include our Gentoo version.
- sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \
- libstuff/Makefile
-
- eapply_user
-
- # clean up test suite
- cd "${S}"/${LD64}/unit-tests/test-cases
- local c
-
- # we don't have llvm
- ((++c)); rm -rf llvm-integration;
-
- # we don't have dtrace
- ((++c)); rm -rf dtrace-static-probes-coalescing;
- ((++c)); rm -rf dtrace-static-probes;
-
- # a file is missing
- ((++c)); rm -rf eh-coalescing-r
-
- # we don't do universal binaries
- ((++c)); rm -rf blank-stubs;
-
- # looks like a problem with apple's result-filter.pl
- ((++c)); rm -rf implicit-common3;
- ((++c)); rm -rf order_file-ans;
-
- # TODO no idea what goes wrong here
- ((++c)); rm -rf dwarf-debug-notes;
-
- einfo "Deleted $c tests that were bound to fail"
-
- cd "${S}"
- ebegin "cleaning Makefiles from unwanted CFLAGS"
- find . -name "Makefile" -print0 | xargs -0 sed \
- -i \
- -e 's/ -g / /g' \
- -e 's/"-g /"/g' \
- -e 's/^G =.*$/G =/' \
- -e 's/^OFLAG =.*$/OFLAG =/' \
- -e 's/install -c -s/install/g'
- eend $?
-}
-
-src_configure() {
- ENABLE_LTO=0
- if use lto ; then
- ENABLE_LTO=1
-
- LLVM_INCDIR=$(get_llvm_prefix)/include
- LLVM_LIBDIR=$(get_llvm_prefix)/lib
-
- [ -n "${LLVM_INCDIR}" -a -n "${LLVM_LIBDIR}" ] || \
- die "LLVM not found - LTO support can not be enabled"
-
- # LTO and LLVM support currently both depend only on libLTO being
- # present. So we can enable both.
- CCTOOLS_LTO_CFLAGS="-DLTO_SUPPORT -I${LLVM_INCDIR}"
- CCTOOLS_LLVM_CFLAGS="-DLLVM_SUPPORT -I${LLVM_INCDIR}"
- fi
-
- export CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
- DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
- if is_cross ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/${PV}
- fi
-
- export CCTOOLS_CPPFLAGS="${CPPFLAGS}"
- # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is
- # what we want). Removed in compile_cctools.
- append-cppflags -DNDEBUG
-
- # Create configure.h for ld64 with SUPPORT_ARCH_<arch> defines in it.
- DERIVED_FILE_DIR=${LD64}/src \
- ${LD64}/src/create_configure
-}
-
-compile_ld64() {
- einfo "building ${LD64}"
- cd "${S}"/${LD64}/src
- emake \
- LTO=${ENABLE_LTO} \
- LTO_INCDIR=${LLVM_INCDIR} \
- LTO_LIBDIR=${LLVM_LIBDIR} \
- TAPI=1 \
- TAPI_LIBDIR="${EPREFIX}"/usr/lib
-
- use test && emake build_test
-}
-
-compile_cctools() {
- einfo "building ${CCTOOLS}"
- filter-flags -DNDEBUG
-
- cd "${S}"/${CCTOOLS}
- # Suppress running dsymutil because it will warn about missing debug
- # info which is expected when compiling without -g as we normally do.
- # This might need some more thought if anyone ever wanted to build us
- # for debugging with Apple's tools.
- emake \
- LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \
- EFITOOLS= \
- LTO="${CCTOOLS_LTO_CFLAGS} ${CCTOOLS_LLVM_CFLAGS}" \
- COMMON_SUBDIRS='libstuff ar misc otool' \
- SUBDIRS_32= \
- LEGACY= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-
- cd "${S}"/${CCTOOLS}/as
- emake \
- BUILD_OBSOLETE_ARCH= \
- RC_ProjectSourceVersion=${CCTOOLS_VERSION} \
- RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \
- OFLAG="${CCTOOLS_OFLAG}" \
- DSYMUTIL=": disabled: dsymutil"
-}
-
-src_compile() {
- compile_ld64
- compile_cctools
-}
-
-install_ld64() {
- exeinto ${BINPATH}
- doexe "${S}"/${LD64}/src/{ld64,dyldinfo,unwinddump,ObjectDump,objcimageinfo,machocheck}
- dosym ld64 ${BINPATH}/ld
- insinto ${DATAPATH}/man/man1
- doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,dyldinfo,unwinddump}.1
-}
-
-install_cctools() {
- cd "${S}"/${CCTOOLS}
- emake install_all_but_headers \
- EFITOOLS= \
- COMMON_SUBDIRS='ar misc otool' \
- SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
- cd "${S}"/${CCTOOLS}/as
- emake install \
- BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
-
- # upstream is starting to replace classic binutils with llvm-integrated
- # ones. In Xcode, nm and size are now symlinks to llvm-{nm,size} while the
- # classic version is preserved as {nm,size}-classic. When asked to do so
- # by use classic we statically link to the classic version.
- # binutils-bin/<version>/<tool>
- # -> binutils-bin/<version>/<tool>-classic
- #
- # Otherwise we try to find and use the llvm version of the tool. Since our
- # binutils do not live in the same directory as the llvm installation and
- # llvm tends to move around, we use a shim that tries to find the llvm
- # version of the tool in prefix. It will fall back to the classic tool if
- # it fails.
- # binutils-bin/<version>/<tool>
- # -> binutils-bin/<version>/llvm-<tool>
- # -> $EPREFIX/usr/lib/llvm/<major/bin/llvm-<tool>
- # -> $EPREFIX/usr/bin/llvm-<tool>
- # -> binutils-bin/<version>/<tool>-classic
- budir=${D}/${EPREFIX}/${BINPATH}
- for tool in nm size ; do
- use classic && \
- ln -sfn ${tool}-classic "${budir}/${tool}" || \
- ln -sfn llvm-shim "${budir}/${tool}"
- done
-
- # Also, otool is now based on llvm-objdump. But a small wrapper installed
- # as llvm-otool remains, providing command line compatibility.
- use classic && \
- ln -sfn otool-classic "${budir}/otool" || \
- ln -sfn llvm-otool "${budir}/otool"
-
- # And finally, although our cctools don't actually contain dsymutil and
- # objdump, we provide access to the llvm versions of them via the shim to
- # be in line with Xcode.
- for tool in objdump dsymutil ; do
- ln -sfn llvm-shim "${budir}/${tool}"
- done
-
- cd "${ED}"${BINPATH}
- insinto ${DATAPATH}/man/man1
- local skips manpage
- # ar brings an up-to-date manpage with it
- skips=( ar )
- for bin in *; do
- for skip in ${skips[@]}; do
- if [[ ${bin} == ${skip} ]]; then
- continue 2;
- fi
- done
- manpage=${S}/${CCTOOLS}/man/${bin}.1
- if [[ -f "${manpage}" ]]; then
- doins "${manpage}"
- fi
- done
- insinto ${DATAPATH}/man/man5
- doins "${S}"/${CCTOOLS}/man/*.5
-}
-
-src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
- einfo "Test suite only works properly with clang - please install"
- return
- fi
-
- einfo "Running unit tests"
- cd "${S}"/${LD64}/unit-tests/test-cases
- # provide the new ld as a symlink to clang so that -ccc-install-dir
- # will pick it up
- ln -sfn ../../src/ld64 ld
- # use our arch command because the System's will report i386 even for an
- # x86_64 prefix
- perl ../bin/make-recursive.pl \
- BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \
- ARCH="$(arch)" \
- LD="${S}"/${LD64}/src/ld64 \
- CC="${CC} -ccc-install-dir $PWD" \
- CXX="${CXX} -ccc-install-dir $PWD" \
- OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \
- | perl ../bin/result-filter.pl
-}
-
-src_install() {
- install_ld64
- install_cctools
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-${PV}
-}
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
index 3d5c7e8105dc..06e3523c934f 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -1,10 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eutils flag-o-matic toolchain-funcs llvm prefix
+# versions:
+# XCode-11.3.1 ld64-530 cctools-949.0.1
+# XCode-11.2.1 ld64-520 cctools-949.0.1
+# XCode-11.0 ld64-512.4 cctools-949.0.1
+# XCode-8.2.1 ld64-274.2 cctools-895 <== binutils-apple-8.2.1-r1 (2019)
+
+# macOS-10.15.6 dyld-750.6 Causes build failures with Xcode-11 tools
+# macOS-10.14.4-10.14.6 dyld-655.1.1 Causes build failures with Xcode-11 tools
+# macOS-10.13.6 dyld-551.4
+# macOS-10.12.1-10.12.3 dyld-421.2 <== binutils-apple-8.2.1-r1,8.1
+
LD64=ld64-274.2
CCTOOLS_VERSION=895
CCTOOLS=cctools-${CCTOOLS_VERSION}
@@ -22,7 +33,7 @@ SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz
LICENSE="APSL-2"
KEYWORDS="~x64-macos"
-IUSE="lto tapi classic test"
+IUSE="lto classic test"
RESTRICT="!test? ( test )"
# ld64 can now only be compiled using llvm and libc++ since it massively uses
@@ -31,7 +42,6 @@ RESTRICT="!test? ( test )"
# -Wa,-Q but since it's default we make llvm a static runtime dependency.
RDEPEND="sys-devel/binutils-config
lto? ( app-arch/xar )
- tapi? ( sys-libs/tapi )
sys-devel/llvm:*
sys-libs/libcxx"
DEPEND="${RDEPEND}
@@ -200,7 +210,7 @@ compile_ld64() {
LTO=${ENABLE_LTO} \
LTO_INCDIR=${LLVM_INCDIR} \
LTO_LIBDIR=${LLVM_LIBDIR} \
- TAPI=$(use tapi && echo 1 || echo 0) \
+ TAPI=0 \
TAPI_LIBDIR="${EPREFIX}"/usr/lib
use test && emake build_test
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
index 091e4e5990b4..da5d72becad1 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,14 +14,12 @@ SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -
LICENSE="APSL-2"
SLOT="8"
KEYWORDS="~ppc-macos ~x64-macos"
-IUSE="tapi"
# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep
DEPEND="sys-devel/binutils-config
|| ( sys-devel/gcc:* sys-devel/clang:* )
app-arch/xar
- tapi? ( sys-libs/tapi )
- !tapi? ( dev-libs/libyaml )"
+ dev-libs/libyaml"
RDEPEND="${DEPEND}"
BDEPEND=""
@@ -65,7 +63,7 @@ src_configure() {
-DXTOOLS_LTO_SUPPORT=NO
-DXTOOLS_HAS_LIBPRUNETRIE=YES
-DXTOOLS_TAPI_SUPPORT=ON
- -DXTOOLS_USE_TAPILITE=$(use tapi && echo OFF || echo ON)
+ -DXTOOLS_USE_TAPILITE=ON
-DXTOOLS_HOST_IS_64B=$(is-host-64bit)
-DXTOOLS_BUGURL="https://bugs.gentoo.org/"
)
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml
index e43e477505d4..481c99bd5bd5 100644
--- a/sys-devel/binutils-apple/metadata.xml
+++ b/sys-devel/binutils-apple/metadata.xml
@@ -9,6 +9,5 @@
<flag name="lto">Add support for Link-Time Optimization with LLVM</flag>
<flag name="classic">Use nm, otool, etc. from this ebuild
instead of llvm-based tools</flag>
- <flag name="tapi">Build against <pkg>sys-libs/tapi</pkg></flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2022-04-20 6:15 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2022-04-20 6:15 UTC (permalink / raw
To: gentoo-commits
commit: 4e2f7063a89cd6ad368706c9a433ce7833aa5b21
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 20 06:13:50 2022 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Apr 20 06:15:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e2f7063
sys-devel/binutils-apple-8.2.1-r1: fix clang check #839156
shellcheck pointed out that checking a non-empty string constant to be
non-empty always evaluates to true
Closes: https://bugs.gentoo.org/839156
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 06e3523c934f..b38e12eebe33 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
@@ -335,7 +335,7 @@ install_cctools() {
}
src_test() {
- if ! [ "${EPREFIX}"/usr/bin/clang ] ; then
+ if ! [[ -x "${EPREFIX}"/usr/bin/clang ]] ; then
einfo "Test suite only works properly with clang - please install"
return
fi
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2022-12-12 20:13 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2022-12-12 20:13 UTC (permalink / raw
To: gentoo-commits
commit: 23e6655c80cd05470321e2faacb9163e95bbb25d
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 12 20:12:26 2022 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Dec 12 20:13:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23e6655c
sys-devel/binutils-apple: bump to EAPI-7, fix pkgcheck warns
Closes: https://bugs.gentoo.org/884479
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
...3.2.6.ebuild => binutils-apple-3.2.6-r1.ebuild} | 44 +++++++-------
.../binutils-apple-8.2.1-r101.ebuild | 2 +-
....1-r1.ebuild => binutils-apple-8.2.1-r2.ebuild} | 70 +++++++++++-----------
3 files changed, 58 insertions(+), 58 deletions(-)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
similarity index 87%
rename from sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
rename to sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
index 49c5ce262a52..d096612de55a 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.6.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="7"
-inherit eutils flag-o-matic toolchain-funcs
+inherit flag-o-matic toolchain-funcs
RESTRICT="test" # the test suite will test what's installed.
@@ -34,7 +34,7 @@ S=${WORKDIR}
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-prepare_ld64() {
+eprepare_ld64() {
cd "${S}"/${LD64}/src
cp "${WORKDIR}"/Makefile Makefile || die
@@ -90,14 +90,14 @@ prepare_ld64() {
}
src_prepare() {
- prepare_ld64
+ eprepare_ld64
cd "${S}"/${CCTOOLS}
- epatch "${WORKDIR}"/${PN}-3.2.6-as-dir.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
- epatch "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.2.6-as-dir.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.1.1-libtool-ranlib.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.1.1-nmedit.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.1.1-no-headers.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.1.1-no-oss-dir.patch
# drop as targets which are not suported by anything
sed -i \
@@ -109,8 +109,8 @@ src_prepare() {
as/Makefile || die
cd "${S}"/${LD64}
- epatch "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
- epatch "${WORKDIR}"/${PN}-3.2.6-lto.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.1.1-testsuite.patch
+ eapply -p1 "${WORKDIR}"/${PN}-3.2.6-lto.patch
cd "${S}"
ebegin "cleaning Makefiles from unwanted CFLAGS"
@@ -200,19 +200,19 @@ install_cctools() {
COMMON_SUBDIRS='ar misc otool' \
SUBDIRS_32= \
RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ DSTROOT="\"${D}\"" \
+ BINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LOCBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ USRBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LOCLIBDIR="\"${EPREFIX}\"${LIBPATH}" \
+ MANDIR="\"${EPREFIX}\"${DATAPATH}/man/"
cd "${S}"/${CCTOOLS}/as
emake install \
BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+ DSTROOT="\"${D}\"" \
+ USRBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LIBDIR="\"${EPREFIX}\"${LIBPATH}" \
+ LOCLIBDIR="\"${EPREFIX}\"${LIBPATH}"
cd "${ED}"${BINPATH}
insinto ${DATAPATH}/man/man1
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
index da5d72becad1..5c87dd7ecf22 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
@@ -5,7 +5,7 @@ EAPI=7
CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
-inherit cmake toolchain-funcs
+inherit cmake
DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
HOMEPAGE="https://github.com/iains/darwin-xtools"
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
similarity index 87%
rename from sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
rename to sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
index b38e12eebe33..8d4f21c88bb0 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="7"
-inherit eutils flag-o-matic toolchain-funcs llvm prefix
+inherit flag-o-matic llvm prefix
# versions:
# XCode-11.3.1 ld64-530 cctools-949.0.1
@@ -64,12 +64,12 @@ src_prepare() {
cp "${S}"/ld64-136-compile_stubs.h ld/compile_stubs.h
cp "${S}"/ld64-274.2-Makefile Makefile
- epatch "${S}"/ld64-274.1-nolto.patch
- epatch "${S}"/ld64-236.3-crashreporter.patch
- epatch "${S}"/ld64-264.3.102-bitcode-case.patch
- epatch "${S}"/ld64-274.1-unknown-fixup.patch
- epatch "${S}"/ld64-274.1-notapi.patch
- epatch "${S}"/ld64-274.2-cfi-info-type.patch
+ eapply -p2 "${S}"/ld64-274.1-nolto.patch
+ eapply -p2 "${S}"/ld64-236.3-crashreporter.patch
+ eapply -p2 "${S}"/ld64-264.3.102-bitcode-case.patch
+ eapply -p2 "${S}"/ld64-274.1-unknown-fixup.patch
+ eapply -p2 "${S}"/ld64-274.1-notapi.patch
+ eapply -p2 "${S}"/ld64-274.2-cfi-info-type.patch
# workound llvm-3.9.{0,1} issue
# https://bugs.gentoo.org/show_bug.cgi?id=603580
@@ -87,27 +87,27 @@ src_prepare() {
cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h
# add alias for newer identifiers, because ld64 uses both but cctools
# header only defines the older
- epatch "${S}"/ld64-236.3-missing-cputypes.patch
+ eapply -p2 "${S}"/ld64-236.3-missing-cputypes.patch
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
- epatch "${S}"/ld64-123.2-debug-backtrace.patch
+ eapply -p0 "${S}"/ld64-123.2-debug-backtrace.patch
cd "${S}"/${CCTOOLS}
- epatch "${S}"/${PN}-4.5-as.patch
- epatch "${S}"/${PN}-5.1-as-dir.patch
- epatch "${S}"/${PN}-5.1-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-libtool-ranlib.patch
- epatch "${S}"/${PN}-3.1.1-no-headers.patch
- epatch "${S}"/${PN}-4.0-no-oss-dir.patch
- epatch "${S}"/cctools-839-intel-retf.patch
- epatch "${S}"/${PN}-5.1-extraneous-includes.patch
- epatch "${S}"/${PN}-5.1-strnlen.patch
- epatch "${S}"/${PN}-7.3-make-j.patch
- epatch "${S}"/${PN}-7.3-no-developertools-dir.patch
- epatch "${S}"/${PN}-8.2.1-llvm-prefix-3.patch
- epatch "${S}"/${PN}-8.2.1-llvm-shim.patch
+ eapply -p1 "${S}"/${PN}-4.5-as.patch
+ eapply -p1 "${S}"/${PN}-5.1-as-dir.patch
+ eapply -p2 "${S}"/${PN}-5.1-ranlib.patch
+ eapply -p1 "${S}"/${PN}-3.1.1-libtool-ranlib.patch
+ eapply -p1 "${S}"/${PN}-3.1.1-no-headers.patch
+ eapply -p0 "${S}"/${PN}-4.0-no-oss-dir.patch
+ eapply -p1 "${S}"/cctools-839-intel-retf.patch
+ eapply -p2 "${S}"/${PN}-5.1-extraneous-includes.patch
+ eapply -p1 "${S}"/${PN}-5.1-strnlen.patch
+ eapply -p1 "${S}"/${PN}-7.3-make-j.patch
+ eapply -p1 "${S}"/${PN}-7.3-no-developertools-dir.patch
+ eapply -p1 "${S}"/${PN}-8.2.1-llvm-prefix-3.patch
+ eapply -p1 "${S}"/${PN}-8.2.1-llvm-shim.patch
eprefixify libstuff/execute.c
cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die
@@ -263,19 +263,19 @@ install_cctools() {
EFITOOLS= \
COMMON_SUBDIRS='ar misc otool' \
SUBDIRS_32= \
- DSTROOT=\"${D}\" \
- BINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \
- MANDIR=\"${EPREFIX}\"${DATAPATH}/man/
+ DSTROOT="\"${D}\"" \
+ BINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LOCBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ USRBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LOCLIBDIR="\"${EPREFIX}\"${LIBPATH}" \
+ MANDIR="\"${EPREFIX}\"${DATAPATH}/man/"
cd "${S}"/${CCTOOLS}/as
emake install \
BUILD_OBSOLETE_ARCH= \
- DSTROOT=\"${D}\" \
- USRBINDIR=\"${EPREFIX}\"${BINPATH} \
- LIBDIR=\"${EPREFIX}\"${LIBPATH} \
- LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
+ DSTROOT="\"${D}\"" \
+ USRBINDIR="\"${EPREFIX}\"${BINPATH}" \
+ LIBDIR="\"${EPREFIX}\"${LIBPATH}" \
+ LOCLIBDIR="\"${EPREFIX}\"${LIBPATH}"
# upstream is starting to replace classic binutils with llvm-integrated
# ones. In Xcode, nm and size are now symlinks to llvm-{nm,size} while the
@@ -294,7 +294,7 @@ install_cctools() {
# -> $EPREFIX/usr/lib/llvm/<major/bin/llvm-<tool>
# -> $EPREFIX/usr/bin/llvm-<tool>
# -> binutils-bin/<version>/<tool>-classic
- budir=${D}/${EPREFIX}/${BINPATH}
+ budir="${D}"/${EPREFIX}/${BINPATH}
for tool in nm size ; do
use classic && \
ln -sfn ${tool}-classic "${budir}/${tool}" || \
@@ -314,7 +314,7 @@ install_cctools() {
ln -sfn llvm-shim "${budir}/${tool}"
done
- cd "${ED}"${BINPATH}
+ cd "${ED}"/${BINPATH}
insinto ${DATAPATH}/man/man1
local skips manpage
# ar brings an up-to-date manpage with it
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2023-05-29 11:58 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2023-05-29 11:58 UTC (permalink / raw
To: gentoo-commits
commit: 2fe412f42a1aa3fcb64362607c034a3562926107
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 11:57:46 2023 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon May 29 11:58:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fe412f4
sys-devel/binutils-apple-8.2.1-r102: revbump for arm64 support
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 1 +
.../binutils-apple-8.2.1-r102.ebuild | 118 +++++++++++++++++++++
2 files changed, 119 insertions(+)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 718995f313cf..35303fe424de 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -6,6 +6,7 @@ DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3f
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
+DIST darwin-xtools-8.2.1-r102.tar.gz 3105944 BLAKE2B c60854e77afde1a109834e6bac2485f79387b37b871b00a83cfe42c8793685fc414a6a9fa8ef588badf824a9255478fd64c171015f22e848b41dc47d011e202a SHA512 e115e29b5b358cec5c254fc7e4f5d94567c6788f745fd48dfea464a69bd7f4e3a48bccf3334f9fbb26ca3a3cd1c4b366198e05f2f567c7fb43e81ea8f3bf151c
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r102.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r102.ebuild
new file mode 100644
index 000000000000..d892d1c763d9
--- /dev/null
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r102.ebuild
@@ -0,0 +1,118 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
+
+inherit cmake
+
+DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
+HOMEPAGE="https://github.com/iains/darwin-xtools"
+SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -> darwin-xtools-${PVR}.tar.gz"
+
+LICENSE="APSL-2"
+SLOT="8"
+KEYWORDS="~arm64-macos ~ppc-macos ~x64-macos"
+
+# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep
+DEPEND="sys-devel/binutils-config
+ || ( sys-devel/gcc:* sys-devel/clang:* )
+ app-arch/xar
+ dev-libs/libyaml"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+
+src_configure() {
+ CTARGET=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+ fi
+
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/xtools-${PV}
+ if [[ ${CHOST} != ${CTARGET} ]] ; then
+ BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
+ else
+ BINPATH=/usr/${CTARGET}/binutils-bin/xtools-${PV}
+ fi
+
+ is-host-64bit() {
+ case ${CTARGET} in
+ x86_64-*|powerpc64-*|arm64-*) echo YES ;;
+ *) echo NO ;;
+ esac
+ }
+
+ local mycmakeargs=(
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}
+ -DPACKAGE_VERSION="Gentoo ${PN}-${PVR}"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}${BINPATH%/*}" # cmake insists on /bin
+ -DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
+ -DXTOOLS_AS_USE_CLANG=YES # default to host as for unsupported targets
+ -DXTOOLS_AS_CLANG_USE_HOST=YES # search for arch/as-host iso clang
+ -DXTOOLS_AS_SUBDIR="${EPREFIX}${LIBPATH}/"
+ -DXTOOLS_LTO_SUPPORT=NO
+ -DXTOOLS_HAS_LIBPRUNETRIE=YES
+ -DXTOOLS_TAPI_SUPPORT=ON
+ -DXTOOLS_USE_TAPILITE=ON
+ -DXTOOLS_HOST_IS_64B=$(is-host-64bit)
+ -DXTOOLS_BUGURL="https://bugs.gentoo.org/"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # cmake insists on installing in /bin, so move bins to the place we
+ # want them
+ mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
+
+ # move as impls into LIBPATH, such that binutils-config doesn't
+ # create links for this
+ dodir "${LIBPATH}"
+ local as
+ for as in "${ED}${BINPATH}"/*/as ; do
+ as=${as%/as}
+ mv "${as}" "${ED}${LIBPATH}"/ || die
+ done
+
+ # provide as-host wrappers, used on "unsupported" platforms: x86,
+ # x64, arm, arm64, the main reason here is missing support for
+ # instructions, e.g. the as works fine, until newer instruction sets
+ # are used like SSE4.1, AVX, etc.
+ local arch
+ for arch in i386 x86_64 arm arm64 ; do
+ mkdir -p "${ED}${LIBPATH}"/${arch}
+ as="${ED}${LIBPATH}"/${arch}/as-host
+ rm -f "${as}"
+ cat <<-EOF > "${as}"
+ #!/usr/bin/env bash
+ exec /usr/bin/as "\$@"
+ EOF
+ chmod 755 "${as}"
+ done
+
+ doman ld64/doc/man/man*/* cctools/man/*.[135]
+ dodir "${DATAPATH}"
+ mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
+
+ cd "${S}"
+ insinto /etc/env.d/binutils
+ cat <<-EOF > env.d
+ TARGET="${CHOST}"
+ VER="xtools-${PV}"
+ FAKE_TARGETS="${CHOST}"
+ EOF
+ newins env.d ${CHOST}-xtools-${PV}
+}
+
+pkg_postinst() {
+ binutils-config ${CHOST}-xtools-${PV}
+}
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2023-07-09 11:50 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2023-07-09 11:50 UTC (permalink / raw
To: gentoo-commits
commit: 9746e7f65aa3ed3fa59473159742902c2c8246c7
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 9 11:48:59 2023 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jul 9 11:50:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9746e7f6
sys-devel/binutils-apple-8.2.1-r103: produce ld64 compatible output
For meson, mimic ld64's output on -v so it detects xtools as ld64.
Closes: https://bugs.gentoo.org/868516
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 2 +-
.../binutils-apple-8.2.1-r101.ebuild | 122 ---------------------
...102.ebuild => binutils-apple-8.2.1-r103.ebuild} | 0
3 files changed, 1 insertion(+), 123 deletions(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index 35303fe424de..ff96330aff28 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -6,7 +6,7 @@ DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3f
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
-DIST darwin-xtools-8.2.1-r102.tar.gz 3105944 BLAKE2B c60854e77afde1a109834e6bac2485f79387b37b871b00a83cfe42c8793685fc414a6a9fa8ef588badf824a9255478fd64c171015f22e848b41dc47d011e202a SHA512 e115e29b5b358cec5c254fc7e4f5d94567c6788f745fd48dfea464a69bd7f4e3a48bccf3334f9fbb26ca3a3cd1c4b366198e05f2f567c7fb43e81ea8f3bf151c
+DIST darwin-xtools-8.2.1-r103.tar.gz 3106189 BLAKE2B f13e77f796eefc393389206d5663c98d55c3fe0eb5123b366155e7c993cea421a039121d705cab2aa5fcdab2ef08d2b17dd5b9d6e0b2c50c97db067b0ec10283 SHA512 241f402ac368606eb9b89421a3e0a2ebbde1ea79d6e84cc55680a7f3dbc31dfa402ee7b20f605627c1bfd9097bbe824dea466339a7ff9026810911ef70940bda
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
DIST ld64-274.2.tar.gz 671652 BLAKE2B f45bb65bbe65c7baff54dec633a49b8ea472a59a7978aa050b329132963b26e4a2b3ef3dd034b04247531a11a07de5135b3726a429165cbfcae50e06c09531f4 SHA512 7b4e17f199909450b697bf719564c6841d46f5116c48dd47ff483ae7ddfe2965db1b7c024ed8ebeeaf90cd983ed353b95f7f23c93c8971536977dc892e6d6a9d
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
deleted file mode 100644
index 5c87dd7ecf22..000000000000
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR=emake # keep dependencies down
-
-inherit cmake
-
-DESCRIPTION="Darwin Xtools matching Xcode Tools ${PN}"
-HOMEPAGE="https://github.com/iains/darwin-xtools"
-SRC_URI="https://github.com/grobian/darwin-xtools/archive/gentoo-${PVR}.tar.gz -> darwin-xtools-${PVR}.tar.gz"
-
-LICENSE="APSL-2"
-SLOT="8"
-KEYWORDS="~ppc-macos ~x64-macos"
-
-# xtools uses c++11 features, not available in gcc-apple, hence gcc/clang dep
-DEPEND="sys-devel/binutils-config
- || ( sys-devel/gcc:* sys-devel/clang:* )
- app-arch/xar
- dev-libs/libyaml"
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.2.1-macos-12.patch
-)
-
-src_configure() {
- CTARGET=${CTARGET:-${CHOST}}
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
- fi
-
- LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/xtools-${PV}
- DATAPATH=/usr/share/binutils-data/${CTARGET}/xtools-${PV}
- if [[ ${CHOST} != ${CTARGET} ]] ; then
- BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/xtools-${PV}
- else
- BINPATH=/usr/${CTARGET}/binutils-bin/xtools-${PV}
- fi
-
- is-host-64bit() {
- case ${CTARGET} in
- x86_64-*|powerpc64-*|arm64-*) echo YES ;;
- *) echo NO ;;
- esac
- }
-
- local mycmakeargs=(
- -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}
- -DPACKAGE_VERSION="Gentoo ${PN}-${PVR}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}${BINPATH%/*}" # cmake insists on /bin
- -DCCTOOLS_LD_CLASSIC=NO # fails to link, and is useless anyway
- -DXTOOLS_AS_USE_CLANG=YES # default to host as for unsupported targets
- -DXTOOLS_AS_CLANG_USE_HOST=YES # search for arch/as-host iso clang
- -DXTOOLS_AS_SUBDIR="${EPREFIX}${LIBPATH}/"
- -DXTOOLS_LTO_SUPPORT=NO
- -DXTOOLS_HAS_LIBPRUNETRIE=YES
- -DXTOOLS_TAPI_SUPPORT=ON
- -DXTOOLS_USE_TAPILITE=ON
- -DXTOOLS_HOST_IS_64B=$(is-host-64bit)
- -DXTOOLS_BUGURL="https://bugs.gentoo.org/"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # cmake insists on installing in /bin, so move bins to the place we
- # want them
- mv "${ED}${BINPATH%/*}/bin" "${ED}${BINPATH}" || die
-
- # move as impls into LIBPATH, such that binutils-config doesn't
- # create links for this
- dodir "${LIBPATH}"
- local as
- for as in "${ED}${BINPATH}"/*/as ; do
- as=${as%/as}
- mv "${as}" "${ED}${LIBPATH}"/ || die
- done
-
- # provide as-host wrappers, used on "unsupported" platforms: x86,
- # x64, arm, arm64, the main reason here is missing support for
- # instructions, e.g. the as works fine, until newer instruction sets
- # are used like SSE4.1, AVX, etc.
- local arch
- for arch in i386 x86_64 arm arm64 ; do
- mkdir -p "${ED}${LIBPATH}"/${arch}
- as="${ED}${LIBPATH}"/${arch}/as-host
- rm -f "${as}"
- cat <<-EOF > "${as}"
- #!/usr/bin/env bash
- exec /usr/bin/as "\$@"
- EOF
- chmod 755 "${as}"
- done
-
- doman ld64/doc/man/man*/* cctools/man/*.[135]
- dodir "${DATAPATH}"
- mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
-
- cd "${S}"
- insinto /etc/env.d/binutils
- cat <<-EOF > env.d
- TARGET="${CHOST}"
- VER="xtools-${PV}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins env.d ${CHOST}-xtools-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-xtools-${PV}
-}
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r102.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
similarity index 100%
rename from sys-devel/binutils-apple/binutils-apple-8.2.1-r102.ebuild
rename to sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2023-07-09 12:20 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2023-07-09 12:20 UTC (permalink / raw
To: gentoo-commits
commit: fae05e063f86b4b6b43e66a214ea7b4eccc2ada1
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 9 12:19:35 2023 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jul 9 12:20:37 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fae05e06
sys-devel/binutils-apple: cleanup Manifest and add remote-id
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/Manifest | 1 -
sys-devel/binutils-apple/metadata.xml | 3 +++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest
index ff96330aff28..22c77453207c 100644
--- a/sys-devel/binutils-apple/Manifest
+++ b/sys-devel/binutils-apple/Manifest
@@ -5,7 +5,6 @@ DIST binutils-apple-patches-7.3-r2.tar.bz2 44551 BLAKE2B 036cd2a2e4a66b046467f29
DIST binutils-apple-patches-8.2-r1.tar.bz2 10830 BLAKE2B 345db8619873e9e91b79c3fdc0685fc46f82366df0b6153c1a59fbe5c122622e799754397e980e8752ef01ef25bbac81bb8f0339e92168790211b1d9c03bef2d SHA512 e7ca8cbac75671846c044abcd5415cfcf5832ff71acd5a2799b643369b02f2f7148990398c51913a3758e589f9fbff875e333aadf568e2a8a2defeafaa2aca95
DIST cctools-795.tar.gz 1993795 BLAKE2B dc0915f8647eecba5352e34dfc5752b679df39ead9a4734c49955a824d2cc127308eed46a614665dfe08a9d3036eb37f587e1b765a7df727facc42a33befacb0 SHA512 5a34a73dc71d3574a357f6b0f26a48a99dd0995d62695b309cdfe85c4960934b410455b1ba6bdbc9a4e32106bb45b35555604975d2a80ad1be21f5d4eac69254
DIST cctools-895.tar.gz 1716126 BLAKE2B 9706a6b243518693888e5e21dfe8d83b217380b47db621a7f1b35105eb72fb8997353ff85133224b0856f6b6ec710f54a4fe79076d9e228f89c98b6f517de309 SHA512 4ef9db870385cc2c4263bcbe42ff0de80386771f5acbc7082a1818ecd6b8d7bb1bfa02a7fcfecd3e7281481aeaaac4c331359aca3564bfe7a4c7dea1e0d06126
-DIST darwin-xtools-8.2.1-r101.tar.gz 3105898 BLAKE2B 3516cd252d4880b1e80c76365efef6f96830578bb5512befe33f86decdeb026fbad17fd3b27e9c3cf20d100897002e86ec08822041baa0291bb53e0b0ecf4d10 SHA512 f84cbde0853c14f03af40a124133d71d3e1710da021a593336eb4351c60edbca5753af0780f269ed4716cd194973f5437d428c5ff9615d9ce025dba3b7daef77
DIST darwin-xtools-8.2.1-r103.tar.gz 3106189 BLAKE2B f13e77f796eefc393389206d5663c98d55c3fe0eb5123b366155e7c993cea421a039121d705cab2aa5fcdab2ef08d2b17dd5b9d6e0b2c50c97db067b0ec10283 SHA512 241f402ac368606eb9b89421a3e0a2ebbde1ea79d6e84cc55680a7f3dbc31dfa402ee7b20f605627c1bfd9097bbe824dea466339a7ff9026810911ef70940bda
DIST dyld-132.13.tar.gz 342690 BLAKE2B 011418ba5b91a28bb7c5f8188af2fac5478bad53581396b7c1c4623a854a8f0d5ecb92d023246157830ed2db83bbf28e23225a255188e2d07eeb6c933814bda6 SHA512 2c9d50fc32868b696d88730eb6ea6afa9bb9f56883cc2ea4f1d41f370f311b7487a29ce0eff6761e1eeb086a18e2513953989d8d5d3ef1043bb662e86baadd3f
DIST dyld-421.2.tar.gz 625173 BLAKE2B 8f8325314861ae2ea10fbe78c74c7199b547973ac61a8e9cb76fb874a0e53395ea31c04e489f85ac7cfdb5715ae5051679453de75eb195e313113e7bbbc70340 SHA512 75f2fb840da980d44649aa3e045f50c4e37d4403fbdb1e2e5f1a85bf6d8859e1130053c3806f7ef992fdfc6573f7f18146263c690144bdd3df31452c6bdd8bd8
diff --git a/sys-devel/binutils-apple/metadata.xml b/sys-devel/binutils-apple/metadata.xml
index 481c99bd5bd5..d64768b87649 100644
--- a/sys-devel/binutils-apple/metadata.xml
+++ b/sys-devel/binutils-apple/metadata.xml
@@ -10,4 +10,7 @@
<flag name="classic">Use nm, otool, etc. from this ebuild
instead of llvm-based tools</flag>
</use>
+ <upstream>
+ <remote-id type="github">grobian/darwin-xtools</remote-id>
+ </upstream>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2024-01-16 12:05 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2024-01-16 12:05 UTC (permalink / raw
To: gentoo-commits
commit: 6094c57a7d5e771e3b2f51955c4ca801ca9de614
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 12:04:34 2024 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jan 16 12:05:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6094c57a
sys-devel/binutils-apple-8.2.1-r103: fix build with GCC-13
do not attempt to force libc++ usage, it doesn't always work
Closes: https://bugs.gentoo.org/922183
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
index d892d1c763d9..46b656a4b514 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
@@ -25,6 +25,16 @@ BDEPEND=""
S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+src_prepare() {
+ cmake_src_prepare
+ # kill forced libstd=libc++ usage, breaks with GCC-13 which has
+ # preliminary support for that
+ # check_cxx_compiler_flag(-stdlib=libc++ # XTOOLS_CXX_HAS_STDLIB_FLAG)
+ #
+ sed -i -e '/check_cxx_compiler_flag/s/XTOOLS_CXX_HAS_STDLIB_FLAG/NO_&/' \
+ cmake/config-ix.cmake || die
+}
+
src_configure() {
CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/
@ 2024-01-27 14:44 Fabian Groffen
0 siblings, 0 replies; 42+ messages in thread
From: Fabian Groffen @ 2024-01-27 14:44 UTC (permalink / raw
To: gentoo-commits
commit: 6713edc6636bb84a482cfd0f9bfdad564681b8c5
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 14:43:48 2024 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 14:44:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6713edc6
sys-devel/binutils-apple: compress man pages
Closes: https://bugs.gentoo.org/922729
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild | 2 ++
sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild | 2 ++
sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild | 2 ++
3 files changed, 6 insertions(+)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
index d096612de55a..22d10d9f7b20 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.6-r1.ebuild
@@ -249,6 +249,8 @@ src_install() {
install_ld64
install_cctools
+ docompress /usr/share/binutils-data/${CTARGET}/${PV}/man
+
cd "${S}"
insinto /etc/env.d/binutils
cat <<-EOF > env.d
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
index 46b656a4b514..9c2ab92a0fe8 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r103.ebuild
@@ -113,6 +113,8 @@ src_install() {
dodir "${DATAPATH}"
mv "${ED}"/usr/share/man "${ED}/${DATAPATH}/" || die
+ docompress "${DATAPATH}"/man
+
cd "${S}"
insinto /etc/env.d/binutils
cat <<-EOF > env.d
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
index 8d4f21c88bb0..b1c82e7522e4 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r2.ebuild
@@ -361,6 +361,8 @@ src_install() {
install_ld64
install_cctools
+ docompress /usr/share/binutils-data/${CTARGET}/${PV}/man
+
cd "${S}"
insinto /etc/env.d/binutils
cat <<-EOF > env.d
^ permalink raw reply related [flat|nested] 42+ messages in thread
end of thread, other threads:[~2024-01-27 14:44 UTC | newest]
Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-13 7:28 [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-apple/ Fabian Groffen
-- strict thread matches above, loose matches on Subject: below --
2024-01-27 14:44 Fabian Groffen
2024-01-16 12:05 Fabian Groffen
2023-07-09 12:20 Fabian Groffen
2023-07-09 11:50 Fabian Groffen
2023-05-29 11:58 Fabian Groffen
2022-12-12 20:13 Fabian Groffen
2022-04-20 6:15 Fabian Groffen
2022-03-29 11:31 Fabian Groffen
2021-01-10 10:05 Fabian Groffen
2021-01-06 15:32 Fabian Groffen
2020-12-31 12:17 Fabian Groffen
2020-12-22 20:25 Fabian Groffen
2020-12-21 17:57 Fabian Groffen
2020-12-21 8:32 Fabian Groffen
2020-12-20 18:47 Fabian Groffen
2020-12-20 16:06 Fabian Groffen
2020-12-19 19:51 Fabian Groffen
2020-12-19 19:07 Fabian Groffen
2020-11-27 15:33 Fabian Groffen
2019-03-16 14:59 Fabian Groffen
2019-01-28 10:37 Fabian Groffen
2018-12-22 11:02 Fabian Groffen
2018-12-13 10:47 Fabian Groffen
2018-12-13 8:35 Fabian Groffen
2018-12-10 14:20 Fabian Groffen
2018-01-04 16:46 Fabian Groffen
2018-01-03 20:52 Fabian Groffen
2018-01-03 20:52 Fabian Groffen
2017-12-29 13:50 Fabian Groffen
2017-09-06 21:00 Michał Górny
2017-02-26 19:06 Fabian Groffen
2017-01-01 13:17 Fabian Groffen
2016-12-22 7:44 Fabian Groffen
2016-12-15 15:01 Fabian Groffen
2016-09-10 14:40 Fabian Groffen
2016-09-10 14:08 Fabian Groffen
2016-07-10 21:59 Patrick Lauer
2016-07-10 17:32 Fabian Groffen
2016-05-20 16:15 Fabian Groffen
2016-05-16 19:11 Fabian Groffen
2016-05-16 15:44 Fabian Groffen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox