summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin15927 -> 15930 bytes
-rw-r--r--sys-libs/binutils-libs/Manifest2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild2
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest11
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild178
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild)34
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild3
-rw-r--r--sys-libs/compiler-rt/Manifest9
-rw-r--r--sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild112
-rw-r--r--sys-libs/compiler-rt/compiler-rt-6.0.1.ebuild2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild)14
-rw-r--r--sys-libs/compiler-rt/compiler-rt-9999.ebuild2
-rw-r--r--sys-libs/gdbm/Manifest4
-rw-r--r--sys-libs/gdbm/gdbm-1.17.ebuild (renamed from sys-libs/gdbm/gdbm-1.15.ebuild)0
-rw-r--r--sys-libs/glibc/Manifest9
-rw-r--r--sys-libs/glibc/glibc-2.28.ebuild1429
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild11
-rw-r--r--sys-libs/glibc/metadata.xml1
-rw-r--r--sys-libs/libblockdev/Manifest6
-rw-r--r--sys-libs/libblockdev/libblockdev-2.14-r1.ebuild4
-rw-r--r--sys-libs/libblockdev/libblockdev-2.17.ebuild17
-rw-r--r--sys-libs/libblockdev/libblockdev-2.18-r1.ebuild17
-rw-r--r--sys-libs/libcxx/Manifest7
-rw-r--r--sys-libs/libcxx/libcxx-5.0.1.ebuild207
-rw-r--r--sys-libs/libcxx/libcxx-6.0.1.ebuild2
-rw-r--r--sys-libs/libcxx/libcxx-7.0.9999.ebuild (renamed from sys-libs/libcxx/libcxx-6.0.0.ebuild)22
-rw-r--r--sys-libs/libcxxabi/Manifest9
-rw-r--r--sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild123
-rw-r--r--sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild)25
-rw-r--r--sys-libs/libomp/Manifest7
-rw-r--r--sys-libs/libomp/libomp-5.0.1.ebuild90
-rw-r--r--sys-libs/libomp/libomp-6.0.1.ebuild2
-rw-r--r--sys-libs/libomp/libomp-7.0.9999.ebuild (renamed from sys-libs/libomp/libomp-6.0.0.ebuild)11
-rw-r--r--sys-libs/libunwind/Manifest2
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2.1-arm-__asm__.patch47
-rw-r--r--sys-libs/libunwind/libunwind-1.2.1-r2.ebuild105
-rw-r--r--sys-libs/llvm-libunwind/Manifest9
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-5.0.1.ebuild46
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild)33
-rw-r--r--sys-libs/musl/Manifest6
-rw-r--r--sys-libs/musl/musl-1.1.18.ebuild118
-rw-r--r--sys-libs/musl/musl-1.1.19.ebuild2
-rw-r--r--sys-libs/musl/musl-9999.ebuild2
46 files changed, 1740 insertions, 1008 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index cfa422dfc493..75919df23223 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
index c3ab48b35913..d93008946c91 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -17,7 +17,7 @@ EBUILD binutils-libs-2.25.1-r2.ebuild 2725 BLAKE2B a4fe58fe79272a65c7703b3be801b
EBUILD binutils-libs-2.27.ebuild 2847 BLAKE2B 3d02dfccc46d3398646d338e01f096de36a74fdf6d224a8ae221120fe8105cc674ed09840b01d84994ff11c4f73c88b39737b3ff484d32dbfb1183f20eb3a1a4 SHA512 629aeca9ec392f957fbbe7f2a3d5564016d096b7cbe63ef9337351e599722bced4c3eb190d8dd0f091eb3ff816e839b03f7a7662f22f9e22b36ef3e8e5bb93ae
EBUILD binutils-libs-2.28.1.ebuild 2872 BLAKE2B f0ef199dfc0025b06dbdab74f76f0a1775ca47030bd26cf2cf4ce4f6b7f3c5325d1629b3713aa40a1f85b9b0151555cf0a978c0390bef48846b3b1eb0c89b05d SHA512 b00d0080957824bf447035172b4941fecfd358f2cbbdeb82a578e11e0a8b4c712091344b904d8f74840164032d210834b30ed8a90ac3dddb47dc9632d66f8a9b
EBUILD binutils-libs-2.29.1-r1.ebuild 2921 BLAKE2B f38060716462c9c51bc84b98348b82952b6bb47cd33136d7eaaca822ba6e40504fad2b0c778a4a02989ca9e20f812d928d718295376141dd02e519e541a605a3 SHA512 8fc849244e3cdb9b1a35e9bed1f2e57e8bba210e6ab9aa7408904b5a04cc532dfff52a9840e866df5985f6b1d05c96ce7549c7514389a8dae9a4d5d798d48c8e
-EBUILD binutils-libs-2.30-r2.ebuild 3201 BLAKE2B e9bc9be69ecf6a7b94c696a32d2fb5403ac72c0b9172c4f6d75c032bf20b81729a8a4376f62a52e8e54afa83aefdc67967b21682932ac46b1d8b4b7533e7ae80 SHA512 17aa9fcff49486db991638868364ebd0f4fc44e96a06d1ec55472d4c5e5b36c6992ca1732cd40dc3594d11ac9d37beedc0c189e0a1a582a7cd77f2fd00202a96
+EBUILD binutils-libs-2.30-r2.ebuild 3200 BLAKE2B 124abad02ef385d313034760d84c58a93ac7eb0eafab6692867a07474b5d95dd21caf1bd01c4b2c58958b8e6f992a15ec7b05fd65ccf5f24da15f6a4e271e4f6 SHA512 0ff4afe328164c8280f4a8deb18028b8a0022100ff8eb627770da8da4f8772e6f6469deb5ef9cae95cb89a513eb4ac69a81a6dac0a185b1bad70af5a77280479
EBUILD binutils-libs-2.30-r3.ebuild 3211 BLAKE2B 7715a2ba111df9c62f3b00998ecb7d2b6d9aa42273195488fd121ea3f0d52554a7dd1a98e138d5b9870becfe9038ba57da8254c84720f5768af60822113386b8 SHA512 f08ecc65cb4ec222ae651ecb9fce48ebe2503ffb18204fb3183f18e802485721937e41f9140b54d56068bfa69468261d32aacaeffe595feb8788bcc837795c39
EBUILD binutils-libs-2.31.1.ebuild 2979 BLAKE2B 397044b7c91ed0be4b1f94bb8629397506894bca6bd7e199edfe8a4e4d73933fc39c05c630590cf0ede7584c6cd33c737ba1ef7e61d46e05c82166e37e666280 SHA512 1b37a875d8f0237a0d4065282618104b8a9dddccdd8f6f6997934147b85ed452f473480e5c91c7b87bf96d10c15991d5877c7e3b613020a56c943e25f27aca4f
EBUILD binutils-libs-2.31.ebuild 2979 BLAKE2B 397044b7c91ed0be4b1f94bb8629397506894bca6bd7e199edfe8a4e4d73933fc39c05c630590cf0ede7584c6cd33c737ba1ef7e61d46e05c82166e37e666280 SHA512 1b37a875d8f0237a0d4065282618104b8a9dddccdd8f6f6997934147b85ed452f473480e5c91c7b87bf96d10c15991d5877c7e3b613020a56c943e25f27aca4f
diff --git a/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild
index ab75fffc4274..ef3ecd910e96 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
LICENSE="|| ( GPL-3 LGPL-3 )"
# The shared lib SONAMEs use the ${PV} in them.
SLOT="0/${PV}"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ~ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="64-bit-bfd multitarget nls static-libs"
COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 33c0e1c40438..bba06e906a1f 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -1,20 +1,15 @@
DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649
-DIST compiler-rt-5.0.1.src.tar.xz 1498220 BLAKE2B 61503df8a4075c2fe1e42d480753b861321b5de127e340f48d648fc38d81c7967cead17e136beaa5235cc92540f158915fccec77cf39aa7c336d106c9d265222 SHA512 61e23775db78bdeed3003a509b45ae609287db31302fed186f3210d481ecf062d1828571e63482215ab00ff732df8f3fa6c77334dfb677e4b76eb555d476b8c4
DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666
-DIST compiler-rt-6.0.0.src.tar.xz 1633096 BLAKE2B d5df9b16ad474f687507013fb6eda8c7c3bbe479c85aab6ce428b93bbef2467538c0ba59c54dd9266b978da53c8c312a59e3b7abac843702048900f5cdbc1011 SHA512 717bed116ef43ebb2e18daf6fb737472edf57564947f53fe6368d3bbb080f63e986c0d1b94dbd087be998196ad7be54f4361854f8eb5214600b82449ba02c9c1
DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963
DIST compiler-rt-sanitizers-4.0.1-patchset.tar.xz 2384 BLAKE2B 6f9eee711c83570767f0bb634d0f91c18ee7f2af93a478938b8d5b6ce6f2c2fbaadb7bd5c7ee94a14dc1834359a046187db6bc7005b7c2efa539325dc0701ad9 SHA512 72d7357b4c27bbf8fa8b34803ddea905a9f1054e8fc7bf99a4ead9dc00408989ea2709f04be9cf45a27eeb4b9386c89feeb25b53a84f3cac9739196b89813887
DIST compiler-rt-sanitizers-6.0.1-patchset.tar.xz 8820 BLAKE2B d53ca357e060d058c7f20c51e74684f4c032fdf3ccec4c9f227dc7a5757206f331b9eda25a72c5c66faf4c44b2cc63eb439bd21bdd55d37a93918ab428fd7cd4 SHA512 782a34c56134bd061da30c1f598ddb9e90cb34a4e4ef058fa9634f6da372fd8693ff5e6cf98b59700942273240f83052b89ee2736b22f4e19bc8b519fbec8cad
DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
-DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
-DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4778 BLAKE2B 5689080c9783d288206a9a7f4d8cee487ef73a951d95baf7083719c89239b299a7cb71361e060876a7564701c353a857e9a640ff5e8f5054d76c6ede66523b5e SHA512 937fab2e9791bd122005469704e5cbbc8907d0f52cb277d779bd93451178e49c8f369be0dec5bff22338a7ed3920f0e125337e9ede02c957c123f968b69ec442
-EBUILD compiler-rt-sanitizers-5.0.1.ebuild 5088 BLAKE2B 987b66738deed02d6b80f277e3c35db84290fe6c5dfc69c8b7cfaed7cdd5d9741a07c4d049825cd4c18ce1c1494042599ba84d1198064105d2d21e31bff3922d SHA512 6f04614e69ce636c69a80709aacdb0977b2dd670d6895fabef573ea1446bbf1764b9e437d811561a9e4a39f365f80c5a3417528f2f3dba19e55a3b5768de1d44
EBUILD compiler-rt-sanitizers-5.0.2.ebuild 5095 BLAKE2B 0f3348e8800d24d01231b2460025eb83a3211c44fd2987a0b0d4361372fe4af5695a131886d55029459121e8952e394c526120f12212d20a8a5c995847a04cb0 SHA512 cf13df0bad1be887c621c16f12639e385fff395985007b17a1bf14b00f0dd9dfd609e83287fc890f105d2bd586b3457b1efe3b6f687096a205b1a96f3fd1139e
-EBUILD compiler-rt-sanitizers-6.0.0.ebuild 5017 BLAKE2B e1f06c36679aefd1420470645ffde6ae9afe98165d2fe81eedbb9bcd2728c50d2a6ade3e48f4a8e794dc6abc960fdfd2bd36eff61431e7e56b04b8884f6b1e62 SHA512 aae8a4e0420192d5287caad76c3dd9acfd317d49b2b5300fb40e179a0c988df62a7ed12d341b3a6f7663e9d5ec5098a3cb6cbb5bf1826445ff0c3c579c58fae1
-EBUILD compiler-rt-sanitizers-6.0.1.ebuild 5250 BLAKE2B 168abdc616d57d3728c8b763fdfdd6a7720fe3577e7d8d37aeb61259c8631bcc5545f47bbd3c14094f381eeaebe9bbade30b3fd729c391ce03ef44f3b0deca8c SHA512 12c7d63e8432c1e3b5c2512963886adf0e02f532613cac3f8690ff3477b546fb19176a260e88228f17ac436bd6aeb2d43131b6aca2abfbd9312fb1c3cb6e116e
+EBUILD compiler-rt-sanitizers-6.0.1.ebuild 5248 BLAKE2B 02cd036059dc9a038a440dfc356f4b5a9d7bf2ec68790d95d391f05ec62404ecbcf422082d005a9b6a23f16e2500bdcb3bd606f2f5bc53ee04cfe3724caa0771 SHA512 22527b482c1e8fe80273de88e4bcef4fbdba7000149ab31e63fab6bd8b75587eed5ac5b01aaf1c257decfb9af96b3256f19dc462ca84ee5cbf40655328851337
EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4960 BLAKE2B 583c1e1ea7a2b59a41f57e0b70be4d443f3d91a22a437ef34258428abb39f82e5161eb57b491599c9acb5b138a568e2b4c212f0a2d3a61bba4134694cb3b58e3 SHA512 2428b3aaecc8fae1c512216c1cbfb23f59d03f06e2e33e7053029fb2355b7f132aa06a34bd991f8e21e401f1d44cfa3f4e5aa0548c93b15469f8b19d20c18283
-EBUILD compiler-rt-sanitizers-9999.ebuild 4935 BLAKE2B 92426b7c2e68887ad859fdf773f0ac601cb7e15df506ab590e106f26ea729721d0425fab4326d14936ef8a21bfd0d8889fa5b6706e1f44f60ce0107f565c826a SHA512 942b386808a78e1f5bb701daff9e590a0b16cd477fa014456f0f6b41cc45a682e71d2f2c15e05cc282c6fec011a260e22ba642cd8ffc9f86ebed1332432c5f8e
+EBUILD compiler-rt-sanitizers-7.0.9999.ebuild 4872 BLAKE2B 22d029bcbc59f49a261bce0cec4604c6c33c4e2da9bb6ca219f7b0d929f676788e098bce5af5b6960ce7af0fa6289b23766722f513e2ddd63974d6c22bd935a8 SHA512 869c47cfd1594daf4ec2afbb51344dbb9122e26f28f91cfbaa5e703d18463fa82295bd27964b42ecee755e19fa4a63b4028954b185dd9e0d3bf15f6644d1d321
+EBUILD compiler-rt-sanitizers-9999.ebuild 4847 BLAKE2B c7e291629e46ec963053524f9a1b69c8c8e007825c5fd56d07ccfd913ba68edf4d5e233fd6167626f8ac136982d357e517f228710327660e419bf19eb7b80136 SHA512 b2352d00b4947a51635e73ce1f54efe898d043d468b7c7550db707c94ae8e9e6aee4f37f25f9a12530be7d9334846c75be40d6298bbfe94638a0074cfdd97c51
MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild
deleted file mode 100644
index 44f086c5f99e..000000000000
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils flag-o-matic llvm python-any-r1
-
-MY_P=compiler-rt-${PV/_/}.src
-LLVM_P=llvm-${PV/_/}.src
-
-DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test elibc_glibc"
-
-CLANG_SLOT=${SLOT%%.*}
-# llvm-4 needed for --cmakedir
-DEPEND="
- >=sys-devel/llvm-4
- clang? ( sys-devel/clang )
- test? (
- !<sys-apps/sandbox-2.13
- $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]")
- =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
- sys-libs/compiler-rt:${SLOT} )
- ${PYTHON_DEPS}"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-check_space() {
- if use test; then
- local CHECKREQS_DISK_BUILD=11G
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_unpack() {
- einfo "Unpacking ${MY_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
-
- if use test; then
- einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
- "${LLVM_P}"/utils/{lit,unittest} || die
- mv "${LLVM_P}" llvm || die
- fi
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use test; then
- # remove tests that are broken by new glibc
- # (disabled in 6.0.0+, r313069)
- if use elibc_glibc && has_version '>=sys-libs/glibc-2.24'; then
- rm test/tsan/Linux/user_malloc.cc || die
- fi
- # https://bugs.llvm.org/show_bug.cgi?id=36065
- if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
- rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
- rm test/msan/dtls_test.c || die
- rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
- fi
- fi
-}
-
-src_configure() {
- # pre-set since we need to pass it to cmake
- BUILD_DIR=${WORKDIR}/${P}_build
-
- if use clang; then
- local -x CC=${CHOST}-clang
- local -x CXX=${CHOST}-clang++
- strip-unsupported-flags
- fi
-
- local mycmakeargs=(
- -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
- # use a build dir structure consistent with install
- # this makes it possible to easily deploy test-friendly clang
- -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}"
-
- -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
- # built-ins installed by sys-libs/compiler-rt
- -DCOMPILER_RT_BUILD_BUILTINS=OFF
- -DCOMPILER_RT_BUILD_SANITIZERS=ON
- -DCOMPILER_RT_BUILD_XRAY=ON
- )
- if use test; then
- if has_version '>=sys-devel/llvm-6'; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- )
- else
- mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-
- # they are created during src_test()
- -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang"
- -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++"
- )
-
- # same flags are passed for build & tests, so we need to strip
- # them down to a subset supported by clang
- CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \
- CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \
- strip-unsupported-flags
- fi
-
- if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
- mycmakeargs+=(
- # disable use of SDK for the system itself
- -DDARWIN_macosx_CACHED_SYSROOT=/
- )
- fi
-
- cmake-utils_src_configure
-
- if use test; then
- local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* )
- [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
- [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
-
- # copy clang over since resource_dir is located relatively to binary
- # therefore, we can put our new libraries in it
- mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die
- cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \
- "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die
- cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \
- "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die
- cp "${sys_dir}"/*builtins*.a \
- "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die
- # we also need LLVMgold.so for gold-based tests
- if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then
- ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \
- "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die
- fi
- fi
-}
-
-src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- # disable sandbox to have it stop clobbering LD_PRELOAD
- local -x SANDBOX_ON=0
- # wipe LD_PRELOAD to make ASAN happy
- local -x LD_PRELOAD=
-
- cmake-utils_src_make check-all
-}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild
index 2f15e20b77f5..ad5d4e784972 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="${PV%_*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="+clang test elibc_glibc"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild
index 0fd9abb2e99d..3028242fe9f6 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild
@@ -8,20 +8,20 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit check-reqs cmake-utils flag-o-matic llvm \
+inherit check-reqs cmake-utils flag-o-matic git-r3 llvm \
multiprocessing python-any-r1
-MY_P=compiler-rt-${PV/_/}.src
-LLVM_P=llvm-${PV/_/}.src
-
DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
+ https://github.com/llvm-mirror/compiler-rt.git"
+EGIT_BRANCH="release_70"
LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+# Note: this needs to be updated to match version of clang-9999
+SLOT="7.0.0"
+KEYWORDS=""
IUSE="+clang test elibc_glibc"
RESTRICT="!test? ( test ) !clang? ( test )"
@@ -37,8 +37,6 @@ DEPEND="
sys-libs/compiler-rt:${SLOT} )
${PYTHON_DEPS}"
-S=${WORKDIR}/${MY_P}
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
@@ -60,15 +58,18 @@ pkg_setup() {
}
src_unpack() {
- einfo "Unpacking ${MY_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
+ if use test; then
+ # needed for patched gtest
+ git-r3_fetch "https://git.llvm.org/git/llvm.git
+ https://github.com/llvm-mirror/llvm.git"
+ fi
+ git-r3_fetch
if use test; then
- einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
- "${LLVM_P}"/utils/{lit,unittest} || die
- mv "${LLVM_P}" llvm || die
+ git-r3_checkout https://llvm.org/git/llvm.git \
+ "${WORKDIR}"/llvm '' utils/unittest
fi
+ git-r3_checkout
}
src_prepare() {
@@ -80,7 +81,6 @@ src_prepare() {
if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
rm test/msan/dtls_test.c || die
- rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
fi
fi
}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
index 8b127c7f41aa..6d2a4a7a40b7 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
@@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
LICENSE="|| ( UoI-NCSA MIT )"
# Note: this needs to be updated to match version of clang-9999
-SLOT="7.0.0"
+SLOT="8.0.0"
KEYWORDS=""
IUSE="+clang test elibc_glibc"
RESTRICT="!test? ( test ) !clang? ( test )"
@@ -80,7 +80,6 @@ src_prepare() {
if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
rm test/msan/dtls_test.c || die
- rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
fi
fi
}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 5ee099514a4c..12502a1dd5a6 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,13 +1,10 @@
DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649
-DIST compiler-rt-5.0.1.src.tar.xz 1498220 BLAKE2B 61503df8a4075c2fe1e42d480753b861321b5de127e340f48d648fc38d81c7967cead17e136beaa5235cc92540f158915fccec77cf39aa7c336d106c9d265222 SHA512 61e23775db78bdeed3003a509b45ae609287db31302fed186f3210d481ecf062d1828571e63482215ab00ff732df8f3fa6c77334dfb677e4b76eb555d476b8c4
DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666
-DIST compiler-rt-6.0.0.src.tar.xz 1633096 BLAKE2B d5df9b16ad474f687507013fb6eda8c7c3bbe479c85aab6ce428b93bbef2467538c0ba59c54dd9266b978da53c8c312a59e3b7abac843702048900f5cdbc1011 SHA512 717bed116ef43ebb2e18daf6fb737472edf57564947f53fe6368d3bbb080f63e986c0d1b94dbd087be998196ad7be54f4361854f8eb5214600b82449ba02c9c1
DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963
EBUILD compiler-rt-4.0.1.ebuild 4144 BLAKE2B a89fa2681b1254b285aeab803103860efddb6990b33bbe725fe52f7ebba5652f4ba9ecebbced1f63adc84dac4dc7dd26b10a6e7863169bc08f8e95cc2ba868fa SHA512 f14a4a61cc42a37d62e6662aeb95c8d2c3534b0ffbee57cf788ce1df62ab1387af76e90a2d79708c50b8b70d073b00298b0d31c71e8d69e11f2e9204dcbaca4e
-EBUILD compiler-rt-5.0.1.ebuild 2833 BLAKE2B aa0ee1db389ffdf8465ea15a00276c15cd5ef16eb31918f69b55b7a8bbaafc11c0da95c34e9c40597b46430f8288b6c6c96c022d7a5b53b5b7110a908ca4d847 SHA512 53b0dedceacd860a35f3fa00186816473cb5f2c87b390909d3dfb9699c6990a7df482252bdd3fcdfb4d7e3891b02000a90c22a09515775187f854adc956d8d8f
EBUILD compiler-rt-5.0.2.ebuild 2840 BLAKE2B 4c6e6ca121bad66f69f272a1ddc8a5153196c8f2608da08b5326e264842fe60ae8a4cb1aa98e2907b141068e5af997fe81ae13708dfd148f8676bebf18b894d2 SHA512 3fcea6a7045c1dc666ad6cd9c575b1ba931719bf31457f7493bb7b9c7950bca8e1c5eb8ce4342c1098250d0c126e85ba86b56724b17a3f6bb43c2846fb765a1f
-EBUILD compiler-rt-6.0.0.ebuild 2914 BLAKE2B 5610113448d3135f3bdd72931c370e87998339f2e229df526b4f98278183ebbf6859a2af869289cfd50bb656d019eddf8004d9e289221765a726553a7885d011 SHA512 68ef30aec92877161e80cb9552c7bb3dca97d8f859d9429ca984a7fe48de6f720c21b9f118e7098d0b8becd63f289f2ff481bbf5a3930423e7a394e9a25d347c
-EBUILD compiler-rt-6.0.1.ebuild 2914 BLAKE2B 5610113448d3135f3bdd72931c370e87998339f2e229df526b4f98278183ebbf6859a2af869289cfd50bb656d019eddf8004d9e289221765a726553a7885d011 SHA512 68ef30aec92877161e80cb9552c7bb3dca97d8f859d9429ca984a7fe48de6f720c21b9f118e7098d0b8becd63f289f2ff481bbf5a3930423e7a394e9a25d347c
+EBUILD compiler-rt-6.0.1.ebuild 2911 BLAKE2B 9ee423b460c62366af5525ab3b32cd2980aff78331a65b5658a50e0f808c9cb694d2e5d85bd753d291e1b5f96ab9e6cbc6a6d9f0cddcd9f7f8521ed5280f8291 SHA512 ecce0303d9db8ec0c74b3d0b248547402c32b7bceef52a5bb999f076c8fa82e209d5d113e6c14a1511e99dbf04bfd4d79077da1c010d9069a1bd284a168b26e0
EBUILD compiler-rt-6.0.9999.ebuild 2949 BLAKE2B c6b212a50f84609b173fbc652de5bccca996951568b9dc16bf122696bb1fc6ea1fa3f414b9934a1181c2462d0305694e8356dbbfb5c0155575b9a490d976a164 SHA512 f82c6ca479507995a7a15551568517067eaee38d06aee85d05736fe28ce1dbd4cfc105d32fe595d147b5241ae7528bfd82d0506cf86ad525a05ac67dfb031334
-EBUILD compiler-rt-9999.ebuild 2924 BLAKE2B f5f2739f3c8d70d0464334862f21c50ab1266cbd5b96c0f9a10cc0d1014e87b6246f8d3f3fe139d6dbca9e22c87f72ec6c93f56656fde6977d7a7704c0f81acb SHA512 c14a2dd7c4a5ed8605403fd404de33d45b51432f54d7f9a3a54a3826cff36840ff3d64447c2b0617b24047f7d6c56c4263874a1606e64555cf21d32ad01e0b12
+EBUILD compiler-rt-7.0.9999.ebuild 2949 BLAKE2B a2e01edfac95532ba7dea22ef3a2d8b30de546129fc9c6e69a4618bdfcc0143cdc81942e707711c67b5d00cd6ab10c1b373594738f43554f6870536fd6f987b6 SHA512 f14213d2dd0d73ce1c75904da558d6e50ca76e2ec1cb6d2e6b4df698b56fdd52312083d481ec24d22cc48e997511144d4009841d7461dc1efaf1813858c533d7
+EBUILD compiler-rt-9999.ebuild 2924 BLAKE2B cf4a64f89ad620025fe423575b3117c69c64524d52ecd5d5a292f12c5c53eec23c631f7a7104ae101b6f5b38619d9b4480f92f922e5d36e399dd000617c36544 SHA512 5ef28c369a110e4423e346e128deb0b11805bd7086e5538b603a7644c62bc43e36a500c25ae9ee196622f24197b9bd94f405d487b62eb573208fba36d55d92ac
MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc
diff --git a/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild b/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild
deleted file mode 100644
index c6f609d1a897..000000000000
--- a/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils flag-o-matic llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang (built-in part)"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test"
-
-CLANG_SLOT=${SLOT%%.*}
-# llvm-4 needed for --cmakedir
-DEPEND="
- >=sys-devel/llvm-4
- clang? ( sys-devel/clang )
- test? (
- $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]")
- =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
- ${PYTHON_DEPS}"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-pkg_pretend() {
- if ! use clang && ! tc-is-clang; then
- ewarn "Building using a compiler other than clang may result in broken atomics"
- ewarn "library. Enable USE=clang unless you have a very good reason not to."
- fi
-}
-
-pkg_setup() {
- llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-test_compiler() {
- $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
- <<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
- # pre-set since we need to pass it to cmake
- BUILD_DIR=${WORKDIR}/${P}_build
-
- local nolib_flags=( -nodefaultlibs -lc )
- if use clang; then
- local -x CC=${CHOST}-clang
- local -x CXX=${CHOST}-clang++
- # ensure we can use clang before installing compiler-rt
- local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
- strip-unsupported-flags
- elif ! test_compiler; then
- if test_compiler "${nolib_flags[@]}"; then
- local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
- ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
- fi
- fi
-
- local mycmakeargs=(
- -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
-
- -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
- -DCOMPILER_RT_BUILD_SANITIZERS=OFF
- -DCOMPILER_RT_BUILD_XRAY=OFF
- )
-
- if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
- mycmakeargs+=(
- # disable use of SDK for the system itself
- -DDARWIN_macosx_CACHED_SYSROOT=/
- )
- fi
-
- if use test; then
- if has_version '>=sys-devel/llvm-6'; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- )
- else
- mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
- )
- fi
-
- mycmakeargs+=(
- -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang"
- -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++"
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake-utils_src_make check-builtins
-}
diff --git a/sys-libs/compiler-rt/compiler-rt-6.0.1.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.1.ebuild
index 31d4c6152204..1f0466008d9f 100644
--- a/sys-libs/compiler-rt/compiler-rt-6.0.1.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-6.0.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="${PV%_*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="+clang test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild b/sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild
index 31d4c6152204..11f4acf5427d 100644
--- a/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild
@@ -8,16 +8,20 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit cmake-utils flag-o-matic llvm multiprocessing \
+inherit cmake-utils flag-o-matic git-r3 llvm multiprocessing \
python-any-r1 toolchain-funcs
DESCRIPTION="Compiler runtime library for clang (built-in part)"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
+ https://github.com/llvm-mirror/compiler-rt.git"
+EGIT_BRANCH="release_70"
LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+# Note: this needs to be updated to match version of clang-9999
+SLOT="7.0.0"
+KEYWORDS=""
IUSE="+clang test"
RESTRICT="!test? ( test ) !clang? ( test )"
@@ -31,8 +35,6 @@ DEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
${PYTHON_DEPS}"
-S=${WORKDIR}/${P/_/}.src
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild
index 7a956b544dfa..7e254d18763c 100644
--- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild
@@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
LICENSE="|| ( UoI-NCSA MIT )"
# Note: this needs to be updated to match version of clang-9999
-SLOT="7.0.0"
+SLOT="8.0.0"
KEYWORDS=""
IUSE="+clang test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest
index 019f264ead94..a0b1cfa71a92 100644
--- a/sys-libs/gdbm/Manifest
+++ b/sys-libs/gdbm/Manifest
@@ -2,11 +2,11 @@ AUX gdbm-1.13-fix-a-typo-in-gdbm.h.patch 657 BLAKE2B af19808507b00d941a51756bbc2
AUX gdbm-1.13-fix-build-with-enable-gdbm-export.patch 1568 BLAKE2B 65a841191f362ca94d0b7d1b9df042b5f6b75aaf560aceaa702c8a11e9fa9430deb106aac6a50b211b07c66f9457732ca164352a62fc244fd4e3f2862c69265c SHA512 8bd5308a95abb7df3dd8edc63eba5c8830a6f4aa47066ac644cf5ec19767bcd97618834c598fbc1603093a8e1516b4ef325afe2a68b001d5353d2e4247d562a2
DIST gdbm-1.13.tar.gz 891987 BLAKE2B f73cb89aeed140a584c5a8bce9c2324cc39a7647ee288364af66fbe1c1cd8662e53f7cb82a208e795a6d27adc048018153671d964ecad518407eb888283e17c5 SHA512 fdb777f5b415b0578ea46b4a6fc70151a04a3568e2f2c8c0219ccad8c0d34abb773d80d5d7a06462ad1a3d6c1f3b5b7ab25f9de4f43ccf05c58db05f9a2906ad
DIST gdbm-1.14.1.tar.gz 894412 BLAKE2B e519af45d670ec4285ece01edc17770dcb0d77f12edcf2d3d4cb9580c6d2bb6d6dddb57d4f33490e11dc9df7cd08fd44ab7737b62271c5cfdc9485b90d0d4888 SHA512 a15d7acb0ebf459f4f7d262e5a05393a9a7c8e9ae906d12ccb3b38715de15a41c9254e7814555e2f9af306ef63b2dc68b5f9f6c7b75dd0db77e07a58831ff603
-DIST gdbm-1.15.tar.gz 928945 BLAKE2B 78214262fb50f7fbfe7141c60cc1c3a4e31bfa89067264979ef11e28c4d68daec4dac54feadb6ed21919fd1af68b1ca4fe6ab7725d4ad3057af46246274171fa SHA512 04f1f13b0d62e7506b05329fd52a0df0af8320f00297e88efef49a6be76838695960d49198a6a0c268e588397f6442ff49f094de7e31241fa63925c40ae70d21
DIST gdbm-1.16.tar.gz 936526 BLAKE2B 4d0eff485f6ef8cf534688ed3acb2d6e1a40140159e89227dec56cb0c7ff795701feb7e8cfa0df98f2636c6a257bbe43cdb63318ac58cd0437ef73356b8fb5fe SHA512 97f4f37fd95cee4dd5c9c3f42ea3aecaa28016e90fe0e168a9d8c38e92602221f946c273bb249d508200249701c6403d0f9351460485dfae34a3bf625de59d2c
+DIST gdbm-1.17.tar.gz 938173 BLAKE2B bef5d449b250af139e5c660ba700694bac28af3e7f220c1ed6e1e3871e5098f2b6585e2bc4b459ed0718066342dbbfa4fb168d363d6148a51e86f925bd17e5a6 SHA512 c90fe492e969093c3a790f71bd24666a93cb4017406da2ee6baa7b2dbab14628173bb03a9cc0212256539d525ecad17c816a1621b33df99650b16b47b9cc2212
DIST gdbm-1.8.3.tar.gz 228695 BLAKE2B 21b5833facb97fe937020d80b038c7b09e55eea6bdb9ec323d185a0980f235ff6a225d180d86d984469ce04a3f0266d20881f317f4339915bc6f61ab150ac2ac SHA512 2a01751ee8f730db563b4f52185c72f1c7a4f66530d6736f05f7446153be685ea0bb6ea1d2bad16ce31547fea879dc48507ff65ad35b0973df9aa385713b10d7
EBUILD gdbm-1.13-r2.ebuild 1880 BLAKE2B 93488b07da9e466dfd1ba72283a73285ad99400af89edd57e3f1af0f17a797cadbe819dd7eae9bee06cbbc85f7381460c1caa7d8a3c3e2ce194c492fea8092f4 SHA512 4ff430d01e7f803c4783cb143da5b988533331fe40887870142aa11501ec1a1d12bda68021ca888dfd19019ee8b85f1275da9c290faf4ba5156c26ebff767af6
EBUILD gdbm-1.14.1.ebuild 1802 BLAKE2B a9872ffcb3aa6c7b0656095b30a4ea5e71fe6c7967244b59c84a0e59a739976ed08b89318a22e35548d00904bb7c51aacaaffe7f0f21c9ff059252d37a08ca38 SHA512 b0d3430a85a19106aea0e6a57c7334ca99e008bdb3f83e5413cfb19e9c9ab75d3cd54714bfdb2e172ed4edcc74f5c732ad4c9ca6e37fa806c76f25ceb6f8c244
-EBUILD gdbm-1.15.ebuild 1342 BLAKE2B cf3f17073ba5838915b99bb8938511423a3e4df7a5cc659a06fb1afa61b90ab7027f465dac823cfa0e83d7ca70aae5d59d4724e1fb1b5185bfee037e33c935e5 SHA512 616a8e23631fbdf41fcd5320d18a09adb159b4872bc0f0331dfc1f78a337d415e0e4209e6704ecbfabd9a8382779b2f2963a9b5fe90e32e3585b9e71c672b4a8
EBUILD gdbm-1.16.ebuild 1342 BLAKE2B cf3f17073ba5838915b99bb8938511423a3e4df7a5cc659a06fb1afa61b90ab7027f465dac823cfa0e83d7ca70aae5d59d4724e1fb1b5185bfee037e33c935e5 SHA512 616a8e23631fbdf41fcd5320d18a09adb159b4872bc0f0331dfc1f78a337d415e0e4209e6704ecbfabd9a8382779b2f2963a9b5fe90e32e3585b9e71c672b4a8
+EBUILD gdbm-1.17.ebuild 1342 BLAKE2B cf3f17073ba5838915b99bb8938511423a3e4df7a5cc659a06fb1afa61b90ab7027f465dac823cfa0e83d7ca70aae5d59d4724e1fb1b5185bfee037e33c935e5 SHA512 616a8e23631fbdf41fcd5320d18a09adb159b4872bc0f0331dfc1f78a337d415e0e4209e6704ecbfabd9a8382779b2f2963a9b5fe90e32e3585b9e71c672b4a8
MISC metadata.xml 471 BLAKE2B d73a0a1493a17d9990451e721b5bccddbdc3cfb59af544b1cdd927e31c65795888b13c7e42274a454d7dd8762ba92c5ab94dae5af7389a67688e6b06840ebad5 SHA512 05f989aa1f1d2ca29d4084741af8465c3daa0713881130aeb8ba8ac65f89a8874d668a0ea32184ec404e19777aa1df9e8d2526fe2ce9a22cae8c08c608501d41
diff --git a/sys-libs/gdbm/gdbm-1.15.ebuild b/sys-libs/gdbm/gdbm-1.17.ebuild
index fa77f1fe956a..fa77f1fe956a 100644
--- a/sys-libs/gdbm/gdbm-1.15.ebuild
+++ b/sys-libs/gdbm/gdbm-1.17.ebuild
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 026ea0c6f2e3..60b6f38ba574 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -34,7 +34,9 @@ DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b
DIST glibc-2.26.tar.xz 14682748 BLAKE2B c1c9dbec110dd4e25b2f463a96d8afc43b8e3ebfe3c958107032beaa879710252be3bc4122bb62166408725d43785f233544df6159d29cce0fc5b2c08f45adbe SHA512 6ed368523bc55f00976f96c5177f114e3f714b27273d7bffc252812c8b98fb81970403c1f5b5f0a61da678811532fb446530745492d2b49bfefc0d5bd71ce8c0
DIST glibc-2.27-patches-2.tar.bz2 129983 BLAKE2B fad8d14f5330bc301804913f92f48051583f122cc83ab44813dc13498f59e97b38d1b276353eed9df3fde427b669cf9168632bbed8d006a3d4995c1df79575a4 SHA512 b05e34dbb45aaadfdcc079888ef2b2f70b181ba31edf2e2bbd18fa666375f5c6c48993830a305de0706b4a562db6403b6287bcab4789c1c37bc535216ee9f4cd
DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea06a6c151c4971a8df059949ffe5632b42a67ab0ffcd7c4d7ce1ec02ac48815dac4dade1c4dd41eaee8a6ed33 SHA512 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147
-DIST glibc-9999-patches-6.tar.bz2 15026 BLAKE2B 1db592be7c8e92a0c1e2cc88910cc3ddf39786551df14c3c99e973a2b3ea3a6f7d8afbe4f309d387121b131fde74253b00e07c2c3ffbe937be0fbf0d86ee8479 SHA512 4927a31e608bbb21f78bd2c0fbf75adee852f8b3c2ccb1f0d638b79e260628a2bf54aa7d56978f2ca8def5a3b41103d564888f42b18686d02945fa29f2a1e988
+DIST glibc-2.28-patches-1.tar.bz2 15028 BLAKE2B 4b2bcb4123a2a6d5df9c5bdf6bda29a4b7633159917d3e385bfe00d6685b71a3e42e8739a791a4ae5d88280a82227531cc6cd42536e5bd6b795f391cbcc62783 SHA512 6b9451df7a0e83e93b06ae97c564653ac17c8e0d9c78f8a0ed42750bd6e3e58938491acb018681341eb57898811dc6020fa42287e408dfd6e8189cb362e393f1
+DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3
+DIST glibc-9999-patches-7.tar.bz2 15065 BLAKE2B 23dbe7b6dac30aedb8f563d492a2d44673c1a8233ac67b05a88fb9658b437eda8dff7ef8199d30ea07a0ef5d95b51a57c7db405ba3fdeab108b797caf6811d22 SHA512 ec2bee03969144e42849cb9923a11ac7dfe7418d8214243469227a97cd440c998d027d4d91b8e5d6c42fe5614f4c2fdfe4bfa06022e1e98efaa4150ca65387e2
EBUILD glibc-2.19-r1.ebuild 5456 BLAKE2B 8d446e7b7d9c521925a2a37f1373f354991b89cc59a8e2e163cafb5d76284897cc7573b0e520f50aeda2da28d9477ae6cc3e9d42c6174c517cff7bc10a89bbda SHA512 250b5c69f0b9a3b1cf140223b1acb17d05d840c01a959c4cbc3859f2f87c86566d0d8a4a686c403058cc29c4fefdc11fec696f24de9816b35617fcb3f4666d70
EBUILD glibc-2.19-r2.ebuild 40626 BLAKE2B 5c0a70e55df2288f7c0046005692daf1507324460ad35d0fee15048bf27069ff57a16b4c7c5110252ecfbad1e9527aec8b728a87b5b3c48d2deadd02e8fc58dd SHA512 fced8d70b3befad67b77ffa234506cea690e562fa54bae9d25610feb08585b320be0592f06cc456b836979b80b80f6c04a6500131785151a80c1313e27048ebe
EBUILD glibc-2.20-r2.ebuild 4924 BLAKE2B 8f2b71dd56f535915564e2517769844b234b5b02cbd4edaeb9ffd0a323e8cc7be663e6e57bad0c28df453ea332bfbb5891b07a569a0885a76c9427d680959ecd SHA512 00af5f249a1fcb0eb3ecc460ccd288daf752575df6ef3887bbffbaf3999360a24ae4058ad7e770206d8c2a86828238981d1820e28780be38481361f2f55518a8
@@ -46,5 +48,6 @@ EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff
EBUILD glibc-2.26-r7.ebuild 25619 BLAKE2B 46b2940a19af94728e94544243f12f0ae6eb2c4d7c0b82b9406ef0d4bfe3bd948f60ad605e01a092f6837f29b6ada840f8c70d0fb5adff4ba649ec2b49c52ee0 SHA512 7b6c0c2f844d782267de387e74ea74410b10ceccb6253c3906a7ca93b0fa69e85aff51ae6657a5933c771ab87516db1547c93648963ea7489008776d74265e73
EBUILD glibc-2.27-r4.ebuild 41434 BLAKE2B ad24af35925a429c5680824554f9b388fec11f574ec6be63a327aaca485a3d80c2656d29c25c6562634580ef1f22022fb748c794d8e1b7482cef404f4f7d1e4d SHA512 58b98614032c0a7c383a833dffdb93862b30c1e19dff8d0d62c4363c5f4d18ce7edc5b481ad5ee58d12511b682c962ed8db4e411a68d069dbf340f9a23f1a268
EBUILD glibc-2.27-r5.ebuild 41539 BLAKE2B 9f08c13a154043e34049c08d6ad003df056bb15f6079759b15589b1461f2cc7dcba1909e69e7ae705bde2e6b2d535f968770207ea9c5a96637aafaa4b55aa956 SHA512 90229d4a8b0ab9d9d72079ee51403654c3264a42caef67f710d46a80f806522a504f83427d4bcbb21666a70fd45a41d79079d6f3cc4233a1dfbcfa6e7b637c28
-EBUILD glibc-9999.ebuild 41683 BLAKE2B 8e1b5cbae4afd166d2973394634b03e9981f8c00f4dfd4397d9ccaf9c38ff38aa976a986a74d07626493f38b5f4672822ab94e34949c733edf46bb742ac5df90 SHA512 1f724ad4bee721161b1d53495f13190bfd5dda2ea10f508b9535c1a0de814e9e7b8c3dc878776cf8b6b26dd9d282ddae3b58b4cf6121872d74aca1605a6f14b3
-MISC metadata.xml 1149 BLAKE2B 653840c6693ac06ed5c45d826f0ac3b0007719883fdaadffb89ce7c87686562ad9e15ccdf5987bb78e616a07f989fdadc7db515b1e53c15af6685de042c2771c SHA512 9ba7c1143839e863347a834bf92d1dcef34ab08c22f962a02bc20068c3acbd58d3c2f6106895b194546c5d656d2720f89609c1e50651bcbdd1dabb3ceb8da997
+EBUILD glibc-2.28.ebuild 41861 BLAKE2B f747cf7117f8a629e8353fee9a5ca2ddc8a128e2722381fdbf27849ff6be676b147596d0cbea52c78edc0e4a369d0eb4cda0a4c33d8eb99b4a1ee51aef68bfda SHA512 80015c199dbb2086daf7801184ce3501838fd97265378ed732fce96ff7dda95524ababdc738d392411d35bc174522a25dd62571676cd4c09435769bb855ea990
+EBUILD glibc-9999.ebuild 41861 BLAKE2B fae057c79abc53eb68b73394cb03404a8c6e33d07f3c60df52ee089322503bafa196bea96736966fe5eef8b224ee018ed26ecf0da188371a635bb676da429506 SHA512 7bd763ec64e227da5f6e8960e4d004c894bd744a0136b2f7fd3ce7b0f6cff48a9e8302a98ad5bb6cb7a86db2d2038b9c3c3a5069a11e3f7d09842c1420c53d93
+MISC metadata.xml 1255 BLAKE2B f76cdfb02dfaf8b51cff3e074d41df76b34d5ae84bd5f8e9c05fba2a0d83f85751d74e1d84a3ead510ee905782d8e2b0134c276aea85a684fb42ccfef57e366b SHA512 da070159b83cfb5af39c9cd8cc44f6c4135c9b3f71c899829faf4ebe511c9cd60e121cd01a9268264f4a680b0467847f84d1887614366ff5a937b4dbb6d38ad3
diff --git a/sys-libs/glibc/glibc-2.28.ebuild b/sys-libs/glibc/glibc-2.28.ebuild
new file mode 100644
index 000000000000..8fa03e363049
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.28.ebuild
@@ -0,0 +1,1429 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit prefix eutils versionator toolchain-funcs flag-o-matic gnuconfig \
+ multilib systemd multiprocessing
+
+DESCRIPTION="GNU libc C library"
+HOMEPAGE="https://www.gnu.org/software/libc/"
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+RESTRICT="strip" # Strip ourself #46186
+SLOT="2.2"
+
+EMULTILIB_PKG="true"
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
+ inherit git-r3
+else
+ # KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+ KEYWORDS=""
+ SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
+fi
+
+RELEASE_VER=${PV}
+
+GCC_BOOTSTRAP_VER=20180511
+
+# Gentoo patchset
+PATCH_VER=1
+
+SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
+SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+
+IUSE="audit caps cet compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla"
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+#
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+# We need a new-enough binutils/gcc to match upstream baseline.
+# Also we need to make sure our binutils/gcc supports TLS.
+COMMON_DEPEND="
+ nscd? ( selinux? (
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap )
+ ) )
+ suid? ( caps? ( sys-libs/libcap ) )
+ selinux? ( sys-libs/libselinux )
+ systemtap? ( dev-util/systemtap )
+"
+DEPEND="${COMMON_DEPEND}
+ >=app-misc/pax-utils-0.1.10
+ sys-devel/bison
+ !<sys-apps/sandbox-1.6
+ !<sys-apps/portage-2.1.2
+ !<sys-devel/bison-2.7
+ !<sys-devel/make-4
+ doc? ( sys-apps/texinfo )
+ test? ( >=net-dns/libidn2-2.0.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=net-dns/libidn2-2.0.5
+ sys-apps/gentoo-functions
+ !sys-kernel/ps3-sources
+ !sys-libs/nss-db
+"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ DEPEND+=" !headers-only? (
+ >=${CATEGORY}/binutils-2.24
+ >=${CATEGORY}/gcc-4.9
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ DEPEND+="
+ >=sys-devel/binutils-2.24
+ >=sys-devel/gcc-4.9
+ virtual/os-headers
+ "
+ RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
+ PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
+fi
+
+#
+# Small helper functions
+#
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ is_crosscompile && use headers-only
+}
+
+alt_prefix() {
+ is_crosscompile && echo /usr/${CTARGET}
+}
+
+# We need to be able to set alternative headers for compiling for non-native
+# platform. Will also become useful for testing kernel-headers without screwing
+# up the whole system.
+alt_headers() {
+ echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
+}
+
+alt_build_headers() {
+ if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
+ ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)"
+ if tc-is-cross-compiler ; then
+ ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
+ if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
+ local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
+ ALT_BUILD_HEADERS=${header_path%/linux/version.h}
+ fi
+ fi
+ fi
+ echo "${ALT_BUILD_HEADERS}"
+}
+
+alt_libdir() {
+ echo $(alt_prefix)/$(get_libdir)
+}
+alt_usrlibdir() {
+ echo $(alt_prefix)/usr/$(get_libdir)
+}
+
+builddir() {
+ echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
+}
+
+do_compile_test() {
+ local ret save_cflags=${CFLAGS}
+ CFLAGS+=" $1"
+ shift
+
+ pushd "${T}" >/dev/null
+
+ rm -f glibc-test*
+ printf '%b' "$*" > glibc-test.c
+
+ nonfatal emake -s glibc-test
+ ret=$?
+
+ popd >/dev/null
+
+ CFLAGS=${save_cflags}
+ return ${ret}
+}
+
+do_run_test() {
+ local ret
+
+ if [[ ${MERGE_TYPE} == "binary" ]] ; then
+ # ignore build failures when installing a binary package #324685
+ do_compile_test "" "$@" 2>/dev/null || return 0
+ else
+ if ! do_compile_test "" "$@" ; then
+ ewarn "Simple build failed ... assuming this is desired #324685"
+ return 0
+ fi
+ fi
+
+ pushd "${T}" >/dev/null
+
+ ./glibc-test
+ ret=$?
+ rm -f glibc-test*
+
+ popd >/dev/null
+
+ return ${ret}
+}
+
+setup_target_flags() {
+ # This largely mucks with compiler flags. None of which should matter
+ # when building up just the headers.
+ just_headers && return 0
+
+ case $(tc-arch) in
+ x86)
+ # -march needed for #185404 #199334
+ # TODO: When creating the first glibc cross-compile, this test will
+ # always fail as it does a full link which in turn requires glibc.
+ # Probably also applies when changing multilib profile settings (e.g.
+ # enabling x86 when the profile was amd64-only previously).
+ # We could change main to _start and pass -nostdlib here so that we
+ # only test the gcc code compilation. Or we could do a compile and
+ # then look for the symbol via scanelf.
+ if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
+ local t=${CTARGET_OPT:-${CTARGET}}
+ t=${t%%-*}
+ filter-flags '-march=*'
+ export CFLAGS="-march=${t} ${CFLAGS}"
+ einfo "Auto adding -march=${t} to CFLAGS #185404"
+ fi
+ ;;
+ amd64)
+ # -march needed for #185404 #199334
+ # Note: This test only matters when the x86 ABI is enabled, so we could
+ # optimize a bit and elide it.
+ # TODO: See cross-compile issues listed above for x86.
+ if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
+ local t=${CTARGET_OPT:-${CTARGET}}
+ t=${t%%-*}
+ # Normally the target is x86_64-xxx, so turn that into the -march that
+ # gcc actually accepts. #528708
+ [[ ${t} == "x86_64" ]] && t="x86-64"
+ filter-flags '-march=*'
+ # ugly, ugly, ugly. ugly.
+ CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
+ export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
+ einfo "Auto adding -march=${t} to CFLAGS_x86 #185404"
+ fi
+ ;;
+ mips)
+ # The mips abi cannot support the GNU style hashes. #233233
+ filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
+ ;;
+ sparc)
+ # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
+ filter-flags "-fcall-used-g7"
+ append-flags "-fcall-used-g6"
+
+ # If the CHOST is the basic one (e.g. not sparcv9-xxx already),
+ # try to pick a better one so glibc can use cpu-specific .S files.
+ # We key off the CFLAGS to get a good value. Also need to handle
+ # version skew.
+ # We can't force users to set their CHOST to their exact machine
+ # as many of these are not recognized by config.sub/gcc and such :(.
+ # Note: If the mcpu values don't scale, we might try probing CPP defines.
+ # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
+
+ local cpu
+ case ${CTARGET} in
+ sparc64-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if version_is_at_least 2.8 ; then
+ cpu="sparc64v2"
+ elif version_is_at_least 2.4 ; then
+ cpu="sparc64v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ niagara)
+ if version_is_at_least 2.4 ; then
+ cpu="sparc64v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparc64b"
+ ;;
+ *)
+ # We need to force at least v9a because the base build doesn't
+ # work with just v9.
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
+ [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
+ ;;
+ esac
+ ;;
+ sparc-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if version_is_at_least 2.8 ; then
+ cpu="sparcv9v2"
+ elif version_is_at_least 2.4 ; then
+ cpu="sparcv9v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ niagara)
+ if version_is_at_least 2.4 ; then
+ cpu="sparcv9v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparcv9b"
+ ;;
+ v9|ultrasparc)
+ cpu="sparcv9"
+ ;;
+ v8|supersparc|hypersparc|leon|leon3)
+ cpu="sparcv8"
+ ;;
+ esac
+ ;;
+ esac
+ [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
+ ;;
+ esac
+}
+
+setup_flags() {
+ # Make sure host make.conf doesn't pollute us
+ if is_crosscompile || tc-is-cross-compiler ; then
+ CHOST=${CTARGET} strip-unsupported-flags
+ fi
+
+ # Store our CFLAGS because it's changed depending on which CTARGET
+ # we are building when pulling glibc on a multilib profile
+ CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
+ CFLAGS=${CFLAGS_BASE}
+ CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
+ CXXFLAGS=${CXXFLAGS_BASE}
+ ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
+ ASFLAGS=${ASFLAGS_BASE}
+
+ # Over-zealous CFLAGS can often cause problems. What may work for one
+ # person may not work for another. To avoid a large influx of bugs
+ # relating to failed builds, we strip most CFLAGS out to ensure as few
+ # problems as possible.
+ strip-flags
+ strip-unsupported-flags
+ filter-flags -m32 -m64 '-mabi=*'
+
+ # glibc aborts if rpath is set by LDFLAGS
+ filter-ldflags '-Wl,-rpath=*'
+
+ # #492892
+ filter-flags -frecord-gcc-switches
+
+ unset CBUILD_OPT CTARGET_OPT
+ if use multilib ; then
+ CTARGET_OPT=$(get_abi_CTARGET)
+ [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
+ fi
+
+ setup_target_flags
+
+ if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
+ CBUILD_OPT=${CTARGET_OPT}
+ fi
+
+ # Lock glibc at -O2; we want to be conservative here.
+ # -fno-strict-aliasing is to work around #155906.
+ filter-flags '-O?'
+ append-flags -O2 -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*'
+
+ # Starting with gcc-6 (and fully upstreamed pie patches) we control
+ # default enabled/disabled pie via use flags. So nothing to do
+ # here then. #618160
+ if [[ $(gcc-major-version) -lt 6 ]]; then
+ if use hardened && tc-enables-pie ; then
+ # Force PIC macro definition for all compilations since they're all
+ # either -fPIC or -fPIE with the default-PIE compiler.
+ append-cppflags -DPIC
+ else
+ # Don't build -fPIE without the default-PIE compiler and the
+ # hardened-pie patch
+ filter-flags -fPIE
+ fi
+ fi
+}
+
+want_tls() {
+ # Archs that can use TLS (Thread Local Storage)
+ case $(tc-arch) in
+ x86)
+ # requires i486 or better #106556
+ [[ ${CTARGET} == i[4567]86* ]] && return 0
+ return 1
+ ;;
+ esac
+ return 0
+}
+
+want__thread() {
+ want_tls || return 1
+
+ # For some reason --with-tls --with__thread is causing segfaults on sparc32.
+ [[ ${PROFILE_ARCH} == "sparc" ]] && return 1
+
+ [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
+
+ # only test gcc -- can't test linking yet
+ tc-has-tls -c ${CTARGET}
+ WANT__THREAD=$?
+
+ return ${WANT__THREAD}
+}
+
+use_multiarch() {
+ # Allow user to disable runtime arch detection in multilib.
+ use multiarch || return 1
+ # Make sure binutils is new enough to support indirect functions,
+ # #336792. This funky sed supports gold and bfd linkers.
+ local bver nver
+ bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
+ case $(tc-arch ${CTARGET}) in
+ amd64|x86) nver="2.20" ;;
+ arm) nver="2.22" ;;
+ hppa) nver="2.23" ;;
+ ppc|ppc64) nver="2.20" ;;
+ # ifunc support was added in 2.23, but glibc also needs
+ # machinemode which is in 2.24.
+ s390) nver="2.24" ;;
+ sparc) nver="2.21" ;;
+ *) return 1 ;;
+ esac
+ version_is_at_least ${nver} ${bver}
+}
+
+# Setup toolchain variables that had historically been defined in the
+# profiles for these archs.
+setup_env() {
+ # silly users
+ unset LD_RUN_PATH
+ unset LD_ASSUME_KERNEL
+
+ if is_crosscompile || tc-is-cross-compiler ; then
+ multilib_env ${CTARGET_OPT:-${CTARGET}}
+
+ if ! use multilib ; then
+ MULTILIB_ABIS=${DEFAULT_ABI}
+ else
+ MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
+ fi
+
+ # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
+ # and fall back on CFLAGS.
+ local VAR=CFLAGS_${CTARGET//[-.]/_}
+ CFLAGS=${!VAR-${CFLAGS}}
+ einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
+ fi
+
+ setup_flags
+
+ export ABI=${ABI:-${DEFAULT_ABI:-default}}
+
+ if use headers-only ; then
+ # Avoid mixing host's CC and target's CFLAGS_${ABI}:
+ # At this bootstrap stage we have only binutils for
+ # target but not compiler yet.
+ einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
+ return 0
+ fi
+ local VAR=CFLAGS_${ABI}
+ # We need to export CFLAGS with abi information in them because glibc's
+ # configure script checks CFLAGS for some targets (like mips). Keep
+ # around the original clean value to avoid appending multiple ABIs on
+ # top of each other.
+ : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})}
+ export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+}
+
+foreach_abi() {
+ setup_env
+
+ local ret=0
+ local abilist=""
+ if use multilib ; then
+ abilist=$(get_install_abis)
+ else
+ abilist=${DEFAULT_ABI}
+ fi
+ local -x ABI
+ for ABI in ${abilist:-default} ; do
+ setup_env
+ einfo "Running $1 for ABI ${ABI}"
+ $1
+ : $(( ret |= $? ))
+ done
+ return ${ret}
+}
+
+glibc_banner() {
+ local b="Gentoo ${PVR}"
+ [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
+ echo "${b}"
+}
+
+check_devpts() {
+ # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
+
+ # If merely building the binary package, then there's nothing to verify.
+ [[ ${MERGE_TYPE} == "buildonly" ]] && return
+
+ # Only sanity check when installing the native glibc.
+ [[ ${ROOT} != "/" ]] && return
+
+ # If they're opting in to the old suid code, then no need to check.
+ use suid && return
+
+ if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
+ eerror "In order to use glibc with USE=-suid, you must make sure that"
+ eerror "you have devpts mounted at /dev/pts with the gid=5 option."
+ eerror "Openrc should do this for you, so you should check /etc/fstab"
+ eerror "and make sure you do not have any invalid settings there."
+ die "mount & fix your /dev/pts settings"
+ fi
+}
+
+# The following Kernel version handling functions are mostly copied from portage
+# source. It's better not to use linux-info.eclass here since a) it adds too
+# much magic, see bug 326693 for some of the arguments, and b) some of the
+# functions are just not provided.
+
+g_get_running_KV() {
+ uname -r
+ return $?
+}
+
+g_KV_major() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ echo "${KV%%.*}"
+}
+
+g_KV_minor() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ KV=${KV#*.}
+ echo "${KV%%.*}"
+}
+
+g_KV_micro() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ KV=${KV#*.*.}
+ echo "${KV%%[^[:digit:]]*}"
+}
+
+g_KV_to_int() {
+ [[ -z $1 ]] && return 1
+ local KV_MAJOR=$(g_KV_major "$1")
+ local KV_MINOR=$(g_KV_minor "$1")
+ local KV_MICRO=$(g_KV_micro "$1")
+ local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
+
+ # We make version 2.2.0 the minimum version we will handle as
+ # a sanity check ... if its less, we fail ...
+ if [[ ${KV_int} -ge 131584 ]] ; then
+ echo "${KV_int}"
+ return 0
+ fi
+ return 1
+}
+
+g_int_to_KV() {
+ local version=$1 major minor micro
+ major=$((version / 65536))
+ minor=$(((version % 65536) / 256))
+ micro=$((version % 256))
+ echo ${major}.${minor}.${micro}
+}
+
+eend_KV() {
+ [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
+ eend $?
+}
+
+get_kheader_version() {
+ printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
+ $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \
+ tail -n 1
+}
+
+# We collect all sanity checks here. Consistency is not guranteed between
+# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
+# src_unpack.
+sanity_prechecks() {
+ # Make sure devpts is mounted correctly for use w/out setuid pt_chown
+ check_devpts
+
+ # Prevent native builds from downgrading
+ if [[ ${MERGE_TYPE} != "buildonly" ]] && \
+ [[ ${ROOT} == "/" ]] && \
+ [[ ${CBUILD} == ${CHOST} ]] && \
+ [[ ${CHOST} == ${CTARGET} ]] ; then
+
+ # The high rev # is to allow people to downgrade between -r#
+ # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
+ # should be fine. Hopefully we never actually use a r# this
+ # high.
+ if has_version ">${CATEGORY}/${P}-r10000" ; then
+ eerror "Sanity check to keep you from breaking your system:"
+ eerror " Downgrading glibc is not supported and a sure way to destruction."
+ die "Aborting to save your system."
+ fi
+
+ if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
+ eerror "Your old kernel is broken. You need to update it to a newer"
+ eerror "version as syscall(<bignum>) will break. See bug 279260."
+ die "Old and broken kernel."
+ fi
+ fi
+
+ # Users have had a chance to phase themselves, time to give em the boot
+ if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
+ eerror "You still haven't deleted ${EROOT}/etc/locales.build."
+ eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
+ die "Lazy upgrader detected"
+ fi
+
+ if [[ ${CTARGET} == i386-* ]] ; then
+ eerror "i386 CHOSTs are no longer supported."
+ eerror "Chances are you don't actually want/need i386."
+ eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
+ die "Please fix your CHOST"
+ fi
+
+ if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
+ ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
+ ewarn "This will result in a 50% performance penalty when running with a 32bit"
+ ewarn "hypervisor, which is probably not what you want."
+ fi
+
+ use hardened && ! tc-enables-pie && \
+ ewarn "PIE hardening not applied, as your compiler doesn't default to PIE"
+
+ # Check for sanity of /etc/nsswitch.conf
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then
+ local entry
+ for entry in passwd group shadow; do
+ if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then
+ eerror "Your ${EROOT}/etc/nsswitch.conf is out of date."
+ eerror "Please make sure you have 'files' entries for"
+ eerror "'passwd:', 'group:' and 'shadow:' databases."
+ eerror "For more details see:"
+ eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26"
+ die "nsswitch.conf has no 'files' provider in '${entry}'."
+ fi
+ done
+ fi
+
+ # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
+ # we test for...
+ if ! is_crosscompile ; then
+ if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
+ ebegin "Checking that IA32 emulation is enabled in the running kernel"
+ echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
+ local STAT
+ if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
+ "${T}/check-ia32-emulation.elf32"
+ STAT=$?
+ else
+ # Don't fail here to allow single->multi ABI switch
+ # or recover from breakage like bug #646424
+ ewarn "Failed to compile the ABI test. Broken host glibc?"
+ STAT=0
+ fi
+ rm -f "${T}/check-ia32-emulation.elf32"
+ eend $STAT
+ [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
+ fi
+
+ fi
+
+ # When we actually have to compile something...
+ if ! just_headers ; then
+ ebegin "Checking gcc for __thread support"
+ if ! eend $(want__thread ; echo $?) ; then
+ echo
+ eerror "Could not find a gcc that supports the __thread directive!"
+ eerror "Please update your binutils/gcc and try again."
+ die "No __thread support in gcc!"
+ fi
+
+ if [[ ${CTARGET} == *-linux* ]] ; then
+ local run_kv build_kv want_kv
+
+ run_kv=$(g_get_running_KV)
+ build_kv=$(g_int_to_KV $(get_kheader_version))
+ want_kv=${MIN_KERN_VER}
+
+ if ! is_crosscompile && ! tc-is-cross-compiler ; then
+ # Building fails on an non-supporting kernel
+ ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
+ if ! eend_KV ${run_kv} ${want_kv} ; then
+ echo
+ eerror "You need a kernel of at least ${want_kv}!"
+ die "Kernel version too low!"
+ fi
+ fi
+
+ ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
+ if ! eend_KV ${build_kv} ${want_kv} ; then
+ echo
+ eerror "You need linux-headers of at least ${want_kv}!"
+ die "linux-headers version too low!"
+ fi
+ fi
+ fi
+}
+
+#
+# the phases
+#
+
+# pkg_pretend
+
+pkg_pretend() {
+ # All the checks...
+ einfo "Checking general environment sanity."
+ sanity_prechecks
+}
+
+# src_unpack
+
+src_unpack() {
+ # Consistency is not guaranteed between pkg_ and src_ ...
+ sanity_prechecks
+
+ use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+ setup_env
+
+ if [[ -n ${EGIT_REPO_URI} ]] ; then
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.xz
+ fi
+
+ cd "${S}" || die
+ touch locale/C-translit.h || die #185476 #218003
+
+ cd "${WORKDIR}" || die
+ unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
+}
+
+src_prepare() {
+ if ! use vanilla ; then
+ elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
+ eapply "${WORKDIR}"/patches
+ einfo "Done."
+ fi
+
+ default
+
+ gnuconfig_update
+
+ cd "${WORKDIR}"
+ find . -name configure -exec touch {} +
+
+ eprefixify extra/locale/locale-gen
+
+ # Fix permissions on some of the scripts.
+ chmod u+x "${S}"/scripts/*.sh
+
+ cd "${S}"
+}
+
+glibc_do_configure() {
+ # Glibc does not work with gold (for various reasons) #269274.
+ tc-ld-disable-gold
+
+ # CXX isnt handled by the multilib system, so if we dont unset here
+ # we accumulate crap across abis
+ unset CXX
+
+ einfo "Configuring glibc for nptl"
+
+ if use doc ; then
+ export MAKEINFO=makeinfo
+ else
+ export MAKEINFO=/dev/null
+ fi
+
+ local v
+ for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do
+ einfo " $(printf '%15s' ${v}:) ${!v}"
+ done
+
+ # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
+ # To build .S (assembly) files with the same ABI-specific flags
+ # upstream currently recommends adding CFLAGS to CC/CXX:
+ # https://sourceware.org/PR23273
+ # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
+ # and breaks multiarch support. See 659030#c3 for an example.
+ # The glibc configure script doesn't properly use LDFLAGS all the time.
+ export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+
+ # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+ export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+ einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
+
+ echo
+
+ local myconf=()
+
+ case ${CTARGET} in
+ powerpc-*)
+ # Currently gcc on powerpc32 generates invalid code for
+ # __builtin_return_address(0) calls. Normally programs
+ # don't do that but malloc hooks in glibc do:
+ # https://gcc.gnu.org/PR81996
+ # https://bugs.gentoo.org/629054
+ myconf+=( --enable-stack-protector=no )
+ ;;
+ *)
+ myconf+=( --enable-stack-protector=all )
+ ;;
+ esac
+ myconf+=( --enable-stackguard-randomization )
+
+ # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
+ # is not robust enough to detect proper support:
+ # https://bugs.gentoo.org/641216
+ # https://sourceware.org/PR22634#c0
+ case $(tc-arch ${CTARGET}) in
+ # Keep whitelist of targets where autodetection mostly works.
+ amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;;
+ # Blacklist everywhere else
+ *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
+ esac
+
+ # Enable Intel Control-flow Enforcement Technology on amd64 if requested
+ case ${CTARGET} in
+ x86_64-*) myconf+=( $(use_enable cet) ) ;;
+ *) ;;
+ esac
+
+ [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
+
+ myconf+=( --enable-kernel=${MIN_KERN_VER} )
+
+ # Since SELinux support is only required for nscd, only enable it if:
+ # 1. USE selinux
+ # 2. only for the primary ABI on multilib systems
+ # 3. Not a crosscompile
+ if ! is_crosscompile && use selinux ; then
+ if use multilib ; then
+ if is_final_abi ; then
+ myconf+=( --with-selinux )
+ else
+ myconf+=( --without-selinux )
+ fi
+ else
+ myconf+=( --with-selinux )
+ fi
+ else
+ myconf+=( --without-selinux )
+ fi
+
+ # Force a few tests where we always know the answer but
+ # configure is incapable of finding it.
+ if is_crosscompile ; then
+ export \
+ libc_cv_c_cleanup=yes \
+ libc_cv_forced_unwind=yes
+ fi
+
+ myconf+=(
+ --without-cvs
+ --disable-werror
+ --enable-bind-now
+ --build=${CBUILD_OPT:-${CBUILD}}
+ --host=${CTARGET_OPT:-${CTARGET}}
+ $(use_enable profile)
+ $(use_with gd)
+ --with-headers=$(alt_build_headers)
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --libdir='$(prefix)'/$(get_libdir)
+ --mandir='$(prefix)'/share/man
+ --infodir='$(prefix)'/share/info
+ --libexecdir='$(libdir)'/misc/glibc
+ --with-bugurl=https://bugs.gentoo.org/
+ --with-pkgversion="$(glibc_banner)"
+ $(use_multiarch || echo --disable-multi-arch)
+ $(use_enable systemtap)
+ $(use_enable nscd)
+ ${EXTRA_ECONF}
+ )
+
+ # We rely on sys-libs/timezone-data for timezone tools normally.
+ myconf+=( $(use_enable vanilla timezone-tools) )
+
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
+ ac_cv_lib_cap_cap_init=$(usex caps || echo no)
+
+ # There is no configure option for this and we need to export it
+ # since the glibc build will re-run configure on itself
+ export libc_cv_rootsbindir="${EPREFIX}/sbin"
+ export libc_cv_slibdir="${EPREFIX}/$(get_libdir)"
+
+ # We take care of patching our binutils to use both hash styles,
+ # and many people like to force gnu hash style only, so disable
+ # this overriding check. #347761
+ export libc_cv_hashstyle=no
+
+ local builddir=$(builddir nptl)
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+ set -- "${S}"/configure "${myconf[@]}"
+ echo "$@"
+ "$@" || die "failed to configure glibc"
+
+ # ia64 static cross-compilers are a pita in so much that they
+ # can't produce static ELFs (as the libgcc.a is broken). so
+ # disable building of the programs for those targets if it
+ # doesn't work.
+ # XXX: We could turn this into a compiler test, but ia64 is
+ # the only one that matters, so this should be fine for now.
+ if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
+ sed -i '1i+link-static = touch $@' config.make
+ fi
+
+ # If we're trying to migrate between ABI sets, we need
+ # to lie and use a local copy of gcc. Like if the system
+ # is built with MULTILIB_ABIS="amd64 x86" but we want to
+ # add x32 to it, gcc/glibc don't yet support x32.
+ #
+ if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
+ echo 'main(){}' > "${T}"/test.c
+ if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
+ sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
+ fi
+ fi
+}
+
+glibc_headers_configure() {
+ export ABI=default
+
+ local builddir=$(builddir "headers")
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+
+ # if we don't have a compiler yet, we can't really test it now ...
+ # hopefully they don't affect header generation, so let's hope for
+ # the best here ...
+ local v vars=(
+ ac_cv_header_cpuid_h=yes
+ libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
+ libc_cv_asm_cfi_directives=yes
+ libc_cv_broken_visibility_attribute=no
+ libc_cv_c_cleanup=yes
+ libc_cv_compiler_powerpc64le_binary128_ok=yes
+ libc_cv_forced_unwind=yes
+ libc_cv_gcc___thread=yes
+ libc_cv_mlong_double_128=yes
+ libc_cv_mlong_double_128ibm=yes
+ libc_cv_ppc_machine=yes
+ libc_cv_ppc_rel16=yes
+ libc_cv_predef_fortify_source=no
+ libc_cv_target_power8_ok=yes
+ libc_cv_visibility_attribute=yes
+ libc_cv_z_combreloc=yes
+ libc_cv_z_execstack=yes
+ libc_cv_z_initfirst=yes
+ libc_cv_z_nodelete=yes
+ libc_cv_z_nodlopen=yes
+ libc_cv_z_relro=yes
+ libc_mips_abi=${ABI}
+ libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=no
+ ac_cv_lib_cap_cap_init=no
+ )
+
+ einfo "Forcing cached settings:"
+ for v in "${vars[@]}" ; do
+ einfo " ${v}"
+ export ${v}
+ done
+
+ local headers_only_arch_CPPFLAGS=()
+
+ # Blow away some random CC settings that screw things up. #550192
+ if [[ -d ${S}/sysdeps/mips ]]; then
+ pushd "${S}"/sysdeps/mips >/dev/null
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
+
+ # Force the mips ABI to the default. This is OK because the set of
+ # installed headers in this phase is the same between the 3 ABIs.
+ # If this ever changes, this hack will break, but that's unlikely
+ # as glibc discourages that behavior.
+ # https://crbug.com/647033
+ sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
+
+ popd >/dev/null
+ fi
+
+ case ${CTARGET} in
+ riscv*)
+ # RISC-V interrogates the compiler to determine which target to
+ # build. If building the headers then we don't strictly need a
+ # RISC-V compiler, so the built-in definitions that are provided
+ # along with all RISC-V compiler might not exist. This causes
+ # glibc's RISC-V preconfigure script to blow up. Since we're just
+ # building the headers any value will actually work here, so just
+ # pick the standard one (rv64g/lp64d) to make the build scripts
+ # happy for now -- the headers are all the same anyway so it
+ # doesn't matter.
+ headers_only_arch_CPPFLAGS+=(
+ -D__riscv_xlen=64
+ -D__riscv_flen=64
+ -D__riscv_float_abi_double=1
+ -D__riscv_atomic=1
+ ) ;;
+ esac
+
+ local myconf=()
+ myconf+=(
+ --disable-sanity-checks
+ --enable-hacker-mode
+ --without-cvs
+ --disable-werror
+ --enable-bind-now
+ --build=${CBUILD_OPT:-${CBUILD}}
+ --host=${CTARGET_OPT:-${CTARGET}}
+ --with-headers=$(alt_build_headers)
+ --prefix="${EPREFIX}/usr"
+ ${EXTRA_ECONF}
+ )
+
+ # Nothing is compiled here which would affect the headers for the target.
+ # So forcing CC/CFLAGS is sane.
+ local headers_only_CC=$(tc-getBUILD_CC)
+ local headers_only_CFLAGS="-O1 -pipe"
+ local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
+ local headers_only_LDFLAGS=""
+ set -- "${S}"/configure "${myconf[@]}"
+ echo \
+ "CC=${headers_only_CC}" \
+ "CFLAGS=${headers_only_CFLAGS}" \
+ "CPPFLAGS=${headers_only_CPPFLAGS}" \
+ "LDFLAGS=${headers_only_LDFLAGS}" \
+ "$@"
+ CC=${headers_only_CC} \
+ CFLAGS=${headers_only_CFLAGS} \
+ CPPFLAGS=${headers_only_CPPFLAGS} \
+ LDFLAGS="" \
+ "$@" || die "failed to configure glibc"
+}
+
+do_src_configure() {
+ if just_headers ; then
+ glibc_headers_configure
+ else
+ glibc_do_configure nptl
+ fi
+}
+
+src_configure() {
+ foreach_abi do_src_configure
+}
+
+do_src_compile() {
+ emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed"
+}
+
+src_compile() {
+ if just_headers ; then
+ return
+ fi
+
+ foreach_abi do_src_compile
+}
+
+glibc_src_test() {
+ cd "$(builddir nptl)"
+ emake check
+}
+
+do_src_test() {
+ local ret=0
+
+ glibc_src_test
+ : $(( ret |= $? ))
+
+ return ${ret}
+}
+
+src_test() {
+ if just_headers ; then
+ return
+ fi
+
+ # Give tests more time to complete.
+ export TIMEOUTFACTOR=5
+
+ foreach_abi do_src_test || die "tests failed"
+}
+
+run_locale_gen() {
+ # if the host locales.gen contains no entries, we'll install everything
+ local root="$1"
+ local locale_list="${root}/etc/locale.gen"
+ if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
+ ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
+ locale_list="${root}/usr/share/i18n/SUPPORTED"
+ fi
+
+ locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \
+ --destdir "${root}"
+}
+
+glibc_do_src_install() {
+ local builddir=$(builddir nptl)
+ cd "${builddir}"
+
+ emake install_root="${D}$(alt_prefix)" install || die
+
+ # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
+ # which come without headers etc. Only needed for binary packages since the
+ # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
+ find "${D}" -name "libnsl.a" -delete
+ find "${D}" -name "libnsl.so" -delete
+
+ # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
+ # to infer upstream version:
+ # '#define VERSION "2.26.90"' -> '2.26.90'
+ local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
+
+ if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
+ # Move versioned .a file out of libdir to evade portage QA checks
+ # instead of using gen_usr_ldscript(). We fix ldscript as:
+ # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
+ sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die
+ dodir $(alt_usrlibdir)/${P}
+ mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
+ fi
+
+ # We'll take care of the cache ourselves
+ rm -f "${ED}"/etc/ld.so.cache
+
+ # Everything past this point just needs to be done once ...
+ is_final_abi || return 0
+
+ # Make sure the non-native interp can be found on multilib systems even
+ # if the main library set isn't installed into the right place. Maybe
+ # we should query the active gcc for info instead of hardcoding it ?
+ local i ldso_abi ldso_name
+ local ldso_abi_list=(
+ # x86
+ amd64 /lib64/ld-linux-x86-64.so.2
+ x32 /libx32/ld-linux-x32.so.2
+ x86 /lib/ld-linux.so.2
+ # mips
+ o32 /lib/ld.so.1
+ n32 /lib32/ld.so.1
+ n64 /lib64/ld.so.1
+ # powerpc
+ ppc /lib/ld.so.1
+ ppc64 /lib64/ld64.so.1
+ # s390
+ s390 /lib/ld.so.1
+ s390x /lib/ld64.so.1
+ # sparc
+ sparc32 /lib/ld-linux.so.2
+ sparc64 /lib64/ld-linux.so.2
+ )
+ case $(tc-endian) in
+ little)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64.so.1
+ )
+ ;;
+ big)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64_be.so.1
+ )
+ ;;
+ esac
+ if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
+ fi
+ for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
+ ldso_abi=${ldso_abi_list[i]}
+ has ${ldso_abi} $(get_install_abis) || continue
+
+ ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
+ if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
+ dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
+ fi
+ done
+
+ # With devpts under Linux mounted properly, we do not need the pt_chown
+ # binary to be setuid. This is because the default owners/perms will be
+ # exactly what we want.
+ if ! use suid ; then
+ find "${ED}" -name pt_chown -exec chmod -s {} +
+ fi
+
+ #################################################################
+ # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
+ # Make sure we install some symlink hacks so that when we build
+ # a 2nd stage cross-compiler, gcc finds the target system
+ # headers correctly. See gcc/doc/gccinstall.info
+ if is_crosscompile ; then
+ # We need to make sure that /lib and /usr/lib always exists.
+ # gcc likes to use relative paths to get to its multilibs like
+ # /usr/lib/../lib64/. So while we don't install any files into
+ # /usr/lib/, we do need it to exist.
+ keepdir $(alt_prefix)/lib
+ keepdir $(alt_prefix)/usr/lib
+
+ dosym usr/include $(alt_prefix)/sys-include
+ return 0
+ fi
+
+ # Files for Debian-style locale updating
+ dodir /usr/share/i18n
+ sed \
+ -e "/^#/d" \
+ -e "/SUPPORTED-LOCALES=/d" \
+ -e "s: \\\\::g" -e "s:/: :g" \
+ "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
+ || die "generating /usr/share/i18n/SUPPORTED failed"
+ cd "${WORKDIR}"/extra/locale
+ dosbin locale-gen
+ doman *.[0-8]
+ insinto /etc
+ doins locale.gen
+
+ # Make sure all the ABI's can find the locales and so we only
+ # have to generate one set
+ local a
+ keepdir /usr/$(get_libdir)/locale
+ for a in $(get_install_abis) ; do
+ if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
+ dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
+ fi
+ done
+
+ cd "${S}"
+
+ # Install misc network config files
+ insinto /etc
+ doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
+ doins "${WORKDIR}"/extra/etc/*.conf
+
+ if use nscd ; then
+ doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+
+ local nscd_args=(
+ -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
+ )
+
+ sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
+
+ systemd_dounit nscd/nscd.service
+ systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
+ else
+ # Do this since extra/etc/*.conf above might have nscd.conf.
+ rm -f "${ED}"/etc/nscd.conf
+ fi
+
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
+ doenvd "${T}"/00glibc
+
+ for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
+ [[ -s ${d} ]] && dodoc ${d}
+ done
+ dodoc -r ChangeLog.old
+
+ # Prevent overwriting of the /etc/localtime symlink. We'll handle the
+ # creation of the "factory" symlink in pkg_postinst().
+ rm -f "${ED}"/etc/localtime
+
+ # Generate all locales if this is a native build as locale generation
+ if use compile-locales && ! is_crosscompile ; then
+ run_locale_gen "${ED}"
+ fi
+}
+
+glibc_headers_install() {
+ local builddir=$(builddir "headers")
+ cd "${builddir}"
+ emake install_root="${D}$(alt_prefix)" install-headers
+
+ insinto $(alt_headers)/gnu
+ doins "${S}"/include/gnu/stubs.h
+
+ # Make sure we install the sys-include symlink so that when
+ # we build a 2nd stage cross-compiler, gcc finds the target
+ # system headers correctly. See gcc/doc/gccinstall.info
+ dosym usr/include $(alt_prefix)/sys-include
+}
+
+src_strip() {
+ # gdb is lame and requires some debugging information to remain in
+ # libpthread, so we need to strip it by hand. libthread_db makes no
+ # sense stripped as it is only used when debugging.
+ local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}")
+ env \
+ -uRESTRICT \
+ CHOST=${CTARGET} \
+ STRIP_MASK="/*/{,tls/}${pthread}*" \
+ prepallstrip
+ # if user has stripping enabled and does not have split debug turned on,
+ # then leave the debugging sections in libpthread.
+ if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then
+ ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so
+ fi
+}
+
+src_install() {
+ if just_headers ; then
+ export ABI=default
+ glibc_headers_install
+ return
+ fi
+
+ foreach_abi glibc_do_src_install
+ src_strip
+}
+
+# Simple test to make sure our new glibc isn't completely broken.
+# Make sure we don't test with statically built binaries since
+# they will fail. Also, skip if this glibc is a cross compiler.
+#
+# If coreutils is built with USE=multicall, some of these files
+# will just be wrapper scripts, not actual ELFs we can test.
+glibc_sanity_check() {
+ cd / #228809
+
+ # We enter ${ED} so to avoid trouble if the path contains
+ # special characters; for instance if the path contains the
+ # colon character (:), then the linker will try to split it
+ # and look for the libraries in an unexpected place. This can
+ # lead to unsafe code execution if the generated prefix is
+ # within a world-writable directory.
+ # (e.g. /var/tmp/portage:${HOSTNAME})
+ pushd "${ED}"/$(get_libdir) >/dev/null
+
+ local x striptest
+ for x in cal date env free ls true uname uptime ; do
+ x=$(type -p ${x})
+ [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
+ striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
+ case ${striptest} in
+ *"statically linked"*) continue;;
+ *"ASCII text"*) continue;;
+ esac
+ # We need to clear the locale settings as the upgrade might want
+ # incompatible locale data. This test is not for verifying that.
+ LC_ALL=C \
+ ./ld-*.so --library-path . ${x} > /dev/null \
+ || die "simple run test (${x}) failed"
+ done
+
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ # prepare /etc/ld.so.conf.d/ for files
+ mkdir -p "${EROOT}"/etc/ld.so.conf.d
+
+ # Default /etc/hosts.conf:multi to on for systems with small dbs.
+ if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
+ sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
+ einfo "Defaulting /etc/host.conf:multi to on"
+ fi
+
+ [[ ${ROOT} != "/" ]] && return 0
+ [[ -d ${ED}/$(get_libdir) ]] || return 0
+ [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
+}
+
+pkg_postinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
+ # Generate fastloading iconv module configuration file.
+ "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}"
+ fi
+
+ if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then
+ # Reload init ... if in a chroot or a diff init package, ignore
+ # errors from this step #253697
+ /sbin/telinit U 2>/dev/null
+
+ use compile-locales || run_locale_gen "${EROOT}"
+ fi
+
+ # Check for sanity of /etc/nsswitch.conf, take 2
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
+ local entry
+ for entry in passwd group shadow; do
+ if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
+ ewarn ""
+ ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
+ ewarn "removed from glibc and is now provided by the package"
+ ewarn " sys-auth/libnss-nis"
+ ewarn "Install it now to keep your NIS setup working."
+ ewarn ""
+ fi
+ done
+ fi
+}
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 49b14e0284ec..4069c5f71ea1 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -28,12 +28,12 @@ RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20180511
# Gentoo patchset
-PATCH_VER=6
+PATCH_VER=7
SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-IUSE="audit caps compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla"
+IUSE="audit caps cet compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
@@ -77,6 +77,7 @@ DEPEND="${COMMON_DEPEND}
!<sys-apps/sandbox-1.6
!<sys-apps/portage-2.1.2
!<sys-devel/bison-2.7
+ !<sys-devel/make-4
doc? ( sys-apps/texinfo )
test? ( >=net-dns/libidn2-2.0.5 )
"
@@ -841,6 +842,12 @@ glibc_do_configure() {
*) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
esac
+ # Enable Intel Control-flow Enforcement Technology on amd64 if requested
+ case ${CTARGET} in
+ x86_64-*) myconf+=( $(use_enable cet) ) ;;
+ *) ;;
+ esac
+
[[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
myconf+=( --enable-kernel=${MIN_KERN_VER} )
diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml
index 89da155531ed..8079534faf1e 100644
--- a/sys-libs/glibc/metadata.xml
+++ b/sys-libs/glibc/metadata.xml
@@ -14,6 +14,7 @@
<flag name="rpc">Enable obsolete RPC/NIS layers</flag>
<flag name="suid">Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag>
<flag name="systemtap">enable systemtap static probe points</flag>
+ <flag name="cet">Enable Intel Control-flow Enforcement Technology (needs binutils 2.29 and gcc 8)</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:glibc</remote-id>
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index a1baf052b7bc..e51d484d47ff 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -1,7 +1,7 @@
DIST libblockdev-2.14-1.tar.gz 274241 BLAKE2B 64c4c2a298ed95ed24a79716ccef5930f4276faaca02acf883c386b85a662d3fa1dc6f30e00d99bd835832e3c65acb89b445eff6fb35f9090dc949efde737d1a SHA512 fb80e840ed2f247912da93a6cc0cb1846be73dcc16b917f5231f5d7a87eaa7b43d07d5b2110038dd783fefa7ef7df0893785a60079ed02567f1e08bfcbd82343
DIST libblockdev-2.17-1.tar.gz 300882 BLAKE2B a7300ecf59a3ea37c2bb3245dcb4c0434ed8292e8fca87634224557112183de5fab2e66428d9b769537eebde341a3858182f9e9b9cefa68654c1d580fe4b63b2 SHA512 e882642e124100abf578699272bf1f0a2618b5eeed3ded4582f8535173238f145f3d4a2ea7dbe4b3b464d646f6e98ef0a891e7dfa7dde7e8c3322c883f7264e6
DIST libblockdev-2.18-1.tar.gz 310870 BLAKE2B afeb904938c9700917e3bf55665bfa5612677b963e4273378046edae15f94b90f2e85c31f12b196317fe26c4befe9ae514822d987fdc8003bc1b0cc49cd61dac SHA512 c7837b0abb7747baf8dc2a21a0a75bc5fb80693a1685ddb310bf7d606d44ea65fa4c934cff6c09c5069806dea3ee056eb53c64122ec43b5c0485cdf92fda58d5
-EBUILD libblockdev-2.14-r1.ebuild 1504 BLAKE2B 8da60dc425c0b83f6e75705815bc94275937bd1c1d5ace0798c850d04d561910a1f7086f32d131b7aaf0d785cbacfc9179909d0e8909646524f34638a38ae399 SHA512 6e19060b01e9b21f1969d35cfff4a58c20456d4594f22ec4e8ae961480302abb639816f97212956e067b0df921ed17d8c1298ef025598c56aab663cb430e0ad9
-EBUILD libblockdev-2.17.ebuild 1694 BLAKE2B 835076e88046dd4f21aefbc89245e66a2e6e5c318a437a36c2957cc46cc1264a4d04f3e3893c49e3f99f5beeb5ba6d4c8f33b078ca7dd6cb7e3ea575bfb92610 SHA512 9eff7dd1adbce9ea74230aa066ca2f4b0fe368371f666420b337443ebaef1373fc895dc6eba8b1276d0e35eb705117185ddcbd573d2052f3a0c8bd8272cb67b5
-EBUILD libblockdev-2.18-r1.ebuild 1715 BLAKE2B dfa7ba8585a51fbfe9d42126c6eb18dca2c8b798cf1cadc143da7de1b6fbeb04f189d290b6581ac4fa286ab982b31e7a0bfdff68af785daf2a1d8244dffae510 SHA512 964120a29175090ffee4a9b69213d486f3f99a92bdf808116d0baae84cd03113a5f7bf400028867d2bc516c61ea742b15d11ef4615c501f89d170b2119c43f42
+EBUILD libblockdev-2.14-r1.ebuild 1514 BLAKE2B 1d27d975055e90cd84a20d070bac7ea1ae91235c3512aae87e6341f2d286db97570b8790e587321f3608f33e3fd1f8e1c67c50588edc56dca879f79d527060a0 SHA512 f054ded1e078677718e35797d6cbd5cf920d79696cc60203cccd5181c675824a65fb8769ac2ed92d7da26a7e11d68a5ada315a68eaddd17db15b9baf5c6ee799
+EBUILD libblockdev-2.17.ebuild 1756 BLAKE2B d7ba453f925ca0524b2dbaac9bbf8b12b800921e881eb69964dac336d169635538795610f4f00f02015376278f249bfc106524c2cad855f6bc5540d7965daba2 SHA512 ff81adce00b6960f8a0900cff50433f626f5e34ee0c1847c2e0d43154a62d56b8e8d022b6adebc66b55409ec639cfbdcf30b5a33b10369507e2ca50077fd8eeb
+EBUILD libblockdev-2.18-r1.ebuild 1777 BLAKE2B 5ce9e288341d86ac94dfa9f64ab6c30fff9640d30ff13f46c60c1eb6b2bae7d51364b6d739f3c26abd9ece01fd87358a32f301415f2daeca1450d2597c16d85b SHA512 a0b5475b87c3458817d98b8e1dd23ca2990d736c3571ab6d5fb06b4a2191ac88aae9b2bd089ce93b76f5e4b406fb8dbbc702ff8483560930e86c1af4936a6654
MISC metadata.xml 938 BLAKE2B 3527b371818b7b6ab3362ab4335098447dbc3541ebc95d1c8dc5487ae4a323e9d0bd5462201ce3432df95399b8acdb1f5735260000c967b4b786f2483507b110 SHA512 ccd9292fc8eabb982a3f016c15cf53b4d8d307109dbd5896d1190019a2f35032cc393454568c0a48223c0e9a2a8e42e8e015f16b9a52c758d55c904a308f6e66
diff --git a/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild b/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild
index 54501941f3f2..97bf88c573e6 100644
--- a/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild
@@ -10,8 +10,8 @@ MY_PV="${PV}-1"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/rhinstaller/libblockdev"
-SRC_URI="https://github.com/rhinstaller/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/storaged-project/libblockdev"
+SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 ia64 ppc ppc64 ~sparc x86"
diff --git a/sys-libs/libblockdev/libblockdev-2.17.ebuild b/sys-libs/libblockdev/libblockdev-2.17.ebuild
index 89b02d4392b0..f494d3d270ef 100644
--- a/sys-libs/libblockdev/libblockdev-2.17.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.17.ebuild
@@ -10,8 +10,8 @@ MY_PV="${PV}-1"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/rhinstaller/libblockdev"
-SRC_URI="https://github.com/rhinstaller/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/storaged-project/libblockdev"
+SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
@@ -81,8 +81,17 @@ src_configure() {
$(use_with lvm lvm)
$(use_with lvm lvm-dbus)
$(use_with kbd)
- $(use_with python_single_target_python2_7 python2)
- $(use_with !python_single_target_python2_7 python3)
)
+ if python_is_python3 ; then
+ myeconfargs+=(
+ --without-python2
+ --with-python3
+ )
+ else
+ myeconfargs+=(
+ --with-python2
+ --without-python3
+ )
+ fi
econf "${myeconfargs[@]}"
}
diff --git a/sys-libs/libblockdev/libblockdev-2.18-r1.ebuild b/sys-libs/libblockdev/libblockdev-2.18-r1.ebuild
index 839822874e03..dbb703c07001 100644
--- a/sys-libs/libblockdev/libblockdev-2.18-r1.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.18-r1.ebuild
@@ -10,8 +10,8 @@ MY_PV="${PV}-1"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/rhinstaller/libblockdev"
-SRC_URI="https://github.com/rhinstaller/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/storaged-project/libblockdev"
+SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
@@ -78,9 +78,18 @@ src_configure() {
$(use_with lvm lvm)
$(use_with lvm lvm-dbus)
$(use_with kbd)
- $(use_with python_single_target_python2_7 python2)
- $(use_with !python_single_target_python2_7 python3)
$(use_with vdo)
)
+ if python_is_python3 ; then
+ myeconfargs+=(
+ --without-python2
+ --with-python3
+ )
+ else
+ myeconfargs+=(
+ --with-python2
+ --without-python3
+ )
+ fi
econf "${myeconfargs[@]}"
}
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 5eb2714adcf0..ef775a594f57 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -5,17 +5,14 @@ AUX prepare_snapshot.sh 427 BLAKE2B 373ff29ec8da6e650d00f229fceeb171afacd6d66fe4
DIST libcxx-3.7.1.src.tar.xz 995724 BLAKE2B aab68f1b99a2c817e7154b71c04c81bd809154d1ae1c077a2dfede37319070729d6d768223b6ba5e2a866d6c2f18972dd501ce517864378ebc26c49cacafb635 SHA512 08d2399a8b36aa15290733256c896c9fa43f1a1223bc5c73bbcd014fddf8880e514d2a6dcc456bcf18b537c01fb6911b092e6d9958bccd8e64e9f375ed7a1ab9
DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
-DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
-DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
EBUILD libcxx-3.7.1.ebuild 5335 BLAKE2B 6f4dbbb8dbc7f6e8b97f05ff3e638bb037bad416feffe5207a9cba166a5c0e0c92c3cac954088cc04cdf2a9be62f17cd5d7ece472e4e20d3c0be5b3c1edb2f52 SHA512 f4e04906e7205cd3d2f3180a0b897c1a9eaf5c65249bdbb62ed32a0455132009c88ae6f080b52abe6973752073ca3bc32e37e3491db9de2fc030cf77e4ed91b0
EBUILD libcxx-3.9.1.ebuild 6815 BLAKE2B d15c83602e244f8a50e0a9d15869dbd4c7be226d8b1f93249cb6658149ad2408f0feada97403a0dfa3dcd8ac25b98ae084d1d17c879f67ae24d33f8497aba569 SHA512 9c9632590b49cd01ad324641ee296f08442940ab1dda1f0c7cdc77abe6b653f70d0baa9b796ef7d77e1f4728e96fe27fcd42d79a389cfcf2b2427b087b9985af
EBUILD libcxx-4.0.1.ebuild 6453 BLAKE2B 2cab9946b4b79c4fc5310aae7ad32ae21f28a87e3e43c87731fe0542478342c4c7f5587472c39198b43f2a1f61329fc55a9e5c24804a34f70c70236e017eb964 SHA512 b656520a6bf00a73763fdf6f052869c76adb76ae9650d763c6b78a02393202c9bfeadd807ebafd6a071395aa64a0ede464fad0e4c127dfe39720e13342f82fc0
-EBUILD libcxx-5.0.1.ebuild 6453 BLAKE2B 4d79da76e3c2904a443180c37b63d3486b568d1253ba716c5073df76dd72186d9700e16f49f7d4de0bde61e86538f711a77e42e3df9fcce4baf2903eaead5b5c SHA512 af3c95d85528b54f65f814c107ea5ccd5db293d22bac2856af2b11a7ce75fa41bb7169a23434b0138f5e62fe605bbbbcb050dc05c4b4c4bfa9d576a868552dde
EBUILD libcxx-5.0.2.ebuild 6453 BLAKE2B 4d79da76e3c2904a443180c37b63d3486b568d1253ba716c5073df76dd72186d9700e16f49f7d4de0bde61e86538f711a77e42e3df9fcce4baf2903eaead5b5c SHA512 af3c95d85528b54f65f814c107ea5ccd5db293d22bac2856af2b11a7ce75fa41bb7169a23434b0138f5e62fe605bbbbcb050dc05c4b4c4bfa9d576a868552dde
-EBUILD libcxx-6.0.0.ebuild 6699 BLAKE2B 83e6112e8bdc5fc1f86404c2be72b0acb89d251a2f29d098ac1296ff2073a91cdbacc212dc9bbcbaef7c961b15c080cf975f33cb599aebf2e57bcd036d3101be SHA512 7c0eedefdce34ec28e8eed1cf60dd11f510ea3994efe8f01687a46692953f655da8cbc6b2b5b69a3e33e3f895a779ca8d6fadd9ec899e7afd62173549bae34c3
-EBUILD libcxx-6.0.1.ebuild 6699 BLAKE2B 83e6112e8bdc5fc1f86404c2be72b0acb89d251a2f29d098ac1296ff2073a91cdbacc212dc9bbcbaef7c961b15c080cf975f33cb599aebf2e57bcd036d3101be SHA512 7c0eedefdce34ec28e8eed1cf60dd11f510ea3994efe8f01687a46692953f655da8cbc6b2b5b69a3e33e3f895a779ca8d6fadd9ec899e7afd62173549bae34c3
+EBUILD libcxx-6.0.1.ebuild 6697 BLAKE2B 7010901e40846bf0dac039a5cc895ae80080e32f54663106e0cc5a530f1eccc2bd8cef57f35b784ff65ad8a21f926a478d347f7f12a2aa21a9c6b2d36e4cfad3 SHA512 70d8b4510cbeca8982e2f2b52b8a811c1c4ecbcf20e91d8924e85d124d133f24e9c6d296606feb7f7f0a43ea22c817405129e534dee24b974501deab2d3d59ed
EBUILD libcxx-6.0.9999.ebuild 6998 BLAKE2B 643fc6c64242e24038fc2fdca37f916d475539372d9beec9692e0f9afdc0078c4221d0cb6fe35939cb94d3c83c298f56626396d5067cf8fc7157718ab0e0a98c SHA512 85ac1785d3495c7df6e080912ddedabf10c6d7ff3323d1b100172d320f081a94bef0f47502b9914f5428e6391c124c5dfb33e52319204a8084a0a1b8432acf33
+EBUILD libcxx-7.0.9999.ebuild 6998 BLAKE2B 26559e10a9f24e63a388ac4805da0b3c3429b8512806f010feae044165b14b7be0751c20ddb0e464481d43bb636e1eb2dbf4dfdcf3b60d48903d0c92a0f67927 SHA512 179cdf3c66d39d04be26453c83629b19dd266877d4ec5491f6556cbc63a7ac151467a5e37f859b6acbc188706cdc489f10bf8cf4e55567107b88659a0bd08312
EBUILD libcxx-9999.ebuild 6970 BLAKE2B 25154a733062646b8e19da4f38a2ade388140c16b36e4310cdca613d9299a655bbae07a1a476da564c1ef3d32a26f2816533bcd0683051ea104c5711f36e4818 SHA512 91565a2e05a5e48320cc7b7e49ea7722f74a0b80af145a53d9838d84603e51c666fb2a57eceae3231f86e9dde3c051c918286d291a4343c9bd728a7ab429e3f8
MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a
diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild
deleted file mode 100644
index 885f8b131826..000000000000
--- a/sys-libs/libcxx/libcxx-5.0.1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm python-any-r1 toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
- ?? ( libcxxabi libcxxrt )"
-
-RDEPEND="
- libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
- libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
- !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
-# LLVM 4 required for llvm-config --cmakedir
-# clang-3.9.0 installs necessary target symlinks unconditionally
-# which removes the need for MULTILIB_USEDEP
-DEPEND="${RDEPEND}
- test? ( >=sys-devel/clang-3.9.0
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
- app-arch/xz-utils
- >=sys-devel/llvm-4"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
- # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
- # out-of-tree build.
- "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-
- if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
- eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
- eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
- eerror "and try again."
- die
- fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
-}
-
-multilib_src_configure() {
- local cxxabi cxxabi_incs
- if use libcxxabi; then
- cxxabi=libcxxabi
- cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
- elif use libcxxrt; then
- cxxabi=libcxxrt
- cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
- else
- local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
- cxxabi=libsupc++
- cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
- fi
-
- # we want -lgcc_s for unwinder, and for compiler runtime when using
- # gcc, clang with gcc runtime (or any unknown compiler)
- local extra_libs=() want_gcc_s=ON
- if use libunwind; then
- # work-around missing -lunwind upstream
- extra_libs+=( -lunwind )
- # if we're using libunwind and clang with compiler-rt, we want
- # to link to compiler-rt instead of -lgcc_s
- if tc-is-clang; then
- # get the full library list out of 'pretend mode'
- # and grep it for libclang_rt references
- local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) )
- local i
- for i in "${args[@]}"; do
- if [[ ${i} == *libclang_rt* ]]; then
- want_gcc_s=OFF
- extra_libs+=( "${i}" )
- fi
- done
- fi
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
- -DLIBCXX_CXX_ABI=${cxxabi}
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
- # we're using our own mechanism for generating linker scripts
- -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
- -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
- -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
- -DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
- )
-
- if use test; then
- mycmakeargs+=(
- # this can be any directory, it just needs to exist...
- # FIXME: remove this once https://reviews.llvm.org/D25093 is merged
- -DLLVM_MAIN_SRC_DIR="${T}"
- )
- if has_version '>=sys-devel/llvm-6'; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- )
- else
- mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
- )
- fi
- fi
- cmake-utils_src_configure
-}
-
-multilib_src_test() {
- local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
- [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
- sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
- cmake-utils_src_make check-libcxx
-}
-
-# Usage: deps
-gen_ldscript() {
- local output_format
- output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
- [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
- cat <<-END_LDSCRIPT
-/* GNU ld script
- Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
- local libdir=$(get_libdir)
- local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
- # Move it first.
- mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
- # Generate libc++.a ldscript for inclusion of its dependencies so that
- # clang++ -stdlib=libc++ -static works out of the box.
- local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
- # On Linux/glibc it does not link without libpthread or libdl. It is
- # fine on FreeBSD.
- use elibc_glibc && deps+=" libpthread.a libdl.a"
-
- gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
- local libdir=$(get_libdir)
- # libsupc++ doesn't have a shared version
- local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-
- mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
- local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
- gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
- gen_shared_ldscript
- use static-libs && gen_static_ldscript
-}
-
-pkg_postinst() {
- elog "This package (${PN}) is mainly intended as a replacement for the C++"
- elog "standard library when using clang."
- elog "To use it, instead of libstdc++, use:"
- elog " clang++ -stdlib=libc++"
- elog "to compile your C++ programs."
-}
diff --git a/sys-libs/libcxx/libcxx-6.0.1.ebuild b/sys-libs/libcxx/libcxx-6.0.1.ebuild
index 5301d5f1fe6c..b7dda42427a2 100644
--- a/sys-libs/libcxx/libcxx-6.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-6.0.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd"
IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
?? ( libcxxabi libcxxrt )"
diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
index 5301d5f1fe6c..64bc9accf263 100644
--- a/sys-libs/libcxx/libcxx-6.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-7.0.9999.ebuild
@@ -8,18 +8,32 @@ EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
+EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git
+ https://github.com/llvm-mirror/libcxx.git"
+EGIT_BRANCH="release_70"
PYTHON_COMPAT=( python2_7 )
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
+[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
+
+inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \
toolchain-funcs
DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+if [[ ${PV} != *9999 ]] ; then
+ SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
+ S="${WORKDIR}/${P}.src"
+else
+ SRC_URI=""
+fi
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+if [[ ${PV} != *9999 ]] ; then
+ KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+ KEYWORDS=""
+fi
IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
?? ( libcxxabi libcxxrt )"
@@ -38,8 +52,6 @@ DEPEND="${RDEPEND}
app-arch/xz-utils
>=sys-devel/llvm-6"
-S=${WORKDIR}/${P/_/}.src
-
DOCS=( CREDITS.TXT )
PATCHES=(
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index c422198ccf85..ac4dae44a51e 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -2,22 +2,17 @@ AUX libcxxabi-3.9.0-cmake-path.patch 1447 BLAKE2B 95a133fd4ca29fc28865e5d070be4c
AUX libcxxabi-3.9.0-test-unwind.patch 1110 BLAKE2B 575be8dd84b6acb11e3c81f2a207914cf24438a8dc1a102232749a026efbb28bfcd548bda6c75e369f39da48bac478260398b4169a03ee4a96ad6e9b8d77f1d1 SHA512 b4ca3b35bc4e430fc7b7ff6bd6bad0306b30aec193275bc57d840e6643ffcf8cf6696eaf8b560d108f969a548cbb4688ce9d4e1bf649d60a98e7a9e280ed4763
DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a
-DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
-DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
DIST libcxxabi-3.9.1.src.tar.xz 510964 BLAKE2B a6abda1b92473781ea3029169c43547f15c1aa6e0ec6f9692ae633d109e050a6ff82ce8bceb0455375991b85c99784a4f06a568b8c77a4cf2865b9b2861e9595 SHA512 4f5603f1476b759c86d4784728fbdd212c59b30dc56d787c1834bf68a9cd83071fa22658d24e5a58beb94c0c656b0e4457d7da6e3048715dd36bd68380fc336e
DIST libcxxabi-4.0.1.src.tar.xz 515820 BLAKE2B 7d9e0dee4f6cb3eaa22647d959f8bf3d86779f8c51c0738143ba3daca83881daacc0663a1d2463507c8c4b8a1b9e1d5c111b829e5af2cb5b6f86bae8f06a0d47 SHA512 e94315ba8a507d8481d70c33e7ab2d724d51726edb8412c70a1b5f59e3f15d5825f1502dc2db138b20e5293fb90a184050be94d5ac270fd7ce78b502efb9f86a
-DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884
DIST libcxxabi-5.0.2.src.tar.xz 521448 BLAKE2B e7e42908845f692cdb8709955eb46cbc18ee1f4ac9f0224b6e2a6bc2af998415eca5cda03ffcac27ef6a93cde928951bc38503bae9144b634abd17ec46ad96eb SHA512 304c0ef1b2fd26d52dae66013ea0051de4c3cb1e9c8d1308833f34aec1ad288fcfe5d583f00ceb84c8d271c5cd5f868aa135a93f007138d124c01b70c13e842e
-DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e
DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
EBUILD libcxxabi-3.9.1.ebuild 2646 BLAKE2B a1f66067e57f09aca9d2f44735f3c7b01af38b381ecab526f9bae8ffbc5c96856c5a6d8c829b2d95f0a0afffefd319670c8484c826ce81b94a63c51bb53ed114 SHA512 4849fbfe11876cb403d78852abd6df27a0dbeada69c15fd1af6e7a20d742fcca064b227592e3ac69e32546cef94c790f28d63d40c8522213a9910f0b625ea379
EBUILD libcxxabi-4.0.1.ebuild 3328 BLAKE2B 2cc64e780a60b79a5eed18840b3048256a9cd5374abaa61594085587ee120c2ac134287ece9fbc5c58ed947657cd280c32520719e6c4996c2593be20ab19894c SHA512 822b5056c1e62d1dd116349f6cb47fa023a20899a7ef18f91b80e7440ff857d55500bdf8adb9286c1f3f3ba2a45a7a95ba78430b58267e3e70296201951c66d3
-EBUILD libcxxabi-5.0.1.ebuild 3193 BLAKE2B b1157a436e40da0b67d012c903b9a137f3544a404e91a414a3d451be7f1b6c5e0a79c3e424f8c0cbf58b33166332988ecc13ee84a3c5840ad54de7c033770a97 SHA512 1330ec5b22bb11f5e142eea5acf03cbe6f1282a58206de9039453100a5fb72a30d46fe3ac3be6c52ddc07eb4b71486fd1be3e83a15a7ae76fa999fb2660cd908
EBUILD libcxxabi-5.0.2.ebuild 3193 BLAKE2B b1157a436e40da0b67d012c903b9a137f3544a404e91a414a3d451be7f1b6c5e0a79c3e424f8c0cbf58b33166332988ecc13ee84a3c5840ad54de7c033770a97 SHA512 1330ec5b22bb11f5e142eea5acf03cbe6f1282a58206de9039453100a5fb72a30d46fe3ac3be6c52ddc07eb4b71486fd1be3e83a15a7ae76fa999fb2660cd908
-EBUILD libcxxabi-6.0.0.ebuild 3174 BLAKE2B 15e674f92e5388b16ee1e68f4ec99ad2c05fd1e0f80652f0fa1706c8e8303ff501203197e543644223cfd003c97ca99ccc1f7ea96e58be7d8aab8bd000dfb376 SHA512 44e004150486f6d270fec0dfa7f03e2c3a14ecf21d883250044f45ee6b2ea8828c51bda3b1f23dd867cb88acdf3c529a295d7882cde04184527f6fd8531aa1a9
-EBUILD libcxxabi-6.0.1.ebuild 3174 BLAKE2B 15e674f92e5388b16ee1e68f4ec99ad2c05fd1e0f80652f0fa1706c8e8303ff501203197e543644223cfd003c97ca99ccc1f7ea96e58be7d8aab8bd000dfb376 SHA512 44e004150486f6d270fec0dfa7f03e2c3a14ecf21d883250044f45ee6b2ea8828c51bda3b1f23dd867cb88acdf3c529a295d7882cde04184527f6fd8531aa1a9
+EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133
EBUILD libcxxabi-6.0.9999.ebuild 3288 BLAKE2B d43aa5dc53732dbc943b67625d54a4e97c2dc782722922e05f5906056c09345f5dbbeadc50af993e9b04c52218d9da9efb535aeba5e511ae8553549d2c867e1c SHA512 a75f53ab525c011fb834f24cfbe3ba5911e302cb080514146ea0f05fcb06b1cb0b3fa2342ccb3c1ca70873cc6e9fb0e1032479546f99ac85efbb6fa07aa5e3f2
+EBUILD libcxxabi-7.0.9999.ebuild 3288 BLAKE2B 1c2f5f25a232d6e9a34fbb2b93a3d447542d770938fe8e8052a6e4e5e499e95e78033c259c674a1ebb3538577452c709c760f8a258d86c139a3b02857a63ec05 SHA512 add8b1705623bf5e4e6e504995f88cad05d1dbe57d5d803a45c13e49f77e8e45cd2c85e821d27ffc59d1ef8d7a216767f33019c6e8cb13e20f0075b0430f9e1d
EBUILD libcxxabi-9999.ebuild 3263 BLAKE2B 26e1877ef423b0f869b6033601c584599c00f6f46b7296ba213ff080bb060c81995a2be2693b16b73e94c979c46fa5632b0fcf110ba2bc86c1b8f30bb548f74d SHA512 28ee56c5c823aa82e02e7fa680455e425d2ec5c4ae4c98c82a18f7afa1d0a663d22f4a85299fb44c3c10d5367bf33637f68a70516b02c6c206293038a65e22ef
MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703
diff --git a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
deleted file mode 100644
index 758b743df7e5..000000000000
--- a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm python-any-r1
-
-MY_P=${P/_/}.src
-LIBCXX_P=libcxx-${PV/_/}.src
-
-DESCRIPTION="Low level support for a standard C++ library"
-HOMEPAGE="https://libcxxabi.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="+libunwind +static-libs test elibc_musl"
-
-RDEPEND="
- libunwind? (
- || (
- >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
- >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
- )
- )"
-# LLVM 4 required for llvm-config --cmakedir
-DEPEND="${RDEPEND}
- >=sys-devel/llvm-4
- test? ( >=sys-devel/clang-3.9.0
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
- mv "${LIBCXX_P}" libcxx || die
-}
-
-multilib_src_configure() {
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
- -DLIBCXXABI_ENABLE_SHARED=ON
- -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
- -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
- -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
-
- -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
- # upstream is omitting standard search path for this
- # probably because gcc & clang are bundling their own unwind.h
- -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
- )
- if use test; then
- if has_version '>=sys-devel/llvm-6'; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- )
- else
- mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
- )
- fi
- fi
- cmake-utils_src_configure
-}
-
-build_libcxx() {
- local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
- local CMAKE_USE_DIR=${WORKDIR}/libcxx
- local BUILD_DIR=${BUILD_DIR}/libcxx
- local mycmakeargs=(
- -DLIBCXX_LIBDIR_SUFFIX=
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=OFF
- -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
- -DLIBCXX_CXX_ABI=libcxxabi
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
- -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
- -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
- -DLIBCXX_HAS_GCC_S_LIB=OFF
- -DLIBCXX_INCLUDE_TESTS=OFF
- )
-
- cmake-utils_src_configure
- cmake-utils_src_compile
-}
-
-multilib_src_test() {
- local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
-
- [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
- sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
-
- # build a local copy of libc++ for testing to avoid circular dep
- build_libcxx
- mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
-
- cmake-utils_src_make check-libcxxabi
-}
-
-multilib_src_install_all() {
- insinto /usr/include/libcxxabi
- doins -r include/.
-}
diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild
index 5c5a3146b60f..0e684ef4a591 100644
--- a/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd"
IUSE="+libunwind +static-libs test elibc_musl"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild
index 5c5a3146b60f..9d5908494f0d 100644
--- a/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild
@@ -8,19 +8,18 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit cmake-multilib llvm multiprocessing python-any-r1
-
-MY_P=${P/_/}.src
-LIBCXX_P=libcxx-${PV/_/}.src
+inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1
DESCRIPTION="Low level support for a standard C++ library"
HOMEPAGE="https://libcxxabi.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git
+ https://github.com/llvm-mirror/libcxxabi.git"
+EGIT_BRANCH="release_70"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS=""
IUSE="+libunwind +static-libs test elibc_musl"
RESTRICT="!test? ( test )"
@@ -37,8 +36,6 @@ DEPEND="${RDEPEND}
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-S=${WORKDIR}/${MY_P}
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
@@ -52,8 +49,14 @@ pkg_setup() {
}
src_unpack() {
- default
- mv "${LIBCXX_P}" libcxx || die
+ # we need the headers
+ git-r3_fetch "https://git.llvm.org/git/libcxx.git
+ https://github.com/llvm-mirror/libcxx.git"
+ git-r3_fetch
+
+ git-r3_checkout https://llvm.org/git/libcxx.git \
+ "${WORKDIR}"/libcxx ''
+ git-r3_checkout
}
multilib_src_configure() {
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 24f9106092b4..dfb98137079a 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,14 +1,11 @@
AUX 4.0.1/0001-test-Try-to-link-latomic-to-provide-atomics-when-ava.patch 3456 BLAKE2B f8a1de1e63d80f8617c64a52caaae0730e11ba3559dd0cefcd12105be366c88f68c1076f78d2af0c5962eff30de0e9be8115be2c6fc29e7ed98de5176c82c777 SHA512 677d6d7e316d6df028ebed606cde1a4225ed6e06bacbe81cd527acf57c705858ab5aed2f71946c2404336033bfa985dafee2d56423204a59954a80424ca856e0
DIST openmp-4.0.1.src.tar.xz 2275240 BLAKE2B e63cf670c4cd2678afc4d7b96be85c3d157bf91a69510f980d9a0a07f61b449b22ff28d63753f32e63afedb4a7077c662a633f689a660b5047a83bcf1fb7f009 SHA512 0b737dde832c5907a0cac41fe1d594b61e85dd405eee42b39f09233db62b44543204ccc775e52e2981f9c9f0683b234526e288a3a7a04f712280fb3a575abcaf
-DIST openmp-5.0.1.src.tar.xz 2075472 BLAKE2B a4da4726a17dc0fd083e11fe1bebf446978137aa4453000e8fea950021fff091a818246f0817dd60ce67353d3f7d75ab8fec2b9e955389d9c94e195945efda50 SHA512 4493b918fd83ef26e2b3f3429d1b00d722328e4c9697ac7625a390834f6e88ada8e5b02ce0ecb4771129207b1b81a9d171f4599ab9388762a3c6db0afc499ff4
DIST openmp-5.0.2.src.tar.xz 2081560 BLAKE2B fbe41c6aaf4c8e961253609a598bec531ab4685cd8c307ab2528b9d7553eaa38122ee02a2c4d481454f9233c062b3a24bb174a182702a183907a3d15a10a9655 SHA512 511895ca6049c17de81ad86c39dcb940a7c1a793005e16d33e58d72ad47f62b8cb61003c234a7544a88e79f25d2c86e9df834f90d37ccbd4b47f71c369e90437
-DIST openmp-6.0.0.src.tar.xz 2272360 BLAKE2B 2fbbdbbd0262ac3161446a4e7a3079131254f962a5397a94913abff024ba3f66affe419c58fb0f6ab602e338a277ab2befbc4386eaf6d4c11aa4a9713315d562 SHA512 9dfb070a3fae883985e3c8cd357c21a2144b433824139e288d4d3c774dd9cf3f7949978976012b08c644cd4a04be8c65a810c2f33d66eee05d3d980e61413a06
DIST openmp-6.0.1.src.tar.xz 2048320 BLAKE2B 08b3a7051c985903f78331f55a1c6e928399b87c862c43c991e9bf78b66b6e412fc96f202b82c051176dbbe02422f8ceb7414f44ea8f3522f418e515c0f70c62 SHA512 abb956583e5d11d0c6f6d97183c081d658616a74933be884a591eaa3d8c4bb04f08f02016d2c86d7384c7ff1aa44fb949b0d967fc0ff50e3132aaba412e9add8
EBUILD libomp-4.0.1.ebuild 2527 BLAKE2B be262aa449e8d3c2392793b8af597c7d9a02e624f0d57ad8b24ef822bd57f6d243200ccee1022c18dcc52fc2d198d6aa2cfe83a1224f614ce0b2305f3f6bff69 SHA512 ca34a666e1aa6e767cd979866bcdcaf55da75dc8faa80d062e718ceda56576c3ebec88972787ae5dc4532bfdeb2d7f34f233b8c4983bfb1bc89bbd443ac54ac7
-EBUILD libomp-5.0.1.ebuild 2385 BLAKE2B e887b48183a5e2d8f4f5476579ec88f99d0b709ea4136914978014e51b8d63451d62c5216690b908d7e853141266831a560a1802945d88fe5940d30100b6cbdd SHA512 a36ce91d70d506f9baa07f2aca394325e382b794e0797ecdb308eb98fab38079ec8b5ca10d1c7368ec06275b76c1487f581a4196f0499645edab4b34e974a594
EBUILD libomp-5.0.2.ebuild 2392 BLAKE2B 18b10357f48653d53a6a2ff6a8af75721a0fe774646365d730eae0afef6cb277218e79e26a6316ca2d5ff7a604941b46e3f1dd51c1924d69d3eb899356000749 SHA512 254569aaa7d2cd3952b9d9ace4303608a7fd73d174cccc4b69b8be80563b37792cc93273543fb4ca4732fa8f89772c4ce432e0769f42961bdb28f9d51d301481
-EBUILD libomp-6.0.0.ebuild 3260 BLAKE2B 26713e991df85eca976a7c70e3284f0c5eea29335960469bf47d35930cdde475870bd132f699a2626df8dffd98dffac6ed372048b65647be43b827b51879fd2a SHA512 9b98ddaee2715189564386cc005dce152c9fc42bfa4873ccbf6ec5c48d61e4e25aae7d82ff85c960d04e6bf3cf6b67f09c5194298246f1002e9ae36da9b51ac8
-EBUILD libomp-6.0.1.ebuild 3260 BLAKE2B 26713e991df85eca976a7c70e3284f0c5eea29335960469bf47d35930cdde475870bd132f699a2626df8dffd98dffac6ed372048b65647be43b827b51879fd2a SHA512 9b98ddaee2715189564386cc005dce152c9fc42bfa4873ccbf6ec5c48d61e4e25aae7d82ff85c960d04e6bf3cf6b67f09c5194298246f1002e9ae36da9b51ac8
+EBUILD libomp-6.0.1.ebuild 3257 BLAKE2B 44eb78a362f0a88c2096e5dbda7e11f94fa02f08cc5919f533e9f19e09d573d4d9921a3939eebc776b40f777cea5676d270e5e91434bb8430e9d1f445edddba2 SHA512 99d7f400c7ff76cdcdc8609e733baa4b69e3f87a131355da3f353b5e8f244f531717372f146cf57dc6d5230a1be27cecd7e00069780c53c43edfb3152e793ac9
EBUILD libomp-6.0.9999.ebuild 3230 BLAKE2B 41ec1fbba984772804d57665c6a13cfb075045acb8d5d0880d165cfe6dc59a82df8c2ec1e5fe6da02c2ebc861b48b726879bf40e593ea0af046aa281021a7f7a SHA512 71ce8131d2a1108d81282bab1aa08bbe1cc2af4be751110c4e76c65d8eef06befa1070ae3876b48f4285a6c6c2ba8d041dcf9b618987ec6ac21c86353ece92b8
+EBUILD libomp-7.0.9999.ebuild 3230 BLAKE2B 600cece5328bb4dfdf2a4f99f7d3ddd28334e41529f59c6379ea9e1a2a8661abdb14f2cb5b6ec3bc98979fb70e5be1f433fcb63dce5de57d47e955dcae172334 SHA512 84955824d6fc4f8f62cafcaa931940c99b0ee69b9c91fa2102b983a230a22a2a882f1f9d1840888ae317193eff3c9adb7906f68db1de7fcef52880d6c36b1ad6
EBUILD libomp-9999.ebuild 3205 BLAKE2B a8bca945602ba1b5045f473a2caed666242ec3ba75440ec6ef98ebdcf1fbf146c775baf142dfc47f676946b90c0a3cea797d7fdade4565d3467ef7b5b5481001 SHA512 4021e79b4057c3a86ce3f330f8532a3cc566ee64c9894c9f3c2bb402bf37431717105a5601b11c7413e71d965657dbdd6be2d215d4bafaba916fb0b371270cac
MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e
diff --git a/sys-libs/libomp/libomp-5.0.1.ebuild b/sys-libs/libomp/libomp-5.0.1.ebuild
deleted file mode 100644
index ff6a18b94d8b..000000000000
--- a/sys-libs/libomp/libomp-5.0.1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib linux-info python-any-r1
-
-DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
-HOMEPAGE="https://openmp.llvm.org"
-SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz"
-
-# Additional licenses:
-# - MIT-licensed Intel code,
-# - LLVM Software Grant from Intel.
-
-LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x64-macos"
-IUSE="hwloc kernel_linux ompt test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )"
-# tests:
-# - dev-python/lit provides the test runner
-# - sys-devel/llvm provide test utils (e.g. FileCheck)
-# - sys-devel/clang provides the compiler to run tests
-DEPEND="${RDEPEND}
- dev-lang/perl
- test? (
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
- sys-devel/llvm
- >=sys-devel/clang-3.9.0
- )"
-
-S=${WORKDIR}/openmp-${PV/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-kernel_pds_check() {
- if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
- local CONFIG_CHECK="~!SCHED_PDS"
- local ERROR_SCHED_PDS="\
-PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
-< 4.14-pf9) do not implement sched_yield() call which may result in horrible
-performance problems with libomp. If you are using one of the specified
-kernel versions, you may want to disable the PDS scheduler."
-
- check_extra_config
- fi
-}
-
-pkg_pretend() {
- kernel_pds_check
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local libdir="$(get_libdir)"
- local mycmakeargs=(
- -DLIBOMP_LIBDIR_SUFFIX="${libdir#lib}"
- -DLIBOMP_USE_HWLOC=$(usex hwloc)
- -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
- # do not install libgomp.so & libiomp5.so aliases
- -DLIBOMP_INSTALL_ALIASES=OFF
- # disable unnecessary hack copying stuff back to srcdir
- -DLIBOMP_COPY_EXPORTS=OFF
- -DLIBOMP_TEST_COMPILER="$(type -P "${CHOST}-clang")"
- )
- cmake-utils_src_configure
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake-utils_src_make check-libomp
-}
diff --git a/sys-libs/libomp/libomp-6.0.1.ebuild b/sys-libs/libomp/libomp-6.0.1.ebuild
index 1c6bd76b19eb..2e482854edea 100644
--- a/sys-libs/libomp/libomp-6.0.1.ebuild
+++ b/sys-libs/libomp/libomp-6.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz"
LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos"
+KEYWORDS="amd64 arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~x64-macos"
IUSE="cuda hwloc kernel_linux offload ompt test"
# CUDA works only with the x86_64 ABI
REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
diff --git a/sys-libs/libomp/libomp-6.0.0.ebuild b/sys-libs/libomp/libomp-7.0.9999.ebuild
index 1c6bd76b19eb..8c9332ca58e9 100644
--- a/sys-libs/libomp/libomp-6.0.0.ebuild
+++ b/sys-libs/libomp/libomp-7.0.9999.ebuild
@@ -8,11 +8,14 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit cmake-multilib linux-info multiprocessing python-any-r1
+inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1
DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
HOMEPAGE="https://openmp.llvm.org"
-SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/openmp.git
+ https://github.com/llvm-mirror/openmp.git"
+EGIT_BRANCH="release_70"
# Additional licenses:
# - MIT-licensed Intel code,
@@ -20,7 +23,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz"
LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos"
+KEYWORDS=""
IUSE="cuda hwloc kernel_linux offload ompt test"
# CUDA works only with the x86_64 ABI
REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
@@ -45,8 +48,6 @@ DEPEND="${RDEPEND}
>=sys-devel/clang-6
)"
-S=${WORKDIR}/openmp-${PV/_/}.src
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest
index 19bbf8e912b9..b807016813de 100644
--- a/sys-libs/libunwind/Manifest
+++ b/sys-libs/libunwind/Manifest
@@ -4,6 +4,7 @@ AUX libunwind-1.2-coredump-regs.patch 619 BLAKE2B b901d50cb7fa4ab372da26120e512d
AUX libunwind-1.2-ia64-missing.patch 3863 BLAKE2B 384d2afd7d725f0730207b5b32ff4ffcedd852043af83b1884c7dc95116298eff41bd7f997e0ad51c9912b59e36b439eb524d3d4786f2a0a19dff32437e62003 SHA512 e8f65d706839770d993f9801371e1e294a0231c4bfe29b497e4a859567b7f5b6561b0a15d59b1626311e549fe57149046f5a76424a2ad69c521610aaa3019c17
AUX libunwind-1.2-ia64-ptrace-coredump.patch 1445 BLAKE2B 0b4b6b5d7b3cfc8be58c3973b096ceeb19faa84f175a23f2130588351e40f94abf5c53a4eb5813d8b9da7762f032671031d2d637bd2ec445f7e4f9ea9d276773 SHA512 0bab310ff16294d7617077ffa1261fe9c1a6aaeb4339c96918869c4dd9a2b1b73fbe2ebb5c895f1a420ff7922da85cbb44ccfcd69df6e2518c1f2ff64b7b2d76
AUX libunwind-1.2-ia64-undwarf.patch 581 BLAKE2B feed4d06edded9ed27721d3f9530d154d284410f68f0f00c7f8013d1ba506f9860c55707c3b03340eca4954ff63bcde74fe0b4a9c6c1d474305e74884df2653c SHA512 a83dd2d2bea706fb0f57b854015c6f1db882d649e931e12bb1a5524c8176e326d7d4a448f986c9475d1bd4c6e22a0e9a1c813c7a5b47fcd61457806c1f32fe85
+AUX libunwind-1.2.1-arm-__asm__.patch 2350 BLAKE2B de56de0e3bf32cc66d3b9cc85552d063e7844ac3c9fd710d776f2295cc719093baca1320db92ad5c39b93687fe3b9f807005125ace3f163792e5a9f431fad0af SHA512 8a51542afe41a94e084908afa9f8ce4f25ed5b5777744cfe0da7493c68cb74589e3937ba14eb97fe78d839c25e3dcbef0ff93d11975eff34eb1e5ce6cac20fb4
AUX libunwind-1.2.1-fix_version_macros.patch 381 BLAKE2B 77b523a859a66297eb5677e0eedfc511b6e3cae7058b49da2da41b27d1d22d72b9a662f2b20338eaa5166bd5ae414531695f540098a1dfb674e668ed4c683079 SHA512 4178ed205046dbdf0cea6c7004b866f840e4e3b477a88c3a24f4178e4c642f9d0cfbe7c0f79c6408fad95d8f387f55c912022a78fae382d69e80cd4ff41d8bad
AUX libunwind-1.2.1-no-PROTECTED.patch 539 BLAKE2B 86a65116d9179b33ea4737583683d1506072cbf162831ba3193c0c3ed74f7091dea226c2f9cf06387574ae1d15cc1db1627137f0f80adc542fb5534cf8f6254c SHA512 fe76aef28096ccfdb5c290da631efe8f7cbef13fddb415227f97cfe974162d757a3439b542bee0fe225950200f3cec5e7eecf60c60b2584e2a922618b73e2a7b
AUX libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch 1290 BLAKE2B eac40a5cb05fbda00e5dde5b4ecedfa21442cb5481281b8aac45b118d8b8d503bafe69aa9adb93cac9c7e89cb72f8b44bdb7018a09aa4c9d512e20a457c7d78f SHA512 36b76eefdff3ca832696c13b18d9153ca89d5b648c7df11d3c112a85e9ab92e9f124fdbd05d2d9017bd9c5cdc6bbb2de5038918c9f3a2695c8fa3a05835abdb0
@@ -11,4 +12,5 @@ DIST libunwind-1.1.tar.gz 1098603 BLAKE2B c1ef0916c45786dcf820bef164f03e27af29f8
DIST libunwind-1.2.1.tar.gz 780774 BLAKE2B a5be4142e1e4932231023bdec2ab3ecd6b707faf2d32d2b571239252a1d0fb6a273a6a46c4a107db63f74f7b54c0c54cf252b8b79ad53216333ba7bcf63147a1 SHA512 af7c280d2a963779a4a2711887618bc96383011e4e5d52e4085aa7fb351e55e357468f6ff85e66a216f1c6826538f498335a917a5970575c93be74c96316319b
EBUILD libunwind-1.1-r1.ebuild 2444 BLAKE2B ac2eb3bc33f80cfd82cb1600c1f9fff80d7ef7a824ecbd618c1d2e4416a5144b5beb47020e825a778d85ffb0e7f3de9b0909d07162b49ce7ec6e128247639b9d SHA512 d6c4099defbbe27c2a0c7df12299a21be655345b6480a61d3a67dea4dd3f732088b734f28eba4a5ee43ac7323ca6cef45fdba05e9c79d2d8e8b41ef5667299eb
EBUILD libunwind-1.2.1-r1.ebuild 3178 BLAKE2B 1b1f0bb6fe7ba675455fcd33e72cc363aba56d20e0e5b77b338ad7d8ce933d6892e8c694776b30e5308972ce2058ccf6395f5c056731a52959aa9ff18ef902f2 SHA512 ba3e19612ce37a7e069605dd0e78696f39fbdcd7ec963721af9739b4fad00dab18bd6c65fddd5d91bbc25b1294a92caabcef60f53eff23467df76b8df385536a
+EBUILD libunwind-1.2.1-r2.ebuild 3239 BLAKE2B c5bb579c9423b87c229d27548894ea093a111fa5a8597fade1c27a37cc2bc6b1cdabb6264fc917229ce53cc8157f0f4b04a7d52745cecf0c007e423260cbf673 SHA512 95028ec6711e9ca8e693ff48d22e93a23fe4e79a10f9381f53f61c9a1b91f172e13946d6616cc9f6fae21c73aedd8bd14a5609852c30e5f47b7427eac39191e0
MISC metadata.xml 489 BLAKE2B c0a884e7161b62e8548fdf3c8c1d34b24936c71a99fef37713b7c36e0ef3423563e5c98eae8e9748db059645ce85cf972448e0584b1ed92e51c228794e5ed10d SHA512 d7586420e24a7b841cb090ce8dc7bb1c1260a3e2afbc6606d0a974243ca20c0586b4aa3e770b5b98787f8d34b8255846d87550c16f68da6e9d3f55f8b57bde40
diff --git a/sys-libs/libunwind/files/libunwind-1.2.1-arm-__asm__.patch b/sys-libs/libunwind/files/libunwind-1.2.1-arm-__asm__.patch
new file mode 100644
index 000000000000..4b6debabefcf
--- /dev/null
+++ b/sys-libs/libunwind/files/libunwind-1.2.1-arm-__asm__.patch
@@ -0,0 +1,47 @@
+https://bugs.gentoo.org/635674
+
+From ca6b6f3ad9190814ef7869e8c7e73dae0922f647 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Mon, 3 Jul 2017 15:31:10 +0200
+Subject: [PATCH] libunwind-arm: fix build failure due to asm()
+
+mesa3d on ARM build with libunwind support enabled fail to build due to asm()
+function used when building with -std=c99.
+The gcc documentation [1] suggest to use __asm__ instead of asm.
+
+Fixes:
+https://urldefense.proofpoint.com/v2/url?u=http-3A__autobuild.buildroot.net_results_3ef_3efe156b6494e4392b6c31de447ee2c72acc1a53&d=DwICAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vou6lT5jmE_fWQWZZgNrsMWu4RT87QAB9V07tPHlP5U&m=BlAszRQ0vewy5vW7raCh9FmNOACKez_juz55zoiNfUs&s=4sXL6_rFriQz7qi5ygKXBIVHMc7YSdCBnkkHoi347CU&e=
+
+[1] https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#Alternate-Keywords
+
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ include/libunwind-arm.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/libunwind-arm.h b/include/libunwind-arm.h
+index f208487a..1c856faf 100644
+--- a/include/libunwind-arm.h
++++ b/include/libunwind-arm.h
+@@ -265,7 +265,7 @@ unw_tdep_context_t;
+ #ifndef __thumb__
+ #define unw_tdep_getcontext(uc) (({ \
+ unw_tdep_context_t *unw_ctx = (uc); \
+- register unsigned long *unw_base asm ("r0") = unw_ctx->regs; \
++ register unsigned long *unw_base __asm__ ("r0") = unw_ctx->regs; \
+ __asm__ __volatile__ ( \
+ "stmia %[base], {r0-r15}" \
+ : : [base] "r" (unw_base) : "memory"); \
+@@ -273,7 +273,7 @@ unw_tdep_context_t;
+ #else /* __thumb__ */
+ #define unw_tdep_getcontext(uc) (({ \
+ unw_tdep_context_t *unw_ctx = (uc); \
+- register unsigned long *unw_base asm ("r0") = unw_ctx->regs; \
++ register unsigned long *unw_base __asm__ ("r0") = unw_ctx->regs; \
+ __asm__ __volatile__ ( \
+ ".align 2\nbx pc\nnop\n.code 32\n" \
+ "stmia %[base], {r0-r15}\n" \
+--
+2.18.0
+
diff --git a/sys-libs/libunwind/libunwind-1.2.1-r2.ebuild b/sys-libs/libunwind/libunwind-1.2.1-r2.ebuild
new file mode 100644
index 000000000000..eb96d2bf8906
--- /dev/null
+++ b/sys-libs/libunwind/libunwind-1.2.1-r2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-${MY_PV}
+inherit autotools eutils libtool multilib-minimal
+
+DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
+HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
+SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="7"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug debug-frame doc libatomic lzma +static-libs"
+
+RESTRICT="test" # half of tests are broken (toolchain version dependent)
+
+# We just use the header from libatomic.
+RDEPEND="lzma? ( app-arch/xz-utils )"
+DEPEND="${RDEPEND}
+ libatomic? ( dev-libs/libatomic_ops )"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libunwind.h
+
+ # see libunwind.h for the full list of arch-specific headers
+ /usr/include/libunwind-aarch64.h
+ /usr/include/libunwind-arm.h
+ /usr/include/libunwind-hppa.h
+ /usr/include/libunwind-ia64.h
+ /usr/include/libunwind-mips.h
+ /usr/include/libunwind-ppc32.h
+ /usr/include/libunwind-ppc64.h
+ /usr/include/libunwind-sh.h
+ /usr/include/libunwind-tilegx.h
+ /usr/include/libunwind-x86.h
+ /usr/include/libunwind-x86_64.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2-coredump-regs.patch #586092
+ "${FILESDIR}"/${PN}-1.2-ia64-undwarf.patch
+ "${FILESDIR}"/${PN}-1.2-ia64-ptrace-coredump.patch
+ "${FILESDIR}"/${PN}-1.2-ia64-missing.patch
+ "${FILESDIR}"/${PN}-1.2.1-fix_version_macros.patch
+ "${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch
+ "${FILESDIR}"/${PN}-1.2.1-no-PROTECTED.patch #659732
+ "${FILESDIR}"/${PN}-1.2.1-arm-__asm__.patch #635674
+)
+
+src_prepare() {
+ default
+ chmod +x src/ia64/mk_cursor_i || die
+ # Since we have tests disabled via RESTRICT, disable building in the subdir
+ # entirely. This worksaround some build errors too. #484846
+ sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die
+
+ elibtoolize
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # --enable-cxx-exceptions: always enable it, headers provide the interface
+ # and on some archs it is disabled by default causing a mismatch between the
+ # API and the ABI, bug #418253
+ # conservative-checks: validate memory addresses before use; as of 1.0.1,
+ # only x86_64 supports this, yet may be useful for debugging, couple it with
+ # debug useflag.
+ ECONF_SOURCE="${S}" \
+ ac_cv_header_atomic_ops_h=$(usex libatomic) \
+ econf \
+ --enable-cxx-exceptions \
+ --enable-coredump \
+ --enable-ptrace \
+ --enable-setjmp \
+ $(use_enable debug-frame) \
+ $(use_enable doc documentation) \
+ $(use_enable lzma minidebuginfo) \
+ $(use_enable static-libs static) \
+ $(use_enable debug conservative_checks) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ # Bug 586208
+ CCACHE_NODIRECT=1 default
+}
+
+multilib_src_test() {
+ # Explicitly allow parallel build of tests.
+ # Sandbox causes some tests to freak out.
+ SANDBOX_ON=0 emake check
+}
+
+multilib_src_install() {
+ default
+ # libunwind-ptrace.a (and libunwind-ptrace.h) is separate API and without
+ # shared library, so we keep it in any case
+ use static-libs || find "${ED}"usr '(' -name 'libunwind-generic.a' -o -name 'libunwind*.la' ')' -delete
+}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 773c46ccf56b..8b635f22988d 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,17 +1,12 @@
-DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
-DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e
DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
DIST libunwind-4.0.1.src.tar.xz 63388 BLAKE2B f49772beabaa8519a5f8dbbaef9c2d6554468a66b89a5f012946d59f772fe864809a5c95b726bcb4c059ca551a4eb023a88f4fa618756b34fef2058e272467e6 SHA512 8a0552a8ab830010d81420f4b778a3b831bff85b19bcce972958fc30e1ba5a2fa26a3deba499985a43dd7a103690775f6a20e7b3edda55f4eaff3541002d6b59
-DIST libunwind-5.0.1.src.tar.xz 72180 BLAKE2B da1fbb92e9953d018a3c30290ceda9a2a18c21b5c908d9ff65979158bd06b8866eb74f078d12832e2aed7d0332c996262e3b2a1341844eb933ba3de5fb41ff98 SHA512 6c0f7a286c1ffa46769685ee36604cd90ed40470e1c3d3ef03c46bcc9e5f9e36e68a0a1f67b9b300823170b48c9b8d2db4625afd885f1d024905db1dffd9fc49
DIST libunwind-5.0.2.src.tar.xz 72340 BLAKE2B 8a62bd91f6decae1a9a51df19f708fcdf72a6fe6e57a5848c5dd0d36ff2dc64db8a0b3af469cdd5e787b9301f2718df0981f91857ecbc7a5f5d95a1a053652bc SHA512 137c4b269bff053d532a373e9f696ca68ad0bbf606a18dc98597e00fcfc6ce21d74bc2a0c03b96444654d688fa97d544c6f6b70822fcf7e190ed96f193ddc6ba
-DIST libunwind-6.0.0.src.tar.xz 76600 BLAKE2B 7767f3564ef72b6049c5247881e09e6c56ccd24acc1b7a1742476c4d01b2be792afdc73c8138ca5b1549be9b83267e6a7860aa085514d86eac90545219dae835 SHA512 a35e992223f094bdac5f1565806fe485a878f9baf4502e7f3777276f5c11aeff4beee155512b1c687f4471f34acbd50c834e98120093cf2582007422cec7fb2e
DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f
EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386
-EBUILD llvm-libunwind-5.0.1.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf6215f6d964e0a991e389c33af1a1614bc0c0dd404b58141d64513a22709e1755c79f4466b3cf7b43515f623927f766f0 SHA512 cd9740fad0a59488d543fa2af2a2908457180840999d463071bb557d45214e0cf04069f922e90e0a3b3f8144b8966d2f3564c098561a2ae0511264d1eb2b104a
EBUILD llvm-libunwind-5.0.2.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf6215f6d964e0a991e389c33af1a1614bc0c0dd404b58141d64513a22709e1755c79f4466b3cf7b43515f623927f766f0 SHA512 cd9740fad0a59488d543fa2af2a2908457180840999d463071bb557d45214e0cf04069f922e90e0a3b3f8144b8966d2f3564c098561a2ae0511264d1eb2b104a
-EBUILD llvm-libunwind-6.0.0.ebuild 3744 BLAKE2B bd6b480a65c15c7d38043a4267bf1e02435a403a87b3280716e2de1e5dcf3bde6318bf7e361e309c3382b47a690b2a6fc42fd73c5c428ab0c70bbed62ad46ac6 SHA512 3095db45a2689d0a9fa6cc5550f5a897d2de00e3cbd07417e71e52dec301850d90a8e1f9dfd202c9f6485a9941d194704cf69825ff3e6252ebd73d32635c9a17
-EBUILD llvm-libunwind-6.0.1.ebuild 3744 BLAKE2B bd6b480a65c15c7d38043a4267bf1e02435a403a87b3280716e2de1e5dcf3bde6318bf7e361e309c3382b47a690b2a6fc42fd73c5c428ab0c70bbed62ad46ac6 SHA512 3095db45a2689d0a9fa6cc5550f5a897d2de00e3cbd07417e71e52dec301850d90a8e1f9dfd202c9f6485a9941d194704cf69825ff3e6252ebd73d32635c9a17
+EBUILD llvm-libunwind-6.0.1.ebuild 3742 BLAKE2B a2e7fc30c8084cf48c4fd795c78351081cd58408eb8f60fe8c09bf8b87196c9e4fbb471da223f36369a25eecd8cdd6d92abae5cd7544729c50c47c55f0232c6a SHA512 6367327da3e0fae97282370e2762382588daf6e59d9f8ec882d52b974cb9bcd5209dd1f37a7c9e94d15cc411f4212b94b332aac5dd3d652ebb38893f74df8391
EBUILD llvm-libunwind-6.0.9999.ebuild 3885 BLAKE2B 0a6078aeaf1af824ec3924fe5935f3710db2cc3d17bc338feb7c66ad7f478ffa9939e3c2e7c4095bb81923d6253c4806eb886f2309967e0c9f768a4777f87c37 SHA512 9424218fb904b44e796780db42471a52d3f2de7e08077054d5d8d6075ea041bf906a0ac6bc8fc0b6fffb0fcf6de3a543fb3567f4ef33f69f3b77e24ec4991004
+EBUILD llvm-libunwind-7.0.9999.ebuild 3885 BLAKE2B b4b67285b574900596fe96caaa7733569686e2ddf898eb506b509de25895798e5521377c06503c8206517016a11060913399584072758114b9f0ce9c9f00cf66 SHA512 0e47757fb33b1b59cd8d989953b34ec22f01f993ce5e91d3390551a6b8b83df7678c4e747f297dbd1c76a21f99d1a1309b024b754d60e9b8fe8b3e606bc3cec0
EBUILD llvm-libunwind-9999.ebuild 3860 BLAKE2B 177f9e223b61e3bd3a6fec78ff0b3d2efa1220228d55f78eb41a200518441d8b617998f13642338e91ff3f56dd224c1e1382df5031060c1783440ad20223d069 SHA512 b0cdcbe531188ffa9f7e294136a9238a79441b0768144116784fbf3e647b3fef11eb6a4e5569f08e7e7092d4aec46843c15a1c2b3b96ec63ee64028a0fb29c83
MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-5.0.1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-5.0.1.ebuild
deleted file mode 100644
index 22e26e7dbe57..000000000000
--- a/sys-libs/llvm-libunwind/llvm-libunwind-5.0.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-inherit cmake-multilib llvm
-
-DESCRIPTION="C++ runtime stack unwinder from LLVM"
-HOMEPAGE="https://github.com/llvm-mirror/libunwind"
-SRC_URI="https://releases.llvm.org/${PV/_//}/libunwind-${PV/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="debug +static-libs"
-
-RDEPEND="!sys-libs/libunwind"
-# LLVM 4 required for llvm-config --cmakedir
-DEPEND=">=sys-devel/llvm-4"
-
-S=${WORKDIR}/libunwind-${PV/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-multilib_src_configure() {
- local libdir=$(get_libdir)
-
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
- -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
- -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
- )
-
- cmake-utils_src_configure
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # install headers like sys-libs/libunwind
- doheader "${S}"/include/*.h
-}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild
index a276429001f4..ad6cf07f0b7e 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd"
IUSE="debug +static-libs test"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild
index a276429001f4..377bafe2462b 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild
@@ -7,22 +7,18 @@ EAPI=6
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-inherit cmake-multilib llvm multiprocessing python-any-r1
-
-MY_P=libunwind-${PV/_/}.src
-LIBCXX_P=libcxx-${PV/_/}.src
-LIBCXXABI_P=libcxxabi-${PV/_/}.src
+inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1
DESCRIPTION="C++ runtime stack unwinder from LLVM"
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- test? (
- https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz
- https://releases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/libunwind.git
+ https://github.com/llvm-mirror/libunwind.git"
+EGIT_BRANCH="release_70"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd"
+KEYWORDS=""
IUSE="debug +static-libs test"
RESTRICT="!test? ( test )"
@@ -33,8 +29,6 @@ DEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-S=${WORKDIR}/${MY_P}
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
@@ -47,12 +41,21 @@ pkg_setup() {
}
src_unpack() {
- default
+ if use test; then
+ git-r3_fetch "https://git.llvm.org/git/libcxx.git
+ https://github.com/llvm-mirror/libcxx.git"
+ git-r3_fetch "https://git.llvm.org/git/libcxxabi.git
+ https://github.com/llvm-mirror/libcxxabi.git"
+ fi
+ git-r3_fetch
if use test; then
- mv "${LIBCXX_P}" libcxx || die
- mv "${LIBCXXABI_P}" libcxxabi || die
+ git-r3_checkout https://llvm.org/git/libcxx.git \
+ "${WORKDIR}"/libcxx
+ git-r3_checkout https://llvm.org/git/libcxxabi.git \
+ "${WORKDIR}"/libcxxabi
fi
+ git-r3_checkout
}
multilib_src_configure() {
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index a7a6d07cf6f8..cf63e4c81f65 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -2,9 +2,7 @@ AUX ldconfig.in 2552 BLAKE2B c94f9900e8582d707519171c4b61079c801b60c555677b1740b
DIST getconf.c 11614 BLAKE2B ba49a573fc16d51780a0b0b81fbf7b64a1142f1dbad203c9609a59b6b07e7404f676c415383ae88c0aede95694821f6ee381bffd93cc3330501e17dc07d122bd SHA512 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d
DIST getent.c 9438 BLAKE2B dc20353583c10a001bd8fe8474f32b70254dc56da186d1cdbaf4081570c3d7a10497024da5815a485fc4728adc9eebd270aec99ba93b7546b38c728978e3e00b SHA512 b35de9847353b273516162ed4828a810c6130fc5b7de44ee4433003b3f99647b25792d9b1c40dfc67069add11f3fb850e5c35d4f1912dccac108059bbbdfd5a2
DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b2146979c551f714954dbd465462a171837c59b6ea027e0206458a2df0f977e45f01be3ce48 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf
-DIST musl-1.1.18.tar.gz 936274 BLAKE2B 981be737026eddb4527507ec9975531dba25d165b0b064076cc3a900bdf98c3d25ee130a3d615e4b9635ef3ffcc256bf00d21180eb8d04b61d9ec8b6bc531fb6 SHA512 4d55c92efe41dfdd9fff6aca5dda76a632a3be60d10e5a7f66a4731d8f7040fb0a20b998965ba4d069b4f8a3527fcd7388e646cb66afc649c4d0cc6c3d358c9c
DIST musl-1.1.19.tar.gz 960319 BLAKE2B 3e69de2ed9384fe200bb64e603f342a930acf035cf7bac8fe3cd4225800424207df2b73fe6fabf3147fc8023a655839c33f50c0be8e30f51f76b84aba4de30b5 SHA512 abee52d53af4b3c14c9088866c911a24d2b6ef67dc494f38a7a09dfe77250026f77528c24c52469c89cffa8ced2f0fa95badbdcf8d4460c90faba47e3927bcc5
-EBUILD musl-1.1.18.ebuild 3046 BLAKE2B dd3ec79934c99b2bbe10d34d6efabe818fc1e94320fd44779a1ad6394e16bac0ac077742cab1c7ceaf554ab74d9825386d63cae95814ec564e5f92636fb52fcf SHA512 6bc48fad1aea48f7cc153cb82ee0cb1b08bc396f66ef6731fcf5e668e58a4154d2f404ed197b6be6c26449f71bd3479c0f52ccb51984ff9af45d04cbf4c47f1c
-EBUILD musl-1.1.19.ebuild 3046 BLAKE2B dd3ec79934c99b2bbe10d34d6efabe818fc1e94320fd44779a1ad6394e16bac0ac077742cab1c7ceaf554ab74d9825386d63cae95814ec564e5f92636fb52fcf SHA512 6bc48fad1aea48f7cc153cb82ee0cb1b08bc396f66ef6731fcf5e668e58a4154d2f404ed197b6be6c26449f71bd3479c0f52ccb51984ff9af45d04cbf4c47f1c
-EBUILD musl-9999.ebuild 3050 BLAKE2B 335b607d9582f68fbe58fbad77f4e23a17dfbf69af214560f7195bb7480946fc9f77cd1f608f465942793488347eafc69a890da90c96720494fbb87bf92103da SHA512 573aa0de46f552ee99cca7621fdcedb000e2ddaab25f84fd5222aff399070914765ab69f29c03b9adde37050464ed1beb518016b4a2f32037a4d126c53f59050
+EBUILD musl-1.1.19.ebuild 3052 BLAKE2B 5ef489e0ed841a692375c06e85b304eefc046dfe91cd15b9255208ebc34ef571bd8d32074fa0e7babae1d93497e3b5d46295e74e3fd33eab6210d2f08b04c848 SHA512 1eb90564e0f0939fff635a48799c992e8301911a5c1382e0a20975a149eec6bcc5a3f79e3ac51f5e8bcd5ee7bd22bc01aa28ee378be7b684a1c0235af2d6ef0d
+EBUILD musl-9999.ebuild 3057 BLAKE2B 0d689b80a869101edc855978b619d4e668f11886122294f242e27093647c64388c9481fc3d50303ceadeafc6ea37f9e29682e04e2bde0f82da59834bf97ebbcb SHA512 11ee3bc218c99a891c62d7efe4de1fedf650b1614a117c62b9d1469e5c8ffc448385533b5ff9320dc838e7ed8ccd9d5dce24f8fd46787c1f6f027dd54685d348
MISC metadata.xml 452 BLAKE2B f6d26f456e1a1005b0103c6921d59504dcacddfaf9ec3c788f6f626df670ec7e979a8a66626d7de24d0b850651bf095610c191d520b67915a701bf8564189fc4 SHA512 676d8122179a5cb56e0b9c7aeb7f0aec8c19b5d7b604a19c9ee01aeca837a74cc4284e87cc743d0eaf527f0c79afdfeb1f238c204a8a6c1c5590b2718bbc9b03
diff --git a/sys-libs/musl/musl-1.1.18.ebuild b/sys-libs/musl/musl-1.1.18.ebuild
deleted file mode 100644
index e36e21994580..000000000000
--- a/sys-libs/musl/musl-1.1.18.ebuild
+++ /dev/null
@@ -1,118 +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 multilib toolchain-funcs
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="git://git.musl-libc.org/musl"
- inherit git-r3
- SRC_URI="
- https://dev.gentoo.org/~blueness/musl-misc/getconf.c
- https://dev.gentoo.org/~blueness/musl-misc/getent.c
- https://dev.gentoo.org/~blueness/musl-misc/iconv.c"
- KEYWORDS=""
-else
- SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz
- https://dev.gentoo.org/~blueness/musl-misc/getconf.c
- https://dev.gentoo.org/~blueness/musl-misc/getent.c
- https://dev.gentoo.org/~blueness/musl-misc/iconv.c"
- KEYWORDS="-* amd64 arm ~mips ppc x86"
-fi
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety"
-HOMEPAGE="http://www.musl-libc.org/"
-LICENSE="MIT LGPL-2 GPL-2"
-SLOT="0"
-IUSE="headers-only"
-
-QA_SONAME="/usr/lib/libc.so"
-QA_DT_NEEDED="/usr/lib/libc.so"
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- use headers-only && is_crosscompile
-}
-
-pkg_setup() {
- if [ ${CTARGET} == ${CHOST} ] ; then
- case ${CHOST} in
- *-musl*) ;;
- *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
- esac
- fi
-}
-
-src_configure() {
- tc-getCC ${CTARGET}
- just_headers && export CC=true
-
- local sysroot
- is_crosscompile && sysroot=/usr/${CTARGET}
- ./configure \
- --target=${CTARGET} \
- --prefix=${sysroot}/usr \
- --syslibdir=${sysroot}/lib \
- --disable-gcc-wrapper || die
-}
-
-src_compile() {
- emake obj/include/bits/alltypes.h
- just_headers && return 0
-
- emake
- if [[ ${CATEGORY} != cross-* ]] ; then
- $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getconf.c -o "${T}"/getconf || die
- $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getent.c -o "${T}"/getent || die
- $(tc-getCC) ${CFLAGS} "${DISTDIR}"/iconv.c -o "${T}"/iconv || die
- fi
-}
-
-src_install() {
- local target="install"
- just_headers && target="install-headers"
- emake DESTDIR="${D}" ${target}
- just_headers && return 0
-
- # musl provides ldd via a sym link to its ld.so
- local sysroot
- is_crosscompile && sysroot=/usr/${CTARGET}
- local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*)
- dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
-
- if [[ ${CATEGORY} != cross-* ]] ; then
- local arch=$("${D}"usr/lib/libc.so 2>&1 | sed -n '1s/^musl libc (\(.*\))$/\1/p')
- [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die
- cp "${FILESDIR}"/ldconfig.in "${T}" || die
- sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
- into /
- dosbin "${T}"/ldconfig
- into /usr
- dobin "${T}"/getconf
- dobin "${T}"/getent
- dobin "${T}"/iconv
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
- doenvd "${T}"/00musl || die
- fi
-}
-
-pkg_postinst() {
- is_crosscompile && return 0
-
- [ "${ROOT}" != "/" ] && return 0
-
- ldconfig || die
- # reload init ...
- /sbin/telinit U 2>/dev/null
-}
diff --git a/sys-libs/musl/musl-1.1.19.ebuild b/sys-libs/musl/musl-1.1.19.ebuild
index e36e21994580..9c2f1c169cfd 100644
--- a/sys-libs/musl/musl-1.1.19.ebuild
+++ b/sys-libs/musl/musl-1.1.19.ebuild
@@ -17,7 +17,7 @@ else
https://dev.gentoo.org/~blueness/musl-misc/getconf.c
https://dev.gentoo.org/~blueness/musl-misc/getent.c
https://dev.gentoo.org/~blueness/musl-misc/iconv.c"
- KEYWORDS="-* amd64 arm ~mips ppc x86"
+ KEYWORDS="-* amd64 arm arm64 ~mips ppc x86"
fi
export CBUILD=${CBUILD:-${CHOST}}
diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild
index 991afd750a8f..c9d12c961923 100644
--- a/sys-libs/musl/musl-9999.ebuild
+++ b/sys-libs/musl/musl-9999.ebuild
@@ -17,7 +17,7 @@ else
https://dev.gentoo.org/~blueness/musl-misc/getconf.c
https://dev.gentoo.org/~blueness/musl-misc/getent.c
https://dev.gentoo.org/~blueness/musl-misc/iconv.c"
- KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~x86"
fi
export CBUILD=${CBUILD:-${CHOST}}