diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-08-04 08:53:53 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-08-04 08:53:53 +0100 |
commit | e3872864be25f7421015bef2732fa57c0c9fb726 (patch) | |
tree | 9cb29a544215119b5c5538e37211b994ce1c87ae /sys-libs | |
parent | 480486b52ea64765faf696c88b2c6a26a5a454d4 (diff) |
gentoo resync : 04.08.2018
Diffstat (limited to 'sys-libs')
46 files changed, 1740 insertions, 1008 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex cfa422dfc493..75919df23223 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz 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}} |