diff options
Diffstat (limited to 'sys-devel')
27 files changed, 1575 insertions, 222 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz Binary files differindex 8502d2a0e789..25301722148a 100644 --- a/sys-devel/Manifest.gz +++ b/sys-devel/Manifest.gz diff --git a/sys-devel/binutils-config/Manifest b/sys-devel/binutils-config/Manifest index 34b5787d1eae..ca47d3cc1073 100644 --- a/sys-devel/binutils-config/Manifest +++ b/sys-devel/binutils-config/Manifest @@ -1,4 +1,4 @@ DIST binutils-config-5.4.tar.xz 7332 BLAKE2B 1dd0fdebf028e9d95caa395948037d51ac1e627f370921b56fc99a6fe2e2100ddb202c8027ad1e67330306de8b4cbc6a03753105d401198e515b22fca94f760f SHA512 79411afcbec3a6cce960be1b06e4a6efdf55081992f6a92157737f7ef41fc61eaec0005078a4ce0cd78ad6af14583ab85f4f2b7b43808238088d521e1aa31af1 EBUILD binutils-config-5.4.ebuild 1101 BLAKE2B 407acd936b18ea59abe4eb231fa03683ca845c2654ff59ad419cd1fc171e45f27342346702b65e21a74df76e95e4ff95356a5f8ecda462f6c720eaf6d2010d09 SHA512 9c4821d7373d695690ac2bf239debf4aec1e8e80ad0200ab2310291cb6a2b69193132f2ca2aeb4c694295b9860dea444c759d59333c95844b3e79fdc1813ff68 -EBUILD binutils-config-9999.ebuild 1109 BLAKE2B 5d0b7c75e5c9dd654fa7bae0c799358111c33bdf28a2ea5640ea89870afdcb883b1779459a45a4ffb4a4d012ba2ba871da02354d4bc34b455133ddc5bee15b86 SHA512 1c173599fe4003af42b8303348107c3a1e1b3ac247ca2334efac2d9c7189519dc64c6939c5062af3a321caef5d351f8f3f9eb01528ac8efcd2d9ed002778a1b5 +EBUILD binutils-config-9999.ebuild 1044 BLAKE2B 0050dada9e6f9344d9975da739fb5187001157eae8af3b3d9b7b94d709111dd2016ae08bd54f6510bb9c77c815d23b96eaacf0f1cbdd52c4d5c9e8b35b7649b4 SHA512 dfa9d3e291670dccc55bd695d2fc9bd64a60956239175bad9ad3be3069d43c63b6e08761495e9de30fbe312cc88da68b965ad9c5acefe1c53233f5dd3bc56df2 MISC metadata.xml 417 BLAKE2B f165e42734eb89e8c79fcd95bdbaef4ce0e80380867998cb649a669fea3ded3ce7326cca436cd6a5509b7a8948b3c7f01aea05b344f71ea5262517e67719448c SHA512 ed23d5be8b16265068b32816b4984e8cd07e62da7ab6a0adbcea1a826366f2844ad06b087c7b753d1b3a145b761608b83794133c0f84dfbe24b5703fb93344ac diff --git a/sys-devel/binutils-config/binutils-config-9999.ebuild b/sys-devel/binutils-config/binutils-config-9999.ebuild index be7e03ed3330..17daaedfeda0 100644 --- a/sys-devel/binutils-config/binutils-config-9999.ebuild +++ b/sys-devel/binutils-config/binutils-config-9999.ebuild @@ -1,10 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit prefix - if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/binutils-config.git" inherit git-r3 @@ -29,8 +27,6 @@ src_compile() { src_install() { emake DESTDIR="${D}" PV="${PV}" install - - use prefix && eprefixify "${ED}"/usr/bin/${PN} } pkg_postinst() { diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest index 61550df90789..4730bea8847b 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -16,6 +16,7 @@ DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348a DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24 DIST binutils-2.37_p1-patches-1.tar.xz 28956 BLAKE2B 3bc14fcc52a6d11992ad9ed88fa3347ca3d5facd59de094a178a5f720d0eed6297dadf9a8fea7189076eb81274612c0b71c01f15a8f58deeaed8c8f6135ef50d SHA512 f6b2a09bfc692cf90f6cd56be81f424a68831db48054dc150eb6ec28bfa18d35933203c2d3b502f0c80e38771353c373446aec2488469fe2df20d8066033f59e +DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 EBUILD binutils-2.32-r2.ebuild 11938 BLAKE2B 428c753cea3114b7989cc4f23ceff28a021087d07fda9a268a183c5ce89bb7043cefd4379e767115a67354231231668ff79f6c032e5f2c01b990f67bf04c1ccc SHA512 c42dccb27be0ce260d3f1b0e7e59dad7b8de3c95c4c6344ae7007018236255b81c8e36fc75e29888d4bd6ff99c51d9ef44f77ee15cfdebec4fd9e83a5fa5fc69 EBUILD binutils-2.33.1-r1.ebuild 11674 BLAKE2B fb92231ebf9e3b39d7ccaece8d77053670e76885c0081fa9de93bdc79743c150570325fe157d2906d63a313d515917a4c75ee120082a16c3a6569bb1835165c9 SHA512 f773a86401ded701a46c75ad939537dc429678163a86e55fd7362bd7e95ce196214c34cde070f093f41716d29cf1e581b928c6d6c442bb52666d5e8311486997 @@ -23,6 +24,7 @@ EBUILD binutils-2.34-r2.ebuild 11770 BLAKE2B 7cb3c8bbeb0ae93677d13f8c036a8886e2d EBUILD binutils-2.35.2.ebuild 12651 BLAKE2B d97d3cfab222e74e94bdc5d462bf95f9d39cd62ffc686982598a8041b6bda0358ab39fcf4cfdd6fda3b444859db97c39a50971032008dbd982301e1afff94b41 SHA512 6c6820a8206cb8cf5d4df8e1c1e5448e0a3ba77ab067bc49525787beadad464aef27fb04debbfde4720a3a44b02a4206fd4b3c4d18eb19428a7d98254753fd05 EBUILD binutils-2.36.1-r2.ebuild 12553 BLAKE2B 8ce3d14f6d7cc81e920f7d5a28875a5bcc45b396169afe5a6e4429849eb9b420977f39fd85487d3ef93a2aef838c6122413b7ef5c9f8c6273d9d1b1bf5b4608a SHA512 53935fec45e8241e73c76be22dde5e9576360cb511642bb5fded59515ea0641cbcb7eb6bd6eef2f30d6d4e940cf1869908c96b194ec1f5e9a016664a5c6cf2eb EBUILD binutils-2.37_p1-r1.ebuild 12893 BLAKE2B 55fb00ec7c769b8675fd33e8ac5887681c9ee974eddcf1274172d4578b851d42f1fbe32ef7fae1343b56e90250a3a4cd16181b8432e910568929e500d14c5c2e SHA512 5d635a9ed125e047dfda42f2f5bfc13ef633be8bc0c8aef64bb920beceac809d7f767f5aa928547226642db545292aa3165d44d0d9680cdcda3b47496e934e88 +EBUILD binutils-2.37_p1-r2.ebuild 12894 BLAKE2B 0f794e4b8f36d62b89f12c6a6d17711a2359d4ee002e654dce71a8ba19ff7ea74cdf604dadacd0f553c6fb115280182660fa373e016943b2420908ad7b25c9ad SHA512 6fb31f9764f2a4bace454a3fbf6a30508b2133798a2dc2f3487405d6023719ccb65bd4e38bbc97925cd5b2262fca01ddf262b89540c61723263a0b9b8748cad2 EBUILD binutils-2.37_p1.ebuild 12839 BLAKE2B 6ddb1dd33f47b27784bde21981e8ab8fd70499660a22ff09383c501007e92336ffa07355325c9eab1aa729fa6cd058e1eccc0937ca69a7ee4f93183ff79ac7f7 SHA512 59949998a9d1ba991839262e8e48c5178c24df1b74d66b2556766f3afe53c1ac041dcb5058b5c09508e9cb97d33f06b3c3357446039c6a9806e1c0cbfb3a1099 EBUILD binutils-9999.ebuild 12909 BLAKE2B fbf051ba26d9e2ebf14c5f9ad672d0cf770e8e4c87e3f3f30d79ea0b43338fcbe3aacdf64b0168a6da53c0fa183a37837d671ab4ecac4b21dc48bdd7b371a8c2 SHA512 165b1233f1941cd939c2fcefec316cafe2feab5fbf1358bc6eaf6d475b636e397b21a65ca7871dc8f5fefc90c7cdf5081ec566db724b567211bd8548606e3c0c MISC metadata.xml 727 BLAKE2B 4ee6dbcec8f8ec7e5fe028344dcad9689e6d4edd1871a4b9f6b28952edafa2dd41df7e03f3a72d3fcf5853a791f7a77a5aa08108d24ae9589e7c0c98b564ddad SHA512 999c1f33f4a25ab6b8e1ede0862e9ad849dd44366236914f2558cc9377336d49989e592973625d9833ad238645e918d7341817e2170ff6a6029b40f7addb775c diff --git a/sys-devel/binutils/binutils-2.37_p1-r2.ebuild b/sys-devel/binutils/binutils-2.37_p1-r2.ebuild new file mode 100644 index 000000000000..cfdd2538eefe --- /dev/null +++ b/sys-devel/binutils/binutils-2.37_p1-r2.ebuild @@ -0,0 +1,451 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" +LICENSE="GPL-3+" +IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla" +REQUIRED_USE="default-gold? ( gold )" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=2 +PATCH_DEV=dilfridge + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SLOT=${PV} +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" + [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT=$(ver_cut 1-2) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + test? ( + dev-util/dejagnu + sys-devel/bc + ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # Make sure our explicit libdir paths don't get clobbered. #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible #122216 + if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then + einfo "Fixing misc issues in configure files" + for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do + ebegin " Updating ${f/${S}\/}" + patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + fi + + # Fix conflicts with newer glibc #272594 + if [[ -e libiberty/testsuite/test-demangle.c ]] ; then + sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c + fi + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + # enable gold (installed as ld.gold) and ld's plugin architecture + if use gold ; then + myconf+=( --enable-gold ) + if use default-gold; then + myconf+=( --enable-gold=default ) + fi + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches + # the bi-arch logic in toolchain.eclass. #446946 + # We used to do it for everyone, but it's slow on 32bit arches. #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ + # on everyone in alpha (for now), we'll just enable it when possible + has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) + has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.27) offer a configure flag now. + --enable-relro + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + # Works better than vapier's patch... #808787 + --enable-new-dtags + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + ${EXTRA_ECONF} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across + # {native,cross}/binutils, binutils-libs. #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + echo ./configure "${myconf[@]}" + "${S}"/configure "${myconf[@]}" || die + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" + + # bug 637066 + filter-flags -Wall -Wreturn-type + + emake -k check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH} #171905 + cd "${ED}"/${LIBPATH} + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} + for x in * ; do + mv ${x} ${x/${CTARGET}-} + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/${LIBPATH}/lib + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" + dodoc README + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} + else + binutils-config ${choice} + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}-<tool> +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index fa26e3261fbb..7ef539d8e8cf 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -2,10 +2,12 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f EBUILD clang-common-11.1.0.ebuild 581 BLAKE2B 3e7e2e6c0b0a7f177aaf610a7be4bebb6eb23aec0f4677263555a37c57eb6547d94078465939f9062b562f0b5cc59bda22b2e293e0b2f7907f66dd76c95fe554 SHA512 1ce397f6029bc8ee03c8d0aac13e14b7faf77cc446ab390f1435c8c028364620e565e73cb5e97bb6c0093e0a20c34e8a4ceab9591707687567520c0192264bea EBUILD clang-common-12.0.1.ebuild 593 BLAKE2B b67b21c9d61f523ab9f32d53114763ce95348100e985d96c9ccbae2b9d5ad698fbc174001091c4f9184ecdf904a4d00a9449c28cd09a1e173d885dd1e7759949 SHA512 707eca3a5b53a104c3350cc42f5fe01df9ef17ba4863dbd00093b685a052da67825b7e837820ecd23087759fe2057ae1fbb00b391c79653dacf2c94fd1261342 EBUILD clang-common-13.0.0.ebuild 593 BLAKE2B b67b21c9d61f523ab9f32d53114763ce95348100e985d96c9ccbae2b9d5ad698fbc174001091c4f9184ecdf904a4d00a9449c28cd09a1e173d885dd1e7759949 SHA512 707eca3a5b53a104c3350cc42f5fe01df9ef17ba4863dbd00093b685a052da67825b7e837820ecd23087759fe2057ae1fbb00b391c79653dacf2c94fd1261342 EBUILD clang-common-13.0.1.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb EBUILD clang-common-13.0.1_rc1.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb +EBUILD clang-common-13.0.1_rc2.ebuild 514 BLAKE2B 5e58d945e4196b9b325f00941a0d207a7b322f7ada2c4fca817741024f9136dfc4a53aa01b49d46cd1a0ce4f01d59dd03d932823b23fead4b4b830614eebc1f1 SHA512 7eaffe432e88854aab2d505950cead217e9bcdbbfa8cb104b5d1c9a63cfb27c31ddd72ef5327b546772dff63f904da5eccf2e09525b137e0eccffddcbd08185b EBUILD clang-common-14.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/clang-common/clang-common-13.0.1_rc2.ebuild b/sys-devel/clang-common/clang-common-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..71768ae561e5 --- /dev/null +++ b/sys-devel/clang-common/clang-common-13.0.1_rc2.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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="" + +PDEPEND="sys-devel/clang:*" + +LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +llvm.org_set_globals +S=${WORKDIR}/clang/utils + +src_install() { + newbashcomp bash-autocomplete.sh clang +} diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest index 75104aa33acf..aa2bb0c78092 100644 --- a/sys-devel/clang-runtime/Manifest +++ b/sys-devel/clang-runtime/Manifest @@ -3,5 +3,6 @@ EBUILD clang-runtime-12.0.1.ebuild 704 BLAKE2B 5d728bf389420018e991091d36e5d289d EBUILD clang-runtime-13.0.0.ebuild 704 BLAKE2B 5d728bf389420018e991091d36e5d289d1cc3f4c060b32287021764f6406dc5550c9c74a9b4ce9b57e106d500baa2aee697975c82c387f71f981d52eab5ec450 SHA512 1c8e8b81398526d51639af2363cc0bb434f422202ff89fdee90ba0b4ae0755e8714590ab682b1fe9174655a32c60fea5bc1ccce00ceed2afb9adf746b1eeb237 EBUILD clang-runtime-13.0.1.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f EBUILD clang-runtime-13.0.1_rc1.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f +EBUILD clang-runtime-13.0.1_rc2.ebuild 643 BLAKE2B 77463e61cdc4ee6fea99d5cb1cb00ee56a91f59cce6ec9b8295995320632811f3985d879876b48fe4b888ee69867469ad264f657ca7bb395bb30cb80798fe6f1 SHA512 f8d433ef18a61e6ec3745fda4cf34d8befed16b7c60dfbb4215b013593eeae01e1d4717fcd2b99e0b9e249c132b0c09ee31f104ca07583ca73e40c391e77e3f4 EBUILD clang-runtime-14.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f MISC metadata.xml 579 BLAKE2B bedb10265d687b5c8c6af5ff9a9612076e7c17c3ddd479c8fe9eccf6e13e74d55b182b4bcb17d213aaa55a57f4b29ee8f90287d6f08e7ebc20b9c4724773f376 SHA512 d872f42ab248387aeb61a42a9858ef80e0c278079e472ccd9d3099515d3c6acc6b38ea2e992ff58df31798a71baea2df19834523bcb64c609a842b8f0abad532 diff --git a/sys-devel/clang-runtime/clang-runtime-13.0.1_rc2.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..23ad83f3671d --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-13.0.1_rc2.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+compiler-rt libcxx openmp +sanitize" +REQUIRED_USE="sanitize? ( compiler-rt )" +PROPERTIES="live" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT} + sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index 6a97639378cf..32c46207e4ad 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -5,15 +5,18 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 DIST llvm-gentoo-patchset-13.0.1-rc1-r1.tar.xz 6332 BLAKE2B 2586125a75d46e14c897f99dec5cf3dbb431684abbad4678d2ccd17411c3934247034b85cf3b397569fcabc366f97afd19773cd199b6e48eb5e7fc61a7d0ea26 SHA512 acff9e94ea4e02cc16135797e821388c5159a73ee4be2bc437789f39bcd2cb8f31f4bc42fb561e26db548948304e743ea0fe8016f36689571ad70cc7065b0c34 +DIST llvm-gentoo-patchset-13.0.1-rc2.tar.xz 5192 BLAKE2B 4a129a3d0b7c1839d79c814ea57602f5e87aadb9050fc8e91868d2c3773ff7ae8e2137f785deeded6925a4368220767526c95790c9883f2031edc3ebae25b13c SHA512 2f384281d06f5378f7d1b2f036958c7db00d1c4d799406fd188fa8388f0cf18279dae36f2fb37bff26daa91419ab1bc1c2390be0f3af42359f1aef8de81b6ac8 DIST llvm-gentoo-patchset-9999-2.tar.xz 4064 BLAKE2B 4b29234f10ea4ab2609e83c71bcd5f968cd93abd275c13366146ca899bbc576d55a3364432cc7db353739f5da5762529436689b848857e839e230425d551265b SHA512 c0d40a81bd11dc6018d7b3789e4ca7e1cd784992d44fab8d750b8b5281db39ad9092d320d125cae93164d2dddc42177a173b6d5e4158e4b62d7507db877acb9e DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f EBUILD clang-11.1.0.ebuild 11573 BLAKE2B adb4fc733f04605c63c711d3b9c9ce3358108efd013bcda58fe776dd5be0f978475dc686bfa2ca1c22bece3e13f60e412e33ebcd907e1e08d27932e254f6996a SHA512 a6fe29ca8c599f022147aae1fe8c0af8aacf33de2f02c19c9850bc06147f968cb579070c2a6763615cf04740c131719e17495b07b8f2ba9d32874587a2e20784 EBUILD clang-12.0.1.ebuild 11726 BLAKE2B 2dca51da0a8683bac8cf7b0d3a45cbe97e829b6699b25c477245fa7c891b899ae2cdc40a0e628f4f3830fb18bfeb2ce5b9493651c6498c841986018f5ded69b6 SHA512 c7e81f72c28ea11e698ecfab7bc3075002503105df65d938a87079b1d28ced24dbce23fdb9acfbc7c2972d9dca69205f102635f5cba62110c02c8ac8bc8b8764 EBUILD clang-13.0.0.ebuild 11288 BLAKE2B 6a49d6681c081e713e17679ea3ae1d87ee98a3229426a0f3e6d481c1a8fb78a00d267402687373ffcab3c48b4b8888fb8509779cb118ff63d4cb2f10306439e7 SHA512 e17c03e45d1c522e837e76f3ef5ebbbf6ec91c4b248cd874e4b0fe1dbb2f3ee4264fd318ebabb4d466929bd4f087922609356d3212ce696741e98faa2fd9ee47 EBUILD clang-13.0.1.9999.ebuild 11224 BLAKE2B c5769810a83527aa2270af32f4e3e9dbc605ee91d7e21084b0987cb64f173166c4d3d9bdbbc664f15c0be201e79150274e3ff0fac257bf3dd024d643259783a8 SHA512 45fdaf62140809b0818862eb820bcbb43c40dd2d8072ca843c6b1b794752b21c6455cc4a46bc1bbabe3f2ccfdfea3a0d2ea8e04be5169501a372cb9459ffcde6 EBUILD clang-13.0.1_rc1.ebuild 11230 BLAKE2B bee3039166543ec9a18a92335d2cc68acbba871cee649451f5c09a27770c1df2f5347db129cd6a5168532f13f7ec429a86212441b5254ae4e295ff7a5ac3015c SHA512 944bdb05787ef37347d223963e97f69e46350304927715ae51e90325e58184efa66d05ab901babc01acf2ffcaac987c7d7455d443ca520994859dde396aa6303 +EBUILD clang-13.0.1_rc2.ebuild 11227 BLAKE2B c7a26ebdcb348a63902b672c0a34b7d968e22a0e42a2b46a36e5da1870de2ae965091e2c12e6dd26cafe7195705a5aee57e20c1b5afd53ac1a6e553075141234 SHA512 97753487226691786ced7d613b804400e918f931c74e85196e6b5703f2e0a70fc49e745560c8485178edf63a3dc69e6ae0fdd57c6166ba3f172429d33043cd63 EBUILD clang-14.0.0.9999.ebuild 11274 BLAKE2B 566f200c0b119de45cb0a4802d8dafb79188ed35e31d604594cc9d2d6ecc86642ead18c3ee945a746f5efe994c437d0d087b76c4ce031dc954c5db0d7fd575ee SHA512 035f6e47bfc469916da71047c8af3877fcbc727cfb2e68ffb159906327d6f4bd94d99bda62f04051205102fed002d43cafbdea3029a894023586be2366f5849d MISC metadata.xml 1337 BLAKE2B 5e4f7d63cd9f3b03600801cbe3b2963a1e6b2fb48e36fdb12862f467829222c182f5958d35b535d8fa8467ebaad05c9641cd645294706e3a0f4a078dc9c2f8cf SHA512 50c1a7c33414f9d6294873478f1017dfb21311b36c916e15a8b068cf2a968fe8d774b51515f61c3632d2b204f103cc7ae6853b14d582291087a0fb8e15c0b35a diff --git a/sys-devel/clang/clang-13.0.1_rc2.ebuild b/sys-devel/clang/clang-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..ae93802425a4 --- /dev/null +++ b/sys-devel/clang/clang-13.0.1_rc2.ebuild @@ -0,0 +1,422 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm llvm.org multilib multilib-minimal \ + 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="$(ver_cut 1)" +KEYWORDS="" +IUSE="debug default-compiler-rt default-libcxx default-lld + doc llvm-libunwind +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ${PYTHON_DEPS}" + +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) + xml? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +PDEPEND=" + sys-devel/clang-common + ~sys-devel/clang-runtime-${PV} + default-compiler-rt? ( + =sys-libs/compiler-rt-${PV%_*}* + llvm-libunwind? ( sys-libs/llvm-libunwind ) + !llvm-libunwind? ( sys-libs/libunwind ) + ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + default-lld? ( sys-devel/lld )" + +LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=build +LLVM_TEST_COMPONENTS=( + llvm/lib/Testing/Support + llvm/utils/{lit,llvm-lit,unittest} + llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} +) +LLVM_PATCHSET=${PV/_/-} +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=${SLOT} 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/Frontend/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die +} + +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 + ;; + # headers for clang-tidy static library + clang-tidy-headers) + 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 + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + c-index-test + clang + clang-format + clang-offload-bundler + clang-offload-wrapper + clang-refactor + clang-repl + clang-rename + clang-scan-deps + diagtool + hmaptool + + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-fixer + clang-move + clang-query + clang-reorder-fields + clang-tidy + clangd + find-all-symbols + modularize + pp-trace + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi + + use doc && out+=( + docs-clang-html + docs-clang-tools-html + ) + + 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 llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-3 "${llvm_version}") + + local mycmakeargs=( + -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) + # 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_CUDA=ON + + # override default stdlib and rtlib + -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") + -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") + -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") + -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") + + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -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" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_INCLUDE_DOCS=${build_docs} + -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 + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DCLANG_TABLEGEN=/usr/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 + + # 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() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-clang + multilib_is_native_abi && + cmake_build check-clang-tools check-clangd +} + +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 + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die + + # Apply CHOST and version suffix to clang tools + # note: we use two version components here (vs 3 in runtime path) + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1 "${llvm_version}") + local clang_full_version=$(ver_cut 1-3 "${llvm_version}") + 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/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/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}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/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/${SLOT}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view + fi + + docompress "/usr/lib/llvm/${SLOT}/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/${SLOT}/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/${SLOT}/share/clang" + 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" +} + +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 22aa36abf84a..d8e5d5b34793 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -13,6 +13,7 @@ DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa26 DIST gcc-11.2.0-patches-1.tar.bz2 11537 BLAKE2B 9dd791ada244c9b70b8b99f9f305a688c248134715ed1b26d406e53b114983faae6873cdc521497164388d24d5f61c199e98df146bc02f5578e877295bcf5c82 SHA512 6539efc60c656d0798a5896dc1b944ed69914b815102c7a1c10bdba4ef935abd326b01309f38316e121f1ed90ceb2abcaf65df6af116892daad829ac2623cefc DIST gcc-11.2.0.tar.xz 80888824 BLAKE2B 69b61234ac436edfea2933df68c434a2ce7aa4454ef4da573e82587e1a42dc420189e949cfdadaf4cb37fc0de9674822210a95b77ff03aca0dbedfe67df19cc6 SHA512 d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf DIST gcc-11.3.0-patches-3.tar.bz2 13567 BLAKE2B dba270d74b7a598e0108be0be7ff8cf01899d044ca4be9938cd5324465dc00c9e5cac4ffb4b6c1bdcdb824d75a7577eed63ae724c7e2887a19708992aca10f26 SHA512 7919b37900bbc2493564bc70f7911cf03efb857ff09c2b13280018fb54c48d8be42e35b649e69594a3ce61d51de847a8d4f75f794ce1dc50db3a700831b6a1e7 +DIST gcc-12.0.0-patches-2.tar.bz2 11564 BLAKE2B 5954ee8dd5edb30ecde54275d9ffd4d2f5671de82fe7789688d1220b181fbcdeed3d5305858d8af1fd016e627687ca6f2ebc76bb6b49e9b903e8d63c3de2baea SHA512 6299a1f46fc3f29934db7af20651c0c3e1266bef89b222fc9e3bc6a7e7cd2869301c5b227a4105157456474ae8a626ec550c15971bceb2f844476a9f5bc56284 DIST gcc-6.5.0-patches-6.tar.bz2 15320 BLAKE2B fe6b60cd45d00187e4e41e607af6a1137481a6d8f4421a0ead7da9fd86d0cd19bf428e5d150e1de4e0616606f8d6c31738da24be8151c58f7760aa92432ea3d0 SHA512 87c2a6726373999472cbd6211e486864266c833d5a07f8fb02dd3054b7dd3f86aa86ea47b17928045ef6e46d82f429f879d6f69d8adf3b6f2956f4ac6b3f80f1 DIST gcc-6.5.0.tar.xz 74355588 BLAKE2B 538595d32000b15a53577f0dc6b164d75791a8ccdf90500d5f667ff78378ef4ab9bedb8a590848907caf863bf1165ebe108b5e81eb4b54e85ced4002affde693 SHA512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac DIST gcc-7.5.0-patches-4.tar.bz2 13183 BLAKE2B 38a56910f01ef4172182d2145cef1df53b57eaa8f0655223cf54689e7ce12a264bfbb3735bde42b8a8594ab44031d9c48dc0d5303fab6537746f05e4d46b427a SHA512 28d3732d5351dabd1452ee0462865a0de00103d9ea66941e38499c532b34ee8beb150b0b32af58cde901e437b4c256593c29736a5e7df2575aa0d0c43b6cf6eb @@ -28,7 +29,7 @@ EBUILD gcc-10.3.1_pre9999.ebuild 649 BLAKE2B 7c2d1e2d939433104d3fb01de2dbdb12b60 EBUILD gcc-11.2.0.ebuild 466 BLAKE2B 9897dc608217b7fbfd44fc14446638d23f18c0516a19b73e317aaeb328f82ea89452bf93888628a7d22d0892f6ca0a959cfc6e620a5afb9b8ee7063a4a6a173d SHA512 425b789e1c7f495b2581e9aa6a435fa7c1c23b0e167c44e81451ef2e7896b35bdbe9772bdff7b78c9deb0e4f6357f956f28151072b35fbb233ec5f9e771bf458 EBUILD gcc-11.2.1_p20211127.ebuild 777 BLAKE2B bc729fc7cda621c2ad6335d8c26c7684e95d59d4ad5854047c887590771c5fafd13fe0f1608651ca3bace1b6ccd151d1dfd6c489ffde7b420a135f795fba6fcb SHA512 ecec9ab3d4fa2b9e9ccd85a34fd9cf29dbfd086a5de450e2eb3a0bc286873197ec8257a1f92a965865e7a07dd35b7c7af18c56eda88c5ac61754e5f942fed5a1 EBUILD gcc-11.2.1_pre9999.ebuild 916 BLAKE2B 7d4536513bc200681534568a22efc5a06cb8b246f775b7465034c47f43a0dcd0f25a4ebff9ca67c47425fe6d1528918afc00e36b2b60ce87c0163fc8b552c9db SHA512 d2c88b671880e600b867f25eb9b7ae0e5c0df748d1171ec8f28a3a661974a8b4145ffd2ad004480fbfa6217ceeb3933ca4af9d9da91eb24c7fcab822466e22c6 -EBUILD gcc-12.0.0_pre9999.ebuild 853 BLAKE2B 6520c289987f8be0fe391f9262bb35b3ea09e8649d18ec8c7ab6c990c282cdb0d2e952ed3b142f4629ec9e0dcd759936261917a03853888604fde009d818f17a SHA512 1796e67b502b6ca9ff2c9ea76171ab8002badd83dc2f6ef7f09057ae9b1ca9135b6163dd651a621fd499d00201aca2f29a3aa8482118ced360b543f344fc1be8 +EBUILD gcc-12.0.0_pre9999.ebuild 905 BLAKE2B d796e6c2fec816c6477c8729c83eeac56f133dea1e8e97d9d5112eb76c8eb58c8a99a73e16adf0934c368441371e726c771579a62d6230e1aebfa8a287e2d2c5 SHA512 4b3e663a14aa590d44624837ec8bfb03b3415da3b3578db9c4e4c69dddb592a88491a7993f78724b072294f6f702e102df1e2eada5513878f4bfd8913032305e EBUILD gcc-6.5.0-r4.ebuild 445 BLAKE2B 2f3d0d7d881671cb42296b53441f8c379bea95dcb83348fc9d993b1c586c828a82188ca39688a728a32e1d37f19a5bc5148e339654477c5383d90e29dc527ca3 SHA512 1c2fcee4393c001dfe1718ac6bc7ace20df0b77bfc9cf1c94683a60f3c0d42cf62b8e6afe4d8938937eef870083b7026491cc3c4952d67fa81894e543ec4653a EBUILD gcc-7.5.0-r2.ebuild 456 BLAKE2B 4d675d65bb34c51225f2f490409ed63f0f95a3f9bec9c1e034127ad0ac4fed7f104fc5febb761133873505807c6cc6b44b8ce8d51d0faef26843feed6cf1f933 SHA512 057ed372182d4bd5afb51459e0bc563fa05590feb5e0a859123a2d20d9f052cd23d2ac70923f58c827ebec3e419cfb6cb1d370feb58d39a02089fa3bd4d90921 EBUILD gcc-8.5.0-r1.ebuild 444 BLAKE2B 9ccc45a2aee8c0a692f7b56efbdd817d5a9202a531de95dfc09a283dc67494df97843146bca9aca701522c22932036a9236ea678f3d643d049faa05bec53ae22 SHA512 d2fefd74e875ce17e2f4bf8e4135bb36a45cfbb1ab7c7ff4847eaf53a368656c8e5a1eba039a909623cc4bd4f4905249da6b291c7327b791a25dbab0008c4f5c diff --git a/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild b/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild index 3571c4605330..d91ea5bdc31c 100644 --- a/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild +++ b/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild @@ -3,13 +3,14 @@ EAPI=7 -PATCH_VER="3" -PATCH_GCC_VER="11.3.0" +PATCH_VER="2" +PATCH_GCC_VER="12.0.0" MUSL_VER="1" MUSL_GCC_VER="11.2.0" -EGIT_BRANCH=master inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=master # Don't keyword live ebuilds #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 154a3c5b27fe..e2d2a2b5f251 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -5,7 +5,7 @@ AUX gdb-11.1-glibc-2.34-sim.patch 4406 BLAKE2B a1884d9bc430094b7505a68ccccba9ea6 AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d217c4d977aed0847fdf125bb13ebc004906d9afb8e3f629c41efccca88df0040015e7799c1fd24de5fb50f62f5bbd90 SHA512 c2bb013e4fcabefddcd8042bd3cbb53471f83182cc8769fe0d19eed80ccc4a83bd84d120006fa25b3b7d0310dc2f2ec6b44a6ff74909cd312b7e491f371777a3 DIST gdb-10.2.tar.xz 21518900 BLAKE2B c5d31d80d2b454767d6f844e8471b012ad437c3872391b618fd7b14c5cf251b78e55d28c12e81382fd600f67e2f618ff5dbe3a7b737a5d5161ceb3542afbb90b SHA512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa DIST gdb-11.1.tar.xz 22040696 BLAKE2B 6a639f6533f4008bfb469c23a26c4fcd039f1bc5dd33745f4876344451beb595d7a8843caeb5db70214924624c5b999f8831237d459bebf1cb2d2866f8b41ee2 SHA512 c40bf970e2f7c2107b29c5aa6a7150daa709d75ddadb73ac20742419d4637d158e3063a4c6ff6e47fae8ca8e1d36253973f85ea15445d004be6d5d7a2dd9bd46 -EBUILD gdb-10.2-r1.ebuild 6978 BLAKE2B d09a5119a09dbeaf6edd1a269fd98680ddb52f4362559847e2d31900406fd30d3082832f1558f96cda2f1d36b9b8258b929a57450450b582aab8d5516d69b658 SHA512 769cdfea997f578e518d5b3e92463bdca4fd4a839a36f57119ff626f55325b910429fdecf0a5078373f8ed76e10d78ff1b037c084cf0fe3ac22517d7cd98ca1e -EBUILD gdb-11.1.ebuild 6928 BLAKE2B 745d2f1bb26cb11bd10f51da531b451f571f61a376372f1a36bc43f8318667e37e35bef60113a4458b12d2e694d2c4e3b30763858863e2b5592951021bb53eac SHA512 6031404baf049053a5ce41439b6864485548e3bfb06fec8e8402fb19ca37458634498e26a440da8a39d4604de304bc5a0d9d592c37e3346f27dc5a5ae7f5feeb -EBUILD gdb-9999.ebuild 6895 BLAKE2B 764af5d068368f8091d022ad7f44a6b8ea2babd0da452c80eea79946d33dfe916cc4e606f83172e5383cc9667588a9b04fd310c17c89aa4cde16d9aff730a92b SHA512 d3bafca8945c0e3d1c56f1ebfd1ffdfa080f44a742693f8a648df53d330f833fea06aaa1b937f7279320101ee6bc23b324edc6d0f077eb8e2b1a755126766b59 +EBUILD gdb-10.2-r1.ebuild 7102 BLAKE2B 9ac5188d6fb2d65b7923894650d410bda11f3913236effd43687bebdde65274bddfc23b259c444cfe1e359d0228fb628beee4df54de09a6b6565a6a554abc231 SHA512 c06705fc98d126f936a4a805ff93419c330236bf2113e57a5ee598ac8d91ef920ac61e19cbdc39784eed72a4d0c741c5ffa13ed3c727bc622a5661711dabb2ab +EBUILD gdb-11.1.ebuild 7052 BLAKE2B 71bfc0398324c8c691026a789a75c5ae68757d2a90536abcc5ba627672090b43412c066d61f3c153ff85b56fcbeab33b15975eb291cd17e3ee990df5027609be SHA512 d5c54de621bcc584e4baef439b8bcedd787c4769a89cbdf360004fcdcbec79c9ca885475674b01a48f8cc6e67dbb20125cddf0920c73542ecbd25d6f052891ae +EBUILD gdb-9999.ebuild 7019 BLAKE2B 786b4795693aaa6d7df558b256380bd8a391fc1afadab9c2060f377f065d9a52e107b9c04631e53c7b39d41327698dbc86b8023dc9c538419d370a7aaa8d383a SHA512 e49636ebdd11f05d2ca8d3df89b41ed9a3b6c9ac945dc4ee45decb05565985cf3b4161935fecb54ee1a759073b41bc7cae4bb9f110e253a8e8f326c530161397 MISC metadata.xml 1103 BLAKE2B e63ea2e52649ac2f4ac21381cadb7cc76525792e99a4a6581535475480b6c45e654c8222b0b58585435d4c858cf3eef00dcaecf7edecae2b2fd336f1b56e6e56 SHA512 f7f1b4da71b18cb68a2f32aa6faae6251528047069071c9bee1be504267d0baf2cbac4fb928e0cbe9df100e3a681e2c3b6c7be14514a45a2f52d30364a8626f4 diff --git a/sys-devel/gdb/gdb-10.2-r1.ebuild b/sys-devel/gdb/gdb-10.2-r1.ebuild index 1978ab28268d..19f08197ce03 100644 --- a/sys-devel/gdb/gdb-10.2-r1.ebuild +++ b/sys-devel/gdb/gdb-10.2-r1.ebuild @@ -188,6 +188,9 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + econf "${myconf[@]}" } diff --git a/sys-devel/gdb/gdb-11.1.ebuild b/sys-devel/gdb/gdb-11.1.ebuild index 022f3be33ce7..3933cc2776b8 100644 --- a/sys-devel/gdb/gdb-11.1.ebuild +++ b/sys-devel/gdb/gdb-11.1.ebuild @@ -193,6 +193,9 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + econf "${myconf[@]}" } diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild index 462b5c95a692..1725c16abdac 100644 --- a/sys-devel/gdb/gdb-9999.ebuild +++ b/sys-devel/gdb/gdb-9999.ebuild @@ -192,6 +192,9 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + econf "${myconf[@]}" } diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index 8204f53caa95..7c26eb5e445e 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -2,11 +2,13 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f EBUILD lld-11.1.0-r1.ebuild 1250 BLAKE2B befcc678c9eda33c73806c12b2c24bb8f3b8c9310303c42ceb87247e9816862f25bab546a5989bbe018f40118283c432c71f895e0b333a27a3e344d570e58102 SHA512 7a2046cc5bef8a7c0889fa6fb0bbf1eeaf776cd446ce3188df6c70898de097c0833e6d9293d4a7dad99fa1d6bf894440920549b6295ed442aa0c560149a71a58 EBUILD lld-11.1.0.ebuild 1399 BLAKE2B bfa3538e4bd9492e94547f4ed304d75ff5da1e58c1d1a3e044be9da0c77a6ac71fce301ef3e6970cc520cb0c31abd9a81a668998b9c808852b157c91c3e398f4 SHA512 2ae031e69815ad5711567fc0ff5a7aa20d1cd49bb29dadb03f9754bc69da89d309d57996f3a67157be55c87c75cac7ab00ec53deb9b579ed74901c1789f7cf5b EBUILD lld-12.0.1.ebuild 1666 BLAKE2B fd1f8a4601c74d8507996e8804663812816c161ebf9351cd2fd262fb3cf1894013b3059800dd856bc0e896af7fc75b381bf353e1d22d43fe36d5859a2086b983 SHA512 6d1ba9cf7ab959da15975b4d1c3117f0a235618bfbf0bb743d73447105ab6672b25e839cadc34415b721c8755eb28abb2ddadb8c4793d3d7f4506f032e4d868b EBUILD lld-13.0.0.ebuild 1871 BLAKE2B 13ea83d64f25df0664fcedd0ebb44dd84ebb8828f0e52b7cd00eafd0d69d1c1d0c27a2da492d8a55ad4b0b39b6569e151ddde250db3cd19bb784bdc4ee1133f7 SHA512 24e2bda650f31508528896c761587a0abeeb061d4e4198449dc50b0794622fd8c87bb8d2d816bf90801dd6914b09e644ed2d3e97cb852f8ad8c005141f5e1bf4 EBUILD lld-13.0.1.9999.ebuild 1834 BLAKE2B c7b895660913f2ffb83a21bfee7e31a08dca08bcf2515dcd4b2a8fb4e358b14f6fc1bc6a902ed1319c1796a20b54ba902023e5ecb7cd9759cf8e0a63322ae5d7 SHA512 d19cd076098cab1ebf3c24fb7b7957a32c8dbcf0a1d32a837d9ed020e3c45267b844117c0d266a19ce4a725a3196a52f1ce9cb33a5b59c7146c7b215d3a2ee1f EBUILD lld-13.0.1_rc1.ebuild 1834 BLAKE2B c7b895660913f2ffb83a21bfee7e31a08dca08bcf2515dcd4b2a8fb4e358b14f6fc1bc6a902ed1319c1796a20b54ba902023e5ecb7cd9759cf8e0a63322ae5d7 SHA512 d19cd076098cab1ebf3c24fb7b7957a32c8dbcf0a1d32a837d9ed020e3c45267b844117c0d266a19ce4a725a3196a52f1ce9cb33a5b59c7146c7b215d3a2ee1f +EBUILD lld-13.0.1_rc2.ebuild 1834 BLAKE2B 5dc0d391a59c07ab71f65a8c4af98065f84e7615195ceb2d0175d435f1aa6cae9950685ccde193b0b4af2a62ba0541f7dee29bc58a19222fb08c7c549eb4e17b SHA512 2c94e9beb39f9c6692979a6ad8a59dfd0918e6d038e67dbb48b0dbb7302948918179eee54c5d1388bc3b1f8312620fad217c7bd1681b33d96550a57280a7f153 EBUILD lld-14.0.0.9999.ebuild 1834 BLAKE2B c7b895660913f2ffb83a21bfee7e31a08dca08bcf2515dcd4b2a8fb4e358b14f6fc1bc6a902ed1319c1796a20b54ba902023e5ecb7cd9759cf8e0a63322ae5d7 SHA512 d19cd076098cab1ebf3c24fb7b7957a32c8dbcf0a1d32a837d9ed020e3c45267b844117c0d266a19ce4a725a3196a52f1ce9cb33a5b59c7146c7b215d3a2ee1f MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/lld/lld-13.0.1_rc2.ebuild b/sys-devel/lld/lld-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..3377caffce15 --- /dev/null +++ b/sys-devel/lld/lld-13.0.1_rc2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND="~sys-devel/llvm-${PV}" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + >=dev-util/cmake-3.16 + $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") + )" + +LLVM_COMPONENTS=( lld libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) +llvm.org_set_globals + +python_check_deps() { + has_version -b "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${PV%%.*} 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=( + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + ) + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + 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 3373c86f4a07..db3653e84adf 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -2,10 +2,12 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f EBUILD llvm-common-11.1.0.ebuild 603 BLAKE2B 0a7273b73b30e1cfb707d232c8634368edf0c10ec938c78544c65ee8553f0916a271fbdacbd358fbafc8d02f1f3e2d8f48dc4ff5b77ef9f5d5f80ef3d2e05eb3 SHA512 520efa24caa6415e82461362659b7db6ea11d4bc3b6b93105cbdd45ce0f46dc35f2b14151425e989a45656e93a5d7b9a3288ff55ef0d585b4b376dfcd5908067 EBUILD llvm-common-12.0.1.ebuild 608 BLAKE2B e34ba1cdf1c8522f3622106a88a56dc7c6cd5bd227db31dd610d1879f39842052feec45235a197fe63f8834c8bb77a410632895746b448e50931abe31275b49d SHA512 83df951b72eb186aa705ffdc3b688df2d0bba4884f76c526e1ae4b4f7acf5afc4ec420038bdb89eed41938d84ed1feb52df8bcf4454fe9d72e5cdd0d48788253 EBUILD llvm-common-13.0.0.ebuild 608 BLAKE2B e34ba1cdf1c8522f3622106a88a56dc7c6cd5bd227db31dd610d1879f39842052feec45235a197fe63f8834c8bb77a410632895746b448e50931abe31275b49d SHA512 83df951b72eb186aa705ffdc3b688df2d0bba4884f76c526e1ae4b4f7acf5afc4ec420038bdb89eed41938d84ed1feb52df8bcf4454fe9d72e5cdd0d48788253 EBUILD llvm-common-13.0.1.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 EBUILD llvm-common-13.0.1_rc1.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 +EBUILD llvm-common-13.0.1_rc2.ebuild 529 BLAKE2B 7c870932616dfe5dfbb9a2e83a38f924dfe8a6f9fe345622fa27691880a34e64e24babbf36221badd0f44c33798e5e2a3b6e10dbb9f6516d1fd8da9b38d7bcf7 SHA512 63b7862eacfc17889d7582cdab20c7699f6626fc1dae202b35061a2616eeea01968cea570fd700fd7e617dcb1b2b5c774c07916cf4a9f1141834a1d513d0be8a EBUILD llvm-common-14.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/llvm-common/llvm-common-13.0.1_rc2.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..fdadac15eda6 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-13.0.1_rc2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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="" +IUSE="" + +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/Manifest b/sys-devel/llvm/Manifest index ddf4f04e098a..bed98de3fba6 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -5,15 +5,18 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea +DIST llvm-gentoo-patchset-13.0.1-rc2.tar.xz 5192 BLAKE2B 4a129a3d0b7c1839d79c814ea57602f5e87aadb9050fc8e91868d2c3773ff7ae8e2137f785deeded6925a4368220767526c95790c9883f2031edc3ebae25b13c SHA512 2f384281d06f5378f7d1b2f036958c7db00d1c4d799406fd188fa8388f0cf18279dae36f2fb37bff26daa91419ab1bc1c2390be0f3af42359f1aef8de81b6ac8 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f EBUILD llvm-11.1.0.ebuild 12490 BLAKE2B 17ec5620c4b1d155deb6a2b14dc49c6a439dc595b457b73d2e3f112fc913d6b7eb475b34284bd61a1bc7f8771069e54dff2a4888b762a43b3b62acd9c7b5abbe SHA512 f918a32bb9417186d127910d12766613554eff3127f50f4b4d7824ecb4b87ae9139fe8a30bf4a3779168dd10565869ee674c943b32c7b49762848ae3d2cf26f1 EBUILD llvm-12.0.1.ebuild 12606 BLAKE2B 58c112a32620c890d2c7d88d8d6d8fcac961adad27033d23bb78b3b2e68497fddb9c0be1400c318ccc95a0d54a4aedaee1130fa45a389a98b2c00d29cfe60905 SHA512 283685e0186ccf6bcf40ce96165fe6ff52fdeed156da4d87f760c9c4ed5dffdee143a72363e133941898b2ebe5ef78359051b7af4bf138620cb207a19beae9b2 EBUILD llvm-13.0.0.ebuild 12172 BLAKE2B 45cd85048de3487a9d9274031fdffd33956df69b1050563017f0a183ea76a44c1f62f588d715496ff121e07412ef8d4c7a723830494f59fff12700120793deb1 SHA512 3c180cdd684326a8dcf4ce2c1f3ce8dede7f31e534d2526ba7da539b42626057ab06acd2597735f91ee569bcada637e3ecbd868d53fcc18f19356f93d074ea54 EBUILD llvm-13.0.1.9999.ebuild 12149 BLAKE2B 7cc44ed170ebcfb1fdda7be1380c80b7c59888e24ebe860beb935fba820c4473b49461f19545a123b3e7c598cca7c0541620bce754930c2733b833bb50a3b7c7 SHA512 c8637e532ba07e00afe72df782c8a41289d352cbd904e05a6503a56199ac4d51d913c172958e008654356da800767df55aeaeac0ff06e9bfeda350cd3bc29a84 EBUILD llvm-13.0.1_rc1.ebuild 12152 BLAKE2B ef0e60da0b7875e2347cb7e12f6f0fe221ec03fc3af9b1e2d91a06220fda1136315150db3e61c95286544f510ee02cd09e6f4602afad081dedc4ee4794951376 SHA512 4df2950d660acf15eb63e9680903f4c81175f1a7910fa89c73260a5e95b235c8b74cd4eb2d4ad2c695c1fc2290241c7833ab12443c65fa8710318149659da3cd +EBUILD llvm-13.0.1_rc2.ebuild 12152 BLAKE2B ef0e60da0b7875e2347cb7e12f6f0fe221ec03fc3af9b1e2d91a06220fda1136315150db3e61c95286544f510ee02cd09e6f4602afad081dedc4ee4794951376 SHA512 4df2950d660acf15eb63e9680903f4c81175f1a7910fa89c73260a5e95b235c8b74cd4eb2d4ad2c695c1fc2290241c7833ab12443c65fa8710318149659da3cd EBUILD llvm-14.0.0.9999.ebuild 12161 BLAKE2B a5a54339b16268303910d999adbebfc7360fdb8867670d0239486496df9d21d1686e7a154902709315bb677d1400d2271e338bbcf8da6e91fb9d5f2b751a84b8 SHA512 d94ccb772593db7f926dff66249d7d4bc6a8dfadf3a378c96e897f66dc12d1f40551a2a4889b40c277193949801abb6be506c9acae57c527fb050d17b61cf414 MISC metadata.xml 2625 BLAKE2B 1017e4672b3ccd5a4f83d9df6a9db3661f548da9d75ad2c5b63e9843bfd737ff1fb64624678704f632544ac403efd8dbb35a006542023153733a6d4037b7245d SHA512 130444ec537891dc43754057c5a68666f52cb2959f351ee5be076ed41e39d49d8fafa2d0dca78d1a751b3a3190db81910b4472e75f9bad571ae42da51a5b25dd diff --git a/sys-devel/llvm/llvm-13.0.1_rc2.ebuild b/sys-devel/llvm/llvm-13.0.1_rc2.ebuild new file mode 100644 index 000000000000..f5d3be283708 --- /dev/null +++ b/sys-devel/llvm/llvm-13.0.1_rc2.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ + 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="$(ver_cut 1)" +KEYWORDS="" +IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:0=[${MULTILIB_USEDEP}] + binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) + 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}] )" +DEPEND="${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs )" +BDEPEND=" + dev-lang/perl + >=dev-util/cmake-3.16 + sys-devel/gnuconfig + kernel_Darwin? ( + <sys-libs/libcxx-$(ver_cut 1-3).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 ) + ${PYTHON_DEPS}" +# 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 + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" + +LLVM_COMPONENTS=( llvm ) +LLVM_MANPAGES=build +LLVM_PATCHSET=${PV/_/-} +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +python_check_deps() { + use doc || return 0 + + has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_live_ebuild() { + 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) + ;; + # 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 live ebuild is up-to-date + check_live_ebuild + + llvm.org_src_prepare +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + + [[ ${out} == *HAVE_LIBCXX* ]] +} + +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 + ) + + if multilib_is_native_abi; then + out+=( + # utilities + llvm-tblgen + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + + # 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-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + 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-rtdyld + llvm-sim + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tapi-diff + 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 + ) + 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/${SLOT}" + -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_BUILD_TESTS=$(usex test) + + -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_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 + ) + + if is_libcxx_linked; 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. + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="libcxx" + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + +# Note: go bindings have no CMake rules at the moment +# but let's kill the check in case they are introduced +# if ! multilib_is_native_abi || ! use go; then + mycmakeargs+=( + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND + ) +# fi + + 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/${SLOT}/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 + + if tc-is-cross-compiler; then + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" + [[ -x "${tblgen}" ]] \ + || die "${tblgen} not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN="${tblgen}" + ) + 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 + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + 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/${SLOT}/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/${SLOT}/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/${SLOT}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${SLOT} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/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/rust-std/Manifest b/sys-devel/rust-std/Manifest index 4418bba779b6..a8b772e0c3db 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -1,14 +1,11 @@ -AUX 1.51.0-bootstrap-panic.patch 1508 BLAKE2B c5fec1047e0fd5ec7413a4555edb427f192ab5f7e6012ca52ecb5809034f932c5acc4a2be17cf7ac2e344acfdcbb380dbf208fab45635f264924389ef044c0fc SHA512 9209503c56b56bbc3aaafc7bc5a91b53099f24b21d19a345270ede4963a5cafe82161a419653cf25ee05a3e02a86d0cbfc63947d9c9a78506ab6e516fd94488f -DIST rustc-1.51.0-src.tar.xz 109596164 BLAKE2B c1ac89655adfe7db8005476d42c748cf1896f52888141229fd6dda43855dbb08c21c8e1f11398d2f1f9dd5f8d508d9158a3bda4f1b282d1b184ea4c701100837 SHA512 ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df -DIST rustc-1.52.1-src.tar.xz 115109508 BLAKE2B c5d73f5884037d287d88ba9fdaf63a36678b692e1b510920045797ab29f1660f05cda901e19411ff83ec3084c4130034c269976b1056220f3e629cff116d07f0 SHA512 55f5053ce40d4eba4663052817aef6a6275139ca229c89cd1ec44711458b412720203301d8c7975aac5720a91fcaf21847f8184f641cbb0004f722520283c73c DIST rustc-1.53.0-src.tar.xz 115686332 BLAKE2B fa068f89d42f927fdc79ee31aad1386eaf2aa596a060e059c5a1a73fe48c48d008fc952cd6c7912b743e41d77a94b205639eed0f728b2539b62f18a772cabfe3 SHA512 70485cf7a0f7fc36ee31644e546374079dc387a85b44e5e793707fd0a4d7ca05d311291e78b86db955485d8f21c47ff9e1908acc4da68ba04929287213a40c24 DIST rustc-1.54.0-src.tar.xz 116286856 BLAKE2B 5ac47822646a0b6205f09282168b4d4ddcace9f6bc8f242c890327ca4074626f129514f8bcae5c5556015745f718990cce490658076f5cd3526623439540416b SHA512 5162f85b43ca2c5af93fdbfb2597d75df8a838f7fcc025a5298499ce1043db50f1ea2fbba753e47ce5daad3d80d4b612acf6527ef902c34117763e687fdbbcfa DIST rustc-1.55.0-src.tar.xz 117197580 BLAKE2B 8d9739ce7571146aee0e07c6287de9a8c4f1a914606cd47819eb1ef118b15772ecf22d0d43d7732f03c234a013fa54a4a7f0578a3f136af518f71bf64a03305d SHA512 7522f2fa95d5af92472404ecc97d7d9e745e88c933196a83fa373ce1efff6db3c295e0e2afdbfa1ff00644554efa0c3c7f6c11f9119ecf9010cb440b3f27c2da DIST rustc-1.56.1-src.tar.xz 121798264 BLAKE2B 09677b0332022f28a0d80949a6735929dbf64276f7eb57195d8c33e6c80f13c903432ff77d8834093ab551677618fb1d385f2300e2b1b4c064f9c245c696be32 SHA512 193468e211cde9ebc5f6e30b8e3733b79bd8710fe6dd45c7ed8d4392f91010d30466787afd4d0b2041cd7dd994924fee8ad111048824e248bd994959e55bf15f -EBUILD rust-std-1.51.0.ebuild 3432 BLAKE2B 3e1190dea4bcce01f58843ab7ff3577de9b573cbb2b7d5ceaa346c994f0343343740aaea657cb8359c40c1d4e993255ea540ec49fb5168a00a933916848d5ec5 SHA512 d50bef61cd3f49e044612bbee7f52dbb57ae0290e030acf1d1ad56b4d7d166a11fd07766ffde6fbad7fe359e4d36ffb0357b76ef3df8fe5e962076033a4639fc -EBUILD rust-std-1.52.1.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3 +DIST rustc-1.58.0-src.tar.xz 124348768 BLAKE2B e5a0d919a1ca1202e218cec3da93fc69cba163069b1f2b4051778a49184715579c14cd6b03baa0225b10a8f1adf758aca427c910d95dfa2e647bbf8b7d133785 SHA512 70104f4d3b474dcb9935200ef0503f29cb15f10d38ba8630e1dadbb384924dd9137fced647794699efe83ac88083e4ae5f45712f0e1c8bc0a6f8c23eecdb0aeb EBUILD rust-std-1.53.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3 EBUILD rust-std-1.54.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3 EBUILD rust-std-1.55.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3 EBUILD rust-std-1.56.1.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3 +EBUILD rust-std-1.58.0.ebuild 3413 BLAKE2B 4cf7eab64849106e5505085d8ec491b71c119083adbf2b4c3dba19f21e9a2adaaf4b446b45375b6009c0af7fddca1ddbb710c679a8e8e258f79acbf6be204c59 SHA512 3e327e2fa1bc51c7ed73da414ccb560d5d8c18f39715409398c3eca794b29e25e2c10749d57e615302fce5276405ec905235621d17158f1277368eb832952c04 MISC metadata.xml 819 BLAKE2B b8f3ba9f34a71902c8329176d1146fa5cfced0739b5e360393a88a61dfb88eb9f7bd573ea26764dd8cf269c7e4e2f1fb60eee3d4b724c034126c870e04709111 SHA512 c5a4977946c7ba2d748a9671475113de6e410a15b609ab2ca1d11e6ca84b0820176139f9efbde422fd43222874b1b246bd9dad3772c0f804a1b2874651e06eb0 diff --git a/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch b/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch deleted file mode 100644 index 529d5a1f402f..000000000000 --- a/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 31c93397bde772764cda3058e16f9cef61895090 Mon Sep 17 00:00:00 2001 -From: Joshua Nelson <jyn514@gmail.com> -Date: Mon, 8 Feb 2021 22:51:21 -0500 -Subject: [PATCH] Use format string in bootstrap panic instead of a string - directly - -This fixes the following warning when compiling with nightly: - -``` -warning: panic message is not a string literal - --> src/bootstrap/builder.rs:1515:24 - | -1515 | panic!(out); - | ^^^ - | - = note: `#[warn(non_fmt_panic)]` on by default - = note: this is no longer accepted in Rust 2021 -help: add a "{}" format string to Display the message - | -1515 | panic!("{}", out); - | ^^^^^ -help: or use std::panic::panic_any instead - | -1515 | std::panic::panic_any(out); - | ^^^^^^^^^^^^^^^^^^^^^^ -``` ---- - src/bootstrap/builder.rs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index f1a160250dbe1..0f5fcb4af400d 100644 ---- a/src/bootstrap/builder.rs -+++ b/src/bootstrap/builder.rs -@@ -1490,7 +1490,7 @@ impl<'a> Builder<'a> { - for el in stack.iter().rev() { - out += &format!("\t{:?}\n", el); - } -- panic!(out); -+ panic!("{}", out); - } - if let Some(out) = self.cache.get(&step) { - self.verbose(&format!("{}c {:?}", " ".repeat(stack.len()), step)); diff --git a/sys-devel/rust-std/rust-std-1.51.0.ebuild b/sys-devel/rust-std/rust-std-1.51.0.ebuild deleted file mode 100644 index 935388d41a01..000000000000 --- a/sys-devel/rust-std/rust-std-1.51.0.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2020-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9} ) - -inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs - -DESCRIPTION="Rust standard library, standalone (for crossdev)" -HOMEPAGE="https://www.rust-lang.org" -SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz" - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="stable/$(ver_cut 1-2)" -# please do not keyword -#KEYWORDS="" #nowarn -IUSE="debug" - -BDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/rust-${PV}:= -" - -DEPEND="|| - ( - >="${CATEGORY}"/gcc-4.7:* - >="${CATEGORY}"/clang-3.5:* - ) -" - -RDEPEND="${DEPEND}" - -# need full compiler to run tests -RESTRICT="test" - -QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so" - -S="${WORKDIR}/${P/-std/c}-src" - -PATCHES=( "${FILESDIR}"/1.51.0-bootstrap-panic.patch ) - -# -# The cross magic -# -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { - [[ ${CHOST} != ${CTARGET} ]] -} - -toml_usex() { - usex "$1" true false -} - -pkg_pretend() { - is_cross || die "${PN} should only be used for cross" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default -} - -src_configure() { - # do the great cleanup - strip-flags - filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64' - strip-unsupported-flags - - local rust_root x - rust_root="$(rustc --print sysroot)" - rtarget="$(rust_abi ${CTARGET})" - rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom. - rbuild="$(rust_abi ${CBUILD})" - rhost="$(rust_abi ${CHOST})" - - echo - for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do - einfo "$(printf '%10s' ${x^^}:) ${!x}" - done - - cat <<- EOF > "${S}"/config.toml - [build] - build = "${rbuild}" - host = ["${rhost}"] - target = ["${rtarget}"] - cargo = "${rust_root}/bin/cargo" - rustc = "${rust_root}/bin/rustc" - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - verbose = 2 - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" - sysconfdir = "etc" - docdir = "share/doc/rust" - bindir = "bin" - libdir = "lib" - mandir = "share/man" - [rust] - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debuginfo-level-rustc = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - rpath = false - dist-src = false - remap-debuginfo = true - jemalloc = false - [dist] - src-tarball = false - [target.${rtarget}] - cc = "$(tc-getCC ${CTARGET})" - cxx = "$(tc-getCXX ${CTARGET})" - linker = "$(tc-getCC ${CTARGET})" - ar = "$(tc-getAR ${CTARGET})" - $(usex elibc_musl 'crt-static = false' '') - EOF - - einfo "${PN^} configured with the following settings:" - cat "${S}"/config.toml || die -} - -src_compile() { - env RUST_BACKTRACE=1 \ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ - library/std --stage 0 || die -} - -src_test() { - ewarn "${PN} can't run tests" -} - -src_install() { - local rustlib="lib/rust/${PV}/lib/rustlib" - dodir "/usr/${rustlib}" - pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die - cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die - popd > /dev/null || die -} diff --git a/sys-devel/rust-std/rust-std-1.52.1.ebuild b/sys-devel/rust-std/rust-std-1.58.0.ebuild index 7ca481644a6a..b3528f3325e7 100644 --- a/sys-devel/rust-std/rust-std-1.52.1.ebuild +++ b/sys-devel/rust-std/rust-std-1.58.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2020-2021 Gentoo Authors +# Copyright 2020-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs @@ -124,11 +124,12 @@ src_configure() { [dist] src-tarball = false [target.${rtarget}] + ar = "$(tc-getAR ${CTARGET})" cc = "$(tc-getCC ${CTARGET})" cxx = "$(tc-getCXX ${CTARGET})" linker = "$(tc-getCC ${CTARGET})" - ar = "$(tc-getAR ${CTARGET})" - $(usex elibc_musl 'crt-static = false' '') + ranlib = "$(tc-getRANLIB ${CTARGET})" + $(usev elibc_musl 'crt-static = false') EOF einfo "${PN^} configured with the following settings:" |