From 586819755b4dbfdffdc8a725ab7c0f86095b8489 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 15 Sep 2018 17:37:09 +0100 Subject: gentoo resync : 15.09.2018 --- sys-libs/Manifest.gz | Bin 15931 -> 15930 bytes sys-libs/compiler-rt-sanitizers/Manifest | 6 +- .../compiler-rt-sanitizers-7.0.0_rc2.ebuild | 174 --- .../compiler-rt-sanitizers-7.0.0_rc3.ebuild | 174 +++ sys-libs/compiler-rt/Manifest | 4 +- sys-libs/compiler-rt/compiler-rt-7.0.0_rc2.ebuild | 109 -- sys-libs/compiler-rt/compiler-rt-7.0.0_rc3.ebuild | 109 ++ sys-libs/efivar/Manifest | 2 + sys-libs/efivar/efivar-36.ebuild | 38 + sys-libs/glibc/Manifest | 7 +- sys-libs/glibc/glibc-2.19-r1.ebuild | 164 --- sys-libs/glibc/glibc-2.19-r2.ebuild | 4 +- sys-libs/glibc/glibc-2.27-r4.ebuild | 1416 ------------------- sys-libs/glibc/glibc-2.27-r5.ebuild | 1418 -------------------- sys-libs/ldb/Manifest | 8 +- sys-libs/ldb/ldb-1.3.4.ebuild | 103 -- sys-libs/ldb/ldb-1.3.6.ebuild | 103 ++ sys-libs/ldb/ldb-1.4.1.ebuild | 105 -- sys-libs/ldb/ldb-1.5.0.ebuild | 105 -- sys-libs/libcxx/Manifest | 4 +- sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild | 209 --- sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild | 209 +++ sys-libs/libcxxabi/Manifest | 6 +- sys-libs/libcxxabi/libcxxabi-7.0.0_rc2.ebuild | 119 -- sys-libs/libcxxabi/libcxxabi-7.0.0_rc3.ebuild | 119 ++ sys-libs/libomp/Manifest | 4 +- sys-libs/libomp/libomp-7.0.0_rc2.ebuild | 115 -- sys-libs/libomp/libomp-7.0.0_rc3.ebuild | 115 ++ sys-libs/librtas/Manifest | 2 +- sys-libs/librtas/librtas-2.0.2.ebuild | 2 +- sys-libs/llvm-libunwind/Manifest | 8 +- .../llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild | 143 -- .../llvm-libunwind/llvm-libunwind-7.0.0_rc3.ebuild | 143 ++ sys-libs/musl/Manifest | 2 + sys-libs/musl/musl-1.1.20.ebuild | 118 ++ 35 files changed, 1155 insertions(+), 4212 deletions(-) delete mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc2.ebuild create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc3.ebuild delete mode 100644 sys-libs/compiler-rt/compiler-rt-7.0.0_rc2.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-7.0.0_rc3.ebuild create mode 100644 sys-libs/efivar/efivar-36.ebuild delete mode 100644 sys-libs/glibc/glibc-2.19-r1.ebuild delete mode 100644 sys-libs/glibc/glibc-2.27-r4.ebuild delete mode 100644 sys-libs/glibc/glibc-2.27-r5.ebuild delete mode 100644 sys-libs/ldb/ldb-1.3.4.ebuild create mode 100644 sys-libs/ldb/ldb-1.3.6.ebuild delete mode 100644 sys-libs/ldb/ldb-1.4.1.ebuild delete mode 100644 sys-libs/ldb/ldb-1.5.0.ebuild delete mode 100644 sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild create mode 100644 sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild delete mode 100644 sys-libs/libcxxabi/libcxxabi-7.0.0_rc2.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-7.0.0_rc3.ebuild delete mode 100644 sys-libs/libomp/libomp-7.0.0_rc2.ebuild create mode 100644 sys-libs/libomp/libomp-7.0.0_rc3.ebuild delete mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc3.ebuild create mode 100644 sys-libs/musl/musl-1.1.20.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 88e3bdf1f90b..e4a69c5ad664 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 9fb8747628a3..431246ff1fba 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -3,17 +3,17 @@ AUX 9999/0002-test-Support-using-libtirpc-on-Linux.patch 4161 BLAKE2B 3db2dcebf7 DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963 -DIST compiler-rt-7.0.0rc2.src.tar.xz 1817604 BLAKE2B 27a0ab220eb40a50db6f2782f1faf249c21b79c71447d88d4dcd04653c77516ecc832a8e53ea9a3e6f5b2d3c0115ab325101f94b53987a520fc92899adff0f79 SHA512 e41c849e2d6e6786d5aa74872cbfa9774cd3bef003c1fcba91d8bebb6d4df55b3f161cb059fa124e74ca5e16f2c856e95359bedb8a18ec124da79897523266f7 +DIST compiler-rt-7.0.0rc3.src.tar.xz 1814052 BLAKE2B ed469f5b23b009622af9043130227b4b79be48525b93011dc1c6d5ece66394bdf4418ee67fde08b920b49a2c95b4e908606096af1e67a0f5114016f778d0d9ec SHA512 005283405e29ef29a298b82e64378445979c66c75051f45cb659fabd3e5d4a263416b0b9dbac504450ca46709f58efb3e528273253089ed6879411c902a181c9 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.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9 -DIST llvm-7.0.0rc2.src.tar.xz 28320756 BLAKE2B 92707da30fe73a6dec2614acceada06560332d3b54edeae5047543f23808cf13b24aecc9c853ccbc3341951e1fbceff85509465aa6207275fc54c75f94baff55 SHA512 4211fdbd2278ed325d3f6a1f1fa706351e768e2cd1445abf6664bed39b7b5d0c5e04514711d627f9ae1e271300f410635bb54ba004a5bece0d68450d3a1b52e4 +DIST llvm-7.0.0rc3.src.tar.xz 28322024 BLAKE2B 5b034208d9b2b4f1f02466bd446be79b5cacede952f77c1ff1d302a4254410f83420b42ffedbb26c2a87102fdd5dedc37183afe2b8bc23e6b6db01bad3e1d0c9 SHA512 8a19d6cad7bf485d3800ed41a2aadaa3b60eb75c31e984b277756cc5c5eb1a39f12d554d71614d3781cd7f1c85e39de40d9062b77a5299b8ba9659d91bd4c0f7 EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4778 BLAKE2B 5689080c9783d288206a9a7f4d8cee487ef73a951d95baf7083719c89239b299a7cb71361e060876a7564701c353a857e9a640ff5e8f5054d76c6ede66523b5e SHA512 937fab2e9791bd122005469704e5cbbc8907d0f52cb277d779bd93451178e49c8f369be0dec5bff22338a7ed3920f0e125337e9ede02c957c123f968b69ec442 EBUILD compiler-rt-sanitizers-5.0.2.ebuild 5095 BLAKE2B 0f3348e8800d24d01231b2460025eb83a3211c44fd2987a0b0d4361372fe4af5695a131886d55029459121e8952e394c526120f12212d20a8a5c995847a04cb0 SHA512 cf13df0bad1be887c621c16f12639e385fff395985007b17a1bf14b00f0dd9dfd609e83287fc890f105d2bd586b3457b1efe3b6f687096a205b1a96f3fd1139e EBUILD compiler-rt-sanitizers-6.0.1.ebuild 5248 BLAKE2B 02cd036059dc9a038a440dfc356f4b5a9d7bf2ec68790d95d391f05ec62404ecbcf422082d005a9b6a23f16e2500bdcb3bd606f2f5bc53ee04cfe3724caa0771 SHA512 22527b482c1e8fe80273de88e4bcef4fbdba7000149ab31e63fab6bd8b75587eed5ac5b01aaf1c257decfb9af96b3256f19dc462ca84ee5cbf40655328851337 -EBUILD compiler-rt-sanitizers-7.0.0_rc2.ebuild 5082 BLAKE2B e75c11a43986c477c5fc33e1d209e1380746fa732fecf604d0bbc7b96914ce178928978cc14160bf5a2a0c79de0f4915d1a7bc574079ef2f6c010cc5746898a4 SHA512 c27eddb4e4ed387a06cb75735425ba8cc85e2c4023a427c67142c920715595759cea87044d110788db9882d663d9a552cef5a691d498042afd3ba1e26f93ddaf +EBUILD compiler-rt-sanitizers-7.0.0_rc3.ebuild 5082 BLAKE2B e75c11a43986c477c5fc33e1d209e1380746fa732fecf604d0bbc7b96914ce178928978cc14160bf5a2a0c79de0f4915d1a7bc574079ef2f6c010cc5746898a4 SHA512 c27eddb4e4ed387a06cb75735425ba8cc85e2c4023a427c67142c920715595759cea87044d110788db9882d663d9a552cef5a691d498042afd3ba1e26f93ddaf EBUILD compiler-rt-sanitizers-7.0.9999.ebuild 5105 BLAKE2B 9fe96037e941ef66c33efcef3ae66d9637417019fab4f2f4aaf137b2af0dbd9a8f6d9a4a24d964a82e35690e4bdcb30a15235a5f942963bdc8c293858b17017d SHA512 2df132a87b693becd3f6d0367b8c24854cd794c24b543bbbde7d8ae5d496b706cfb8e26c1b53ac9f5cf9f9efd6e376ef6834793d79f3f29c5ff28b799e483f81 EBUILD compiler-rt-sanitizers-9999.ebuild 5080 BLAKE2B 81bd8cd6d8f1c13077cb15373b84293d76e77bb1600213d5c9a9a5f14a05a10248ce537a6e570960132e50b41519accd5142f9bb65f193fbe1b03edc8734b2fe SHA512 b9f83d788475fb9f12ad7d52218ede55de002d61f01e64874082aa266e0dda30c8411eb1cc6dc3a1271841e44b61d7305873904e093c9dc96312079686664f1e MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc2.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc2.ebuild deleted file mode 100644 index 772234d377c1..000000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc2.ebuild +++ /dev/null @@ -1,174 +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 \ - 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://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz - test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="${PV%_*}" -KEYWORDS="" -IUSE="+clang test elibc_glibc" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - net-libs/libtirpc - >=sys-devel/llvm-6 - clang? ( sys-devel/clang ) - test? ( - !=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 - - # apply the fixes for new glibc / split tirpc - eapply "${FILESDIR}/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" - eapply "${FILESDIR}/9999/0002-test-Support-using-libtirpc-on-Linux.patch" - - if use test; then - # remove tests that are (still) broken by new glibc - # 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 - 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_LIBFUZZER=ON - -DCOMPILER_RT_BUILD_PROFILE=ON - -DCOMPILER_RT_BUILD_SANITIZERS=ON - -DCOMPILER_RT_BUILD_XRAY=ON - ) - if use test; then - mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - # 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-7.0.0_rc3.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..772234d377c1 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0_rc3.ebuild @@ -0,0 +1,174 @@ +# 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 \ + 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://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz + test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="${PV%_*}" +KEYWORDS="" +IUSE="+clang test elibc_glibc" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + net-libs/libtirpc + >=sys-devel/llvm-6 + clang? ( sys-devel/clang ) + test? ( + !=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 + + # apply the fixes for new glibc / split tirpc + eapply "${FILESDIR}/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" + eapply "${FILESDIR}/9999/0002-test-Support-using-libtirpc-on-Linux.patch" + + if use test; then + # remove tests that are (still) broken by new glibc + # 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 + 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_LIBFUZZER=ON + -DCOMPILER_RT_BUILD_PROFILE=ON + -DCOMPILER_RT_BUILD_SANITIZERS=ON + -DCOMPILER_RT_BUILD_XRAY=ON + ) + if use test; then + mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + # 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/Manifest b/sys-libs/compiler-rt/Manifest index afe05f5a7b39..997f16541f87 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,11 +1,11 @@ DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963 -DIST compiler-rt-7.0.0rc2.src.tar.xz 1817604 BLAKE2B 27a0ab220eb40a50db6f2782f1faf249c21b79c71447d88d4dcd04653c77516ecc832a8e53ea9a3e6f5b2d3c0115ab325101f94b53987a520fc92899adff0f79 SHA512 e41c849e2d6e6786d5aa74872cbfa9774cd3bef003c1fcba91d8bebb6d4df55b3f161cb059fa124e74ca5e16f2c856e95359bedb8a18ec124da79897523266f7 +DIST compiler-rt-7.0.0rc3.src.tar.xz 1814052 BLAKE2B ed469f5b23b009622af9043130227b4b79be48525b93011dc1c6d5ece66394bdf4418ee67fde08b920b49a2c95b4e908606096af1e67a0f5114016f778d0d9ec SHA512 005283405e29ef29a298b82e64378445979c66c75051f45cb659fabd3e5d4a263416b0b9dbac504450ca46709f58efb3e528273253089ed6879411c902a181c9 EBUILD compiler-rt-4.0.1.ebuild 4144 BLAKE2B a89fa2681b1254b285aeab803103860efddb6990b33bbe725fe52f7ebba5652f4ba9ecebbced1f63adc84dac4dc7dd26b10a6e7863169bc08f8e95cc2ba868fa SHA512 f14a4a61cc42a37d62e6662aeb95c8d2c3534b0ffbee57cf788ce1df62ab1387af76e90a2d79708c50b8b70d073b00298b0d31c71e8d69e11f2e9204dcbaca4e EBUILD compiler-rt-5.0.2.ebuild 2840 BLAKE2B 4c6e6ca121bad66f69f272a1ddc8a5153196c8f2608da08b5326e264842fe60ae8a4cb1aa98e2907b141068e5af997fe81ae13708dfd148f8676bebf18b894d2 SHA512 3fcea6a7045c1dc666ad6cd9c575b1ba931719bf31457f7493bb7b9c7950bca8e1c5eb8ce4342c1098250d0c126e85ba86b56724b17a3f6bb43c2846fb765a1f EBUILD compiler-rt-6.0.1.ebuild 2911 BLAKE2B 9ee423b460c62366af5525ab3b32cd2980aff78331a65b5658a50e0f808c9cb694d2e5d85bd753d291e1b5f96ab9e6cbc6a6d9f0cddcd9f7f8521ed5280f8291 SHA512 ecce0303d9db8ec0c74b3d0b248547402c32b7bceef52a5bb999f076c8fa82e209d5d113e6c14a1511e99dbf04bfd4d79077da1c010d9069a1bd284a168b26e0 -EBUILD compiler-rt-7.0.0_rc2.ebuild 2834 BLAKE2B 48508cc08d2fb0d1cbc4b75e119c53fb6ae9e7560a4cf37f6d6bbc94d81b29f9decccf21e974458682407f69e601f92cff460841bc32ccf16c1f18eb29298911 SHA512 f29090cc27290ae36dae5497593e0bb13fbd957caa2181cc50f748847350428501b609fac6cb42f7d3e5bfad50740a3a89b115af954176ce24288e4e33e76ed2 +EBUILD compiler-rt-7.0.0_rc3.ebuild 2834 BLAKE2B 48508cc08d2fb0d1cbc4b75e119c53fb6ae9e7560a4cf37f6d6bbc94d81b29f9decccf21e974458682407f69e601f92cff460841bc32ccf16c1f18eb29298911 SHA512 f29090cc27290ae36dae5497593e0bb13fbd957caa2181cc50f748847350428501b609fac6cb42f7d3e5bfad50740a3a89b115af954176ce24288e4e33e76ed2 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-7.0.0_rc2.ebuild b/sys-libs/compiler-rt/compiler-rt-7.0.0_rc2.ebuild deleted file mode 100644 index 18534286565d..000000000000 --- a/sys-libs/compiler-rt/compiler-rt-7.0.0_rc2.ebuild +++ /dev/null @@ -1,109 +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 multiprocessing \ - python-any-r1 toolchain-funcs - -DESCRIPTION="Compiler runtime library for clang (built-in part)" -HOMEPAGE="https://llvm.org/" -SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="${PV%_*}" -KEYWORDS="" -IUSE="+clang test" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - 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_LIBFUZZER=OFF - -DCOMPILER_RT_BUILD_PROFILE=OFF - -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 - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - -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-7.0.0_rc3.ebuild b/sys-libs/compiler-rt/compiler-rt-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..18534286565d --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-7.0.0_rc3.ebuild @@ -0,0 +1,109 @@ +# 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 multiprocessing \ + python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="${PV%_*}" +KEYWORDS="" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + 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_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + -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/efivar/Manifest b/sys-libs/efivar/Manifest index 1162790ba07f..952f24a75aa0 100644 --- a/sys-libs/efivar/Manifest +++ b/sys-libs/efivar/Manifest @@ -3,9 +3,11 @@ DIST efivar-30.tar.bz2 73202 BLAKE2B 6b146cb6d664e3419361e72ab6fd1578522e7fc2196 DIST efivar-31.tar.bz2 82404 BLAKE2B d339aa8ab7dcd6a60cb067fccfbc2c42407fba211ca96eb39f227d57e9403462505940f427651dfaffa8272c9edfe70898f181b9f6ecddbae4745eb3262de949 SHA512 5055f690fd99cf59895dcf3d11103494d917d4923567626f0bee816ea5e4dd56cec23627ede5f21bdc57b7306522471ad19cc8ab22ae94591dbd1925c084f163 DIST efivar-32.tar.gz 108102 BLAKE2B 7f9d27433b40ec6c044ab34ccc697001ad23e39a46862d2e04db0f9a3dfc26ae53b46a3c3a8c957bf76df0969710f78249f72f7bf38e67c0aa902034a07acf8f SHA512 e73eae182fd645183dfe587591a286670ee1123a113e3e19e4070fb910ab7794e320defdc0597540df7664947f2a0497abbb763a19b4dfa40511a512c7f3e490 DIST efivar-35.tar.bz2 95528 BLAKE2B c936114aade7a586f707af2464d350703234e0c3fb786fb568590737fb3939c3f74ff813f4f188aec230d75e75e73b0d07cbff5860f0b9f1285d2780b29c7689 SHA512 c7ba60b2112053f088ad0b74aaa834860601b7fe17118c35b012050176f5205d948fba9c4b6de35991249f702e3bc24832539e2eb3c235c4188e1eabc78965ee +DIST efivar-36.tar.bz2 105928 BLAKE2B bcaff4e81d7591e3655d3e2b150c6f7006335b6dd1981bcd7b5a658e93adee4f7fa6d0dd6ce5b9854b5b409e2a4b7db692d4d670670dc34660035c840a18682d SHA512 951feabe2d238826fdd6e74e8f7a24f04d705f9ef925cfcfb852944d2d7a4f04e3a6c23f276c40e5564da42614558941dbe7aaf21efa6a722a616e4d165aba2d EBUILD efivar-30.ebuild 954 BLAKE2B 16a06384903a1107391d5a0c35e816c8ed1ecb58eb4a9c7bd74d2a6cce8535dbffb120cbbe8ed5066099a86c111f173cebbc8f44abdfc7ee9f207ff341dab0fc SHA512 75253eb96dbe9ad28a0f12e4ea46a92a49cfd4b5c1749c812b6ac1ae355336b28c0a28a819b97f5ad9d55936ebde29f5e82b68b9dc819fba92bad7afd44881c0 EBUILD efivar-31.ebuild 807 BLAKE2B 834608442a2947dd0da25443d17315ef3f2f1d873a40f1561fcd83469b64a52f8efd3dd029a7e5c25591dcefb54e597264556af5ad411d8517aa23ff1ef384c7 SHA512 6616cc50e18a07a8be01c140021e5aebf8580f8b761f48a326c899659f2d7151c0caaaaa3b5e090ae83685f09afbb6021c7052a119ba9403328162e4015b01c8 EBUILD efivar-32-r1.ebuild 944 BLAKE2B eb0a3d778f8e5b370dc0fe3e1034cad111163e33091bf2439c92c23cd2c8f88f3e9572e14e8c94186e1371ace5a6c7f358af3f416c29b0e05d414d1d459a16cf SHA512 044f127958f61bc352030eb6526b2d84d886d6548fd64b428ad76ac05cb02c707142c0398d5b5e4bb410166369ddbf28a745255a627dc96d12b300075bf292b0 EBUILD efivar-32.ebuild 885 BLAKE2B b994d6fc214667ba5af12bfabe189874dbbf882f93b134a9af43667f940c073d34f325dc1562c4d194bb30da2a9810caa51de11b7d582a0928b78adc7284bcd4 SHA512 88b639e7b6cc705d681ce709612bd5aaa396f09326ea6e47dc33c0c9f1bf192c6152c63f601536f8dad282d59d6022a4e4f9e91b69dd4967afe4dc64a889b270 EBUILD efivar-35.ebuild 852 BLAKE2B 1cc61b1166c44f2b9bbdf61fa3134c03ef4c7261bb9ff81a36f94990cb2de4518ae1595d0156be3ac754326f1b37899a2a2af0da6d1af8f1e03bffe9905a72c0 SHA512 24c265d910d27408116e9b310b0e9647843973c41f5146d14750abc69c6e6a74e783e48944ffa913e28d30dc64fc79e7f317de1ea3d0d805ebcd38b3887cbf65 +EBUILD efivar-36.ebuild 852 BLAKE2B 1cc61b1166c44f2b9bbdf61fa3134c03ef4c7261bb9ff81a36f94990cb2de4518ae1595d0156be3ac754326f1b37899a2a2af0da6d1af8f1e03bffe9905a72c0 SHA512 24c265d910d27408116e9b310b0e9647843973c41f5146d14750abc69c6e6a74e783e48944ffa913e28d30dc64fc79e7f317de1ea3d0d805ebcd38b3887cbf65 MISC metadata.xml 329 BLAKE2B afbb6532a53f86d455f8e77511ef1064efaa3d231ddd9023176629863f396224f733f3b15a91465ecdd878542e1af189420d7125dcb7f1de65debd613f4182e7 SHA512 a349c5ce7e3ad96d816b52ee35e6547bfb1f4cf9ebd60426ac90b84d67adb0728ab9dcccf93754ad7c71614b0fbd82a1a02fc3fde07e15d12d960d1a7fc088df diff --git a/sys-libs/efivar/efivar-36.ebuild b/sys-libs/efivar/efivar-36.ebuild new file mode 100644 index 000000000000..93339047a52a --- /dev/null +++ b/sys-libs/efivar/efivar-36.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Tools and library to manipulate EFI variables" +HOMEPAGE="https://github.com/rhinstaller/efivar" +SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0/1" +KEYWORDS="~amd64 ~arm64 ~ia64 ~x86" + +RDEPEND="dev-libs/popt" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-3.18 + virtual/pkgconfig +" + +src_prepare() { + default + sed -i -e 's/-Werror //' gcc.specs || die +} + +src_configure() { + tc-export CC + export CC_FOR_BUILD=$(tc-getBUILD_CC) + tc-ld-disable-gold + export libdir="/usr/$(get_libdir)" + unset LIBS # Bug 562004 + + if [[ -n ${GCC_SPECS} ]]; then + # The environment overrides the command line. + GCC_SPECS+=":${S}/gcc.specs" + fi +} diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 54596626080f..d28581f29880 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -15,7 +15,6 @@ AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621 AUX nscd.tmpfilesd 111 BLAKE2B 4abb7220564e248fc7eeeced41077f186f42594facbfac9a4c0ff36209baac529c219ad6ead8d8aa53ab2b092002f1006a4479459b9e9a7c5a0294cb7d822100 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340 DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d9a376ee8ca02f119fe9d653311cbe4d2b7b93aec2290adac3be271be19a7fdedae2e11e4b6e32360184e557204e100ad64357f5575d4b SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269 DIST gcc-multilib-bootstrap-20180511.tar.xz 2392908 BLAKE2B f3cf614399368acd8908f60d894c6344a2fa09383b30c1633a0682bc668367c8a2f8c6fec2d41b6e2178d709a2bd8db57e8b2ab56ba263c7d56f819c15acd061 SHA512 98c766e913693ab42ff790557acde2a36a8001e2648046a685b21964200df8d4d52d8452d499c0068c6648284d086ce062c2d36e2c6c2fd8aacd232d193f2853 -DIST glibc-2.19-patches-3.tar.bz2 80664 BLAKE2B fb348c711941c1bd4dadd905e172dc4f239d8b63af1a1d14dcf4ec45c504bd47e10e9b24b38f9e01796016f2e97caeeb693213ae08147274ed0a4d9501293be0 SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 DIST glibc-2.19-patches-9.tar.bz2 24584 BLAKE2B a96e930a5bd20fa75d9f259cc2117fa5ce98072274a24a5823bf877e3739fa4c001a94d7865e065ee0527f3974430d27da8038e042340a451ad2052c62724f26 SHA512 a95b3063ade974a3556480b798b317d33c7423a8cb9e69f67249ffb8b3d3c671d70d2d5f782c1efadc0bec4cc49a96d4fe89911f3dfcd85b459f69f3b4f38f0e DIST glibc-2.19.tar.xz 12083312 BLAKE2B 9dc03346e0f0df4bf009a92d894b0a9f964ff92b7f4c9663cedf1cb6cf90435f28a15539d33791ecf43ee578fa4e26f916af0367651312ef8f9c1c38ce0dafa2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d DIST glibc-2.20-patches-5.tar.bz2 55986 BLAKE2B bad714bd088fb8759ee84d33f22c0bba01a78a401c54828dc413c7ac2a08ae53fba9b07280996e54091f2c918658bb502aeb45f734022c1ab36e1be215381324 SHA512 409f59a028127e02f0c9f91107715b540d8d234475830adc17108a02664be232098d119b43bcc8df9b328ab50c1fffb0868d510e6487ce1c34ec2c7c7a78375b @@ -32,14 +31,12 @@ DIST glibc-2.25-patches-15.tar.bz2 78320 BLAKE2B 70c62cc10db13e2844de4d8a18972e0 DIST glibc-2.25.tar.xz 13873900 BLAKE2B 73ef792fff059f6ad154c9af2155ea15b7869ec1b93e557b6c58129bfb50f863c06f8b49425d75fd2df537dd9c4a68bad790cff770c50a6889732d66f507d349 SHA512 5b7a2418d5b8a1b6a907c6c7fb6477ee2a473151cb45e03d0d4cdd9a33497c90b1ee39e2e7e885e2b25743dcd3747336ef114b4a73eb001da1fd79f29e0f9a6e DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b217391156f897a8db50f65a69627d8f8cceded78414168986ee98eba038364a6b2f3599b23f95e7b0ad2643481c399718 SHA512 0c812a343fcc68c10d92117cb2a0cf1c255470e81f0a7a04d6db2fe35445e410ef37f15162f145c2eb772b08ab55af246f5b52f5e57c2e91038181f6f027abc3 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-patches-3.tar.bz2 166511 BLAKE2B 1dc54bef6e82112935c7411f7a5cd07c1edb24c3edaa1e0243b846b3832a40af1ba3a7b77aef04c54a173388156b464ea442fa8310a02e6f44e2ed5b78994286 SHA512 12496e9b0c60630dbec4c2febdd6d20df1f3d7a2c243cc55b595202b27f682b9208e16cd8c387687c0cc9e18b36c3caeef8d1b1148eb3ee8081431997270db5e DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea06a6c151c4971a8df059949ffe5632b42a67ab0ffcd7c4d7ce1ec02ac48815dac4dade1c4dd41eaee8a6ed33 SHA512 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147 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.19-r2.ebuild 40604 BLAKE2B 8fea38d437019ff88a832d725a5fc76f58b382bc297ba13ad3c61a283a5549210307495e34fecbfcda30a5a9925416d963340c25a5e61ade4bd1637141849a53 SHA512 4ce1a7397be122d0fbb7369f8bf62599e5f8ee55a1626ce85f6f6f13a2b932c0574a7534442ed0a62c269dda07d73ba1cedf6c559a59385bc22c0f1fd406c5b9 EBUILD glibc-2.20-r2.ebuild 4924 BLAKE2B 8f2b71dd56f535915564e2517769844b234b5b02cbd4edaeb9ffd0a323e8cc7be663e6e57bad0c28df453ea332bfbb5891b07a569a0885a76c9427d680959ecd SHA512 00af5f249a1fcb0eb3ecc460ccd288daf752575df6ef3887bbffbaf3999360a24ae4058ad7e770206d8c2a86828238981d1820e28780be38481361f2f55518a8 EBUILD glibc-2.21-r2.ebuild 4899 BLAKE2B 4097f29160b437edb96e6f731c797cba43bfb65fe164c1ffc3af0025d52c18a286b9a75d56d3e371e33e87f99a71a2115ba2eba7cb174dd2787a9b6a6d84b674 SHA512 68cc49c310ff816b2433b4f9e389e992d64f623809d4a4c3391dcce7ee4c385365ef4278de79bf4b6b9a4ed969e10b94bebabe86e560295bd1c0a9652aec12ec EBUILD glibc-2.22-r4.ebuild 4950 BLAKE2B 8d048dafaf8eec034d2ed2f3a8f400b3f4aedab39d7fe11795376a135ed9a42843f9cc6888e721ef242f78bc4230188d53cdccaf7686186d43201101519cc60b SHA512 64387259f921dc26d91d5d4e86bbbbfd740bb4b2e1337c121f799370abc9c6298745f9686e6aa501b10c05150ac1129ef8bd37d140e9c83c41ac3c0f54ee052f @@ -47,8 +44,6 @@ EBUILD glibc-2.23-r4.ebuild 4949 BLAKE2B 99db0ec4a452f04a2aef9b347a5ddec03cc88fb EBUILD glibc-2.24-r4.ebuild 4988 BLAKE2B 8e08345c96e176984b73a073efca21f771d41af1af75106ec88a22bd55d7f69f28d9c01989026a3e58f3df4fac2a59db68d5ac8a8bbb0f411c75da8792f3402a SHA512 dd1d996eaf35197f7b7b6c111957eb98ef776d0a76a949b95f9bb17075dca43b2a354f8d15be133b9f3ff6c40a5b1f4ec28bd8d41c5cfc51da006eda8b005a05 EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff8fca6b64c083c3e05d07533e445a6139939710b9284f7587bbf3977ca556caeb964e73ac21a382d942423d886a SHA512 f26645acc02f16209ec068641a800ef0a4ad2a422c9473e14a273fdece9b53074b837907d635a8585cf9dbb1acea14178166a4a3410aa4c70a745b89a764b6f1 EBUILD glibc-2.26-r7.ebuild 25616 BLAKE2B 924fbcb527d249abe6d5e74211d0339cacdc03db08c9504c6bcdefb4e320d3c3767708707e9dba4becc083b020db480238afa2bdd46d43a9e8cb7e23cc85d6d9 SHA512 f18bd985fef3ae83b4ea88ccc783dc7f5eaa3952218a9cbb7f9817b63d32481b7b4edc0a5c6121e792678107e348a41424f19a066923e76d2cfc43d6848c7723 -EBUILD glibc-2.27-r4.ebuild 41434 BLAKE2B ad24af35925a429c5680824554f9b388fec11f574ec6be63a327aaca485a3d80c2656d29c25c6562634580ef1f22022fb748c794d8e1b7482cef404f4f7d1e4d SHA512 58b98614032c0a7c383a833dffdb93862b30c1e19dff8d0d62c4363c5f4d18ce7edc5b481ad5ee58d12511b682c962ed8db4e411a68d069dbf340f9a23f1a268 -EBUILD glibc-2.27-r5.ebuild 41539 BLAKE2B 9f08c13a154043e34049c08d6ad003df056bb15f6079759b15589b1461f2cc7dcba1909e69e7ae705bde2e6b2d535f968770207ea9c5a96637aafaa4b55aa956 SHA512 90229d4a8b0ab9d9d72079ee51403654c3264a42caef67f710d46a80f806522a504f83427d4bcbb21666a70fd45a41d79079d6f3cc4233a1dfbcfa6e7b637c28 EBUILD glibc-2.27-r6.ebuild 41539 BLAKE2B 336165f2198d1572acdddb3c4c855c4e510938289fb62438e312320f4d3e793b9f70583cf3901f0f370f7c38756dddeb6a7349d0def99272b7f3ad2d630c43ac SHA512 38f361e8a17dd72612899dc8e69f2784b760e6a49d0b006343919d62403facb28385e6715003924248fc40f4fb448d7fb36ac14887aa7ff9e9726dec8a423a3b EBUILD glibc-2.28.ebuild 41861 BLAKE2B f747cf7117f8a629e8353fee9a5ca2ddc8a128e2722381fdbf27849ff6be676b147596d0cbea52c78edc0e4a369d0eb4cda0a4c33d8eb99b4a1ee51aef68bfda SHA512 80015c199dbb2086daf7801184ce3501838fd97265378ed732fce96ff7dda95524ababdc738d392411d35bc174522a25dd62571676cd4c09435769bb855ea990 EBUILD glibc-9999.ebuild 41861 BLAKE2B fae057c79abc53eb68b73394cb03404a8c6e33d07f3c60df52ee089322503bafa196bea96736966fe5eef8b224ee018ed26ecf0da188371a635bb676da429506 SHA512 7bd763ec64e227da5f6e8960e4d004c894bd744a0136b2f7fd3ce7b0f6cff48a9e8302a98ad5bb6cb7a86db2d2038b9c3c3a5069a11e3f7d09842c1420c53d93 diff --git a/sys-libs/glibc/glibc-2.19-r1.ebuild b/sys-libs/glibc/glibc-2.19-r1.ebuild deleted file mode 100644 index d036a728e447..000000000000 --- a/sys-libs/glibc/glibc-2.19-r1.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=0 - -inherit toolchain-glibc - -DESCRIPTION="GNU libc6 (also called glibc2) C library" -HOMEPAGE="https://www.gnu.org/software/libc/libc.html" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" -RESTRICT="strip" # strip ourself #46186 -EMULTILIB_PKG="true" - -# Configuration variables -RELEASE_VER="" -case ${PV} in -9999*) - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git" - inherit git-r3 - ;; -*) - RELEASE_VER=${PV} - ;; -esac -GCC_BOOTSTRAP_VER="4.7.3-r1" -PATCH_VER="3" # Gentoo patchset -NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.16"} # min kernel version nptl requires - -IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla headers-only" - -# 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 - -[[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.16/2.6.20} - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -# Why SLOT 2.2 you ask yourself while sippin your tea ? -# Everyone knows 2.2 > 0, duh. -SLOT="2.2" - -# General: We need a new-enough binutils/gcc to match upstream baseline. -# arch: we need to make sure our binutils/gcc supports TLS. -DEPEND=">=app-misc/pax-utils-0.1.10 - !' | $(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() { - # 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_ 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 \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 \n#include \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() 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 - 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} - - 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 ! 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 -} - -# -# 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 - - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${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)" - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - # 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 CPPFLAGS: https://sourceware.org/PR23273 - export CPPFLAGS="${CPPFLAGS} ${CFLAGS}" - einfo " $(printf '%15s' 'Manual CPPFLAGS:') ${CPPFLAGS}" - - 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 - - [[ $(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-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.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. - cd "${ED}"$(alt_libdir)/.. - [[ -e lib ]] || mkdir lib - cd "${ED}"$(alt_usrlibdir)/.. - [[ -e lib ]] || mkdir 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-2.27-r5.ebuild b/sys-libs/glibc/glibc-2.27-r5.ebuild deleted file mode 100644 index a42e486dd6b7..000000000000 --- a/sys-libs/glibc/glibc-2.27-r5.ebuild +++ /dev/null @@ -1,1418 +0,0 @@ -# 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" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" -fi - -RELEASE_VER=${PV} - -GCC_BOOTSTRAP_VER=20180511 - -# Gentoo patchset -PATCH_VER=2 - -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 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 - !' | $(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_ 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 \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 \n#include \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() 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 - 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} - - 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 ! 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 -} - -# -# 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 - - [[ $(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-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.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/ldb/Manifest b/sys-libs/ldb/Manifest index d040d5484ab9..c3cea5192ac6 100644 --- a/sys-libs/ldb/Manifest +++ b/sys-libs/ldb/Manifest @@ -10,20 +10,16 @@ DIST ldb-1.1.26.tar.gz 1262660 BLAKE2B 66dcc38eb97fe4357d06b301ed1de5cf868adc5f3 DIST ldb-1.1.29.tar.gz 1277551 BLAKE2B 449333d40073fd63d6d013ba0ae43fc3a0b8201948eabd440d164d182492002c1d92047d652105c2fb6a3e8383d4b75f45e38cc52efc5d9a0e2811113676203a SHA512 d37bbe84358e05d17483e2e963b8477da5ea351b855b454142c94af35f7987bede0f19faeaff17779efe04e3bb37c510437fcc59be99a17c826620fc25fd659c DIST ldb-1.1.31.tar.gz 1337586 BLAKE2B 9454f91a621368cfc7cfdb709781653e947d63b275bb3b288049acb43ee3c02ae4f0be820ccf9e3bb32938d12598a91b7a6292b08c638ccfd59bd1be182f09c0 SHA512 49ccd57000cbcc6d828160f4457236b28853d766d641841471f61226156b6103fe563c43c950577b038ea3c0a54506bca94c640d3d5f912a3b8af95eb9ef2824 DIST ldb-1.2.3.tar.gz 1344513 BLAKE2B 941174d6e2c51319c8690a8d8a87bea443d4fa4d738bd13243b502fdc9d590ba075fcf4a9920c38bb6fc15564f0b116089cd62d99e7cfe33649dc751910265ad SHA512 500ab069cf6cec39907300e3905d334163b5094087831708acc22c4199b006ef52af3b66aade7558a48fab7cd69be3af7883bda3816a83c576d01b36ab270247 -DIST ldb-1.3.4.tar.gz 1373954 BLAKE2B fcd560089fdca9f983e017008173ff1bb04dc23d08b6eaf85f9568278856f5262d4df6a8defed22f8c052d57615787007cc80ebdbedb90462064eff7d3ec3488 SHA512 b02abbb3742711e8cce59099748ce223e0ef0fbfccbc1bc9fe161edae865ff7cc60b8a1c1c90892fa922261484a852ee2828da0f3e6fc6ecfe591c166f953e21 DIST ldb-1.3.5.tar.gz 1374214 BLAKE2B 5c5eeff67c362fc8bf9d9a7a3cb2ba98790c583e266fa3b50faec2859541c85dbdb82e45963270c7f787883540ce7364c25a0f193e40e814331de02f0f73e1f9 SHA512 acf0854d4b1e1248296780574b20efefb153602396177f0a27f531118e843da5feacee0b755486825edc9c9e2a0b8bc6a06a774c608fdbf75e4c127c592c6859 -DIST ldb-1.4.1.tar.gz 1427314 BLAKE2B bdeea064719be9de1dff87a11bdbb8d051d85c056fdd34210ffaf2e9a5652af1e8aba95ff110b92a443a4353457cf9a5ec0d68cdc6fbba7bd955ad6df1413dbf SHA512 0e5b3ad4fa49893c86ca422e44d53c0af062e85e5085de18cdcaf2f05f0769cb2ecb65bad20cf93c5c2e115116ac2e1ec7f2d767678a3fffc9591d9db25e6f61 +DIST ldb-1.3.6.tar.gz 1374574 BLAKE2B 654f35eb25aeb373540ead7cb10da66c92970ea6b100631cb14bacf937fec64e09b19ed3e09a976406e3f8d6347c4e17144c0a0bff8795316559be45353edbf7 SHA512 8fcd72598e948c55adaa832d6ebcbc03b979281032cb900af4304c1c68ce9cc94a1e1d4729d0c2a0b83a618cab716749d851160005a0093cf8a178e6dbea298d DIST ldb-1.4.2.tar.gz 1427857 BLAKE2B 5a90b31b4760f0504197d3cefdb16f7d4099df660fe75c5d80907e39abde8abc6b87cdb117ee9213abf8287932c18782ab153d87bb609cb1f346231e6e00997c SHA512 f2b44cebd0f8c77926aa364d9ac4ea37da4a780b94e7f9fba7a55fef825e90e469a3230e56cd2b23ce4f6b528dda9041863e4af77bb0826a117e8317a0b79070 -DIST ldb-1.5.0.tar.gz 1430987 BLAKE2B cc98a96f01e7c96f83baef0d26f54d7673fa5c7108318ae1638952fed562db15d25b51c7a7782d92bcbaea661147a605e52e30e4318d6c15594d9c6a59103d1c SHA512 204d020ae87d86939cb22050acb47c8be748555875efbc01cbd7f2774c7f8f5a928292fa53a5f15fb58e96bdbb5dd7e212cf2d5d8b4fcfcb238b6a7f25e791fb DIST ldb-1.5.1.tar.gz 1432221 BLAKE2B 1837a74b33b5f527bdea0925de2908fc58bb6ca713bea89cefec9dc9809bf40d107352926ed34dabb333f37533e599b142a36989ffad862b0a89e786ab54c434 SHA512 b7815da51944d4e61617fafac0417e57baa59c9dd3dfa926d5ef9072a95351562930150c691a23b81526697bfba3ffe10a75ead406bf5ffdbfc511d1861f984b EBUILD ldb-1.1.26.ebuild 2354 BLAKE2B d2842c0d9fab64092bdba589836f0e488ba3544bb4b74946c6aa881036dbcfba82ac94184ec04f3a12e752d065da61f3c1b2898b053dd260afec6cde14d2112d SHA512 195f61f5c6e120d159ec222105d2652b160a7a6c0aae1c6c97967a65cfca59acff8e895d121f375d3eefa7604e5b26fe84abc6136bf882ab6b100a838b44ee67 EBUILD ldb-1.1.29-r1.ebuild 2557 BLAKE2B 6f23b14f5c826708addf796e96a6513cfac6c8b06609e3335cc3ac0fc551dd68ebef6f3f08b6bfc272af68c32ffc98af392292e891ece3ec16dd11dc87e1cd38 SHA512 165ab8aa5d0fb02620de597488e48048de2250a264c72adb31f044543b301a2584b5eddb1b75e7788d2501af67d74b7eda2e223f2732207ff0d381a185c26edb EBUILD ldb-1.1.31.ebuild 2691 BLAKE2B 240d2ccb3f152cbd134b3611d6db02185d6bddf7980b2a816d822fbb924817b798860edd08373d7eb452e451454591a7ce9db24a4475daa210b9e1ce014c14ae SHA512 368998dad5aa47bb8b971936aa5104d1ea5e7a594cd80af79f55e56cb49c2b28aa0322c15781f121bc4aef15d43e56690df324bb0900a7a15eac522b821d5872 EBUILD ldb-1.2.3.ebuild 2619 BLAKE2B 447fe4e7cfb1e1e9350f215f93a818d0251861e3dfbd00a2f866dadfe260a76beb14e489b91eac279c52e800e93ac680131d27fde26d4ea22ce18ec15bf270d4 SHA512 b937f76a1b04d68a2117a8097890a7bfcfb4ef1fdef03c3a4e47908ded9cd0404cc7b26b26e6989fff9076d3e482f6d797ff9249c93ab616acce710d2b22b0d7 -EBUILD ldb-1.3.4.ebuild 2572 BLAKE2B 2b1702de50c15c7b9f05fd9f630c805010a24b7b469a3cc1f969b63809c475af0dbcaf820d6182e48153cae4afa83a817c046db0fc78f62060d7be4954731a15 SHA512 d830c5c6b6d312a111485f76f5ec296fcaf52be3fa3fac34cc270caa9e61ef420f06382e309f1e5b933f7a5343de8adcb681c55ee8cf45113c9e2e0a8af36390 EBUILD ldb-1.3.5.ebuild 2572 BLAKE2B 2b1702de50c15c7b9f05fd9f630c805010a24b7b469a3cc1f969b63809c475af0dbcaf820d6182e48153cae4afa83a817c046db0fc78f62060d7be4954731a15 SHA512 d830c5c6b6d312a111485f76f5ec296fcaf52be3fa3fac34cc270caa9e61ef420f06382e309f1e5b933f7a5343de8adcb681c55ee8cf45113c9e2e0a8af36390 -EBUILD ldb-1.4.1.ebuild 2666 BLAKE2B 2a516abf165389e8816f96078ea5f2d0588b36560e79398abf466373ff8f8885a415708642246e8849bc4e11d054213dae2763eee37b5b331c53d099f8cdf614 SHA512 0ac6f804a59452e1fd9a7300ef661ebf181366c356bd8e1c60e2fa646df1878cbb0bbcd9a71b695170a3c62130712ecca86bebe7a994b211bd6877f46b392a16 +EBUILD ldb-1.3.6.ebuild 2572 BLAKE2B 2b1702de50c15c7b9f05fd9f630c805010a24b7b469a3cc1f969b63809c475af0dbcaf820d6182e48153cae4afa83a817c046db0fc78f62060d7be4954731a15 SHA512 d830c5c6b6d312a111485f76f5ec296fcaf52be3fa3fac34cc270caa9e61ef420f06382e309f1e5b933f7a5343de8adcb681c55ee8cf45113c9e2e0a8af36390 EBUILD ldb-1.4.2.ebuild 2666 BLAKE2B 2a516abf165389e8816f96078ea5f2d0588b36560e79398abf466373ff8f8885a415708642246e8849bc4e11d054213dae2763eee37b5b331c53d099f8cdf614 SHA512 0ac6f804a59452e1fd9a7300ef661ebf181366c356bd8e1c60e2fa646df1878cbb0bbcd9a71b695170a3c62130712ecca86bebe7a994b211bd6877f46b392a16 -EBUILD ldb-1.5.0.ebuild 2666 BLAKE2B 2a516abf165389e8816f96078ea5f2d0588b36560e79398abf466373ff8f8885a415708642246e8849bc4e11d054213dae2763eee37b5b331c53d099f8cdf614 SHA512 0ac6f804a59452e1fd9a7300ef661ebf181366c356bd8e1c60e2fa646df1878cbb0bbcd9a71b695170a3c62130712ecca86bebe7a994b211bd6877f46b392a16 EBUILD ldb-1.5.1.ebuild 2666 BLAKE2B 2a516abf165389e8816f96078ea5f2d0588b36560e79398abf466373ff8f8885a415708642246e8849bc4e11d054213dae2763eee37b5b331c53d099f8cdf614 SHA512 0ac6f804a59452e1fd9a7300ef661ebf181366c356bd8e1c60e2fa646df1878cbb0bbcd9a71b695170a3c62130712ecca86bebe7a994b211bd6877f46b392a16 MISC metadata.xml 445 BLAKE2B 959f0dc450ab8518bcbdbaf2802a3660c180e0eb95028e7b13fb0c0c0b47c8e68a81a1c970ca023ac441a1c43027b4b567c3643519b7c33ac6c0d1e11dcd0ff3 SHA512 b701ef9375735fb561c2e7c46ad13d30b62739fbf780e4343882898ecf13961e4f8381997109290e70a79993692aec2adc602bbc4bb9c881780349bebc75e4e1 diff --git a/sys-libs/ldb/ldb-1.3.4.ebuild b/sys-libs/ldb/ldb-1.3.4.ebuild deleted file mode 100644 index 1b38c776939c..000000000000 --- a/sys-libs/ldb/ldb-1.3.4.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 waf-utils multilib-minimal eutils - -DESCRIPTION="An LDAP-like embedded database" -HOMEPAGE="https://ldb.samba.org" -SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz" - -LICENSE="LGPL-3" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" -IUSE="doc +ldap +python" - -RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) - dev-libs/popt[${MULTILIB_USEDEP}] - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] - >=sys-libs/talloc-2.1.11[python?,${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.3.15[python?,${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.9.36[python(+)?,${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - python? ( ${PYTHON_DEPS} ) -" - -DEPEND="dev-libs/libxslt - doc? ( app-doc/doxygen ) - virtual/pkgconfig - ${PYTHON_DEPS} - ${RDEPEND} -" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -WAF_BINARY="${S}/buildtools/bin/waf" - -MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) - -PATCHES=( - "${FILESDIR}"/${PN}-1.1.31-optional_packages.patch - "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch -) - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_prepare() { - default - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - $(usex ldap '' --disable-ldap) - --disable-rpath - --disable-rpath-install --bundled-libraries=NONE - --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba - --builtin-libraries=NONE - ) - if ! multilib_is_native_abi; then - myconf+=( --disable-python ) - else - use python || myconf+=( --disable-python ) - fi - waf-utils_src_configure "${myconf[@]}" -} - -multilib_src_compile(){ - waf-utils_src_compile - multilib_is_native_abi && use doc && doxygen Doxyfile -} - -multilib_src_test() { - if multilib_is_native_abi; then - WAF_MAKE=1 \ - PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \ - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \ - waf test || die - fi -} - -multilib_src_install() { - waf-utils_src_install - - if multilib_is_native_abi && use doc; then - doman apidocs/man/man3/*.3 - docinto html - dodoc -r apidocs/html/* - fi -} - -pkg_postinst() { - if has_version sys-auth/sssd; then - ewarn "You have sssd installed. It is known to break after ldb upgrades," - ewarn "so please try to rebuild it before reporting bugs." - ewarn "See https://bugs.gentoo.org/404281" - fi -} diff --git a/sys-libs/ldb/ldb-1.3.6.ebuild b/sys-libs/ldb/ldb-1.3.6.ebuild new file mode 100644 index 000000000000..1b38c776939c --- /dev/null +++ b/sys-libs/ldb/ldb-1.3.6.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 waf-utils multilib-minimal eutils + +DESCRIPTION="An LDAP-like embedded database" +HOMEPAGE="https://ldb.samba.org" +SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="doc +ldap +python" + +RDEPEND=" + !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/popt[${MULTILIB_USEDEP}] + >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.1.11[python?,${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.3.15[python?,${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.9.36[python(+)?,${MULTILIB_USEDEP}] + ldap? ( net-nds/openldap ) + python? ( ${PYTHON_DEPS} ) +" + +DEPEND="dev-libs/libxslt + doc? ( app-doc/doxygen ) + virtual/pkgconfig + ${PYTHON_DEPS} + ${RDEPEND} +" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +WAF_BINARY="${S}/buildtools/bin/waf" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.31-optional_packages.patch + "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + default + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + $(usex ldap '' --disable-ldap) + --disable-rpath + --disable-rpath-install --bundled-libraries=NONE + --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba + --builtin-libraries=NONE + ) + if ! multilib_is_native_abi; then + myconf+=( --disable-python ) + else + use python || myconf+=( --disable-python ) + fi + waf-utils_src_configure "${myconf[@]}" +} + +multilib_src_compile(){ + waf-utils_src_compile + multilib_is_native_abi && use doc && doxygen Doxyfile +} + +multilib_src_test() { + if multilib_is_native_abi; then + WAF_MAKE=1 \ + PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \ + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \ + waf test || die + fi +} + +multilib_src_install() { + waf-utils_src_install + + if multilib_is_native_abi && use doc; then + doman apidocs/man/man3/*.3 + docinto html + dodoc -r apidocs/html/* + fi +} + +pkg_postinst() { + if has_version sys-auth/sssd; then + ewarn "You have sssd installed. It is known to break after ldb upgrades," + ewarn "so please try to rebuild it before reporting bugs." + ewarn "See https://bugs.gentoo.org/404281" + fi +} diff --git a/sys-libs/ldb/ldb-1.4.1.ebuild b/sys-libs/ldb/ldb-1.4.1.ebuild deleted file mode 100644 index 0928dd65642a..000000000000 --- a/sys-libs/ldb/ldb-1.4.1.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 waf-utils multilib-minimal eutils - -DESCRIPTION="An LDAP-like embedded database" -HOMEPAGE="https://ldb.samba.org" -SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz" - -LICENSE="LGPL-3" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" -IUSE="doc +ldap +lmdb +python" - -RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) - dev-libs/popt[${MULTILIB_USEDEP}] - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] - >=sys-libs/talloc-2.1.14[python?,${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.3.16[python?,${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.9.37[python(+)?,${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) -" - -DEPEND="dev-libs/libxslt - doc? ( app-doc/doxygen ) - virtual/pkgconfig - ${PYTHON_DEPS} - ${RDEPEND} -" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -WAF_BINARY="${S}/buildtools/bin/waf" - -MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) - -PATCHES=( - "${FILESDIR}"/${PN}-1.4.0-optional_packages.patch - "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch -) - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_prepare() { - default - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - $(usex ldap '' --disable-ldap) - $(usex lmdb '' --without-ldb-lmdb) - --disable-rpath - --disable-rpath-install --bundled-libraries=NONE - --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba - --builtin-libraries=NONE - ) - if ! multilib_is_native_abi; then - myconf+=( --disable-python ) - else - use python || myconf+=( --disable-python ) - fi - waf-utils_src_configure "${myconf[@]}" -} - -multilib_src_compile(){ - waf-utils_src_compile - multilib_is_native_abi && use doc && doxygen Doxyfile -} - -multilib_src_test() { - if multilib_is_native_abi; then - WAF_MAKE=1 \ - PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \ - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \ - waf test || die - fi -} - -multilib_src_install() { - waf-utils_src_install - - if multilib_is_native_abi && use doc; then - doman apidocs/man/man3/*.3 - docinto html - dodoc -r apidocs/html/* - fi -} - -pkg_postinst() { - if has_version sys-auth/sssd; then - ewarn "You have sssd installed. It is known to break after ldb upgrades," - ewarn "so please try to rebuild it before reporting bugs." - ewarn "See https://bugs.gentoo.org/404281" - fi -} diff --git a/sys-libs/ldb/ldb-1.5.0.ebuild b/sys-libs/ldb/ldb-1.5.0.ebuild deleted file mode 100644 index 0928dd65642a..000000000000 --- a/sys-libs/ldb/ldb-1.5.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 waf-utils multilib-minimal eutils - -DESCRIPTION="An LDAP-like embedded database" -HOMEPAGE="https://ldb.samba.org" -SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz" - -LICENSE="LGPL-3" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" -IUSE="doc +ldap +lmdb +python" - -RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) - dev-libs/popt[${MULTILIB_USEDEP}] - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] - >=sys-libs/talloc-2.1.14[python?,${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.3.16[python?,${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.9.37[python(+)?,${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) -" - -DEPEND="dev-libs/libxslt - doc? ( app-doc/doxygen ) - virtual/pkgconfig - ${PYTHON_DEPS} - ${RDEPEND} -" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -WAF_BINARY="${S}/buildtools/bin/waf" - -MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) - -PATCHES=( - "${FILESDIR}"/${PN}-1.4.0-optional_packages.patch - "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch -) - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_prepare() { - default - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - $(usex ldap '' --disable-ldap) - $(usex lmdb '' --without-ldb-lmdb) - --disable-rpath - --disable-rpath-install --bundled-libraries=NONE - --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba - --builtin-libraries=NONE - ) - if ! multilib_is_native_abi; then - myconf+=( --disable-python ) - else - use python || myconf+=( --disable-python ) - fi - waf-utils_src_configure "${myconf[@]}" -} - -multilib_src_compile(){ - waf-utils_src_compile - multilib_is_native_abi && use doc && doxygen Doxyfile -} - -multilib_src_test() { - if multilib_is_native_abi; then - WAF_MAKE=1 \ - PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \ - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \ - waf test || die - fi -} - -multilib_src_install() { - waf-utils_src_install - - if multilib_is_native_abi && use doc; then - doman apidocs/man/man3/*.3 - docinto html - dodoc -r apidocs/html/* - fi -} - -pkg_postinst() { - if has_version sys-auth/sssd; then - ewarn "You have sssd installed. It is known to break after ldb upgrades," - ewarn "so please try to rebuild it before reporting bugs." - ewarn "See https://bugs.gentoo.org/404281" - fi -} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 3f7f93304246..9e0f132ad71a 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -7,13 +7,13 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 -DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746 +DIST libcxx-7.0.0rc3.src.tar.xz 1654708 BLAKE2B 190b7e1112a205e29873ede8dbdfd37e553d31629f6f9524fb7887222427b525eb42e6eda90d542587222e2a5a192b62f9fb8ae128fa9b4d1ddd1871af867f11 SHA512 aa8187fb1090ef8718ad3dfa512d246248a8bc94afddc155f4aff14fd1b8857ce30a4abccf12a57102ef6cd38b5e251b43dd312e9f85136c4546fd558eddb179 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.2.ebuild 6363 BLAKE2B 8b4814e161304c2f69bf13e470c80ac1b681bbca60ce4076f4a06d22b35cea98e1f33a2afcfd7ef131d406ccdcde8f2dfaf9c4ea0b10ec7c40f13c0f259dbeba SHA512 820fbaa761cb4c078ed65f0bf6f4455428714d83628dd57f267b9480ef78a485ff2527bb98f71f10728cf58b8b53f699182ed52b9275dc9fd597eb41202884a4 EBUILD libcxx-6.0.1.ebuild 6607 BLAKE2B aaab87d186c40106e35c90350eb57b820dda610cc65705c4464763f89067bc8f4ef09c023c03ebaaddcbc15c3a2982a9069ec0f940efe7959b58d0f45ea417dc SHA512 ec9f51f549956d45c1fd1ad42b8640fb2a390c51cf53abc3fc47f33077eb4b0d0a8d180bb4e8ecfeb408175c400147d13fbea6049a4346635416629a64179610 -EBUILD libcxx-7.0.0_rc2.ebuild 6582 BLAKE2B 40e948082679c805228976cb7f72742945e892e1532503ad6379391ee1461ea400499cb9313dd273b79c1bacce2c3d966465d5e5cf4ee7e41e7b9ffc71714cf5 SHA512 9a11c7b8b8b766555aafcd9bc43c5bfc6eb20ae6c27466fbabe880309bd07dd34ba2132f770db5c2b3b47ca2aba0bbd5184d7c7d2649ed5d90f59ded5857fc97 +EBUILD libcxx-7.0.0_rc3.ebuild 6582 BLAKE2B 40e948082679c805228976cb7f72742945e892e1532503ad6379391ee1461ea400499cb9313dd273b79c1bacce2c3d966465d5e5cf4ee7e41e7b9ffc71714cf5 SHA512 9a11c7b8b8b766555aafcd9bc43c5bfc6eb20ae6c27466fbabe880309bd07dd34ba2132f770db5c2b3b47ca2aba0bbd5184d7c7d2649ed5d90f59ded5857fc97 EBUILD libcxx-7.0.9999.ebuild 6908 BLAKE2B edbb4b1c6fc2e2b813f5181f91b10dcc7106e806e222d02dc01cae726fab7df4323b198c497f5c39dc15ef4dd1a868ba4930e34b6bd5eb3399ad653846d25a11 SHA512 29fa5ef9ce51485d64458514a464e4000ba51b8b24535d0c57aca7777316e35ae901bf1c99fb148e28b6f54f01200d7a7457934d6c64ace1ca6b0ee5c39db872 EBUILD libcxx-9999.ebuild 6880 BLAKE2B ba22276470631bb5e5e7781e0c2678b3a6a12bc6b5d39fcf37f20ffe5d2f90c24f0185c69d8cf79924a957fdcfd016609aa88f13f291d863a1919cef23e41f30 SHA512 0501d14d588a2231c6dbe15aee9428b66f7c3dad6915215abb65bdcc5aec23f8185a6aaa7bc838ad44bf7fc9ad2027fb68e33879b7f4a0ee311c71ff27fa0d4d MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a diff --git a/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild b/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild deleted file mode 100644 index cc26d7d1ce0f..000000000000 --- a/sys-libs/libcxx/libcxx-7.0.0_rc2.ebuild +++ /dev/null @@ -1,209 +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 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://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test" -REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) ) - ?? ( libcxxabi libcxxrt )" -RESTRICT="!test? ( test )" - -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-6 for new lit options -# 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-6" - -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 -} - -test_compiler() { - $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ - <<<'int main() { return 0; }' &>/dev/null -} - -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 - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LDFLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - want_gcc_s=OFF - extra_libs+=( "${compiler_rt}" ) - fi - fi - fi - - # bootstrap: cmake is unhappy if compiler can't link to stdlib - local nolib_flags=( -nodefaultlibs -lc ) - if ! test_compiler; then - if test_compiler "${nolib_flags[@]}"; then - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" - 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 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - fi - cmake-utils_src_configure -} - -multilib_src_test() { - 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-7.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..cc26d7d1ce0f --- /dev/null +++ b/sys-libs/libcxx/libcxx-7.0.0_rc3.ebuild @@ -0,0 +1,209 @@ +# 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 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://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test" +REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) ) + ?? ( libcxxabi libcxxrt )" +RESTRICT="!test? ( test )" + +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-6 for new lit options +# 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-6" + +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 +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +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 + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LDFLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + want_gcc_s=OFF + extra_libs+=( "${compiler_rt}" ) + fi + fi + fi + + # bootstrap: cmake is unhappy if compiler can't link to stdlib + local nolib_flags=( -nodefaultlibs -lc ) + if ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" + 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 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +multilib_src_test() { + 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/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 764abe1cccb1..36e5ccbad0d2 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -4,17 +4,17 @@ DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 -DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746 +DIST libcxx-7.0.0rc3.src.tar.xz 1654708 BLAKE2B 190b7e1112a205e29873ede8dbdfd37e553d31629f6f9524fb7887222427b525eb42e6eda90d542587222e2a5a192b62f9fb8ae128fa9b4d1ddd1871af867f11 SHA512 aa8187fb1090ef8718ad3dfa512d246248a8bc94afddc155f4aff14fd1b8857ce30a4abccf12a57102ef6cd38b5e251b43dd312e9f85136c4546fd558eddb179 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.2.src.tar.xz 521448 BLAKE2B e7e42908845f692cdb8709955eb46cbc18ee1f4ac9f0224b6e2a6bc2af998415eca5cda03ffcac27ef6a93cde928951bc38503bae9144b634abd17ec46ad96eb SHA512 304c0ef1b2fd26d52dae66013ea0051de4c3cb1e9c8d1308833f34aec1ad288fcfe5d583f00ceb84c8d271c5cd5f868aa135a93f007138d124c01b70c13e842e DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2 -DIST libcxxabi-7.0.0rc2.src.tar.xz 535948 BLAKE2B 02505fd0101d9be53c66f14f5aca7a99c3e4309d9979be1a5792f869ed8e72562e8f7a2fba222d2a121845d4425ff98444046e4edfe2023891ba80521ebc4a00 SHA512 fcb51c4005bb4b79426467c8d7128412c37b235518455fa57521e04df2d47fc97aa0bce10ebec4fe3f3097bb3657f56014258ca8c46c978e709927fcce27fd5c +DIST libcxxabi-7.0.0rc3.src.tar.xz 535708 BLAKE2B 5307e5bc36583befaf2ad8660dd48172e7168658ff38a1e24bb21dd4077757e2df30288956e3ab05c4cb07b986f0386e1a27d27f24c8aac72a61602fc4ca8177 SHA512 24d60a10f96226fb2825e61b82c6def8ddb93a7395fe0cef9a8f56aea8fc7cdfeaf5ec85242a6ad50c417dcff97efc8ea7400167725b9c5b6e5ca950df7b4c8d 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.2.ebuild 3193 BLAKE2B b1157a436e40da0b67d012c903b9a137f3544a404e91a414a3d451be7f1b6c5e0a79c3e424f8c0cbf58b33166332988ecc13ee84a3c5840ad54de7c033770a97 SHA512 1330ec5b22bb11f5e142eea5acf03cbe6f1282a58206de9039453100a5fb72a30d46fe3ac3be6c52ddc07eb4b71486fd1be3e83a15a7ae76fa999fb2660cd908 EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133 -EBUILD libcxxabi-7.0.0_rc2.ebuild 3150 BLAKE2B 474790f1b70870b3fa0e36813e9da5d4dda5c92012733cc1315880612da233817a043c7b5a3060fe7ce5db92c484bdc74ae811f54f5099b971c18436caa4360f SHA512 670e5475fc8f494235bdb8abab8c30420b8c2a54c1daea95deec88b8f9f13c6184f907fee77c110a066a61ef0078f07b25fdce2d1fa0020827878175e9e54ffd +EBUILD libcxxabi-7.0.0_rc3.ebuild 3150 BLAKE2B 474790f1b70870b3fa0e36813e9da5d4dda5c92012733cc1315880612da233817a043c7b5a3060fe7ce5db92c484bdc74ae811f54f5099b971c18436caa4360f SHA512 670e5475fc8f494235bdb8abab8c30420b8c2a54c1daea95deec88b8f9f13c6184f907fee77c110a066a61ef0078f07b25fdce2d1fa0020827878175e9e54ffd 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-7.0.0_rc2.ebuild b/sys-libs/libcxxabi/libcxxabi-7.0.0_rc2.ebuild deleted file mode 100644 index d2ecadb8b97b..000000000000 --- a/sys-libs/libcxxabi/libcxxabi-7.0.0_rc2.ebuild +++ /dev/null @@ -1,119 +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 multiprocessing 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://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz - https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="+libunwind +static-libs test elibc_musl" -RESTRICT="!test? ( test )" - -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-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6 - 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 - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - 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() { - # 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-7.0.0_rc3.ebuild b/sys-libs/libcxxabi/libcxxabi-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..d2ecadb8b97b --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-7.0.0_rc3.ebuild @@ -0,0 +1,119 @@ +# 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 multiprocessing 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://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz + https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +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-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + 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 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + 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() { + # 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/libomp/Manifest b/sys-libs/libomp/Manifest index 891ea5767a19..be62115e68a5 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -2,11 +2,11 @@ AUX 4.0.1/0001-test-Try-to-link-latomic-to-provide-atomics-when-ava.patch 3456 B DIST openmp-4.0.1.src.tar.xz 2275240 BLAKE2B e63cf670c4cd2678afc4d7b96be85c3d157bf91a69510f980d9a0a07f61b449b22ff28d63753f32e63afedb4a7077c662a633f689a660b5047a83bcf1fb7f009 SHA512 0b737dde832c5907a0cac41fe1d594b61e85dd405eee42b39f09233db62b44543204ccc775e52e2981f9c9f0683b234526e288a3a7a04f712280fb3a575abcaf DIST openmp-5.0.2.src.tar.xz 2081560 BLAKE2B fbe41c6aaf4c8e961253609a598bec531ab4685cd8c307ab2528b9d7553eaa38122ee02a2c4d481454f9233c062b3a24bb174a182702a183907a3d15a10a9655 SHA512 511895ca6049c17de81ad86c39dcb940a7c1a793005e16d33e58d72ad47f62b8cb61003c234a7544a88e79f25d2c86e9df834f90d37ccbd4b47f71c369e90437 DIST openmp-6.0.1.src.tar.xz 2048320 BLAKE2B 08b3a7051c985903f78331f55a1c6e928399b87c862c43c991e9bf78b66b6e412fc96f202b82c051176dbbe02422f8ceb7414f44ea8f3522f418e515c0f70c62 SHA512 abb956583e5d11d0c6f6d97183c081d658616a74933be884a591eaa3d8c4bb04f08f02016d2c86d7384c7ff1aa44fb949b0d967fc0ff50e3132aaba412e9add8 -DIST openmp-7.0.0rc2.src.tar.xz 910464 BLAKE2B a37364d52c7ac4b149e210cfd81e2a65a6513d152ab9ca99d2e9afc6c3e2ce8d65266c7977aa3b3edbf04110d7a77083b8bcd7129ccf0bd386fa20c8556525c7 SHA512 627057e451bd9d1c079d31616d13d09488a55912ee4d3b1ea1e3d5131111d8d7a723490525dfb8e1286371634fd37f4265d1e17d02d6d147a276d30fc37cbf03 +DIST openmp-7.0.0rc3.src.tar.xz 910604 BLAKE2B aafd9baac513758c3f12469fb9f2d97fad729ce4c0acb90e550b983255b063a2bb25c4a3c2816984f0f7f86d39eef758748191f81b457b385f067c32d7cef9c2 SHA512 5db6240fafdcde8c8fbac4e76d264ee2c62a7216075e413f11650a4a00bb82f272e9dd0d4c969f867dc549ed60aa1a31a1b1fdad7e0702933162b00c5b592d0a EBUILD libomp-4.0.1.ebuild 2527 BLAKE2B be262aa449e8d3c2392793b8af597c7d9a02e624f0d57ad8b24ef822bd57f6d243200ccee1022c18dcc52fc2d198d6aa2cfe83a1224f614ce0b2305f3f6bff69 SHA512 ca34a666e1aa6e767cd979866bcdcaf55da75dc8faa80d062e718ceda56576c3ebec88972787ae5dc4532bfdeb2d7f34f233b8c4983bfb1bc89bbd443ac54ac7 EBUILD libomp-5.0.2.ebuild 2392 BLAKE2B 18b10357f48653d53a6a2ff6a8af75721a0fe774646365d730eae0afef6cb277218e79e26a6316ca2d5ff7a604941b46e3f1dd51c1924d69d3eb899356000749 SHA512 254569aaa7d2cd3952b9d9ace4303608a7fd73d174cccc4b69b8be80563b37792cc93273543fb4ca4732fa8f89772c4ce432e0769f42961bdb28f9d51d301481 EBUILD libomp-6.0.1.ebuild 3257 BLAKE2B 44eb78a362f0a88c2096e5dbda7e11f94fa02f08cc5919f533e9f19e09d573d4d9921a3939eebc776b40f777cea5676d270e5e91434bb8430e9d1f445edddba2 SHA512 99d7f400c7ff76cdcdc8609e733baa4b69e3f87a131355da3f353b5e8f244f531717372f146cf57dc6d5230a1be27cecd7e00069780c53c43edfb3152e793ac9 -EBUILD libomp-7.0.0_rc2.ebuild 3202 BLAKE2B 80f2aba6d93528b9abf4154e13990c5d1085fc5eaee259d0e2604eb5e216c4eb98bcb5ccb3c935e1682ac1c4a105cb0665b340499c7e34161458d555d9c9890a SHA512 989a37b20c2441550c7ec921f4596c3ad84dadc98e57a9287d6b3bd4242d49f1c2efc4290a0fe0b1dc94aabb21a66caa2f54dce0db638891298d0530769c63e5 +EBUILD libomp-7.0.0_rc3.ebuild 3202 BLAKE2B 80f2aba6d93528b9abf4154e13990c5d1085fc5eaee259d0e2604eb5e216c4eb98bcb5ccb3c935e1682ac1c4a105cb0665b340499c7e34161458d555d9c9890a SHA512 989a37b20c2441550c7ec921f4596c3ad84dadc98e57a9287d6b3bd4242d49f1c2efc4290a0fe0b1dc94aabb21a66caa2f54dce0db638891298d0530769c63e5 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-7.0.0_rc2.ebuild b/sys-libs/libomp/libomp-7.0.0_rc2.ebuild deleted file mode 100644 index ab4a7aff9689..000000000000 --- a/sys-libs/libomp/libomp-7.0.0_rc2.ebuild +++ /dev/null @@ -1,115 +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 multiprocessing python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -SRC_URI="https://prereleases.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="" -IUSE="cuda hwloc kernel_linux offload ompt test" -# CUDA works only with the x86_64 ABI -REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" -RESTRICT="!test? ( test )" - -RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) - offload? ( - virtual/libelf:=[${MULTILIB_USEDEP}] - virtual/libffi:=[${MULTILIB_USEDEP}] - cuda? ( dev-util/nvidia-cuda-sdk:= ) - )" -# 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 - offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) - test? ( - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - >=sys-devel/clang-6 - )" - -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=( - -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" - - -DLIBOMP_USE_HWLOC=$(usex hwloc) - -DLIBOMP_OMPT_SUPPORT=$(usex ompt) - - -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) - - # do not install libgomp.so & libiomp5.so aliases - -DLIBOMP_INSTALL_ALIASES=OFF - # disable unnecessary hack copying stuff back to srcdir - -DLIBOMP_COPY_EXPORTS=OFF - ) - use offload && mycmakeargs+=( - # this is non-fatal and libomp checks for CUDA conditionally - # to ABI, so we can just ignore passing the wrong value - # on non-amd64 ABIs - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - ) - use test && mycmakeargs+=( - # this project does not use standard LLVM cmake macros - -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" - -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" - -DOPENMP_TEST_CXX_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-7.0.0_rc3.ebuild b/sys-libs/libomp/libomp-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..ab4a7aff9689 --- /dev/null +++ b/sys-libs/libomp/libomp-7.0.0_rc3.ebuild @@ -0,0 +1,115 @@ +# 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 multiprocessing python-any-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" +SRC_URI="https://prereleases.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="" +IUSE="cuda hwloc kernel_linux offload ompt test" +# CUDA works only with the x86_64 ABI +REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" +RESTRICT="!test? ( test )" + +RDEPEND=" + hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] + virtual/libffi:=[${MULTILIB_USEDEP}] + cuda? ( dev-util/nvidia-cuda-sdk:= ) + )" +# 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 + offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + >=sys-devel/clang-6 + )" + +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=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + use offload && mycmakeargs+=( + # this is non-fatal and libomp checks for CUDA conditionally + # to ABI, so we can just ignore passing the wrong value + # on non-amd64 ABIs + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + ) + use test && mycmakeargs+=( + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" + -DOPENMP_TEST_CXX_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/librtas/Manifest b/sys-libs/librtas/Manifest index 52519f6a7761..f435bba0260f 100644 --- a/sys-libs/librtas/Manifest +++ b/sys-libs/librtas/Manifest @@ -7,5 +7,5 @@ DIST librtas-2.0.2.tar.gz 91627 BLAKE2B 1455af1af4a932fb81815ba67d1d1d8eeb0866bc EBUILD librtas-1.3.13.ebuild 495 BLAKE2B 0bad9d6ce9d39968941afd350a73e7ef812454609f5839a942c75ee0a9a9514e9ea33e0bfab85630372abb9460127dfb6461740e3e35dc99803d70c7d54ad8e4 SHA512 54844c83026e3d392e586faed15f5b6983379b49942bda7a3377b45602e346d04df40b8388de9edb4a5eeaeec27015ffd4adf69f2a6258c3b60dff17094edaa9 EBUILD librtas-1.3.6.ebuild 494 BLAKE2B 0368c08c367f063063a45d500dc75b8c09f44de5b741f1060664bf035c208de47c9dc705605ee0396f493dc81dbaceb2a34825e7df830ec57f076d738af66cbe SHA512 1333210cb31df41e6eebfe6fb2aba840b007b161a2528a42c2e83489f85fa6e5241a415bb0e8fad6e4f2810ebdc14e05aef25f79ad2ca4dc1a281482eaea7dc2 EBUILD librtas-1.3.8.ebuild 496 BLAKE2B 140b26909e1dd1f20e55587c533ddd49e18233798e81269083c69198c36bebe70d254732cd28173c561e00fd37ee603e2e7ced921ba7b333d18eb9b8142a72ef SHA512 3eebb86f83d7e9efa8cf85c0fe438f472666d271858e043112615b3fa696f8b831e806d91414a733a03333a4a6f345252b91be4c65438d0fc08a1507b47a35b1 -EBUILD librtas-2.0.2.ebuild 496 BLAKE2B c0f4d03244cd286144de15aa25fccca257ffca3d9d71efa3679bd37e1105acb706582d387aacd7a965d4c323c07b36e7c36a528363e0021629ce123746801744 SHA512 00fd5e9b7c81048795adc6971cfdf1dd30e04cac6151683e57f4cfe84eaadffa86de05769ce1b1342d580916ef41899be76c176ae36a607a3d429f84a76cec0f +EBUILD librtas-2.0.2.ebuild 494 BLAKE2B 39bde667630ec3842b6f9f99fbc197b339d6b8ed3e049417e2138f8b8653a4b0ad7ac204a40e018157be8ec4c961568fca7ce3a7fd75cd877e87f96f6d15576b SHA512 d83d5d0b6228030a6a051eb62ec146edfd358fcb6cdba4638d0f608089384613323ccdf29bd9bfaad2475c6634f30d7e38e2c793ec1574c7c926fe70dd25d4fb MISC metadata.xml 340 BLAKE2B d84ae6cde9ffd7cc2476c3ef90d6125e65946795711e4c5a422e244a2369ac059fc0f22e038c687c5e871370e4384694b5d464abcb76097ab065149de35ef17e SHA512 54fcb0b54320053eb1f68f11107e8027a618351a78d539de2dffaad678aabe9b20972700af6ac2ba4bfa589c91e1cd2d91df517ab745ad365b1ad1ba7a4b0f3e diff --git a/sys-libs/librtas/librtas-2.0.2.ebuild b/sys-libs/librtas/librtas-2.0.2.ebuild index 8c9ae20cdd30..42b86f3bb0d9 100644 --- a/sys-libs/librtas/librtas-2.0.2.ebuild +++ b/sys-libs/librtas/librtas-2.0.2.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://github.com/ibm-power-utilities/${PN}/archive/v${PV}.tar.gz -> $ LICENSE="IBM" SLOT="0" -KEYWORDS="~ppc ~ppc64" +KEYWORDS="ppc ppc64" IUSE="" DOCS="README" diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 662d6aa80995..1c666e5a57da 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,15 +1,15 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 -DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746 +DIST libcxx-7.0.0rc3.src.tar.xz 1654708 BLAKE2B 190b7e1112a205e29873ede8dbdfd37e553d31629f6f9524fb7887222427b525eb42e6eda90d542587222e2a5a192b62f9fb8ae128fa9b4d1ddd1871af867f11 SHA512 aa8187fb1090ef8718ad3dfa512d246248a8bc94afddc155f4aff14fd1b8857ce30a4abccf12a57102ef6cd38b5e251b43dd312e9f85136c4546fd558eddb179 DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2 -DIST libcxxabi-7.0.0rc2.src.tar.xz 535948 BLAKE2B 02505fd0101d9be53c66f14f5aca7a99c3e4309d9979be1a5792f869ed8e72562e8f7a2fba222d2a121845d4425ff98444046e4edfe2023891ba80521ebc4a00 SHA512 fcb51c4005bb4b79426467c8d7128412c37b235518455fa57521e04df2d47fc97aa0bce10ebec4fe3f3097bb3657f56014258ca8c46c978e709927fcce27fd5c +DIST libcxxabi-7.0.0rc3.src.tar.xz 535708 BLAKE2B 5307e5bc36583befaf2ad8660dd48172e7168658ff38a1e24bb21dd4077757e2df30288956e3ab05c4cb07b986f0386e1a27d27f24c8aac72a61602fc4ca8177 SHA512 24d60a10f96226fb2825e61b82c6def8ddb93a7395fe0cef9a8f56aea8fc7cdfeaf5ec85242a6ad50c417dcff97efc8ea7400167725b9c5b6e5ca950df7b4c8d DIST libunwind-4.0.1.src.tar.xz 63388 BLAKE2B f49772beabaa8519a5f8dbbaef9c2d6554468a66b89a5f012946d59f772fe864809a5c95b726bcb4c059ca551a4eb023a88f4fa618756b34fef2058e272467e6 SHA512 8a0552a8ab830010d81420f4b778a3b831bff85b19bcce972958fc30e1ba5a2fa26a3deba499985a43dd7a103690775f6a20e7b3edda55f4eaff3541002d6b59 DIST libunwind-5.0.2.src.tar.xz 72340 BLAKE2B 8a62bd91f6decae1a9a51df19f708fcdf72a6fe6e57a5848c5dd0d36ff2dc64db8a0b3af469cdd5e787b9301f2718df0981f91857ecbc7a5f5d95a1a053652bc SHA512 137c4b269bff053d532a373e9f696ca68ad0bbf606a18dc98597e00fcfc6ce21d74bc2a0c03b96444654d688fa97d544c6f6b70822fcf7e190ed96f193ddc6ba DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f -DIST libunwind-7.0.0rc2.src.tar.xz 79412 BLAKE2B e6b955c8098180b0e0d712150e81a0df1e1a44a655a2029896594faf5e3af4cceb46f0e41f5970e8c2adcce8ae7a121afaea9751550983826ce0b11a9000b32c SHA512 bd82e9d68661d584e1670be4a1177ffe46c27b70e1a5942f797913a223aee171e0f0ef6b241afce1784cb8a7feff6de37373a10588ee38c743322f8048cca06b +DIST libunwind-7.0.0rc3.src.tar.xz 79420 BLAKE2B e4c6b1b9e4c3ea866d7876e23ec3c0969097bfa22c3b6ff80a6e1e51b906762903274de299c1239ea04a0dea862c5e4f7fa339380900ef85532812755e11a160 SHA512 fe3633139def8f1ab232b3335960d717a1ed3178301699daef1533506e1b4208077b179163d551c29f38cf9fe94345f2042bc55f14b07da5b8c72d282994ce1f EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386 EBUILD llvm-libunwind-5.0.2.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf6215f6d964e0a991e389c33af1a1614bc0c0dd404b58141d64513a22709e1755c79f4466b3cf7b43515f623927f766f0 SHA512 cd9740fad0a59488d543fa2af2a2908457180840999d463071bb557d45214e0cf04069f922e90e0a3b3f8144b8966d2f3564c098561a2ae0511264d1eb2b104a EBUILD llvm-libunwind-6.0.1.ebuild 3742 BLAKE2B a2e7fc30c8084cf48c4fd795c78351081cd58408eb8f60fe8c09bf8b87196c9e4fbb471da223f36369a25eecd8cdd6d92abae5cd7544729c50c47c55f0232c6a SHA512 6367327da3e0fae97282370e2762382588daf6e59d9f8ec882d52b974cb9bcd5209dd1f37a7c9e94d15cc411f4212b94b332aac5dd3d652ebb38893f74df8391 -EBUILD llvm-libunwind-7.0.0_rc2.ebuild 3723 BLAKE2B 68f20b72456dc6982472d66057cdc197702c72947a99af3ea6f0e1ad68afab08e53eada76da1a0af252dfef347bebc6c6506d0d002158ab3a4a47c3f7918cc5e SHA512 651abd80b33fce62d8253fb061a589d5f726a9660ff4b674d2c75986373d53e1d0eaa45c6a255e0efd9666a5fd092e062c997c020582636e4059fa23e48304bc +EBUILD llvm-libunwind-7.0.0_rc3.ebuild 3723 BLAKE2B 68f20b72456dc6982472d66057cdc197702c72947a99af3ea6f0e1ad68afab08e53eada76da1a0af252dfef347bebc6c6506d0d002158ab3a4a47c3f7918cc5e SHA512 651abd80b33fce62d8253fb061a589d5f726a9660ff4b674d2c75986373d53e1d0eaa45c6a255e0efd9666a5fd092e062c997c020582636e4059fa23e48304bc 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-7.0.0_rc2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild deleted file mode 100644 index 74e6856356b7..000000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild +++ /dev/null @@ -1,143 +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=( 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 - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" -SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz - test? ( - https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz - https://prereleases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="debug +static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-libs/libunwind" -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - 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() { - use test && python-any-r1_pkg_setup -} - -src_unpack() { - default - - if use test; then - mv "${LIBCXX_P}" libcxx || die - mv "${LIBCXXABI_P}" libcxxabi || die - fi -} - -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) - -DLLVM_INCLUDE_TESTS=$(usex test) - - # support non-native unwinding; given it's small enough, - # enable it unconditionally - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx - ) - fi - - cmake-utils_src_configure -} - -build_libcxxabi() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -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 - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/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() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - build_libcxxabi - build_libcxx - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - cmake-utils_src_make check-unwind -} - -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-7.0.0_rc3.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc3.ebuild new file mode 100644 index 000000000000..74e6856356b7 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc3.ebuild @@ -0,0 +1,143 @@ +# 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=( 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 + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" +SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz + test? ( + https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz + https://prereleases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="!sys-libs/libunwind" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + 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() { + use test && python-any-r1_pkg_setup +} + +src_unpack() { + default + + if use test; then + mv "${LIBCXX_P}" libcxx || die + mv "${LIBCXXABI_P}" libcxxabi || die + fi +} + +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) + -DLLVM_INCLUDE_TESTS=$(usex test) + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx + ) + fi + + cmake-utils_src_configure +} + +build_libcxxabi() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi + local BUILD_DIR=${BUILD_DIR}/libcxxabi + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -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 + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/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() { + # build local copies of libc++ & libc++abi for testing to avoid + # circular deps + build_libcxxabi + build_libcxx + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + cmake-utils_src_make check-unwind +} + +multilib_src_install() { + cmake-utils_src_install + + # install headers like sys-libs/libunwind + doheader "${S}"/include/*.h +} diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index cf63e4c81f65..800d02760f09 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -3,6 +3,8 @@ DIST getconf.c 11614 BLAKE2B ba49a573fc16d51780a0b0b81fbf7b64a1142f1dbad203c9609 DIST getent.c 9438 BLAKE2B dc20353583c10a001bd8fe8474f32b70254dc56da186d1cdbaf4081570c3d7a10497024da5815a485fc4728adc9eebd270aec99ba93b7546b38c728978e3e00b SHA512 b35de9847353b273516162ed4828a810c6130fc5b7de44ee4433003b3f99647b25792d9b1c40dfc67069add11f3fb850e5c35d4f1912dccac108059bbbdfd5a2 DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b2146979c551f714954dbd465462a171837c59b6ea027e0206458a2df0f977e45f01be3ce48 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf DIST musl-1.1.19.tar.gz 960319 BLAKE2B 3e69de2ed9384fe200bb64e603f342a930acf035cf7bac8fe3cd4225800424207df2b73fe6fabf3147fc8023a655839c33f50c0be8e30f51f76b84aba4de30b5 SHA512 abee52d53af4b3c14c9088866c911a24d2b6ef67dc494f38a7a09dfe77250026f77528c24c52469c89cffa8ced2f0fa95badbdcf8d4460c90faba47e3927bcc5 +DIST musl-1.1.20.tar.gz 977827 BLAKE2B c8ce3cc1885e8103e1cf9d67183d89e5e222fd317158b20f25a8e1855a3cd5d16c79b4d95ff896fe7262f233141c3f3ca4dfc6a26a2373ab1d29a3c66b904e61 SHA512 d3a7a30aa375ca50d7dcfbd618581d59e1aa5378417f50a0ca5510099336fd74cc9db468e05c93dda3067abd890f6bd47af226c3446bb833adf0a5054bff2e5d EBUILD musl-1.1.19.ebuild 3052 BLAKE2B 5ef489e0ed841a692375c06e85b304eefc046dfe91cd15b9255208ebc34ef571bd8d32074fa0e7babae1d93497e3b5d46295e74e3fd33eab6210d2f08b04c848 SHA512 1eb90564e0f0939fff635a48799c992e8301911a5c1382e0a20975a149eec6bcc5a3f79e3ac51f5e8bcd5ee7bd22bc01aa28ee378be7b684a1c0235af2d6ef0d +EBUILD musl-1.1.20.ebuild 3055 BLAKE2B db7546fa0a34f8d422d9413ae4459516b49223072a804b89a8893d156c8e909aeb8cb6c7b31b136300ac88710fc23193cd23f6472bb6eff0bfe871436d1fad82 SHA512 6c9d750ac2db36f9875d738f4e20e3885eae7e870d5ff07d7e87f6445e4e4c6740ab4ae67281ae1c00d93c77540949da8691d65da9760cf769c919da6dcf003f 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.20.ebuild b/sys-libs/musl/musl-1.1.20.ebuild new file mode 100644 index 000000000000..768c9e7412d8 --- /dev/null +++ b/sys-libs/musl/musl-1.1.20.ebuild @@ -0,0 +1,118 @@ +# 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 ~arm64 ~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 +} -- cgit v1.2.3