diff options
Diffstat (limited to 'sys-devel')
34 files changed, 1461 insertions, 34 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz Binary files differindex b53e9fe74686..fcca092d5bcc 100644 --- a/sys-devel/Manifest.gz +++ b/sys-devel/Manifest.gz diff --git a/sys-devel/autoconf/Manifest b/sys-devel/autoconf/Manifest index e23df8292fa0..877ef7d124f0 100644 --- a/sys-devel/autoconf/Manifest +++ b/sys-devel/autoconf/Manifest @@ -30,7 +30,7 @@ EBUILD autoconf-2.69-r8.ebuild 1757 BLAKE2B b8d7f29b6bf0a9c6b3ea1993cadb83dee51a EBUILD autoconf-2.69-r9.ebuild 1729 BLAKE2B d80da7fab2b58c48a432a0f54edc2a6d939080d5310bdf1273ce6151027f26931663b13741a12370bf6378c42727ba8969d141a4a5a781aaf1452302a5cfc08d SHA512 aee67ef20c7f5a8652b323a97dd368539ce38d07032b4226e4c763a46e81e9345fc05651f46dfd0cbbffeb81b66b8c9a0b96efa4e1c7c8112580cbb4f158089c EBUILD autoconf-2.71-r1.ebuild 2209 BLAKE2B e745a44ee3abd6536c74a5206e67a9468d1a7c75e1448e023fbf66ab059f9b0242fb81bf03986a128eed8f13d6dd7fcc4b299c083393cafe58769a59a4cecf95 SHA512 5c03752ec0a15fdec87cbe53d976ec81b6d441bb1b175311dc19c6e78973a1865c06a26a8fd30cb0c28708f7f22ca6bc523f1fca33abe33fcd166e23780c400a EBUILD autoconf-2.71-r5.ebuild 2425 BLAKE2B 136d90bc2514c86c3575cc225d133b560d66effbbe23a7fbd05043b69a000a42e78d258704ab182485bd5b2cba0705294f90f2cf4288135f3b2351404e176cb1 SHA512 42fe4a6c6f5a414d836ecf1cbfa9d04cd15810de23d3b5f5bbf909862015127b303ffe4bcedcfa8f171cb860923bc7b5b654593d6e20fc479866885d8cd3c47f -EBUILD autoconf-2.71-r6.ebuild 2398 BLAKE2B 9f259774975a963a64082a1f54602fb80cc036f4a8a0f2e9fd19ee2a1eedfd39d3c2ed9a1d81582afaee868b8773dfbce96a8b993a4cedea824e086339c6189e SHA512 3de195a30372467749bb68d0b515b0c0f7989713b7ac17084475e20377e7c806e8bb6acc918ca427e41f1bfe6ba26b306cccb433e053518a2a9703c30da8b1d6 +EBUILD autoconf-2.71-r6.ebuild 2397 BLAKE2B aea12dcbf7d6539f230c356c51248e75bb2ca37ca2bc311a698540c8d8e1b444fa3ec97b80e6010dec6f6561ece9422f2773de9e9376955e7db1ae9f2950d981 SHA512 96f95025bce54ff9c4c7a520f1519a526334add30b898c2ee6e19990a1fa50b2c6d5a237ba48cc181e8243122c6a216a1ee20b7d52586f082627ff832d000931 EBUILD autoconf-2.72c-r2.ebuild 2215 BLAKE2B c52deed1b7ed04fa617715dfd0c088f21795d02bab3b67992e3e05d0030acaab6b4a72943242e9894a5a8c2a1d12cfec9946f78bdcc4d736f2ad1eb1a0b6112d SHA512 487f779dad6916f23e227681fca838f45efcfb7b8fe7eb22ac6083cb7d6d61a79e6c0401e744d3e2fabfa67c18a7ed43a73e0010380ec97f22ed052db72d84cb EBUILD autoconf-9999.ebuild 2215 BLAKE2B c52deed1b7ed04fa617715dfd0c088f21795d02bab3b67992e3e05d0030acaab6b4a72943242e9894a5a8c2a1d12cfec9946f78bdcc4d736f2ad1eb1a0b6112d SHA512 487f779dad6916f23e227681fca838f45efcfb7b8fe7eb22ac6083cb7d6d61a79e6c0401e744d3e2fabfa67c18a7ed43a73e0010380ec97f22ed052db72d84cb MISC metadata.xml 343 BLAKE2B e5fd0138606384a4d646b618c096693858ddc94d09e0bb4dd3ecc6ef064a1edf9586f62a5cc753f680d73b2a6c72ed00739b21e54d490dd8edc97aa32dd05309 SHA512 6b06b7e7a5e47a4de92b2032ba3af669916818038802309e4db26917aa536387d2227feb33c29976179fb3cbb10d4b2f975d1055308e6db81a734baf1e8c1e5e diff --git a/sys-devel/autoconf/autoconf-2.71-r6.ebuild b/sys-devel/autoconf/autoconf-2.71-r6.ebuild index dbdc3edf9a01..7423845f9968 100644 --- a/sys-devel/autoconf/autoconf-2.71-r6.ebuild +++ b/sys-devel/autoconf/autoconf-2.71-r6.ebuild @@ -16,7 +16,7 @@ else #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz" if ! [[ ${PV} == *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}"/${MY_P} fi diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index 77efab27c5e0..f4f96f1f6328 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -1,3 +1,4 @@ +DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52 @@ -10,8 +11,9 @@ DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAK EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef EBUILD clang-common-15.0.7-r5.ebuild 5090 BLAKE2B 39974630209630607d10903585223df68cd809fb390fc9eb2a80c4235ce70ae21120083f8eaf749c769a93f738c4e971e31e978dd637a0b87d07260281db4b83 SHA512 6cb37a7eb373d300d165e851e3643fd35e11d78a6a88617b4a8c0063b83558d10d307c32861e9ba2d0ac902c1cd2069ece6bd1446e309a6753f13adf8cd8fa2c EBUILD clang-common-15.0.7-r6.ebuild 5449 BLAKE2B 34001daa85a7ed75e5b27b2a93d4b7c12a11fcd575a76198937d4214b350f6ec5674c9e856a5b29a7b946c19a77fc818f33b75b82a94861e1c25a19b2c35bf8d SHA512 189e8fe88850fb2d22b39d6d4ed2df7bad0f321c0293823f0a335f10f0f6d29328e57190997da83699c9f34c1ef82ac6f530fd7ac866db2ffa1afde8d2198bb6 -EBUILD clang-common-16.0.5-r1.ebuild 5516 BLAKE2B 3c49327bdadecfd84a37047ed86653ae6e983f7cdc4c58894701e0368c6b059197435e94b3ad4a806920ea054a44893493038892950a470ef434650ceafba8cb SHA512 30af72f57b4d3894c7e2bbda932a9def04226f966067d2172e693e5bb40f15cb9ce2f925bb5eae33ec07cd032129e66d020fcd51306286dd7d870ec896cefca7 +EBUILD clang-common-16.0.5-r1.ebuild 5515 BLAKE2B 65537f34d9f23760d552740c1c78c1c8e77163bbce0f0baeffb5355213401f58e2dc5da497c432fa87fbcee9d5de82136bbc18ee5af5716afe2c3e85ccae4289 SHA512 6f805f1ca96cad38acfa7bf061776c78ef3861110ab536b58cc19a3acb71ba426e37be5c0c9b01e011c4c0b79d04b56f1581346a2ac0b6c94848463f6f5f0703 EBUILD clang-common-16.0.6-r1.ebuild 5517 BLAKE2B b6ab86006359b058f3503e0686a9f9b2172c0cf8db02859213ccfa3785cd670229b174326a142817299f8ac841139eb03029430a68a46ef75388024da9303afe SHA512 e063f0a43f937ed4f173aff4fe090ba1e084bf1ecd80549a41459e0ed1ebff0d68a6617b66926e1abb4874eccb2fb4541cf6667299d33be3cb969cc1a5eb32b7 EBUILD clang-common-17.0.0.9999.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328 EBUILD clang-common-17.0.0_pre20230609.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328 +EBUILD clang-common-17.0.0_pre20230615.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328 MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83 diff --git a/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild index 273edf2baa01..58c8f37548f4 100644 --- a/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE=" default-compiler-rt default-libcxx default-lld llvm-libunwind hardened stricter diff --git a/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild b/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..51e0f70c6470 --- /dev/null +++ b/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE=" + default-compiler-rt default-libcxx default-lld llvm-libunwind + hardened stricter +" + +PDEPEND=" + sys-devel/clang:* + default-compiler-rt? ( + sys-devel/clang-runtime[compiler-rt] + llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" + +LLVM_COMPONENTS=( clang/utils ) +llvm.org_set_globals + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on sys-devel/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on sys-devel/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " sys-devel/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" + fi +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + # bug #870001 + -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h" + EOF + + # Baseline hardening (bug #851111) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -fstack-clash-protection + -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + dodir /usr/include/gentoo + + cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die + /* __has_include is an extension, but it's fine, because this is only + for Clang anyway. */ + #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__) + # include <stdc-predef.h> + #endif + EOF + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifdef __clang__ + # pragma clang system_header + #endif + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + -D_LIBCPP_ENABLE_ASSERTIONS=1 + EOF + fi + + if use stricter; then + newins - gentoo-stricter.cfg <<-EOF + # This file increases the strictness of older clang versions + # to match the newest upstream version. + + # clang-16 defaults + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes + EOF + + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + @gentoo-stricter.cfg + EOF + fi + + local tool + for tool in clang{,++,-cpp}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + EOF + done +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest index ddd03c7efca0..2db2047a8f7c 100644 --- a/sys-devel/clang-runtime/Manifest +++ b/sys-devel/clang-runtime/Manifest @@ -1,7 +1,8 @@ EBUILD clang-runtime-14.0.6.ebuild 760 BLAKE2B 0f6cfb8536569ffe2a09305e71056309690ad1c8e92543e64025bd5e009eac35018ec22b2c0f80c12f3a527cc7e0bfe4ec1bfcb2dd9dea54106abf46b13e5592 SHA512 580efee12fe0e53447f5644fad248ebded8ae6cd8cb5871cb38bb3148091886b6fb9a57ac712d3158d5c3fc38c043b0bfbf62fc550a609752a42c23e605b0ded EBUILD clang-runtime-15.0.7.ebuild 759 BLAKE2B d7b481faffc4da0a6dc1b4e708322cd17cd497dc75363bdb89e7fbb1ecb2aecd9cbf91bdf816505476c7aca2ec7b6fb9ef178705e6b77361d21a7a270404a70a SHA512 8128acfc92b1601e93ffca1fd4233456f8a28fbc4cc65a1782da25df48abd3af82d0128b31f12b966ca02ab1eafcd28016c4443d9c7f1d28bc3f951cfff5e07f -EBUILD clang-runtime-16.0.5.ebuild 1441 BLAKE2B 088c71fb6d97637ad0f1dee28b14241e7524cbba78111c48a405d00dc99815a476eb2433d9a1f50b27ea318dbacc2fe51fa0ecaa6971ef0b299e63c1aefb5079 SHA512 d0573e40085e4a61d3688db02faa9b3eae1a8040d6e09411b37845c9fb2d4aabefdd5ea8a38b4b747abfa8cee760720f75f5efa92935725774a243f70f03121d +EBUILD clang-runtime-16.0.5.ebuild 1440 BLAKE2B d586562bff0cb02c92d22dcc66173acd5543e72f2c260200e7125a8d70c361621f5516d31b5fbe7ff700e118a2f7e7481b9542374b0e8c74a52c93f813e5024a SHA512 11a329362818db428520e41b3f7247d6d775c25534f69b6b22bc7354a0b63c0cbd5a8a7aa65d46f525b4ea105d681066461baa382928b1fddfca9500764bb2f4 EBUILD clang-runtime-16.0.6.ebuild 1442 BLAKE2B ccd97064b84899371758ceab7640d2b9a3104e08dccbefc5523062437cec1358ab68773b96bbc8193d8cd52a2bac65e6687cb150127d953aa49ab7f8cb3dbcea SHA512 9b8639788a2bfab9fea6e717e684c4784ae6719ce8d6bb389d16d836df0b43d108be6c649b9aa17dfa60df7b3f490450d4d51e83dd80707467a844871b97535e EBUILD clang-runtime-17.0.0.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db EBUILD clang-runtime-17.0.0_pre20230609.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db +EBUILD clang-runtime-17.0.0_pre20230615.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294 diff --git a/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild b/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild index 9a1a1cef82db..9432a5f48159 100644 --- a/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild +++ b/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://clang.llvm.org/" LICENSE="metapackage" SLOT="${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+compiler-rt libcxx openmp +sanitize" REQUIRED_USE="sanitize? ( compiler-rt )" diff --git a/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild b/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..67b42357665e --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-build toolchain-funcs + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" + +LICENSE="metapackage" +SLOT="${PV%%.*}" +KEYWORDS="" +IUSE="+compiler-rt libcxx openmp +sanitize" +REQUIRED_USE="sanitize? ( compiler-rt )" +PROPERTIES="live" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + sanitize? ( + ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] ) +" + +pkg_pretend() { + if tc-is-clang; then + ewarn "You seem to be using clang as a system compiler. As of clang-16," + ewarn "upstream has turned a few warnings that commonly occur during" + ewarn "configure script runs into errors by default. This causes some" + ewarn "configure tests to start failing, sometimes resulting in silent" + ewarn "breakage, missing functionality or runtime misbehavior. It is" + ewarn "not yet clear whether the change will remain or be reverted." + ewarn + ewarn "For more information, please see:" + ewarn "https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213" + fi +} diff --git a/sys-devel/clang-toolchain-symlinks/Manifest b/sys-devel/clang-toolchain-symlinks/Manifest index 26f4ea86b869..af37ac97d736 100644 --- a/sys-devel/clang-toolchain-symlinks/Manifest +++ b/sys-devel/clang-toolchain-symlinks/Manifest @@ -1,5 +1,5 @@ EBUILD clang-toolchain-symlinks-14-r2.ebuild 1154 BLAKE2B 1da81bdc43afd21ad3f45e3ede1decf1f2eb0aa0dd5a451b28b06a74837cb1354e785784d723a770b7fd3e4dfaeb3b7d095d8579ea07cc798c33d65f9fd6fb9f SHA512 f02f2c7c21def93692503fceae45f8aa6abd608ad99b3be0a63a85f80b54899b201457ee56666161c87d0039bc512eef2bbf6f819807f236e52ac2d88f4bbe54 EBUILD clang-toolchain-symlinks-15-r2.ebuild 1147 BLAKE2B a3676de65810503e7009f0ae8df1c8233f02518decf27d602096c946081f459d4350541b807bb07e83a740080ac89c94482b6c48c7cd570fce4af4c083edb60b SHA512 cdd69cc55c5ed323852a031cda463504bf1de0676a3fbda80853d63c6b7fce28531940c4a47bc34a6c99f289038d65ba510dc314026a16795a060a0794b522aa -EBUILD clang-toolchain-symlinks-16-r2.ebuild 1165 BLAKE2B 9d02b9757b971612ec86e37c601b56deefe4dfe95065e9ff19c4e6a44baaefb3c20b3c3bab0cb8af63ca9fd4c247346019bb72497e0da186e98688ce3fd9938b SHA512 99c4a700fdae0c4d76cb26a6341b0aa85b4a6bc26d313b09f98153f30b23bce9d5a1a7ecb8bd364d7b7dc880dcc85946b352096d9eb4542ba353cf47d6837cb1 +EBUILD clang-toolchain-symlinks-16-r2.ebuild 1164 BLAKE2B 5b2a7b32bc3f72ff04f6fb6e5426395bf24b11745f87557bf3ef6f338cbe6dcc1c0ad1efaf4fe2ca954bd79692f5ae0da480440f651e119ab0ae25d1d55410a0 SHA512 535f525a8ba65814975b50f6d3c25aba9e6d2ac10ab8301d976775a76830d0c49326e69e9664e1fe23da39a89cbd49eb575888463f07617ff0f37e0558eee6d4 EBUILD clang-toolchain-symlinks-17.ebuild 1104 BLAKE2B a22bdfe7dad1c912b254f692ba44da6931a52602d4ba448b015d9655103d5ec6faab4a5941bd8e8689f9528fc5adb16beaffd7123dfa451eebce5f8cca4adfd4 SHA512 a6e2494676fc92a1f0b5db87845a5db1904d50111d99340dbc000fe630e40da888d50287fbec79ba35b8815fcdf00b151eedb1aa806b6ea1b5a0d5e041f0e400 MISC metadata.xml 904 BLAKE2B d2c8a31355b0f3bea6c5b4c72d198f40bf14b6908f5a3f765b48fffb2ba3e4f09a8bb37c87ea4e7d9b4e1de0a3ad2c80bdca6feb45538c973119f27ba6329ad8 SHA512 846548593c071d6905b56984c6924086d5f03929c813be986c89c57a6924d1976975b29769ee60a2796287753aa3453608794af8d36cf48b76c55920778c27d4 diff --git a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild index 6f3a00f54708..c4e73ad72ff6 100644 --- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild +++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" IUSE="gcc-symlinks multilib-symlinks +native-symlinks" # Blocker for bug #872416 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index fde1863fc092..8dc0f12959e9 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -6,6 +6,7 @@ DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7 DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825 +DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52 @@ -19,8 +20,9 @@ EBUILD clang-14.0.6-r1.ebuild 12014 BLAKE2B 0f9eed7779a5b9aa8f92002f6f4d8e22e7ba EBUILD clang-14.0.6-r4.ebuild 11945 BLAKE2B 1f14f89997a862e04b0d9042c6d9c698c2cd455ab3a7dc3473af08137566e3c26ac05cf818ba8b12113c38cbd0b3c0d48836ed6b13216821614d7eb7eb1260c6 SHA512 37ee0684d6ae0dfb4e8cb0da683dec4996f8bad1762e3d8ffd1e4bf5a01e2c6cc90dac76a26edfb558e458b50be7ac535f71ea2b3578d6e58e388dab9661b27b EBUILD clang-15.0.7-r1.ebuild 12617 BLAKE2B 780db8dc3c92efab35280d32f6b7d4ffcea912d7839b995a18aa603d0cf59df1199eabd53eb5a475e67da7a45e10fdd08e9879b871a25672f135dbdb001a5f46 SHA512 f6302415c9a4fb8571613ff5ebea4096f1318333ba4bc0f3c0b63b04eb0d10755c4555f55186875db0d34bb5d2c0b245b758aff387b97033bc643a1a291d1195 EBUILD clang-15.0.7-r3.ebuild 12552 BLAKE2B 1702065ffe0da6dbf809a82f0f0ec9e84daf7b0c3c4e9fb6d3c8eb320cf0034bfa6197f70f3752b3b58b841c27a7d8e00ccdd19b68f17a25fb54e203e9a66769 SHA512 f93df89921be88cd2bee7ba7d3aae0013db0b35f3f5e8cfac188fb5462a963afb9ce50b69b2046dbbe50d9bbf77532effb639e129176d986bb0c98d3106da3fb -EBUILD clang-16.0.5.ebuild 12447 BLAKE2B a97a3c6484d010df2ae201d724d2887d830158b941a3542e9d17da98ed4c6517e06efe270c9bb8fb959bbb95d701e1d0c0e1d9c1d98d791172fb2293bc9c1f3f SHA512 afeec4fa232bbeb3305aea8348791c0d4207abf2adfdac59df6c6be026cf2f938abab21e4f06a8c8fa17fc29328dec613cc7c19ff1741f865b1a55e026af0ac7 +EBUILD clang-16.0.5.ebuild 12446 BLAKE2B 77715699987ee8deb9729902da8af660ef0b3ff53b15feba858da0e89af0bbe1c54ce58fb076d5d9d868cb9a01ad8570a93a94a846563921a672db26d83b37b7 SHA512 50c8d3f2d44b18af431ad2eaecf22d4a58175c5fc11873593cec43c9b0e06e86e8f717cfa00309b0f05c8ff51f96334d97d9f43f34df7567650570fc9cfce57d EBUILD clang-16.0.6.ebuild 12468 BLAKE2B 24564cde256dfd7c76a4b2ab9c6e0d62721f2d98050faf9201a327000db39554cbd361e6da18abb4dee8cf780ecaa8ce02aad417b879036960aad2395384c885 SHA512 1cbdb203994dc399294015bd5241a0eebe6b6282bb54128ec2feedd89ed318a7595f595983160f9435b4f4dec5476092d68191ed69fb888ea051d87674f896b1 -EBUILD clang-17.0.0.9999.ebuild 12251 BLAKE2B ec3960164edb2ade87849f0abd8b7c3fc303279d7c747c4dea37d76b47ab28019f13e1494b00b92567f016a20d4ac921645c4a97383375fd841be1bc44aad49a SHA512 402bcc444aabc9e9a77e564b3059c411c22e969e8779f88821faaffb449c0432a9c20ba37561663404e2c69a2a89a066bc28a21cdafa2f8458858eb4d6b4934e +EBUILD clang-17.0.0.9999.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8 EBUILD clang-17.0.0_pre20230609.ebuild 12065 BLAKE2B b5915e8424c143fb40cab1c575c8b71e92d38afce92d107ceb7fac76794a135f7695287b4921d430421c040aeac5c77fbc9b69c6c928890ec19d4a1d6002e7df SHA512 fbe566c724192ba3da98bfc065bacc95c0675fd7e2f5e22f9c7ecaa7dff7fa24e549fca0bf4c7ce0fdf58605720e697ac836f4d7b13ae916eccce1d01372e76d +EBUILD clang-17.0.0_pre20230615.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8 MISC metadata.xml 1600 BLAKE2B 8e49e099132445cf695e904acad8a699f3d8c4c1e4cd6ba9d0b97180dfa5b67e9c30b00d1e4cb6cd2f61b27f022accc8d6ee889c6569fc58fbc058186ad216fc SHA512 96b7cf4988ff1fd923ec87311caed458b64888b5acaaf20cc1ad893f2a963158f7f59398f9fd4f9e65cab3df265c0d002048ff874f7a76b94f36377bf9e8f5f6 diff --git a/sys-devel/clang/clang-16.0.5.ebuild b/sys-devel/clang/clang-16.0.5.ebuild index 6ca980afb633..7985cb6ee21d 100644 --- a/sys-devel/clang/clang-16.0.5.ebuild +++ b/sys-devel/clang/clang-16.0.5.ebuild @@ -16,7 +16,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" diff --git a/sys-devel/clang/clang-17.0.0.9999.ebuild b/sys-devel/clang/clang-17.0.0.9999.ebuild index 6a18f24174a2..aae7c602232c 100644 --- a/sys-devel/clang/clang-17.0.0.9999.ebuild +++ b/sys-devel/clang/clang-17.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake llvm llvm.org multilib multilib-minimal inherit prefix python-single-r1 toolchain-funcs @@ -363,12 +363,6 @@ multilib_src_configure() { multilib_src_compile() { cmake_build distribution - - # provide a symlink for tests - if [[ ! -L ${WORKDIR}/lib/clang ]]; then - mkdir -p "${WORKDIR}"/lib || die - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die - fi } multilib_src_test() { diff --git a/sys-devel/clang/clang-17.0.0_pre20230615.ebuild b/sys-devel/clang/clang-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..aae7c602232c --- /dev/null +++ b/sys-devel/clang/clang-17.0.0_pre20230615.ebuild @@ -0,0 +1,474 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake llvm llvm.org multilib multilib-minimal +inherit prefix python-single-r1 toolchain-funcs + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" + +# MSVCSetupApi.h: MIT +# sorttable.js: MIT + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="" +IUSE="+debug doc +extra ieee-long-double +pie +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +DEPEND=" + ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) +" + +RDEPEND=" + ${PYTHON_DEPS} + ${DEPEND} + >=sys-devel/clang-common-${PV} +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/cmake-3.16 + doc? ( $(python_gen_cond_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) + xml? ( virtual/pkgconfig ) +" +PDEPEND=" + ~sys-devel/clang-runtime-${PV} + sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR} +" + +LLVM_COMPONENTS=( + clang clang-tools-extra cmake + llvm/lib/Transforms/Hello +) +LLVM_MANPAGES=1 +LLVM_TEST_COMPONENTS=( + llvm/utils +) +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +pkg_setup() { + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + llvm.org_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + lib/Lex/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die + + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + clang-libraries|distribution) + continue + ;; + # tools + clang|clangd|clang-*) + ;; + # static libraries + clang*|findAllSymbols) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(${NINJA} -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # common stuff + clang-cmake-exports + clang-headers + clang-resource-headers + libclang-headers + + aarch64-resource-headers + arm-common-resource-headers + arm-resource-headers + core-resource-headers + cuda-resource-headers + hexagon-resource-headers + hip-resource-headers + hlsl-resource-headers + mips-resource-headers + opencl-resource-headers + openmp-resource-headers + ppc-htm-resource-headers + ppc-resource-headers + riscv-resource-headers + systemz-resource-headers + utility-resource-headers + ve-resource-headers + webassembly-resource-headers + windows-resource-headers + x86-resource-headers + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + amdgpu-arch + c-index-test + clang + clang-format + clang-linker-wrapper + clang-offload-bundler + clang-offload-packager + clang-refactor + clang-repl + clang-rename + clang-scan-deps + diagtool + hmaptool + nvptx-arch + + # needed for cross-compiling Clang + clang-tblgen + ) + + if use extra; then + out+=( + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-cleaner + clang-include-fixer + clang-move + clang-pseudo + clang-query + clang-reorder-fields + clang-tidy + clang-tidy-headers + clangd + find-all-symbols + modularize + pp-trace + ) + fi + + if llvm_are_manpages_built; then + out+=( docs-clang-man ) + use extra && out+=( docs-clang-tools-man ) + fi + + if use doc; then + out+=( docs-clang-html ) + use extra && out+=( docs-clang-tools-html ) + fi + + use static-analyzer && out+=( + clang-check + clang-extdef-mapping + scan-build + scan-build-py + scan-view + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local mycmakeargs=( + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + -DCLANG_INCLUDE_TESTS=$(usex test) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + # libgomp support fails to find headers without explicit -I + # furthermore, it provides only syntax checking + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + + # disable using CUDA to autodetect GPU, just build for all + -DCMAKE_DISABLE_FIND_PACKAGE_CUDAToolkit=ON + # disable linking to HSA to avoid automagic dep, + # load it dynamically instead + -DCMAKE_DISABLE_FIND_PACKAGE_hsa-runtime64=ON + + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) + + -DCLANG_ENABLE_LIBXML2=$(usex xml) + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + # TODO: CLANG_ENABLE_HLSL? + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if ! use elibc_musl; then + mycmakeargs+=( + -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double) + ) + fi + + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + if use extra; then + mycmakeargs+=( + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + ) + fi + fi + mycmakeargs+=( + -DCLANG_INCLUDE_DOCS=${build_docs} + ) + fi + if multilib_native_use extra; then + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if [[ -n ${EPREFIX} ]]; then + mycmakeargs+=( + -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" + ) + fi + + if tc-is-cross-compiler; then + has_version -b sys-devel/clang:${LLVM_MAJOR} || + die "sys-devel/clang:${LLVM_MAJOR} is required on the build host." + local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin + mycmakeargs+=( + -DLLVM_TOOLS_BINARY_DIR="${tools_bin}" + -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen + ) + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + local test_targets=( check-clang ) + if multilib_native_use extra; then + test_targets+=( + check-clang-tools + check-clangd + ) + fi + cmake_build "${test_targets[@]}" +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die + # move (remaining) wrapped headers back + if use extra; then + mv "${T}"/clang-tidy "${ED}"/usr/include/ || die + fi + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die + + # Apply CHOST and version suffix to clang tools + local clang_tools=( clang clang++ clang-cl clang-cpp ) + local abi i + + # cmake gives us: + # - clang-X + # - clang -> clang-X + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X + # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X + # - clang, clang++, clang-cl, clang-cpp -> clang*-X + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die + dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}" + dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${LLVM_MAJOR}" \ + "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}" + dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \ + "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}" + done + done +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die + if multilib_native_use extra; then + # don't wrap clang-tidy headers, the list is too long + # (they're fine for non-native ABI but enabling the targets is problematic) + mv "${ED}"/usr/include/clang-tidy "${T}/" || die + fi +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view + fi + + docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man" + llvm_install_manpages + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang" + if use extra; then + elog "Some of them are vim integration scripts (with instructions inside)." + elog "The run-clang-tidy.py script requires the following additional package:" + elog " dev-python/pyyaml" + fi +} + +pkg_postrm() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 9835e632407d..214d3f1d0ae1 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -23,6 +23,7 @@ DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69ae DIST gcc-13-20230527.tar.xz 83956360 BLAKE2B 86a2131b88144817673a6300c73b29c2dbb8559a7057609601029aaf60aeb4c4926fa4b99c4e1768726cde09f994159685768b62b3ca73d7b606847788301e82 SHA512 87566c74258f9981742eae77f552361c220f79fa6f17c36d5b5a9e73f41c50d8a2cab16b9ffb17f07829005f0d42b4b1d524150d3dcba9710091532cbfad7152 DIST gcc-13-20230603.tar.xz 83954444 BLAKE2B 4be067c2159ae2a8ef3d699acab981cb911668bb0af84693b0226f58688146b0f93324296c584c6dca6df839ba344cff927cc82d20fce8c6b2282b256d745141 SHA512 ca1b41df7bf18c65189116099afcb43f65e13b17e57bf52049e739af223d51c3b825e2f80e239a3ddceec07693c991a85ec58ab6855255802d8bd413ff4324cf DIST gcc-13-20230610.tar.xz 83983712 BLAKE2B 2584a5b6bfb8304c3065b256f432e578aef8fd7a4e3e9dc4cdbfb6d0a90ad8cb9d0b0f65ad67fad417878875160abb289314c1f27c775abc97c45c2b7ff7958a SHA512 a2e00bb5d816d37ea38de7662bb26616603b14cf08bc3452f39300fc8efed3fad372f7603deb36e0e6dd06f082c815997ba22c2b7438e379e782682e6333578d +DIST gcc-13-20230617.tar.xz 83971924 BLAKE2B 3e50ff5e54d9a4c6a5f81fb6111837df9efc105484cfb67423a0a4a1ef72c229fabdabccfdc14098be49ade9a13117a843890dcf16c3d3a43abe3332e8fbbf21 SHA512 e1d31883518a2fd040e9ea2b022c0cddca9ce1026317613db4dfbfa0aa704f3229c6b5a39d50ed920f242524b937d40a113edf9b89ad7f04a5b4af32835271ea DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c DIST gcc-14-20230529.tar.xz 84197648 BLAKE2B 1b8b812866294bafd7bf53c823b3d55288d5a30c54e921495d19286b9d04a1bf7c5228b052941200ecc61a516355d977229fc9e60cfe4353154811c1261054ab SHA512 bba930dc4b6b6a45bb5f33e4b46dc16d1d581b266078c5492833e2b4e64a93d2d19389a436c64dc2159240b07134f4f7242bef3cf35f303d34e10bf493fe70ba @@ -52,6 +53,7 @@ EBUILD gcc-12.4.9999.ebuild 1589 BLAKE2B 8de913409a3303b99e08e719751855382983fc3 EBUILD gcc-13.1.1_p20230527.ebuild 1675 BLAKE2B 79870241df5096103bd49f812832100faf0e6663d97f478fa1dfa73ff31283b86453b0553a4d207da9bd3d4149fc79e9665efe457a7110616908f1e96a4c9695 SHA512 a865581a2f9f98fd92dfeb4a712909e88ca1bd02d3c983be2d2250de8d2b5cc7f8dcb5bc306d70d41feb595d65d5a61c29696dee01b328897768a68625c1a400 EBUILD gcc-13.1.1_p20230603.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c EBUILD gcc-13.1.1_p20230610.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c +EBUILD gcc-13.1.1_p20230617.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c EBUILD gcc-13.2.9999.ebuild 1589 BLAKE2B bf6463d9ba5db2a0d494941a33cc7a2be6fd01fc75222c1de50997555b70ebaf2a374dd9f61ffc3eafc1befe23ebedb36123e4f2366cb623b69f1ed566a1a3b1 SHA512 2138f692eca45b998e5675fde63a5b36dbc1dbdec36d2aecf5695c12c51caeaa578a443bc9e795de9e711a55bef79dbf5ce9751a151002bf1625df90b1bb9ca4 EBUILD gcc-14.0.0.9999.ebuild 1568 BLAKE2B 02ff0ed9ee64898714a411d4d6dce9ab4ed30ec1f8dce58036da4cfdd033281868c82b1a9e6da669898e405194f84be3db34cbf7a8b0144d2049558f30370b90 SHA512 5aa6f2841a026a8b021f3fd0a6ff47f11f1a7039454cb95a8af148f247792c90d08d254b16c1369e0aabf83da53add611594632a951fa075c06daee837eb27c9 EBUILD gcc-14.0.0_pre20230529.ebuild 1595 BLAKE2B 6ba10573734dbc54939e6f29dee6eb7b040ed3f9dcb2aa8f7a6010fe29ad6bd9a6c13afad1c8d994eafe8fdce95903d0d553da9f5e46038c4624c4d1ea9096fe SHA512 5ecff645b7638250650d07a8678f1273f76d9e8ce4d14374b91422230ad47abd05ab3139dd25f45c1ea81de5f0bdd71c4295711703ae14ef89dd2fd531de29a0 diff --git a/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild b/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild new file mode 100644 index 000000000000..994717045fb5 --- /dev/null +++ b/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="13.2.0" +PATCH_VER="3" +MUSL_VER="2" +MUSL_GCC_VER="13.2.0" + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" + BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sys-devel/lld-toolchain-symlinks/Manifest b/sys-devel/lld-toolchain-symlinks/Manifest index 6c029b61fd83..814e3b6eba58 100644 --- a/sys-devel/lld-toolchain-symlinks/Manifest +++ b/sys-devel/lld-toolchain-symlinks/Manifest @@ -1,5 +1,5 @@ EBUILD lld-toolchain-symlinks-14-r2.ebuild 801 BLAKE2B 9d503356ed85fd996a922f531782550dc9d9fb8f8f70b6298083abb4bda017b4015932add186a9e55c54e55135913b2cb83f571b115de09e704c936435f53f02 SHA512 7280dff33d642c0b1d4a6f23fbca4d412fc90693b7a9b825d0044f41694d2d4438b0c270277851999688dd7f04c4e67393c435b087d837abdd1f59011f3eb7ae EBUILD lld-toolchain-symlinks-15-r2.ebuild 796 BLAKE2B 830b933f8535eef6b128c929b80bb90d80541bd3a5ed7b5b66f453ee3e09af3e70d3df9fe5994aaca0b25160042c6cd2e8ff0fcf618da8acb2215a32cc28a8a4 SHA512 b44ce89bf627b927d79a9b182e6675024f88a26e4f76709b8490c4c67fe294efad06f2e82f72006fc638d4f0fcb87a3b54d4ffd12c039160283838405bb02aa2 -EBUILD lld-toolchain-symlinks-16-r2.ebuild 805 BLAKE2B 3a0a716e7fc993f2b6e482b6430af9a6822eda3f53b3118fe11e2cdcabdfb4f79f5ad77c3c6eadffcd0089bb2d93e41caafe7804e3fb7eed5b70ece6474f3a6b SHA512 fdd24fc5027d616d0e653b18c38f06d48911090537c6a34874de427fae252c51bb849d754c811702440ab8c857b9a13876702c4c9c96695015fbd0b4af6e4a9c +EBUILD lld-toolchain-symlinks-16-r2.ebuild 804 BLAKE2B 701ac210ac20a178d7647b58d0d0b4524d708d681345e5dbba5b77fb27c2b357af6b3e0b0b8ac529372901b556d533d22b79e54cc1fc58a309fe80cd7f8ca741 SHA512 aa2db826bd839f4f2ef3335c267f06b7f769721b33147eb041d1021065687ed5ecb446a198b80abdabc44d20a01eb8211f98f6058142bf30c1973441604adf3f EBUILD lld-toolchain-symlinks-17.ebuild 782 BLAKE2B 8df819209ba58e4f772b2c192cc951433a673fe6c4e7367fd9de93acdae63b787c1563adbceea49451c78a4e0fb7e5c4b109dd7dd636b39f2b78fa708e1faf1f SHA512 c889bec3ac8aa431bb13f5cf6e0900f6114ae30299ba752ddd648494309a7cfb1e930d2a4fb4d933666ae1630e3158e4633c082271651791c084a333e08b91d2 MISC metadata.xml 784 BLAKE2B 044eebb87ddac511186e137d9e255cb3ead2d53aeffafc641cc9a53556b833f06cae439907de8e8ead1090d54f7cc4bcacdbfff52449b6fab5908aa6d354a110 SHA512 50a9ac94efe64f8f6533049f496a19c37e375803ea3920a3729c93f346117ea5b662978570db27e8fffcfaf78f990691c4ab5aaf7dd48a7e2931f713eddedb4b diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild index ede252119011..4b849cdd1c5e 100644 --- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild +++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86" IUSE="multilib-symlinks +native-symlinks" RDEPEND=" diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index 66f6e7398747..8eeb1dc1388c 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -1,3 +1,4 @@ +DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52 @@ -9,8 +10,9 @@ DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43 DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 EBUILD lld-14.0.6-r1.ebuild 2009 BLAKE2B 4db1dfc9b1997d31cc68240ae0b05afeae5a6b1cb24a0eb2012bc28b2ac8c0da4b532d270d070db5fd401717320a74b006628c19a12c787e2f9ba2dc24eb25b1 SHA512 73b2f0e7b27497ce9037cd10503b328378ff9a2e32cd36e6e264f5423cd05732da4ea2ef97b637fc344a4f3d5d3597c60dda29dba7eb509391c176d32d53a427 EBUILD lld-15.0.7.ebuild 2262 BLAKE2B 8882ba45692d54840d8a5933910ade614427733f3da2e344cf4df2806c125a783ff3c6ad4a2f76fd577cb4787fe07495c93e981c03f116fa7f383575d59936f7 SHA512 9b08495f068a01e991d200363549d29e9146e8687b297fa06beda90da1da9a793b1ebf512c3dad9bb985518a8fd9d1d13049a90dd8f06d4bc3de97779ff8e6ed -EBUILD lld-16.0.5.ebuild 2238 BLAKE2B e42b8be23204fd9ebd62daf6e17199c8ebaa4317b152ba81e9d528504220b76ff2f6b61d1c39b728487c2483f7cc787a93b443c458cc8a1ff532cc9dce0109b9 SHA512 a16604093e1709104840f4f0cbbfb6c7782e377b940a8f65156da241f2478bfbc61b3f44e7769fb96441ece3d82f2858b0669e08217b362fff8af0abd5e88693 +EBUILD lld-16.0.5.ebuild 2237 BLAKE2B 0fe276331852e1d4943e447b9b6ea88ae7cd7005c611760285b46dcd044c785cc8444ded25a92ac832a9b40a8c5551fcd1d84eb046366fad748f207fc073ed53 SHA512 7d0f61cedbeb28a66d81ed968dbf6fd2f3c0ba9c25b4fe4ccce2b9760d9b558e5687c28ddd6bbad3066621e9088502dafd9a572c145ae06f4eef7309d35c5b4d EBUILD lld-16.0.6.ebuild 2239 BLAKE2B 33f554acd6e1db31f9aec3d75b2c43994a95240ba42bcdf7060090231ff6214e896b5fd051fcb513337161cef408014f64391e9ecfcf5269749fcfdb8a3771da SHA512 a06a9e4ff4f9109dd4eb3f3fdb2308b043beca30c016b184a3f77e7c4728161b3a1b4a662fccf102419c4a3aabab9e30db5a3c87448fb8b2a91237bc08e834ea -EBUILD lld-17.0.0.9999.ebuild 2157 BLAKE2B dd17cb187ecc5f448245e19ce67fc9abf26bad3fd62b4f999d01defc43b87e8d47f1613212d56e66061f414de947e0e2a9e24aeffd4b4baf947714b5dadb5ba0 SHA512 fca39302715a0c083b24b94336eeb53a376d69e014f49922ce49987ce2a8c591727cdde49fd70ed5067305c807e4445653753efd5900d8bb61e5b47269fd37d6 +EBUILD lld-17.0.0.9999.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98 EBUILD lld-17.0.0_pre20230609.ebuild 2157 BLAKE2B dd17cb187ecc5f448245e19ce67fc9abf26bad3fd62b4f999d01defc43b87e8d47f1613212d56e66061f414de947e0e2a9e24aeffd4b4baf947714b5dadb5ba0 SHA512 fca39302715a0c083b24b94336eeb53a376d69e014f49922ce49987ce2a8c591727cdde49fd70ed5067305c807e4445653753efd5900d8bb61e5b47269fd37d6 +EBUILD lld-17.0.0_pre20230615.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98 MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685 diff --git a/sys-devel/lld/lld-16.0.5.ebuild b/sys-devel/lld/lld-16.0.5.ebuild index 9db1745a416b..3d9800652a1c 100644 --- a/sys-devel/lld/lld-16.0.5.ebuild +++ b/sys-devel/lld/lld-16.0.5.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86" IUSE="debug test zstd" RESTRICT="!test? ( test )" diff --git a/sys-devel/lld/lld-17.0.0.9999.ebuild b/sys-devel/lld/lld-17.0.0.9999.ebuild index 5d38213eefc3..085543e50762 100644 --- a/sys-devel/lld/lld-17.0.0.9999.ebuild +++ b/sys-devel/lld/lld-17.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs DESCRIPTION="The LLVM linker (link editor)" diff --git a/sys-devel/lld/lld-17.0.0_pre20230615.ebuild b/sys-devel/lld/lld-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..085543e50762 --- /dev/null +++ b/sys-devel/lld/lld-17.0.0_pre20230615.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="" +IUSE="+debug test zstd" +RESTRICT="!test? ( test )" + +DEPEND=" + ~sys-devel/llvm-${PV}[debug=,zstd=] + sys-libs/zlib:= + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + !sys-devel/lld:0 +" +BDEPEND=" + sys-devel/llvm:${LLVM_MAJOR} + test? ( + >=dev-util/cmake-3.16 + $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]") + ) +" +PDEPEND=" + >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR} +" + +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) +llvm.org_set_globals + +python_check_deps() { + python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + ) + + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + + tc-is-cross-compiler && mycmakeargs+=( + -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen" + ) + + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +} diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest index 9423308b75c2..9736640a2932 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -1,3 +1,4 @@ +DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52 @@ -9,8 +10,9 @@ DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43 DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 EBUILD llvm-common-14.0.6.ebuild 602 BLAKE2B ef26d6ac2606e9a316ddcce442da1762f578ade0346ba2a947fdace5e2020e8841c63d173e42506d23abf6efc062a2edfac0be98a3eefe1f7a29c88702e9f1d5 SHA512 789dad6fdcf9a930ddc1046e7e98ebc1e05b2dd3713bb1ec5b8a5711690d779691c91d1000d9776720b21ed241d2f12c0ae9a8dba0e6a17d0ddf563cdfbe657f EBUILD llvm-common-15.0.7.ebuild 601 BLAKE2B 3dd38d17640ed52ff0be26db026475a9d0e7e1acebe95043bc6e0e63e32ff4f03c5637a9dcce25987f673962447feb4aa015f8b5b5cb33553dc1a4f843b75399 SHA512 e8a93a72d06810cface48cce2d8f8a890cdf009939a96350a23fe407b064c05a3016c663d11a3866dc2dd0fd87599b5ac234895c8c42c902e9b0cdb37dba7b62 -EBUILD llvm-common-16.0.5.ebuild 614 BLAKE2B e48fc8a0dce2085b3333013ddfbeebd047c28abc17aebd844ca5b1433560eb2401f8cebb584be4879932371dcfd1bea8d595ac37a61c2f3e1cbccb5003e704df SHA512 3a093224f8d357306b2e529190422cfe1bd31f66b1c8ceb07340bd8a8a25141ffa5bd033dfa4a8da9868c01a0ea8a9b5b5d64a046fa5fb2873e328db66badea0 +EBUILD llvm-common-16.0.5.ebuild 613 BLAKE2B b88ac32f5d3673aa7c86b7df307642687b2911c517e2fd4a1f374c041952c60cff9546fbf4d959f96430af2efe7a0253f72bc8f381094419d2a524741c024906 SHA512 5ceff9b1ffa07a884fef539e53f9ad94b9b96aa0beed93c68b16776013f5f67a075488ee2f2ec89078c6677ac5de897ccf0e1231c8d4026954116a750432641a EBUILD llvm-common-16.0.6.ebuild 615 BLAKE2B dddab327388341f3330d7374a76bc1ea144aa5cad62feea34140b5825daf13118ff7185a6c2cce07479c3ca13c3ba8ad7cac7ba71a8b49fdd25a979d899a5b0a SHA512 57e7d90e7fc4f5dd2daddd1c7e8ed7885112120aca2b13b21e2fc719cfe5a87bb640aa67c605827bcd60aa71300abeba937e158ae1a1a16559236ef9e6d18319 EBUILD llvm-common-17.0.0.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe EBUILD llvm-common-17.0.0_pre20230609.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe +EBUILD llvm-common-17.0.0_pre20230615.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685 diff --git a/sys-devel/llvm-common/llvm-common-16.0.5.ebuild b/sys-devel/llvm-common/llvm-common-16.0.5.ebuild index d104957ab6f7..b81e63d26482 100644 --- a/sys-devel/llvm-common/llvm-common-16.0.5.ebuild +++ b/sys-devel/llvm-common/llvm-common-16.0.5.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" RDEPEND=" !sys-devel/llvm:0 diff --git a/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild b/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..ce5f03ca34a5 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit llvm.org + +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" + +RDEPEND=" + !sys-devel/llvm:0 +" + +LLVM_COMPONENTS=( llvm/utils/vim ) +llvm.org_set_globals + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r */ + # some users may find it useful + newdoc README README.vim + dodoc vimrc +} diff --git a/sys-devel/llvm-toolchain-symlinks/Manifest b/sys-devel/llvm-toolchain-symlinks/Manifest index d2282f6ba405..1dc050230335 100644 --- a/sys-devel/llvm-toolchain-symlinks/Manifest +++ b/sys-devel/llvm-toolchain-symlinks/Manifest @@ -1,5 +1,5 @@ EBUILD llvm-toolchain-symlinks-14-r1.ebuild 1050 BLAKE2B 2e1e3a23812823c1a747a2b09d006f874b3a192c92b1ed275988bd84740df5ed68283f638fa36232d780eec817c26163d4d76335ad1dc2e0c5780b96dddd88bd SHA512 f54178846a398792a753174cd6b067f63b22bef13dba49485b14cc7f909a1da2a8d9bb2657a0b485ccfb5a3830388a855d52e8dea7a62e766a3bd65bb6602923 EBUILD llvm-toolchain-symlinks-15-r1.ebuild 1043 BLAKE2B 2c2ea96910bf11e2263bb157b9ef071998b61a2ab06ef848d68d1622249f74b4d1752351a5f2569c5668093c8f0b4b494eded9a920601e8226d4f519f0642754 SHA512 ee650715492c5d08a51760d6c14396d6a9c5fcbe8af069370d8cd628fda1c10f79250e553fd67a5d56ba370e446affbb1b2d48f8557f2dd58bad3947863f6814 -EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1061 BLAKE2B fbbc3e4ff005766a832a4ee6b9a9731218dc1f0d29091a599c6a22ae66ac8ba6ac0b3aa46a4158a2a2a8204badbdc2abbe8779b3a5b31d6f5a6f50a824bf8d8e SHA512 d184b6e19aefcaa272d08ed46bf9fd89a107a7e2fd04a2a7270361db53ebac474ebed8e2269005ff5e7006e3a0976e7209449b268a2d63c5c1ef8e6c34cf0517 +EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1060 BLAKE2B 1ef8042db765b3335111d2d9e8e51aef2cbd825800045b5cc4e3fc73ad36eaf1bbf1752b943daf958f0b41fa599bb9e69beda1926de5a647729b51c9d94e4c5b SHA512 edccbfdb264940a45469a60294c3fc7fbc5bd2aca9bfccef891ffdae60a3c0a69d205fe01da2f6834b8e6c2189d8e2b9f0b66f609b811c5e55e69ba01fa841f1 EBUILD llvm-toolchain-symlinks-17.ebuild 989 BLAKE2B 63e5d2f1312362e4570ecdb3bc190ab4d30245f0149871eaba00ad257e05c31d0ea3664c3e4abae366fa47cd5c5eef581334bd7dfa71dc4250042342ad114a2d SHA512 bbfc302b6b49b0d8398b3f6115e32da3a9a9f2c2069225598191cc1fda90a551d459fb92ff309270bcb9a792791fd0b302cabb81456f61f35adfdfdc812c2fbe MISC metadata.xml 815 BLAKE2B 963f1b8425495144d04659d2d8cdabab910f15f9861634bf436a82ccb70b27682b44c47415ca6884956097e92294457d09b5c44e7a2f108c93abb79df8884aa7 SHA512 940a6c63c4c13a1c78c041c02df9bd3d2ac0f19eb552fcfb8134784386a2197956b1dd4950c760ca6ac9e8fb154eb550d59fc6ab1aea9c9236e7e005882d556a diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild index fd259bd17ed9..bd3ab9fa4d42 100644 --- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild +++ b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="multilib-symlinks +native-symlinks" RDEPEND=" diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index faa29b4f30f6..e45fadaf0631 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -6,6 +6,7 @@ DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7 DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825 +DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52 @@ -19,8 +20,9 @@ EBUILD llvm-14.0.6-r2.ebuild 12389 BLAKE2B 549b4e1c7feceb40c7e5aaa624925ec08627c EBUILD llvm-14.0.6-r4.ebuild 12316 BLAKE2B 1028363925a64b55006026498de4bd77f842f63aeeb63650a35b0c10e5c5356c0abe62486aaf36aa80d55cb68b6e272489c804599b1683990fdeaa58dab9abbf SHA512 64760fc8a63e0e1dba555bf9c79fd894ef8d9817481b077f9f4cf2d26f0f0bea153fe20ceb02f1469b61eaefc62f98bcdb36a4d98422bc0331f274b620da3f29 EBUILD llvm-15.0.7-r3.ebuild 12489 BLAKE2B 1fa5e890b2fa5d3313a0354c4d72f0ce4a27a90bd8fd470196178a853ec238a57cf21ab4f8d7ee6370b8d106154de9d5cab657b922184ed27f491e4e06cd4960 SHA512 104cb5e8e95173b369911609f9f5b783d7465bd628cc067c5c342fc92384aa0ab8aabd0a303f383f8c46a951fbe50e4daa8048fd272998b7c0362b23ffcadd7f EBUILD llvm-15.0.7.ebuild 12558 BLAKE2B 1f73f500a38ee4e96438a5e478781a562d48e10d550cd6c5beaf37a754ead1f0bedb121be78c6bee229f694cb085ee665f7b33a44eacba0d6eeaa42b545f6ca7 SHA512 92dd8f7f8554ee24978ef4e1409f5356a95455d2b5006da0a5dbf27cc277962916a0e93d2f7630a0eb3a9f3a1167eb9aeec0a319de3637c5762a7c391d3f5330 -EBUILD llvm-16.0.5.ebuild 12495 BLAKE2B e7342f71d7218938e16634e9c993c6ac854f0d197101d917a57f9480c942053f3dfd00fe888428acaa260196d7bef29a30a7147f2cb2835c87a2edd6edbe02f3 SHA512 95c9bcb85329b91a3ed5927d3daa685c1f1d5b9a3a98e5013f6ccabc3f17275dd080aa98e634645d28462808fde8df225225619fdc9598cd1af986efcac2007a +EBUILD llvm-16.0.5.ebuild 12494 BLAKE2B 305f09d9fd1e1a3aec00f3eb6dbecdee8da341ef0b52535c6957db6f1584501608fa378c8c95aea39562e97fba3645e2a3c296c1ff9c25894a200f14b03e8edf SHA512 e0d1b9aec037ed88896b30212b4876902439f9e408eb5d70320811a3e7f5105cc4dd825fb63413f36592b45a757f67277186894be1584c95df8218f150999d37 EBUILD llvm-16.0.6.ebuild 12516 BLAKE2B 3b8627f6165cace4db89596bb52bc6706672ff8ed9e500acefd71442d8f394cb4a787956a129bcce052597ebfafc0bb2ab2630024777399799102ea52458a8c1 SHA512 d7715d2bcdc32967b0674aa9c0c3a16a4fe704d3013bbdd5bc452755352480c20b578c1236190c273a69d84c55e67529bea116e048ed2d24d0987456c9649374 -EBUILD llvm-17.0.0.9999.ebuild 12689 BLAKE2B 188b2dc059691ac3a1d181e8aeeadbe836507ea419f966b12203eb64de15a5c0bed49074e055f91e0e98a07b80bdff355302e4a4b6f27f09ff23753a513848f6 SHA512 9fcda73df117c7fcab2be62ad8f8ed51794c7e247cfab39f2533948a3c105575f75459b6dccca7cdc425a13e45947b13cf40c0e5cf70b771b7755a2063562192 +EBUILD llvm-17.0.0.9999.ebuild 12690 BLAKE2B d893c2d895dce9ceccb53a848ad3c242febebef21a3d261c36b18664876453470c4cae04ac4707777178f06799fcd6b0645e688ff385ec92382c5008a7328f8d SHA512 3f0de58fd4d9af36675189a26d3f56c85f062f03c65a5f0ae24ffb1942458fd4d4c89cb28e033e0aa229a8affa65e7d8b7326dc6ddb64cbba49e775495c6fa29 EBUILD llvm-17.0.0_pre20230609.ebuild 12689 BLAKE2B 188b2dc059691ac3a1d181e8aeeadbe836507ea419f966b12203eb64de15a5c0bed49074e055f91e0e98a07b80bdff355302e4a4b6f27f09ff23753a513848f6 SHA512 9fcda73df117c7fcab2be62ad8f8ed51794c7e247cfab39f2533948a3c105575f75459b6dccca7cdc425a13e45947b13cf40c0e5cf70b771b7755a2063562192 +EBUILD llvm-17.0.0_pre20230615.ebuild 12690 BLAKE2B d893c2d895dce9ceccb53a848ad3c242febebef21a3d261c36b18664876453470c4cae04ac4707777178f06799fcd6b0645e688ff385ec92382c5008a7328f8d SHA512 3f0de58fd4d9af36675189a26d3f56c85f062f03c65a5f0ae24ffb1942458fd4d4c89cb28e033e0aa229a8affa65e7d8b7326dc6ddb64cbba49e775495c6fa29 MISC metadata.xml 2782 BLAKE2B 4bd546287f630462c3f5d98cbd15a59a4cdef4023f86a5f4fe64fc5f10256cae7014d18823bd0909f4af4e42f299b6e7983c9c3c569cfab1ad38b0160f1eae40 SHA512 6bf1dc4f71f50e1eecc55cbb8366d8ed82a3dd328871acf1d808fc5e3ee4d203d623f81d9968bda45a87c72a2f20ed69b735b0a289b0052b048175cf6502e124 diff --git a/sys-devel/llvm/llvm-16.0.5.ebuild b/sys-devel/llvm/llvm-16.0.5.ebuild index eeeeca786e7a..f5c212062ea7 100644 --- a/sys-devel/llvm/llvm-16.0.5.ebuild +++ b/sys-devel/llvm/llvm-16.0.5.ebuild @@ -19,7 +19,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE=" +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3 zstd diff --git a/sys-devel/llvm/llvm-17.0.0.9999.ebuild b/sys-devel/llvm/llvm-17.0.0.9999.ebuild index c2c2d7c6b628..dd7be5a60d95 100644 --- a/sys-devel/llvm/llvm-17.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-17.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 inherit toolchain-funcs diff --git a/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild b/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild new file mode 100644 index 000000000000..dd7be5a60d95 --- /dev/null +++ b/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild @@ -0,0 +1,533 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. xxhash: BSD. +# 3. MD5 code: public-domain. +# 4. ConvertUTF.h: TODO. + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="" +IUSE=" + +binutils-plugin +debug debuginfod doc exegesis libedit +libffi + ncurses test xar xml z3 zstd +" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:0=[${MULTILIB_USEDEP}] + debuginfod? ( + net-misc/curl:= + dev-cpp/cpp-httplib:= + ) + exegesis? ( dev-libs/libpfm:= ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) + xar? ( app-arch/xar ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs ) +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + >=dev-util/cmake-3.16 + sys-devel/gnuconfig + kernel_Darwin? ( + <sys-libs/libcxx-${LLVM_VERSION}.9999 + >=sys-devel/binutils-apple-5.1 + ) + doc? ( $(python_gen_any_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) + libffi? ( virtual/pkgconfig ) +" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND=" + ${RDEPEND} + !sys-devel/llvm:0 +" +PDEPEND=" + sys-devel/llvm-common + sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR} + binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} ) +" + +LLVM_COMPONENTS=( llvm cmake third-party ) +LLVM_MANPAGES=1 +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +python_check_deps() { + use doc || return 0 + + python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_uptodate() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eqawarn "Expected: ${exp_targets[*]}" + eqawarn + fi + + if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" + eqawarn "Expected: ${prod_targets[*]}" + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # testing libraries + LLVMTestingAnnotations|LLVMTestingSupport) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(${NINJA} -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +src_prepare() { + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # Update config.guess to support more systems + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die + + # Verify that the ebuild is up-to-date + check_uptodate + + llvm.org_src_prepare +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # shared libs + LLVM + LTO + Remarks + + # tools + llvm-config + + # common stuff + cmake-exports + llvm-headers + + # libraries needed for clang-tblgen + LLVMDemangle + LLVMSupport + LLVMTableGen + + # testing libraries + llvm_gtest + llvm_gtest_main + LLVMTestingAnnotations + LLVMTestingSupport + ) + + if multilib_is_native_abi; then + out+=( + # utilities + llvm-tblgen + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + UnicodeNameMappingGenerator + + # tools + bugpoint + dsymutil + llc + lli + lli-child-target + llvm-addr2line + llvm-ar + llvm-as + llvm-bcanalyzer + llvm-bitcode-strip + llvm-c-test + llvm-cat + llvm-cfi-verify + llvm-config + llvm-cov + llvm-cvtres + llvm-cxxdump + llvm-cxxfilt + llvm-cxxmap + llvm-debuginfo-analyzer + llvm-debuginfod-find + llvm-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + llvm-dwarfutil + llvm-dwp + llvm-exegesis + llvm-extract + llvm-gsymutil + llvm-ifs + llvm-install-name-tool + llvm-jitlink + llvm-jitlink-executor + llvm-lib + llvm-libtool-darwin + llvm-link + llvm-lipo + llvm-lto + llvm-lto2 + llvm-mc + llvm-mca + llvm-ml + llvm-modextract + llvm-mt + llvm-nm + llvm-objcopy + llvm-objdump + llvm-opt-report + llvm-otool + llvm-pdbutil + llvm-profdata + llvm-profgen + llvm-ranlib + llvm-rc + llvm-readelf + llvm-readobj + llvm-reduce + llvm-remark-size-diff + llvm-remarkutil + llvm-rtdyld + llvm-sim + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tapi-diff + llvm-tli-checker + llvm-undname + llvm-windres + llvm-xray + obj2yaml + opt + sancov + sanstats + split-file + verify-uselistorder + yaml2obj + + # python modules + opt-viewer + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi + use doc && out+=( + docs-llvm-html + ) + + use binutils-plugin && out+=( + LLVMgold + ) + use debuginfod && out+=( + llvm-debuginfod + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_INCLUDE_BENCHMARKS=OFF + -DLLVM_INCLUDE_TESTS=ON + -DLLVM_BUILD_TESTS=$(usex test) + -DLLVM_INSTALL_GTEST=ON + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_LIBPFM=$(usex exegesis) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + -DLLVM_ENABLE_ZSTD=$(usex zstd) + -DLLVM_ENABLE_CURL=$(usex debuginfod) + -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod) + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + # used only for llvm-objdump tool + -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + + -DPython3_EXECUTABLE="${PYTHON}" + + # disable OCaml bindings (now in dev-ml/llvm-ocaml) + -DOCAMLFIND=NO + ) + + local suffix= + if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then + # the ABI of the main branch is not stable, so let's include + # the commit id in the SOVERSION to contain the breakage + suffix+="git${EGIT_VERSION::8}" + fi + if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then + # Smart hack: alter version suffix -> SOVERSION when linking + # against libc++. This way we won't end up mixing LLVM libc++ + # libraries with libstdc++ clang, and the other way around. + suffix+="+libcxx" + mycmakeargs+=( + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="${suffix}" + ) + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + + mycmakeargs+=( + -DLLVM_BUILD_DOCS=${build_docs} + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=${build_docs} + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use binutils-plugin && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + # workaround BMI bug in gcc-7 (fixed in 7.4) + # https://bugs.gentoo.org/649880 + # apply only to x86, https://bugs.gentoo.org/650506 + if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && + [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] + then + local CFLAGS="${CFLAGS} -mno-bmi" + local CXXFLAGS="${CXXFLAGS} -mno-bmi" + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MASTER_MAJOR?" + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + tc-env_build cmake_build distribution + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${LLVM_MAJOR} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer" + elog "To use these scripts, you will need Python along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} diff --git a/sys-devel/llvmgold/Manifest b/sys-devel/llvmgold/Manifest index b9229f44f14d..16092b74b2e1 100644 --- a/sys-devel/llvmgold/Manifest +++ b/sys-devel/llvmgold/Manifest @@ -1,5 +1,5 @@ EBUILD llvmgold-14.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3 EBUILD llvmgold-15.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3 -EBUILD llvmgold-16.ebuild 588 BLAKE2B 1245dbea5723f5d96eebc3a50e9324b8caebd63a357ed0f7a9ef9a21dc0ec7b9e1e3716c23636eb7f9dc0a7244471198d28712933e03c9540dba89ead395b243 SHA512 8ed066d3d462272ecba181429633f68660e312fa7690fb69dd94c82979c3adbd238f6c2a1db55820e5d03a0966376ee732b5af73beaf2da922247f25a9e53bfe +EBUILD llvmgold-16.ebuild 587 BLAKE2B cb0800f61c4e9b931613cc65137478aeb3af4684c0956f97cfc077cc3a394f9a426b564ece1ef7743abd16fe3663ec7b0aee0d0b6678b161057c1a86597e2c24 SHA512 eed74ecf4e7c77162736fc9570d4c5c6f3bad8da74a9afa4c0303a3ad84c5d2f25250d8bfd4ece25917af3e082afed89a7ccd680a15d2c6551bcd55f935814d7 EBUILD llvmgold-17.ebuild 538 BLAKE2B a3424159e17fb2fb91ee0ebc7b84bee83b48c0bc672bad2d55fde1be98066b718352cab72f422b4a7a6e33e7ac98463ef433fb6f7c37e27570359d2fdcd7bd75 SHA512 906506a5430e1c3f39b49f8e3b5bb6981f1781a14d3dff59f57d872f3790fe146e5e4e757f1e6486558c77d0ee6bff7bf1bc784d4d1b5e2ecc81e6bfbb335c13 MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685 diff --git a/sys-devel/llvmgold/llvmgold-16.ebuild b/sys-devel/llvmgold/llvmgold-16.ebuild index 750c2ab3434c..5c540a7d9c78 100644 --- a/sys-devel/llvmgold/llvmgold-16.ebuild +++ b/sys-devel/llvmgold/llvmgold-16.ebuild @@ -9,7 +9,7 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux" RDEPEND=" sys-devel/llvm:${PV}[binutils-plugin] |