diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-01-21 19:03:35 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-01-21 19:03:35 +0000 |
commit | 0ebf740b9c9bc7c10ac41bea315ecc6c01c79166 (patch) | |
tree | 15bb76d57cfb8652fd2627a24007e0bb92ec4a99 /sys-libs | |
parent | 5b5df25227111ef465caf5c52bcfb66dac3219cd (diff) |
gentoo resync : 21.01.2018
Diffstat (limited to 'sys-libs')
27 files changed, 304 insertions, 153 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 54b1e6d7afbf..61e7d8cf6efd 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index fadcc8f312b5..4f725bb862af 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -5,6 +5,6 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10 DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb EBUILD compiler-rt-sanitizers-4.0.1.ebuild 3840 BLAKE2B 72c9943e4bafed115dabfa2fa33a035af9259bc764e8ac6797a9fc7c62aa60110feba43305b25595b6819e7fab261edc2619113deb5ef5629d0b433fc788717a SHA512 1d0d63f67b71a718bf7ed8bb422659a1b83f7c5dddd7d5cf436d5e7c266eb5ffd9096a2653c18b5272c79d659b898ec9fe489ba94d8786cce7823acea11724a9 EBUILD compiler-rt-sanitizers-5.0.1.ebuild 4067 BLAKE2B fed4fd01744ca37cbe33dbff79475d1465631bda8483ddaf769e7c83e68cc40436f81dcd8ce0333b18ff8df21f0b4b347a1f1a7f50f4fa7c7f3d0f630d69decf SHA512 1c4711e09acf152cc104f2c22a5a415dabbbcb58cca28dc016d0b80ff7bd6d8141fd29f2f967ea17537493b46a70ac310f12b7d850d3dfc581fe84ccc970ca01 -EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4435 BLAKE2B 6415de19dd1b756f25a0b91dad6cd370d611b0337b3f4f4a710a1c23c5375fcc41fd57f5084a9e9316e7cd694e067e0b34c4e162f57c352a910ba89bd8d33db7 SHA512 226d07235caa4dde5e87d7633f80cc42b5ddbcafab6764a765a785e6f142a1603407228df43b2e878f74187ef9b86360334d9253e164044d47be98046d3ddc65 -EBUILD compiler-rt-sanitizers-9999.ebuild 4410 BLAKE2B 05c9c6f0ebf9e5ce5e492583dc5786fcaeed161e31d6a4c520ea0e229df6b51152144b24b6fd7f1498641bbe970918abdea49cdf27a260884ddc1c5dd6e90531 SHA512 dbc3b90247271197732501f00475e85faa5e9c2f47981d7f9bb42562832800dbd302d7abd6857fa8040a710a081ad6c36ef271bafb40f1b9bc6e869afde96d4b +EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4433 BLAKE2B e3cb6572ba349e08c5027196af769454dec3b8a9192c4db724fde9aa70dddd104e21b4b0ea39acc161156af0b64f3e3d354ee409240bfc100ae96e0278ad22e3 SHA512 965d0c2bb4bf5f15e71f4d4517c98a7542ed0e07a50d8070b2b97dc23f5910bf0c20b7495b2638c4a8a8ff9388bbff2e13bf62ac88548f507035a7e441286145 +EBUILD compiler-rt-sanitizers-9999.ebuild 4408 BLAKE2B 1fc8eee2b6abfcb8eb044b76514dffce7faed2b9ffe259b532ec7bcf9cd82e6507d2c48677c7483a04c140e9e3739dd01c76df633f949e6b6b450469eb4e9e1f SHA512 cb229dfe2be81f81fccba786ca02a93b59760195b773b8101ad2e9ba9a066b6c98f2c177343fac9fe20ab517ffa2af6b3d50fa59af6ecba475735af82f8496bd MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild index 5e10ee47eeb4..b3850e773bed 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild @@ -25,9 +25,9 @@ IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} -# llvm-4 needed for --cmakedir +# llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( app-portage/unsandbox diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild index 5821a6f3c0eb..2b85804e799d 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild @@ -24,9 +24,9 @@ IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} -# llvm-4 needed for --cmakedir +# llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( app-portage/unsandbox diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index bd3dca27d045..00ab356deda6 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -2,6 +2,6 @@ DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b0 DIST compiler-rt-5.0.1.src.tar.xz 1498220 BLAKE2B 61503df8a4075c2fe1e42d480753b861321b5de127e340f48d648fc38d81c7967cead17e136beaa5235cc92540f158915fccec77cf39aa7c336d106c9d265222 SHA512 61e23775db78bdeed3003a509b45ae609287db31302fed186f3210d481ecf062d1828571e63482215ab00ff732df8f3fa6c77334dfb677e4b76eb555d476b8c4 EBUILD compiler-rt-4.0.1.ebuild 4138 BLAKE2B e13bd10d0709bd482064b110742f7714306116e27c8123a3f61a446dc3a10e5de688c4b0ff0b5e43f392032c05e5abf8b1d429e9351090691e56c204c2341bed SHA512 76e4ca5084fa6c4e909cad6327d8e59a9a5ff8e88f6d7800c65ea0b19e464408598eb3c7e950ddc72b882dcb332f0ac094b15a3081739dfd0873a998e27d9bfb EBUILD compiler-rt-5.0.1.ebuild 2660 BLAKE2B f67e722c35d6d5908c12b175f99aec5899435890d92421d5eaf4bdfd53dc3c335da8904a317c4f937ec281f7f3ec22ca4b3c9c7babd0fa65e6dffcf5456e8f9d SHA512 8a002c63f12f2dc7b6f5cd8052879b4c8c4381f4aa4bfa2e72b931d820ffa353bcc927a46ac7832790d8124d8e6dec23e71c2faf91805c174267f12cfc055f5d -EBUILD compiler-rt-6.0.9999.ebuild 2873 BLAKE2B 419ddb09e6413ac6a8948b7bcf43ecafd6fb822c4d54b74e9197cdcb6998a288d223429c82592fc580b3cc528daec003072523c7a32e3ec97b2ecf1daea42dfa SHA512 2a0814fdb3e2258f13fbc6c8ae1014e09bb6b680f7b784f6071f6edc08a95b5aa3b97abe9e32c83655d6ed590bbf29bd4f8eef8f44fed9ba385264b46bca91d1 -EBUILD compiler-rt-9999.ebuild 2848 BLAKE2B a44e7b05cacef04284cfdb7a1f31c48e85fc726da666479ca222605cb804c24900b0f360de5ef69065d3ddc4bf5d150a86980948d5340aa34b1295358bd2ce7f SHA512 9312c69639d82f59c08ceebbe062d57f12675772e9f3cb980c0328fe185e16300351415f91b12ccd3063c7d61ad739a45d11460e951a7640a07452633406c8dd +EBUILD compiler-rt-6.0.9999.ebuild 2871 BLAKE2B 2e6ce4192a57440b1f837c361fccda045c96c18d7acaef5587830efe5e968f9b5a074b1dffe89d8ea1d3d18f6597f41d8a4a6e3fd03e82119845a74139bfeed1 SHA512 2ee689385da6e2b3cece10118543b5750151cc7b9d44bd1ed28f295416d2eb4828dad7a741c09c59b9c3fa625d4285bc2654e8d7fe684265203af33f594ee863 +EBUILD compiler-rt-9999.ebuild 2846 BLAKE2B 5202a7795e45eae2d703407f12abd4afa8cbb0c3ab7e2dcddf1e6eac4dbfeb36c7186dfe1d3fb200242d6ffc553f50c3b4de1489a4343f5111b1fb6d3b74438a SHA512 f1132c0eed82de808c768336a50f8409738471728043a662ee3fe89e55b2e7b926d52b9d821148ebebdf44adb7d327c4ced798ec9d6fcb2c45e1f780d2438a01 MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild index 19b4ea1e2fd7..712fe0ab6fd0 100644 --- a/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild @@ -25,9 +25,9 @@ IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} -# llvm-4 needed for --cmakedir +# llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild index 4f525a8bc4d4..13a501b66836 100644 --- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild @@ -24,9 +24,9 @@ IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} -# llvm-4 needed for --cmakedir +# llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 462043f41f4c..5c5015764cae 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -43,6 +43,6 @@ EBUILD glibc-2.23-r4.ebuild 4975 BLAKE2B 9a0d3a3689896fab9f71fa20a83be5f2563f023 EBUILD glibc-2.24-r4.ebuild 5011 BLAKE2B 71050f0449074652d4fabc709326025b4de2e6642fdde87898acfde6f99cce95f4d7b9e1e7f9eedcdf6d2fd70ebf3c2860599ec36ccf68e0e633ec794f8ce0e8 SHA512 1cb3bcbd7d9d7f7c095bdff7c81d0acc3b4700c0b8a9d4fd0499cbf53abb55c67ca3bc3cce125916d238eb8cf6f6d69989af27defd6f194aaa5ac27cdda94eb9 EBUILD glibc-2.25-r10.ebuild 5012 BLAKE2B 86753e126c049ba2407529668b82094650a718b0abc954a28ee578d331c2ffa5e425ddfff67b7ab4decb91c3b966220eef6cf0247544015c0b3160ccff330576 SHA512 3a06e7d0a949bc7347c37e7b2fe48ad6ed328af9b0c3ca808f5fb50643aec6bd050ff868c926bc6f9aa62f572a2da26527de666a12b9e5ff9cb7cf680547e951 EBUILD glibc-2.25-r9.ebuild 4999 BLAKE2B 6c0784aa614374954c0747deb7a33fdba0f8b1935cc28c62af29880d64991cc93740eddefe8dca971d6c1bbba14161e10db75e00a91d73282e0c0bf094004b94 SHA512 3b5dc2073ae44e6cf5a4f8f64a3c3fd837ebaa222009ee617105259765ff4222fb3960be1c537d4fde6c7e928bd85325d9070cb668b31cb6afb03368c079141f -EBUILD glibc-2.26-r5.ebuild 25543 BLAKE2B d6f427a7c876a264fc7b14516c7e36adf97a594d291ff34b90f69397fa097968a38db2fbfd19854fedf55d59e7d1b8ff757b525cf6f33182cd3633f0044ef254 SHA512 364a561a54f81d4e40298310acec3c7bd976276abae24549d891de58146739964bb73e91b53c193fae8e6328dccbda0b57fbfca2b7e27912d1654c18ab62e13c -EBUILD glibc-9999.ebuild 39783 BLAKE2B 3029010d46b287fc480a67e5ed1ae71c5989e3e47db775888afdf5f44dd9ea21ce61f5d6f28e72ef0d8508cff9c925e2b76d4ac04dc7e700fd054e83148cb1f8 SHA512 d8c95ac974d1efae9f3d17a99a3707fb2a0f767e509256382418d0460364c2730d6318a311183a2c554ff33d4d79c161016e01a9a82787a71b8c9f750d018918 +EBUILD glibc-2.26-r5.ebuild 25380 BLAKE2B b3af0b788b73ede0255c2e5778fe637cd66f11e4912c00ae3e5cca3c65b6fce8f9613ff45768d97369ebfee6d0548bfdf41bb8ed8c4778d13612d9d98cc084c0 SHA512 6953295e4cbaa2f7d7241fe053704b2a949e0ee55515c3357ab3134cdcd6e84a1f00f01549ebf61640c3297814233062929f3bca5f91a5f5868742f5f7e5cb87 +EBUILD glibc-9999.ebuild 40516 BLAKE2B 47efe059c10b70deb5476d2f04b624a130b66a3240ac0d2ac4973884bc4e1bb90ad3ea3840b744c51a44092eaaf0112ca90e1a3b2e186fd02dcb1e08fb32942f SHA512 e9321670cf316b834110b739b93a0bd650e0a639db74c721dd40fb97043f36022bd5d75b55af563a01880c358f13d4d55ebe4006827f46338301ba6b88fc60ee MISC metadata.xml 1054 BLAKE2B dbc091e54130729385bc02aaa1025885f101caa88d601b1f7670974d89e7e24aae5d37fd6699278a37c0064e1f3232c04954dc127869427317b5d80b499f3813 SHA512 65474b7d32ceb6bafe8ae0e18aa0b46b68cefecce5570a0e8d4a0117019e6540f2feae35cecbebad382b4f06d6e5ae1dfa9b8a61889881e8534956dd42df8e4b diff --git a/sys-libs/glibc/glibc-2.26-r5.ebuild b/sys-libs/glibc/glibc-2.26-r5.ebuild index 4eb6b34679f5..ca34027cda76 100644 --- a/sys-libs/glibc/glibc-2.26-r5.ebuild +++ b/sys-libs/glibc/glibc-2.26-r5.ebuild @@ -323,11 +323,6 @@ glibc_do_configure() { popd > /dev/null case ${CTARGET} in - mips*) - # dlopen() detects stack smash on mips n32 ABI. - # Cause is unknown: https://bugs.gentoo.org/640130 - myconf+=( --enable-stack-protector=no ) - ;; powerpc-*) # Currently gcc on powerpc32 generates invalid code for # __builtin_return_address(0) calls. Normally programs diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index f7f93ffbd6ea..cb0e4cb11119 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -509,7 +509,53 @@ check_devpts() { fi } -int_to_KV() { +# 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)) @@ -518,7 +564,7 @@ int_to_KV() { } eend_KV() { - [[ $(KV_to_int $1) -ge $(KV_to_int $2) ]] + [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] eend $? } @@ -528,51 +574,10 @@ get_kheader_version() { tail -n 1 } -check_nptl_support() { - # We don't care about the compiler here as we aren't using it - just_headers && return - - local run_kv build_kv want_kv - - # TODO: this needs to be replaced somehow - run_kv=$(int_to_KV $(get_KV)) - - build_kv=$(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 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 -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { +# 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 @@ -591,9 +596,6 @@ pkg_pretend() { eerror " Downgrading glibc is not supported and a sure way to destruction." die "Aborting to save your system." fi - - # removed check for #262698 since it's about kernel 2.6.18 ... - # removed check for #279260 since it's about kernel <2.6.28 ... fi # Users have had a chance to phase themselves, time to give em the boot @@ -610,6 +612,12 @@ pkg_pretend() { die "Please fix your CHOST" fi + if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall(<bignum>) will break. See bug 279260." + die "Old and broken kernel." + fi + 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" @@ -619,30 +627,6 @@ pkg_pretend() { use hardened && ! tc-enables-pie && \ ewarn "PIE hardening not applied, as your compiler doesn't default to PIE" - # Make sure host system is up to date #394453 - if has_version '<sys-libs/glibc-2.13' && \ - [[ -n $(scanelf -qys__guard -F'#s%F' "${EROOT}"/lib*/l*-*.so) ]] - then - ebegin "Scanning system for __guard to see if you need to rebuild first ..." - local files=$( - scanelf -qys__guard -F'#s%F' \ - "${EROOT}"/*bin/ \ - "${EROOT}"/lib* \ - "${EROOT}"/usr/*bin/ \ - "${EROOT}"/usr/lib* | \ - egrep -v \ - -e "^${EROOT}/lib.*/(libc|ld)-2.*.so$" \ - -e "^${EROOT}/sbin/(ldconfig|sln)$" - ) - [[ -z ${files} ]] - if ! eend $? ; then - eerror "Your system still has old SSP __guard symbols. You need to" - eerror "rebuild all the packages that provide these files first:" - eerror "${files}" - die "old __guard detected" - fi - fi - # Check for sanity of /etc/nsswitch.conf if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then local entry @@ -657,31 +641,92 @@ pkg_pretend() { 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" + "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32" + "${T}/check-ia32-emulation.elf32" + local STAT=$? + 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 } -# todo: shouldn't most of these checks be called also in src_configure again? -# (since consistency is not guaranteed between pkg_ and src_) # src_unpack src_unpack() { + # Consistency is not guaranteed between pkg_ and src_ ... + sanity_prechecks + use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2 setup_env - # Check NPTL support _before_ we unpack things to save some time - check_nptl_support - # todo: 1) move this to pkg_pretend? 2) use proper functions for kv - if [[ -n ${EGIT_REPO_URI} ]] ; then git-r3_src_unpack else unpack ${P}.tar.xz fi - cd "${S}" - touch locale/C-translit.h #185476 #218003 + cd "${S}" || die + touch locale/C-translit.h || die #185476 #218003 - cd "${WORKDIR}" + cd "${WORKDIR}" || die unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2 } @@ -768,11 +813,6 @@ glibc_do_configure() { local myconf=() case ${CTARGET} in - mips*) - # dlopen() detects stack smash on mips n32 ABI. - # Cause is unknown: https://bugs.gentoo.org/640130 - myconf+=( --enable-stack-protector=no ) - ;; powerpc-*) # Currently gcc on powerpc32 generates invalid code for # __builtin_return_address(0) calls. Normally programs @@ -891,16 +931,10 @@ glibc_do_configure() { # is built with MULTILIB_ABIS="amd64 x86" but we want to # add x32 to it, gcc/glibc don't yet support x32. # - # This reqires net-libs/rpcsvc-proto now (which provides - # rpcgen) !!! Needs analysis how to best add to deps. - # 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-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - mkdir -p sunrpc - cp $(which rpcgen) sunrpc/cross-rpcgen || die - touch -t 202001010101 sunrpc/cross-rpcgen || die fi fi } diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index a8066ba4c8a0..569ea5f965aa 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -10,6 +10,6 @@ EBUILD libcxx-3.7.1.ebuild 5335 BLAKE2B 6f4dbbb8dbc7f6e8b97f05ff3e638bb037bad416 EBUILD libcxx-3.9.1.ebuild 6815 BLAKE2B d15c83602e244f8a50e0a9d15869dbd4c7be226d8b1f93249cb6658149ad2408f0feada97403a0dfa3dcd8ac25b98ae084d1d17c879f67ae24d33f8497aba569 SHA512 9c9632590b49cd01ad324641ee296f08442940ab1dda1f0c7cdc77abe6b653f70d0baa9b796ef7d77e1f4728e96fe27fcd42d79a389cfcf2b2427b087b9985af EBUILD libcxx-4.0.1.ebuild 6301 BLAKE2B d4a17d742479e7532c986046fe12b4aed0d1e59faaebead864f7e3f91c4be82aa5d708a7efe2038a146151d10530b0f31a34006e8af6c4dc24f18537dc8c0feb SHA512 8e4a82071fd5945f7876adc9cd20ed2d35ee952711574e8ac2b735d60299b480e269b07ad829c015377c8042a54b6604ffcfe41f98869b25844c00b62bec3b46 EBUILD libcxx-5.0.1.ebuild 6302 BLAKE2B 5c5f95de295a0e5fd43c33b476432fdb2896ab352d1c14b54abd9996de595587eb7e13f0d780e3b092ffebb0afdd23bd1e0478fc0cf129ee96c7ed8ca3a99a74 SHA512 a2a2707cc8b02601d72a9ae71979e86e9d1de87de635b3b2f18ee98b68fcd5fc9839d01ca4dc4023362d2fc374209df2ff8d259547daabac7f9f0bd7ea6bd359 -EBUILD libcxx-6.0.9999.ebuild 6513 BLAKE2B e5d83e13e2fb47a63b4bbab86d48b00fac3ababf5723ac54d16a1ce6403d4dd1903549301e29d38b848ee46e1e60713287fa26f492d886d01aea9b1803772abe SHA512 7d2650d31f0ee52cd2d3cac8237d50090e3d4465999c228f49dc96d9c7ad2eda57b35d6cf3c29555914ec8fae884fe4a46a1ac8bd38614ea75cfcca2c295fb97 -EBUILD libcxx-9999.ebuild 6485 BLAKE2B 09a9fc6dcf7240816f5a6eeec43446e983749eb5ae97a15f5df752c32c827bc5fef9c3b7cb3ff6b6dc290d8d2f7b00c239a93eec15809e12a0ff04cba2f1130b SHA512 18d69115e73f777ac6b98778bb64ef80da638394271ab71b07838fb7aa80661844829cf724664da4d6e56c1e22f8da6caa351e13d04119ed2c8f96df4c07048a +EBUILD libcxx-6.0.9999.ebuild 6497 BLAKE2B 4a0f126640f78d961579f996c85b41639119f6770d91c094d0037a4f7e7b415b4ecee67bb313287f83850bd180d1082965f40778daee105db9073614ab15949d SHA512 be4e0cd99414f798fe3ed3ba58c048074195a15182520ce26bfc4bd266370312046561a5d276a8c0c927692de58a3f332a91661ef6e6f74006d26b7b9310c866 +EBUILD libcxx-9999.ebuild 6469 BLAKE2B 2d4b1c09cf088780fd83336d949910e94f4d149a2cb53afbad384fdb5bcb8a1b697c803a57e9969f45b5fbd51bd36f32250fea815d1572045c4bf802a8310531 SHA512 395eed9c631daf2dae0a8ff37504bcc0682157817897402717e6a69002808cd89903d5d2ed5c69c2d542a70dc4457420dca8454e1cd54be6570106e4897cdf93 MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild index 803726e9d93b..55b19b88f38d 100644 --- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild +++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild @@ -42,14 +42,14 @@ RDEPEND=" libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )" -# LLVM 4 required for llvm-config --cmakedir +# 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-4" + >=sys-devel/llvm-6" DOCS=( CREDITS.TXT ) diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild index cbc6f0f2df65..9ad293ef7869 100644 --- a/sys-libs/libcxx/libcxx-9999.ebuild +++ b/sys-libs/libcxx/libcxx-9999.ebuild @@ -41,14 +41,14 @@ RDEPEND=" libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )" -# LLVM 4 required for llvm-config --cmakedir +# 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-4" + >=sys-devel/llvm-6" DOCS=( CREDITS.TXT ) diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index ac403b7754d5..d9562e2d18a3 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -9,6 +9,6 @@ DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696 EBUILD libcxxabi-3.9.1.ebuild 2646 BLAKE2B a1f66067e57f09aca9d2f44735f3c7b01af38b381ecab526f9bae8ffbc5c96856c5a6d8c829b2d95f0a0afffefd319670c8484c826ce81b94a63c51bb53ed114 SHA512 4849fbfe11876cb403d78852abd6df27a0dbeada69c15fd1af6e7a20d742fcca064b227592e3ac69e32546cef94c790f28d63d40c8522213a9910f0b625ea379 EBUILD libcxxabi-4.0.1.ebuild 2491 BLAKE2B 9f0bf316a6c451379291ab2825411f1a11c5924a4b9aa2dc7f742961c15072572240f945583373a3016be4cfde7993c123cb72cc6a93d31a56a7037d126f7df3 SHA512 fea9cfc1ee9389aad2e11a63802de0dd7c2f2e82ccefb5afa25349b64bba296022f293ffc66c5ba7c8e704513b17a77d911b2de7ef800db5f9a484596a9e147e EBUILD libcxxabi-5.0.1.ebuild 2571 BLAKE2B 90268006adecef7d343ab6bfd37cd69f4c97b77a9e18070a04cac33d8f30fc2156bdf265ee8c760a8bada302ef0a5887507637c1620b0fcc40c2cc2e678870f0 SHA512 1b70fd9b00c0c9d70135a31dad317b361f77843faa20f9aa588d6fd469c04a3731e643a2f6a2968701cfbe4f99be46202932428e955c7b32c54e2f1e2590c363 -EBUILD libcxxabi-6.0.9999.ebuild 2563 BLAKE2B dda79ea0e63d161b1bfd7e8cc60f7b9b0afc7c98fcba988a69ea9c8afbdea0630e221e424e00bd8d9f788ad65cc57253f5b5e953b91adc488437507266060469 SHA512 4cbb48b174ff596e4008873b179d7996676f49512657e7874e3f8dc4ef2fb5716f460a6141e7d51fa5d912ea0cb7ee7916bfb1b56054be850d381418bafde005 -EBUILD libcxxabi-9999.ebuild 2538 BLAKE2B df56a395a119b42e7e9bf2e5253187081f9b07cf53a8b94b911e50f25f09895b1e293f57f38c30847132a74b3df5094e06724e418f241b6d38bc94e478e2c31a SHA512 20299a0929507ddde82500c8ae8f972c28c900c62cdbe09e1e329ed2cd1ce0b1c76bf2f9e271a3981616409b26cd96ab2c11123dc397c0b83e9261d3bbf4b187 +EBUILD libcxxabi-6.0.9999.ebuild 2547 BLAKE2B aedf03ba137b00849132ebee2365be2150032f9ee70a797808cf3755ce1269f9619e34d960096e31edcc100140da314bef8332a0b9d6879f63920e838ba9a295 SHA512 c7f2358aa093e545fa6dfd4a2f2b2dd489411abbd2ad2c38423b83cebf6f8079e6c0b69529d70b72d7ce1c0ac2386619f47ff77cddfb6a82f93abb05896bdfda +EBUILD libcxxabi-9999.ebuild 2522 BLAKE2B fb23d54e3810f2bdd0cc39225d63cf02ec116c4ad0b10c6164ca9e53044818dad09ed52e85a646efd82ac89c3f4c349bb684a967a5babb0b3682a1d6529573c4 SHA512 b54d92ec2aa7f6d47dd66c8fca0aa800bd691651c6462f56f9f7b0a1c90ce3ba77212aba47c68c41ad9564fc6b65e406e1927b1ec950a66d808b2a9240c4dad4 MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild index 8af1083737be..3018d56a299d 100644 --- a/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild @@ -30,9 +30,9 @@ RDEPEND=" >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] ) )" -# LLVM 4 required for llvm-config --cmakedir +# llvm-6 for new lit options DEPEND="${RDEPEND} - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 test? ( >=sys-devel/clang-3.9.0 ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" diff --git a/sys-libs/libcxxabi/libcxxabi-9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9999.ebuild index 1b77a1cfce7c..dcf9e5a2123e 100644 --- a/sys-libs/libcxxabi/libcxxabi-9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-9999.ebuild @@ -29,9 +29,9 @@ RDEPEND=" >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] ) )" -# LLVM 4 required for llvm-config --cmakedir +# llvm-6 for new lit options DEPEND="${RDEPEND} - >=sys-devel/llvm-4 + >=sys-devel/llvm-6 test? ( >=sys-devel/clang-3.9.0 ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 78014cc46ccf..50eae1a05670 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -15,6 +15,6 @@ EBUILD libomp-3.9.0.ebuild 1264 BLAKE2B d47970eb3edd24601f97770c326f9274849425ae EBUILD libomp-3.9.1.ebuild 1326 BLAKE2B 4e1c5178e66a3d4371556bcb26fab5ea84e2bac1ce0abb127d68bbe09f4e735d6d8ed4404f19bb6d8cb4808a782a5b72c9425e4acd2fe2cc97ebc3372de1c72c SHA512 99afa3364dfe73c52792e1f0c4cc19c9beb1fdb28d7fd009a778c351f86fd1759a1c4bfcd46194890b51f227844c063fed53085d78c0b91351858ed517e42794 EBUILD libomp-4.0.1.ebuild 2413 BLAKE2B f0d72a3a85e94a5a92f6ce68dce9a27eef08ef1b10bf6c85b3dc1ac4e4a5831ab6d744e5606cd198a480c373ce67a392fa1f238081a3830de8c01368aecd4f89 SHA512 196bb81a32308109df8485bf5e2eb9a5c5658b069c8c168b193e01839e2b2cad2a147dc0e0af2efd6029784e3a8dc891d1487c17b0e94d73ea634e69a3173928 EBUILD libomp-5.0.1.ebuild 2248 BLAKE2B caa3e0f8bb68db828c06160e705d08379e975d589ca837a25cf762f1e05d55f4e53cce22c27c4457fd112bbe8d74ae521c4c6028ee81acacac53478fa147a783 SHA512 b8f9f43635539891b8de0ecaf8d016ed351e07de4cb03c9420a22741ce20a3a85528318f56c549eb46307bddaa7a4ce55a6d93b99050351d50ba424fa7309bd5 -EBUILD libomp-6.0.9999.ebuild 2425 BLAKE2B 89caec2f5f0e0110b310d3f2da1e0856bda2a4cf5933df589985808e35e437956d62842e22a5a4084da2f943ee040509ca680264a327a8e9eac5309a232d3be9 SHA512 e90f826e26aa8893d41a7a8d566e6fada64c3b2278a3b0f0b943c746f7f6f8e66690cb937811ecd7b7d4e9ac87dd6396ecdc4d91bd2935a59758ab4a376af3b4 -EBUILD libomp-9999.ebuild 2400 BLAKE2B 8cbcf18ff9b9fe8b92ad693282d31a93b54432978021cc6037c63584a050c11a44de385a283a31d0e5379f878eca7c8a24bfc77ca4e0fc4838ecb23263daa47a SHA512 c82f937b54b2b5f2543aa4f260bc5a632d8e5dc9683a05c2f027ffc91aeddbb1ae3f1b6583dc0ba9fe4c85661c01c1d55c32e830e3290711c21f3d11518a7ffc -MISC metadata.xml 670 BLAKE2B e059d444954246af28f1e5fde5a5bcda4662965a09fbe77d852e27ee7017e1723937b693c4e057963b71e32b5492660965a15af60087c540dc1161dc1a349a38 SHA512 d4269bb7192e00feed26327bb2ac36db3b1c4f5d55417c22efb9a64fa5a006c17dd39459ecc305e8a9a3a954271ad10013fe5c9159a30ea609513aabddebf485 +EBUILD libomp-6.0.9999.ebuild 3038 BLAKE2B b06ad6a77f8a897990e4fef2308b00dc967e3e24966b6276b4ab123eea447b1123198738dd2d972288a99031c53f0e305ed9c81f03b616012d11066bcb95d893 SHA512 09675cb136081fbdb872108355162361fca313b222a282a35101e3d942c76927fc000378cf16fc74bd995825514b89fc08f5981d1db496c7c2c647d72063e2f3 +EBUILD libomp-9999.ebuild 3013 BLAKE2B 65ff4c97a543ce3d96bbc83424f331a08ac14ac3c61e7bb30a027cfeed7dd5af53b253b8dd13e329fe0ef418997f45fab7c0315c52cf343aca4007b3cf8f9aa3 SHA512 0c45cf214db76f69582800dedd2c7a26355f07edfe1fdb5fc71cfab1197e3e9261d16790e4b9096df7eae55fa0f6d3e87e2b1252ea1b5a56d5e6f1716c6a984b +MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-6.0.9999.ebuild b/sys-libs/libomp/libomp-6.0.9999.ebuild index 5e156aca296c..fe232b72fc87 100644 --- a/sys-libs/libomp/libomp-6.0.9999.ebuild +++ b/sys-libs/libomp/libomp-6.0.9999.ebuild @@ -24,19 +24,27 @@ EGIT_BRANCH="release_60" LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" KEYWORDS="" -IUSE="hwloc ompt test" +IUSE="cuda hwloc 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}] )" +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/llvm >=sys-devel/clang-6 )" @@ -69,14 +77,24 @@ multilib_src_configure() { -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+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="-vv" -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" diff --git a/sys-libs/libomp/libomp-9999.ebuild b/sys-libs/libomp/libomp-9999.ebuild index ad6d62ae7449..d215cbe36384 100644 --- a/sys-libs/libomp/libomp-9999.ebuild +++ b/sys-libs/libomp/libomp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -23,19 +23,27 @@ EGIT_REPO_URI="https://git.llvm.org/git/openmp.git LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" KEYWORDS="" -IUSE="hwloc ompt test" +IUSE="cuda hwloc 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}] )" +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/llvm >=sys-devel/clang-6 )" @@ -68,14 +76,24 @@ multilib_src_configure() { -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+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="-vv" -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" diff --git a/sys-libs/libomp/metadata.xml b/sys-libs/libomp/metadata.xml index ca91e84fce57..58df765860eb 100644 --- a/sys-libs/libomp/metadata.xml +++ b/sys-libs/libomp/metadata.xml @@ -9,7 +9,9 @@ <email>llvm@gentoo.org</email> </maintainer> <use> + <flag name='cuda'>Build CUDA offloading plugin (only with USE=offload)</flag> <flag name='hwloc'>Enable CPU affinity support via hwloc</flag> + <flag name='offload'>Support offloading OpenMP using libomptarget</flag> <flag name='ompt'>Enable OpenMP Tools Interface support</flag> </use> <longdescription>The OpenMP subproject of LLVM is intended to contain all of the components required to build an executing OpenMP program that are outside the compiler itself.</longdescription> diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 6c04224e3f64..e2ce383bc2ae 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -10,6 +10,6 @@ EBUILD llvm-libunwind-3.9.0-r1.ebuild 1182 BLAKE2B 8a01875c7c57c4c4052d0bc680794 EBUILD llvm-libunwind-3.9.1.ebuild 1187 BLAKE2B adc3bdff94f0b5a855c4d6eac0ee123dbdc845da541d06fb6f3d533a0375d969427488cbbb4bcef4d545c8e6993ab4c78a8c5f3bca9f06f2b36a84199e471b0c SHA512 bdd65eb012df3af046c71406af02927255f3502aaf92e53fa9dbf2adfa0150b68e4325cfef2f07d1893738ba6ba3f009a89e37861ffe7999752ea77fc3963a0b EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386 EBUILD llvm-libunwind-5.0.1.ebuild 1095 BLAKE2B 415bd2a215254de93f7de3bbcab1345dfe7e6ed79aa19393d25faa1f73454e4aa3fb9285734805ce53ba16d93df721473580a5cd9455707613fbc54c88f92c72 SHA512 951459c8dc2b1a55a85569edb85fa522ea1128f8bb3d7699153600d8aa5881db64fc9ae8bd312036be01b8d29ec4c34c867d815e7e8bba11f15fc1d0bc5dbaf7 -EBUILD llvm-libunwind-6.0.9999.ebuild 1109 BLAKE2B 9d9760e4296c970b416c237ea5203751a4a17ff94f744779378c986b0315b36ac0a52c317d8f9da75ce314de8fa7cd0380cbeb2c1d9daa16f75dc483c690b8e8 SHA512 6ec698db9f52b427b9bd5bb16fbcb825488a2fcc0b010c45fcecffe522b0b5842ae1b9653a2e45bddfd89ed5d001e554649636fe1fc019cb64b5ac4575f80b01 -EBUILD llvm-libunwind-9999.ebuild 1084 BLAKE2B 549f50753c3ed20954b1fd1260ce1cd216a4e9bf56c23b59e8ac34b9e8163419a76c3634995143fbea2c8f681069944607c823f130235b97985936e1030a4413 SHA512 9393e7fafe3a5b0416c0206a1d25ba9f0601dfc329293c9d4b02d61859aaf7f5b1c1be1fc7e82429f278385f70890f1ab49b8db0785c33ac0d2e193877741cd7 +EBUILD llvm-libunwind-6.0.9999.ebuild 2087 BLAKE2B 6d33b3e80997e3ab3bc661f108508512ff236e624f1dd42d51250d37010e76762dba7b46d2cbe17144b53c32d8d47ce0a9fbff360aa43b4703656586c7b9e102 SHA512 714ae52e1739ff2430e4e901aea3e73d5aa963868f16ae01cc6611a756a055b4d7cab30ce981c5db287e93d9b754aad8ad14ccf0d7b414d2386084fed7a6f5a9 +EBUILD llvm-libunwind-9999.ebuild 2062 BLAKE2B 1a7276785f129d662e77cb8035f33f375ff2c57c8ebb10f04af2637c94af560de20c20b952d8bb815462db16cc9f84de881dcfcbabf44d5035a0f1603ef07a9f SHA512 ad902a7bbf551351aaea5f01cb05b52000c0940be079228962a6e7d89fa03243ed2aae1ebfe401eb770911981c5f8fb6812bb6f9e135be7eaf4f8050a722c35a MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild index 6c50f73f19b4..0be3b4e8c29e 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild @@ -6,7 +6,8 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -inherit cmake-multilib git-r3 llvm +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +inherit cmake-multilib git-r3 llvm python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" HOMEPAGE="https://github.com/llvm-mirror/libunwind" @@ -18,15 +19,39 @@ EGIT_BRANCH="release_60" LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="debug +static-libs" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" RDEPEND="!sys-libs/libunwind" -# LLVM 4 required for llvm-config --cmakedir -DEPEND=">=sys-devel/llvm-4" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + test? ( + sys-libs/libcxx[${MULTILIB_USEDEP}] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # 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() { + # we need headers & test utilities + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch + + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx '' include utils/libcxx + git-r3_checkout +} + multilib_src_configure() { local libdir=$(get_libdir) @@ -34,11 +59,27 @@ multilib_src_configure() { -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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx + ) + fi cmake-utils_src_configure } +multilib_src_test() { + cmake-utils_src_make check-unwind +} + multilib_src_install() { cmake-utils_src_install diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild index 88f7a92b6c9c..c10226761668 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,7 +6,8 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -inherit cmake-multilib git-r3 llvm +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +inherit cmake-multilib git-r3 llvm python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" HOMEPAGE="https://github.com/llvm-mirror/libunwind" @@ -17,15 +18,39 @@ EGIT_REPO_URI="https://git.llvm.org/git/libunwind.git LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="debug +static-libs" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" RDEPEND="!sys-libs/libunwind" -# LLVM 4 required for llvm-config --cmakedir -DEPEND=">=sys-devel/llvm-4" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + test? ( + sys-libs/libcxx[${MULTILIB_USEDEP}] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # 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() { + # we need headers & test utilities + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch + + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx '' include utils/libcxx + git-r3_checkout +} + multilib_src_configure() { local libdir=$(get_libdir) @@ -33,11 +58,27 @@ multilib_src_configure() { -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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx + ) + fi cmake-utils_src_configure } +multilib_src_test() { + cmake-utils_src_make check-unwind +} + multilib_src_install() { cmake-utils_src_install diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index 66ad25471242..8b888d97933f 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -14,5 +14,5 @@ DIST ncurses-5.9.tar.gz 2826473 BLAKE2B 91101b049a5eb6a2674fb86b5eba56515207f490 DIST ncurses-6.0.tar.gz 3131891 BLAKE2B 68670ebdaba28c7a750631da01a0e3681b476cc9e9ae6fd9eae5a254f41fab5f1a5df5fa9897a92d1da751f1cc0b72f2ffee4603865900e67fcbb949c102cf78 SHA512 9ec194f4783dae6de8c529cac31b5cfbfcfea212c5d47b1f87cd49df013e38f8580a9e7aa1384918df0921b4ba999d5e73eb6d6362cce2d7287e64308b673963 EBUILD ncurses-5.9-r101.ebuild 5295 BLAKE2B dccde970635c874070f52a3fe1cd49f6f2c21a3360299596d49db2d57ec9be4c9319fe1d38af49949d8528ced9559ffa8d01d339a5f44b3181cf6405f68a0a5b SHA512 e7505e1b91925abed6feb120da09ec578276c467fef6b3e99fa8ebf74e4abecc130507406919ea1c49e7f9e4738e9c0b4dc20f9964b603de50dba2abe637f1ad EBUILD ncurses-6.0-r1.ebuild 8645 BLAKE2B c74fd055fbcdd72c4f3a8d719ef568d015f4edb57ce9167497307689d069148ad4a8789014ae81d7b277c324cbe1189dc0f2205c50b915899b542ef63be875ec SHA512 6eba919e6333c4833455784a377257a6d8dd7d134daf9a536113327487c8f2a191da942f9bea76fb963b0c04a64cd6ac7065b2c32e30fd1e61df302d6d424fdc -EBUILD ncurses-6.0-r2.ebuild 8668 BLAKE2B a6a1229148f506938aacf52ab00b9e81f54e15114c6416b9a1e5ebf55a9eb5987940e4bf1ec1bfbeb054483628f2a159cbe1bc8d26ad27d887230278b7df4779 SHA512 e9f515ff4be96474f1a13da4c6b1eb5ce2afb14dab5b6244fa556f539e465a0813f8d9ec6cbc62d81b6892b851a5cbc3d40725cd647ec99949edd0579882870e +EBUILD ncurses-6.0-r2.ebuild 8778 BLAKE2B d6a032b565271120b83eecf9db92edfa823175ff0839f76af6c81023694234642b305a48d81c43d5b92dd3b9d4ffb779b07fb3b92d2787fb171ae446bf0ca8f5 SHA512 7439f04a0ecca8a87687aa08b1656b5e0eb2a78e37c3340e9ba8e2f40d85fc05a27316909ccc2b803bc98565bce57db35f44b3a23dcdd5c64e298a1bd1633657 MISC metadata.xml 619 BLAKE2B a5b29f22ce491bf7a308673944651ea9d916a6d487a45a2a7ee4a7e8d33f7b3bd398e3edeb830f0b443cb4524c0b73af4d6e1511e8128289a76666acd931d611 SHA512 3f28fd8aee675226f641d72d7437edf4c5840cdac3dca64b6a4c61902d4f4127d86f65acfefb270cba2fcfb0ba9d6ff9d3ca24930825b89c82f0eedc8160f9ef diff --git a/sys-libs/ncurses/ncurses-6.0-r2.ebuild b/sys-libs/ncurses/ncurses-6.0-r2.ebuild index 9051223ca378..250619a40dd6 100644 --- a/sys-libs/ncurses/ncurses-6.0-r2.ebuild +++ b/sys-libs/ncurses/ncurses-6.0-r2.ebuild @@ -116,6 +116,8 @@ do_configure() { # ncurses is dumb and doesn't install .pc files unless pkg-config # is also installed. Force the tests to go our way. Note that it # doesn't actually use pkg-config ... it just looks for set vars. + # This is fixed in newer versions: + # https://lists.gnu.org/archive/html/bug-ncurses/2015-08/msg00026.html --enable-pc-files --with-pkg-config="$(tc-getPKG_CONFIG)" # This path is used to control where the .pc files are installed. diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest index 1fb4fa02bf3a..554e3af9fcf5 100644 --- a/sys-libs/timezone-data/Manifest +++ b/sys-libs/timezone-data/Manifest @@ -8,5 +8,5 @@ DIST tzdata2017b.tar.gz 324317 BLAKE2B aec4ac18b1ff7435754923c62e424813c975d0e06 DIST tzdata2017c.tar.gz 335571 BLAKE2B 466eefacd5600d15685d973b16d98053b3610efd9a1a9c7c7f1f384dcde8950d037c25ef065a85876433f9e9483fa72c46bb28f9c4225c7fe38a6376ada91132 SHA512 feb5c544e617b30c73a397e5a1c51f9847d0fddf1dfa0f9ace2e6f686786f09b666937b2048e07075c84593fc584bd5a25d639fce70eca9735267df28621ab4c EBUILD timezone-data-2017a.ebuild 4599 BLAKE2B 921bd7e12a9f5e5a0a636f26998c4e7438838d79270a862c64a149d79576ab1b47241d41ffd7dabeb672f14bb288fb0d1ac4d285a3f2e20aa9516c1ab0c0c21e SHA512 0fc13e2b412819126186dc725210069c89864efb01cafbe521a8345788be8ee3d3b1d59a4e0a624fe6919f6b0418947a64ca038cc26a50bd6f12624489ecdd65 EBUILD timezone-data-2017b.ebuild 4676 BLAKE2B 8a32faba541657e795f39e92f67899b5c0b076dc14f5efe21124375bc830c362672a6b1181fdfcb2704ef4e01827a2c75f7de101279925c87246eec499176dea SHA512 f68387320004598e1b55612b6228e21f708581878485f08547ce58d3fbbff456b2d6af3fd3810398308784724430fd64202781d0df88d4a5acc676e56e82c2a9 -EBUILD timezone-data-2017c.ebuild 4662 BLAKE2B 804d4d4e37b2675d89b3099608e3bf34f6999eecde614269afcb9a4fee4c0499e6b8978c4c7f551d5100856a076dee2ae04132c5e9cf5bf13c00462f629d7f9b SHA512 10f3eef4efdd76163bfc32684e707f0a63661ccfdfb1a857e1fbaada77fc1d7ef2c766046a57323cc9b475f07ba8f319b496f780e199bec8ebf81fb3233d461f +EBUILD timezone-data-2017c.ebuild 4655 BLAKE2B 5f97b32bd696e62abc030fbe9ae565cdac3350c3caeb6385f400f0a3e4f612bb05970c375a1342d4d961c2807302849358a7cab6d8c9e832a79697ba490a3123 SHA512 7062692fed5e31c71d15c42d3020b05e6a337c880bfa0ee74d78556c20c0ca0998256eec13f73d239802a3c5058aa8a3c77ad81fb7fd5c2c523d15ffebff71d8 MISC metadata.xml 658 BLAKE2B 75ee5deafa4e9c1336119b2b2b87de6f8520a29f8fa7901c4995bddbb0cb185de9a019ff7703d0a8aa7b2f685a9ec2ca518641ea0c0a1b6123aa05faa04274a1 SHA512 94b68a5195b17cd1a7283a90a42ba9e1dfb0e7dde7c16f48202233cc2fc20ea718a1588b57b2af372e3c35ed403276cdd59456165a225f149a813abff2144c73 diff --git a/sys-libs/timezone-data/timezone-data-2017c.ebuild b/sys-libs/timezone-data/timezone-data-2017c.ebuild index 3db3a5b1d14b..3f327a73d924 100644 --- a/sys-libs/timezone-data/timezone-data-2017c.ebuild +++ b/sys-libs/timezone-data/timezone-data-2017c.ebuild @@ -14,7 +14,7 @@ SRC_URI="http://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.ta LICENSE="BSD public-domain" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" IUSE="nls leaps_timezone elibc_FreeBSD" DEPEND="nls? ( virtual/libintl )" |