Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 439922 Details for
Bug 588132
Please keep sys-devel/llvm-3.4.2, 3.5.2, 3.7.1 in the tree
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch adding minimal 3.4.2 ebuild
0001-sys-devel-llvm-Restore-minimal-3.4.2-for-Prefix-boot.patch (text/plain), 29.81 KB, created by
Michał Górny
on 2016-07-06 20:34:05 UTC
(
hide
)
Description:
Patch adding minimal 3.4.2 ebuild
Filename:
MIME Type:
Creator:
Michał Górny
Created:
2016-07-06 20:34:05 UTC
Size:
29.81 KB
patch
obsolete
>From ad25a79bfef2322f683758e3f4966d0ef932a1e4 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> >Date: Wed, 6 Jul 2016 22:05:24 +0200 >Subject: [PATCH] sys-devel/llvm: Restore minimal 3.4.2, for Prefix bootstrap, > #588132 > >--- > sys-devel/llvm/Manifest | 5 + > ...clang-3.1-gentoo-runtime-gcc-detection-v3.patch | 29 +++ > .../llvm/files/clang-3.4-darwin_build_fix.patch | 47 ++++ > .../llvm/files/clang-3.4-gentoo-install.patch | 80 +++++++ > sys-devel/llvm/files/llvm-3.4-gentoo-install.patch | 96 ++++++++ > sys-devel/llvm/llvm-3.4.2-r100.ebuild | 247 +++++++++++++++++++++ > sys-devel/llvm/metadata.xml | 2 + > 7 files changed, 506 insertions(+) > create mode 100644 sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch > create mode 100644 sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch > create mode 100644 sys-devel/llvm/files/clang-3.4-gentoo-install.patch > create mode 100644 sys-devel/llvm/files/llvm-3.4-gentoo-install.patch > create mode 100644 sys-devel/llvm/llvm-3.4.2-r100.ebuild > >diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest >index b21128e..be88838 100644 >--- a/sys-devel/llvm/Manifest >+++ b/sys-devel/llvm/Manifest >@@ -1,13 +1,16 @@ >+DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd > DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7 > DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e > DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8 > DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b > DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3 >+DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf > DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11 > DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222 > DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd > DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb > DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9 >+DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc > DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2 > DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93 > DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d >@@ -15,6 +18,8 @@ DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e3 > DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5 > DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a > DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049 >+DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6 >+DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c > DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819 > DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1 > DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256 >diff --git a/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch b/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch >new file mode 100644 >index 0000000..49f1085 >--- /dev/null >+++ b/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch >@@ -0,0 +1,29 @@ >+diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp >+--- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:32:31.593191000 -0400 >++++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:38:31.733163513 -0400 >+@@ -1145,6 +1145,25 @@ Generic_GCC::GCCInstallationDetector::GC >+ Prefixes.push_back(D.InstalledDir + "/.."); >+ } >+ >++ llvm::OwningPtr<llvm::MemoryBuffer> File; >++ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) { >++ if (!llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str(), File)) >++ { >++ bool Exists; >++ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str(); >++ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText; >++ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists) >++ { >++ Version = GCCVersion::Parse(VersionText); >++ GCCInstallPath = GentooPath; >++ GCCParentLibPath = GCCInstallPath + "/../../.."; >++ GCCTriple.setTriple(CandidateTripleAliases[k]); >++ IsValid = true; >++ return; >++ } >++ } >++ } >++ >+ // Loop over the various components which exist and select the best GCC >+ // installation available. GCC installs are ranked by version number. >+ Version = GCCVersion::Parse("0.0.0"); >diff --git a/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch b/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch >new file mode 100644 >index 0000000..113b04b >--- /dev/null >+++ b/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch >@@ -0,0 +1,47 @@ >+Our (gcc/binutils) toolchain doesn't do ARM targets, hence we will get >+"unable to interface with target machine" errors while building if we >+attempt to. Disable those targets. >+ >+Patch by Reza Jelveh from >+https://github.com/fishman/timebomb-gentoo-osx-overlay/blob/master/sys-devel/llvm/files/llvm-3.4-fix_darwin_build.patch >+ >+--- a/projects/compiler-rt/make/platform/clang_darwin_embedded.mk >++++ b/projects/compiler-rt/make/platform/clang_darwin_embedded.mk >+@@ -27,20 +27,20 @@ UniversalArchs := >+ # Soft-float version of the runtime. No floating-point instructions will be used >+ # and the ABI (out of necessity) passes floating values in normal registers: >+ # non-VFP variant of the AAPCS. >+-Configs += soft_static >+-UniversalArchs.soft_static := armv6m armv7m armv7em armv7 >++# Configs += soft_static >++# UniversalArchs.soft_static := armv6m armv7m armv7em armv7 >+ >+ # Hard-float version of the runtime. On ARM VFP instructions and registers are >+ # allowed, and floating point values get passed in them. VFP variant of the >+ # AAPCS. >+ Configs += hard_static >+-UniversalArchs.hard_static := armv7em armv7 i386 x86_64 >++UniversalArchs.hard_static := i386 x86_64 >+ >+-Configs += soft_pic >+-UniversalArchs.soft_pic := armv6m armv7m armv7em armv7 >++# Configs += soft_pic >++# UniversalArchs.soft_pic := armv6m armv7m armv7em armv7 >+ >+ Configs += hard_pic >+-UniversalArchs.hard_pic := armv7em armv7 i386 x86_64 >++UniversalArchs.hard_pic := i386 x86_64 >+ >+ CFLAGS := -Wall -Werror -Oz -fomit-frame-pointer -ffreestanding >+ >+--- a/tools/clang/runtime/compiler-rt/Makefile >++++ b/tools/clang/runtime/compiler-rt/Makefile >+@@ -85,7 +85,7 @@ RuntimeLibrary.darwin.Configs := \ >+ profile_osx.a profile_ios.a \ >+ ubsan_osx.a >+ RuntimeLibrary.darwin_embedded.Configs := \ >+- soft_static.a hard_static.a soft_pic.a hard_pic.a >++ hard_static.a hard_pic.a >+ >+ # Support building compiler-rt with relocatable SDKs. >+ # >diff --git a/sys-devel/llvm/files/clang-3.4-gentoo-install.patch b/sys-devel/llvm/files/clang-3.4-gentoo-install.patch >new file mode 100644 >index 0000000..0a1d9eb >--- /dev/null >+++ b/sys-devel/llvm/files/clang-3.4-gentoo-install.patch >@@ -0,0 +1,80 @@ >+From a12fc090b3b43fe25c7de50c09782611e3834aeb Mon Sep 17 00:00:00 2001 >+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> >+Date: Sat, 14 Jun 2014 19:35:33 +0200 >+Subject: [PATCH] clang gentoo fixes >+ >+--- >+ tools/clang/lib/Driver/Tools.cpp | 6 +++--- >+ tools/clang/tools/scan-build/scan-build | 4 ++-- >+ tools/clang/tools/scan-view/scan-view | 2 +- >+ 3 files changed, 6 insertions(+), 6 deletions(-) >+ >+diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp >+index b013eb5..dbbcacb 100644 >+--- a/tools/clang/lib/Driver/Tools.cpp >++++ b/tools/clang/lib/Driver/Tools.cpp >+@@ -222,7 +222,7 @@ static void addProfileRT(const ToolChain &TC, const ArgList &Args, >+ // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is >+ // not supported by old linkers. >+ std::string ProfileRT = >+- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a"; >++ "-l:libprofile_rt.a"; >+ >+ CmdArgs.push_back(Args.MakeArgString(ProfileRT)); >+ } >+@@ -5911,7 +5911,7 @@ void freebsd::Link::ConstructJob(Compilation &C, const JobAction &JA, >+ // forward. >+ if (D.IsUsingLTO(Args)) { >+ CmdArgs.push_back("-plugin"); >+- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; >++ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so"; >+ CmdArgs.push_back(Args.MakeArgString(Plugin)); >+ >+ // Try to pass driver level flags relevant to LTO code generation down to >+@@ -6534,7 +6534,7 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, >+ // forward. >+ if (D.IsUsingLTO(Args)) { >+ CmdArgs.push_back("-plugin"); >+- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; >++ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so"; >+ CmdArgs.push_back(Args.MakeArgString(Plugin)); >+ >+ // Try to pass driver level flags relevant to LTO code generation down to >+diff --git a/tools/clang/tools/scan-build/scan-build b/tools/clang/tools/scan-build/scan-build >+index 0f119f6..58f78d9 100755 >+--- a/tools/clang/tools/scan-build/scan-build >++++ b/tools/clang/tools/scan-build/scan-build >+@@ -419,7 +419,7 @@ sub CopyFiles { >+ >+ my $Dir = shift; >+ >+- my $JS = Cwd::realpath("$RealBin/sorttable.js"); >++ my $JS = Cwd::realpath("@EPREFIX@/usr/share/llvm/sorttable.js"); >+ >+ DieDiag("Cannot find 'sorttable.js'.\n") >+ if (! -r $JS); >+@@ -429,7 +429,7 @@ sub CopyFiles { >+ DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n") >+ if (! -r "$Dir/sorttable.js"); >+ >+- my $CSS = Cwd::realpath("$RealBin/scanview.css"); >++ my $CSS = Cwd::realpath("@EPREFIX@/usr/share/llvm/scanview.css"); >+ >+ DieDiag("Cannot find 'scanview.css'.\n") >+ if (! -r $CSS); >+diff --git a/tools/clang/tools/scan-view/scan-view b/tools/clang/tools/scan-view/scan-view >+index fb27da6..1f8ddb8 100755 >+--- a/tools/clang/tools/scan-view/scan-view >++++ b/tools/clang/tools/scan-view/scan-view >+@@ -54,7 +54,7 @@ def start_browser(port, options): >+ webbrowser.open(url) >+ >+ def run(port, options, root): >+- import ScanView >++ from clang import ScanView >+ try: >+ print 'Starting scan-view at: http://%s:%d'%(options.host, >+ port) >+-- >+2.0.0 >+ >diff --git a/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch b/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch >new file mode 100644 >index 0000000..a2ba7de >--- /dev/null >+++ b/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch >@@ -0,0 +1,96 @@ >+From b8846d389ff5e2b768a114f752cf39788accba26 Mon Sep 17 00:00:00 2001 >+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> >+Date: Mon, 19 Aug 2013 13:22:46 +0200 >+Subject: [PATCH] gentoo install fixes >+ >+--- >+ Makefile.config.in | 6 +++--- >+ Makefile.rules | 6 +++--- >+ tools/llvm-config/BuildVariables.inc.in | 2 ++ >+ tools/llvm-config/Makefile | 4 ++++ >+ tools/llvm-config/llvm-config.cpp | 5 +++-- >+ utils/FileCheck/Makefile | 2 +- >+ 7 files changed, 17 insertions(+), 10 deletions(-) >+ >+diff --git a/Makefile.config.in b/Makefile.config.in >+index dcca45f..e75ae2e 100644 >+--- a/Makefile.config.in >++++ b/Makefile.config.in >+@@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix) >+ endif >+ >+ PROJ_bindir := $(PROJ_prefix)/bin >+-PROJ_libdir := $(PROJ_prefix)/lib >++PROJ_libdir := $(PROJ_prefix)/$(GENTOO_LIBDIR) >+ PROJ_datadir := $(PROJ_prefix)/share >+-PROJ_docsdir := $(PROJ_prefix)/docs/llvm >+-PROJ_etcdir := $(PROJ_prefix)/etc/llvm >++PROJ_docsdir := $(PROJ_prefix)/share/doc/@PF@ >++PROJ_etcdir := @EPREFIX@/etc/llvm >+ PROJ_includedir := $(PROJ_prefix)/include >+ PROJ_infodir := $(PROJ_prefix)/info >+ PROJ_mandir := $(PROJ_prefix)/share/man >+diff --git a/Makefile.rules b/Makefile.rules >+index e53598b..217f754 100644 >+--- a/Makefile.rules >++++ b/Makefile.rules >+@@ -275,7 +275,7 @@ ifeq ($(ENABLE_OPTIMIZED),1) >+ BuildMode := Release >+ # Don't use -fomit-frame-pointer on Darwin or FreeBSD. >+ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin Darwin DragonFly FreeBSD GNU/kFreeBSD)) >+- OmitFramePointer := -fomit-frame-pointer >++ OmitFramePointer := >+ endif >+ >+ CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) >+diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in >+index fe87afb..fd9f2c6 100644 >+--- a/tools/llvm-config/BuildVariables.inc.in >++++ b/tools/llvm-config/BuildVariables.inc.in >+@@ -25,3 +25,4 @@ >+ #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" >+ #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" >+ #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" >++#define LLVM_LIBDIR "@LLVM_LIBDIR@" >+diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile >+index b20b6bf..fc56781 100644 >+--- a/tools/llvm-config/Makefile >++++ b/tools/llvm-config/Makefile >+@@ -55,6 +55,8 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir >+ >> temp.sed >+ $(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \ >+ >> temp.sed >++ $(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \ >++ >> temp.sed >+ $(Verb) $(SED) -f temp.sed < $< > $@ >+ $(Verb) $(RM) temp.sed >+ >+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp >+index 3924e2e..f439c60 100644 >+--- a/tools/llvm-config/llvm-config.cpp >++++ b/tools/llvm-config/llvm-config.cpp >+@@ -250,7 +250,7 @@ int main(int argc, char **argv) { >+ ActivePrefix = CurrentExecPrefix; >+ ActiveIncludeDir = ActivePrefix + "/include"; >+ ActiveBinDir = ActivePrefix + "/bin"; >+- ActiveLibDir = ActivePrefix + "/lib"; >++ ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR; >+ ActiveIncludeOption = "-I" + ActiveIncludeDir; >+ } >+ >+diff --git a/utils/FileCheck/Makefile b/utils/FileCheck/Makefile >+index 268b7bc..e7674f9 100644 >+--- a/utils/FileCheck/Makefile >++++ b/utils/FileCheck/Makefile >+@@ -15,7 +15,7 @@ USEDLIBS = LLVMSupport.a >+ TOOL_NO_EXPORTS = 1 >+ >+ # Don't install this utility >+-NO_INSTALL = 1 >++#NO_INSTALL = 1 >+ >+ include $(LEVEL)/Makefile.common >+ >+-- >+1.8.4.2 >+ >diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild >new file mode 100644 >index 0000000..395e30e >--- /dev/null >+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild >@@ -0,0 +1,247 @@ >+# Copyright 1999-2016 Gentoo Foundation >+# Distributed under the terms of the GNU General Public License v2 >+# $Id$ >+ >+EAPI=5 >+ >+PYTHON_COMPAT=( python2_7 ) >+inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \ >+ python-any-r1 toolchain-funcs >+ >+DESCRIPTION="Low Level Virtual Machine" >+HOMEPAGE="http://llvm.org/" >+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz >+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-3.4.src.tar.gz >+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz ) >+ https://dev.gentoo.org/~mgorny/dist/${PN}-3.4-manpages.tar.bz2" >+ >+LICENSE="UoI-NCSA" >+SLOT="0/3.4" >+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos" >+IUSE="clang +libffi kernel_Darwin" >+ >+COMMON_DEPEND=" >+ sys-libs/zlib:0= >+ libffi? ( >=virtual/libffi-3.0.13-r1:0= )" >+DEPEND="${COMMON_DEPEND} >+ dev-lang/perl >+ >=sys-devel/make-3.81 >+ >=sys-devel/flex-2.5.4 >+ >=sys-devel/bison-1.875d >+ || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3 >+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) >+ ) >+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) >+ libffi? ( virtual/pkgconfig ) >+ ${PYTHON_DEPS}" >+RDEPEND="${COMMON_DEPEND} >+ clang? ( !<=sys-devel/clang-${PV}-r99 >+ !>=sys-devel/clang-9999 )" >+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" >+ >+S=${WORKDIR}/${P}.src >+ >+pkg_pretend() { >+ # in megs >+ # !clang !debug !multitarget -O2 400 >+ # !clang !debug multitarget -O2 550 >+ # clang !debug !multitarget -O2 950 >+ # clang !debug multitarget -O2 1200 >+ # !clang debug multitarget -O2 5G >+ # clang !debug multitarget -O0 -g 12G >+ # clang debug multitarget -O2 16G >+ # clang debug multitarget -O0 -g 14G >+ >+ local build_size=550 >+ use clang && build_size=1200 >+ >+ if is-flagq '-g?(gdb)?([1-9])'; then >+ ewarn "The C++ compiler -g option is known to increase the size of the package" >+ ewarn "considerably. If you run out of space, please consider removing it." >+ ewarn >+ >+ (( build_size *= 10 )) >+ fi >+ >+ local CHECKREQS_DISK_BUILD=${build_size}M >+ check-reqs_pkg_pretend >+} >+ >+pkg_setup() { >+ pkg_pretend >+} >+ >+src_unpack() { >+ default >+ >+ rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ >+ || die "symlinks removal failed" >+ >+ if use clang; then >+ mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \ >+ || die "clang source directory move failed" >+ mv "${WORKDIR}"/compiler-rt-3.4 "${S}"/projects/compiler-rt \ >+ || die "compiler-rt source directory move failed" >+ fi >+} >+ >+src_prepare() { >+ epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch >+ epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch >+ >+ if use clang; then >+ # Automatically select active system GCC's libraries, bugs #406163 and #417913 >+ epatch "${FILESDIR}"/clang-3.1-gentoo-runtime-gcc-detection-v3.patch >+ >+ epatch "${FILESDIR}"/clang-3.4-gentoo-install.patch >+ epatch "${FILESDIR}"/clang-3.4-darwin_build_fix.patch >+ epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch >+ eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp >+ fi >+ >+ if use prefix && use clang; then >+ sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ >+ projects/compiler-rt/make/platform/clang_*.mk || die >+ fi >+ >+ local sub_files=( >+ Makefile.config.in >+ Makefile.rules >+ tools/llvm-config/llvm-config.cpp >+ ) >+ use clang && sub_files+=( >+ tools/clang/lib/Driver/Tools.cpp >+ tools/clang/tools/scan-build/scan-build >+ ) >+ >+ # unfortunately ./configure won't listen to --mandir and the-like, so take >+ # care of this. >+ # note: we're setting the main libdir intentionally. >+ # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. >+ einfo "Fixing install dirs" >+ sed -e "s,@libdir@,$(get_libdir),g" \ >+ -e "s,@PF@,${PF},g" \ >+ -e "s,@EPREFIX@,${EPREFIX},g" \ >+ -i "${sub_files[@]}" \ >+ || die "install paths sed failed" >+ >+ if use clang; then >+ # constantly fails for a long time, likely due to our patches >+ rm tools/clang/test/Driver/cross-linux.c || die >+ fi >+ >+ # User patches >+ epatch_user >+ >+ python_setup >+} >+ >+multilib_src_configure() { >+ # disable timestamps since they confuse ccache >+ local conf_flags=( >+ --disable-timestamps >+ --enable-keep-symbols >+ --enable-shared >+ --with-optimize-option= >+ --enableoptimized >+ --disable-assertions >+ --disable-expensive-checks >+ --disable-terminfo >+ $(use_enable libffi) >+ >+ --enable-bindings=none >+ --enable-targets=host >+ >+ ac_cv_prog_XML2CONFIG="" >+ ) >+ >+ if use clang; then >+ conf_flags+=( >+ --with-clang-resource-dir=../lib/clang/${PV} >+ ) >+ fi >+ >+ if use libffi; then >+ local CPPFLAGS=${CPPFLAGS} >+ append-cppflags "$(pkg-config --cflags libffi)" >+ fi >+ >+ # llvm prefers clang over gcc, so we may need to force that >+ tc-export CC CXX >+ >+ ECONF_SOURCE=${S} \ >+ econf "${conf_flags[@]}" >+} >+ >+src_compile() { >+ LLVM_MAKEARGS=( >+ VERBOSE=1 >+ REQUIRES_RTTI=1 >+ GENTOO_LIBDIR=$(get_libdir) >+ ) >+ >+ emake "${LLVM_MAKEARGS[@]}" >+ >+ pax-mark m Release/bin/llvm-rtdyld >+ pax-mark m Release/bin/lli >+ pax-mark m Release/bin/lli-child-target >+} >+ >+src_install() { >+ emake "${LLVM_MAKEARGS[@]}" DESTDIR="${D}" install >+ >+ if ! use clang; then >+ rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die >+ fi >+ doman "${WORKDIR}"/${PN}-3.4-manpages/*.1 >+ >+ # Fix install_names on Darwin. The build system is too complicated >+ # to just fix this, so we correct it post-install >+ local lib= f= odylib= ndylib= libpv=${PV} >+ if [[ ${CHOST} == *-darwin* ]] ; then >+ eval $(grep PACKAGE_VERSION= configure) >+ [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} >+ libpvminor=${libpv%.[0-9]*} >+ for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do >+ # libEnhancedDisassembly is Darwin10 only, so non-fatal >+ # + omit clang libs if not enabled >+ [[ -f ${ED}/usr/lib/${lib} ]] || continue >+ >+ ebegin "fixing install_name of $lib" >+ install_name_tool \ >+ -id "${EPREFIX}"/usr/lib/${lib} \ >+ "${ED}"/usr/lib/${lib} >+ eend $? >+ done >+ for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do >+ # omit clang libs if not enabled >+ [[ -f "${f}" ]] || continue >+ >+ scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ >+ while read odylib ; do >+ ndylib= >+ case ${odylib} in >+ */libclang.dylib) >+ ndylib="${EPREFIX}"/usr/lib/libclang.dylib >+ ;; >+ */libLLVM-${libpv}.dylib) >+ ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib >+ ;; >+ */libLLVM-${libpvminor}.dylib) >+ ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib >+ ;; >+ */libLTO.dylib) >+ ndylib="${EPREFIX}"/usr/lib/libLTO.dylib >+ ;; >+ esac >+ if [[ -n ${ndylib} ]] ; then >+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}" >+ install_name_tool \ >+ -change "${odylib}" "${ndylib}" \ >+ "${f}" >+ eend $? >+ fi >+ done >+ done >+ fi >+} >diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml >index 7371a1f..3a671d6 100644 >--- a/sys-devel/llvm/metadata.xml >+++ b/sys-devel/llvm/metadata.xml >@@ -20,11 +20,13 @@ > 4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription> > <use> > <flag name="clang">Build the clang C/C++ compiler</flag> >+ <flag name="cmake">Enable cmake support (experimental)</flag> > <flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag> > <flag name="gold">Build the gold linker plugin</flag> > <flag name="lldb">Build the lldb debugger</flag> > <flag name="multitarget">Build all host targets (default: host only)</flag> > <flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag> > <flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag> >+ <flag name="udis86">Enable support for <pkg>dev-libs/udis86</pkg> disassembler library</flag> > </use> > </pkgmetadata> >-- >2.9.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 588132
: 439922