From 2771f79232c273bc2a57d23bf335dd81ccf6af28 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 5 Dec 2021 02:47:11 +0000 Subject: gentoo resync : 05.12.2021 --- sys-devel/Manifest.gz | Bin 9623 -> 9637 bytes sys-devel/binutils-hppa64/Manifest | 2 + .../binutils-hppa64-2.37_p1-r1.ebuild | 465 +++++++++++++++++++ sys-devel/binutils/Manifest | 2 +- sys-devel/binutils/binutils-2.37_p1-r1.ebuild | 2 +- sys-devel/clang-common/Manifest | 4 +- .../clang-common/clang-common-13.0.0.9999.ebuild | 24 - .../clang-common/clang-common-13.0.1.9999.ebuild | 24 + .../clang-common/clang-common-13.0.1_rc1.ebuild | 24 + sys-devel/clang-runtime/Manifest | 3 +- .../clang-runtime/clang-runtime-13.0.0.9999.ebuild | 25 - .../clang-runtime/clang-runtime-13.0.1.9999.ebuild | 25 + .../clang-runtime/clang-runtime-13.0.1_rc1.ebuild | 25 + sys-devel/clang/Manifest | 7 +- sys-devel/clang/clang-13.0.0.9999.ebuild | 426 ----------------- sys-devel/clang/clang-13.0.1.9999.ebuild | 427 +++++++++++++++++ sys-devel/clang/clang-13.0.1_rc1.ebuild | 427 +++++++++++++++++ sys-devel/clang/clang-14.0.0.9999.ebuild | 1 + sys-devel/crossdev/Manifest | 4 +- sys-devel/crossdev/crossdev-20211121.ebuild | 36 ++ sys-devel/crossdev/crossdev-99999999.ebuild | 2 +- sys-devel/dwz/Manifest | 4 +- sys-devel/dwz/dwz-0.13.ebuild | 31 -- sys-devel/dwz/dwz-0.14.ebuild | 32 ++ sys-devel/gcc-apple/Manifest | 2 +- .../gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 367 --------------- .../gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 371 +++++++++++++++ sys-devel/gcc-config/Manifest | 6 +- sys-devel/gcc-config/gcc-config-2.4.ebuild | 3 +- sys-devel/gcc-config/gcc-config-2.5-r1.ebuild | 60 +++ sys-devel/gcc-config/gcc-config-9999.ebuild | 22 +- sys-devel/gcc/Manifest | 18 +- .../files/gcc-11.2.0-cross-compile-include.patch | 26 ++ sys-devel/gcc/gcc-10.3.0-r2.ebuild | 3 + sys-devel/gcc/gcc-10.3.1_p20211126.ebuild | 26 ++ sys-devel/gcc/gcc-11.2.0.ebuild | 14 +- sys-devel/gcc/gcc-11.2.1_p20211127.ebuild | 27 ++ sys-devel/gcc/gcc-9.4.0.ebuild | 2 +- sys-devel/gcc/metadata.xml | 1 + sys-devel/gdb/Manifest | 2 +- sys-devel/gdb/gdb-11.1.ebuild | 2 +- sys-devel/lld/Manifest | 4 +- sys-devel/lld/lld-13.0.0.9999.ebuild | 71 --- sys-devel/lld/lld-13.0.1.9999.ebuild | 71 +++ sys-devel/lld/lld-13.0.1_rc1.ebuild | 71 +++ sys-devel/llvm-common/Manifest | 4 +- .../llvm-common/llvm-common-13.0.0.9999.ebuild | 27 -- .../llvm-common/llvm-common-13.0.1.9999.ebuild | 27 ++ .../llvm-common/llvm-common-13.0.1_rc1.ebuild | 27 ++ sys-devel/llvm/Manifest | 7 +- sys-devel/llvm/llvm-13.0.0.9999.ebuild | 511 --------------------- sys-devel/llvm/llvm-13.0.1.9999.ebuild | 511 +++++++++++++++++++++ sys-devel/llvm/llvm-13.0.1_rc1.ebuild | 511 +++++++++++++++++++++ sys-devel/llvm/llvm-14.0.0.9999.ebuild | 4 +- sys-devel/m4/Manifest | 3 +- sys-devel/m4/files/ppc-musl.patch | 18 + sys-devel/m4/m4-1.4.19.ebuild | 2 + sys-devel/rust-std/Manifest | 2 + sys-devel/rust-std/rust-std-1.56.1.ebuild | 154 +++++++ sys-devel/smatch/Manifest | 6 +- sys-devel/smatch/smatch-1.60.ebuild | 4 +- sys-devel/smatch/smatch-1.72.ebuild | 4 +- sys-devel/smatch/smatch-9999.ebuild | 4 +- 63 files changed, 3484 insertions(+), 1533 deletions(-) create mode 100644 sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild delete mode 100644 sys-devel/clang-common/clang-common-13.0.0.9999.ebuild create mode 100644 sys-devel/clang-common/clang-common-13.0.1.9999.ebuild create mode 100644 sys-devel/clang-common/clang-common-13.0.1_rc1.ebuild delete mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.0.9999.ebuild create mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild create mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.1_rc1.ebuild delete mode 100644 sys-devel/clang/clang-13.0.0.9999.ebuild create mode 100644 sys-devel/clang/clang-13.0.1.9999.ebuild create mode 100644 sys-devel/clang/clang-13.0.1_rc1.ebuild create mode 100644 sys-devel/crossdev/crossdev-20211121.ebuild delete mode 100644 sys-devel/dwz/dwz-0.13.ebuild create mode 100644 sys-devel/dwz/dwz-0.14.ebuild delete mode 100644 sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild create mode 100644 sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild create mode 100644 sys-devel/gcc-config/gcc-config-2.5-r1.ebuild create mode 100644 sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch create mode 100644 sys-devel/gcc/gcc-10.3.1_p20211126.ebuild create mode 100644 sys-devel/gcc/gcc-11.2.1_p20211127.ebuild delete mode 100644 sys-devel/lld/lld-13.0.0.9999.ebuild create mode 100644 sys-devel/lld/lld-13.0.1.9999.ebuild create mode 100644 sys-devel/lld/lld-13.0.1_rc1.ebuild delete mode 100644 sys-devel/llvm-common/llvm-common-13.0.0.9999.ebuild create mode 100644 sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild create mode 100644 sys-devel/llvm-common/llvm-common-13.0.1_rc1.ebuild delete mode 100644 sys-devel/llvm/llvm-13.0.0.9999.ebuild create mode 100644 sys-devel/llvm/llvm-13.0.1.9999.ebuild create mode 100644 sys-devel/llvm/llvm-13.0.1_rc1.ebuild create mode 100644 sys-devel/m4/files/ppc-musl.patch create mode 100644 sys-devel/rust-std/rust-std-1.56.1.ebuild (limited to 'sys-devel') diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz index 4fd6f9f1d901..6feb39d919fe 100644 Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest index 79d431bd5f2f..47e2199e9d18 100644 --- a/sys-devel/binutils-hppa64/Manifest +++ b/sys-devel/binutils-hppa64/Manifest @@ -3,8 +3,10 @@ DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796 DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84 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.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 EBUILD binutils-hppa64-2.35.2.ebuild 12393 BLAKE2B 7c6521094cd088a4d9ddab7391c2994e9506a53083a269d1fcee519f5ad8ded88e53d6957656ba5287643c17a87ae7c584e49771aa635d573f40ff3c060c153d SHA512 5855d3967d920f93ed177626a9eb64348e951341751d42b3d67b98dacedea9b250473a5e3baee3d08510a8a3d2f8340ba775ee71207df125d1490b4a23dea281 EBUILD binutils-hppa64-2.36.1-r2.ebuild 12393 BLAKE2B e3e115594ce298f5a07dab3d6863ee96b73dc3986072806f58ac7e80b7391302a96ab675796145a1d055f0a6bf5172cc326cbcb5cdcb5a08c72638f56b79896a SHA512 5ff8c5926981f43ccf5b87695a92d8aa892e5fbdbe650e4be59b77af905050050551333576e4285413cd452ce7a8b68ac77d34bb5dee2ad914e4f0499bd5cc2d +EBUILD binutils-hppa64-2.37_p1-r1.ebuild 13276 BLAKE2B d2d8dd7d0322299833eba442ef0073f9daa30f99885ca562b47d31f9b15c085da340bdced8d3cfc3a0dd2d52db5c05f0ac4e44bf87b8f6964fbe1cda04a7d419 SHA512 f6c5282173d6156959797d8cfd18f82f1fcf8aeac109c17fa1a10f8fcf555c15b97453c712f371de44043626246d2a8170edfc2d270c2e1d41341804b62f5192 EBUILD binutils-hppa64-2.37_p1.ebuild 13275 BLAKE2B c4f63c1cb9632e648f4637a149132a7413cfe6fb781c17b2a5e8e8336d77ac1d6adbc6dd108904196f50f4ba311e3450751ac74ca8da24ceefd1bda1459064fc SHA512 56ba53ba8fcf221dddb488c4a5c573ae0e6e896ea4ea2d282e8799e4f562142b828781e7629eaf31687ba6763b582955629efc7ba334ecabf9b72536ce41cc36 MISC metadata.xml 768 BLAKE2B 1cb2040748f903384539ed50518edd39be540f29b510d6dabe6e0d81e3ef4b726c92b40a06e75ff57b66b8b187e16ab8ad00875b91fdf2750b66f77be39d04d4 SHA512 756f93e299351c878b77043e6153db24b0c7f5a7ae4d62970955f4734428b54cb7726ca739157a18d40bdffacbcd292d5b28a9c2d7927ff5fba210ba0163099b diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild new file mode 100644 index 000000000000..afce858edb2a --- /dev/null +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild @@ -0,0 +1,465 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CTARGET=hppa64-${CHOST#*-} + +inherit eutils libtool flag-o-matic gnuconfig multilib 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=1 +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) + # live ebuild + KEYWORDS="-* ~hppa" +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 +S=${WORKDIR}/${P/-hppa64/} + +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 [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # This check should probably go somewhere else, like pkg_pretend. + if [[ ${CTARGET} == *-uclibc* ]] ; then + if grep -qs 'linux-gnu' "${S}"/ltconfig ; then + die "sorry, but this binutils doesn't yet support uClibc :(" + 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:\: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 + + 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 + + # the hppa64 hack; this should go into 9999 as a PN-conditional + # tweak the default fake list a little bit + cd "${D}"/etc/env.d/binutils + sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die +} + +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}- +# /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/binutils/Manifest b/sys-devel/binutils/Manifest index c7960b96dcb6..b233f3b5dc12 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -22,7 +22,7 @@ EBUILD binutils-2.33.1-r1.ebuild 11909 BLAKE2B 7401764d65bb05f67b9892bbd6e1b66eb EBUILD binutils-2.34-r2.ebuild 12005 BLAKE2B 8455ac022e79d7099fa863cd969cff17aa6ff3e3a260120da75b2564bc8eaae3287b3f1242df8daa68f95bb47b491502552f67bb84d91ad9c11684663a4b86eb SHA512 36f794faedf862a43ae5e3895100506c18b12be46ba9e152d694be932a9f9f754539c4faaa9a72ffdcd2410b5555e97af22c1947233a26548242d8e5de37f152 EBUILD binutils-2.35.2.ebuild 12886 BLAKE2B f917e60ca6585449a67d14de97f653617f0ae86a9fc7f5442443314ca25d4dae6b05338b7d76455a2b64ca5077a57837699417f56752a53678f21b2dc8174cf0 SHA512 963629da28ae4bc0ec436341269f03f2eaa7bf40d2ffa7d7c9a1ee4ac2c29ee8a8ded88cd3263b9155be7d66b6267f941dede3aa0246eb5540831a543b780db1 EBUILD binutils-2.36.1-r2.ebuild 12788 BLAKE2B ce79b2adc7b9affff16cf23a5465007a1103aaeba4c6a97a73123028452a1ce51d9e305c1b3740c83c7ab291a93f9338eecb48ac3919c95d53e2522ca2326a11 SHA512 dacb6dbb601dd3f1ab214b6c8ab05d08c7f75cdf76024833a8766235ae058ad51394058c5bc357ac4fd323a51d28f360352e0bedc7f726e66cb362435a8e8322 -EBUILD binutils-2.37_p1-r1.ebuild 13068 BLAKE2B 823f0ecb6d93de17bc7c6bbd8dad061fbf2f219b4bd50042338eeb1bd61e6c20c42d4dde096c6cac471c7b01e157e4444dc38ef6353f215a3e327d22358c76f3 SHA512 1f6b1bb5771b54d3a5cf44b9bcfc82ed409055a4dc12e3649322bc7166c14bfb37cb42c5fe3667be4f69d0d97086d5e12456d929118e303703c5e2dfaff16f31 +EBUILD binutils-2.37_p1-r1.ebuild 13067 BLAKE2B 4ebf5ec7d780b35ce8fa1504cf0e732daab35f2bb810979afe0b1406c8a9b9a5da6d04941adc51481dc7ccf0976d28b95daa445f7dad5e112d0ae5e3e43432d2 SHA512 c3b331e42e3efc501e3327b58f9a0692cf6ea220e23387fba0b0d9f82c7ced6b7c4f3de404643e15ce63abb00ad2e538cbe262b72194e0e69caf3899cd543ad7 EBUILD binutils-2.37_p1.ebuild 13074 BLAKE2B 962aba0656d4a267d0803f22eb964cc2f5ae354adc2bd74e75b8cfad7f233ea3c4af911f6d16133cd1b50445153894036d5d78c18941a88cb8dc807efc11e1b7 SHA512 db3dc207c1cc072765c056861b3c3bc4bf18e3f7264d08b08578965d597c70ba616df4683ce94426b5d317a862e656344bdbb5afc6728b30e46d3df86e2c4b26 EBUILD binutils-9999.ebuild 13083 BLAKE2B b1b5a0f27b8b960157962dc5ca861308d95e1ec95113168a815fc95428a4790a7db0b24290b0c95a3cb3a1da572dec5b8cc08c9def1deb53c8884baf8d3984f0 SHA512 b188d46e800f197cc18f62beec9ad72c3de53dd73176d5a4cfa30dedafccc41aaa520b0e0a58571de8cb417d751f1439cc818d02a823808bb04c7de86db968cc MISC metadata.xml 727 BLAKE2B 4ee6dbcec8f8ec7e5fe028344dcad9689e6d4edd1871a4b9f6b28952edafa2dd41df7e03f3a72d3fcf5853a791f7a77a5aa08108d24ae9589e7c0c98b564ddad SHA512 999c1f33f4a25ab6b8e1ede0862e9ad849dd44366236914f2558cc9377336d49989e592973625d9833ad238645e918d7341817e2170ff6a6029b40f7addb775c diff --git a/sys-devel/binutils/binutils-2.37_p1-r1.ebuild b/sys-devel/binutils/binutils-2.37_p1-r1.ebuild index 4cffaa6516a1..dd449cff9164 100644 --- a/sys-devel/binutils/binutils-2.37_p1-r1.ebuild +++ b/sys-devel/binutils/binutils-2.37_p1-r1.ebuild @@ -32,7 +32,7 @@ else [[ -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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi # diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index 9c3d0ff1f218..fa26e3261fbb 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -1,9 +1,11 @@ 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 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.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb 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-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.0.9999.ebuild b/sys-devel/clang-common/clang-common-13.0.0.9999.ebuild deleted file mode 100644 index 03e4441b91b9..000000000000 --- a/sys-devel/clang-common/clang-common-13.0.0.9999.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2021 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-common/clang-common-13.0.1.9999.ebuild b/sys-devel/clang-common/clang-common-13.0.1.9999.ebuild new file mode 100644 index 000000000000..03e4441b91b9 --- /dev/null +++ b/sys-devel/clang-common/clang-common-13.0.1.9999.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2021 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-common/clang-common-13.0.1_rc1.ebuild b/sys-devel/clang-common/clang-common-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..03e4441b91b9 --- /dev/null +++ b/sys-devel/clang-common/clang-common-13.0.1_rc1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2021 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 29a14d0d75c1..75104aa33acf 100644 --- a/sys-devel/clang-runtime/Manifest +++ b/sys-devel/clang-runtime/Manifest @@ -1,6 +1,7 @@ EBUILD clang-runtime-11.1.0.ebuild 692 BLAKE2B 5703e482af3e2983d4c7a5c6345fb33d2ec0e7bc68ec67b3a9346aa022819f1c324f766639f49828da6fe4e254a4986bdd60276766b8558a488ed9aecb9d75dd SHA512 ae9e43cf8f97366d8248f8587cec068c775f57d3daeaccd09f24ea337ed98dd7808507e8a6024225d8508301abd35f63a6723cdc83593176fc3affddd74fdf11 EBUILD clang-runtime-12.0.1.ebuild 704 BLAKE2B 5d728bf389420018e991091d36e5d289d1cc3f4c060b32287021764f6406dc5550c9c74a9b4ce9b57e106d500baa2aee697975c82c387f71f981d52eab5ec450 SHA512 1c8e8b81398526d51639af2363cc0bb434f422202ff89fdee90ba0b4ae0755e8714590ab682b1fe9174655a32c60fea5bc1ccce00ceed2afb9adf746b1eeb237 -EBUILD clang-runtime-13.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f 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-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.0.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.0.9999.ebuild deleted file mode 100644 index 218cdb1426f6..000000000000 --- a/sys-devel/clang-runtime/clang-runtime-13.0.0.9999.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2021 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-runtime/clang-runtime-13.0.1.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild new file mode 100644 index 000000000000..218cdb1426f6 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2021 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-runtime/clang-runtime-13.0.1_rc1.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..218cdb1426f6 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-13.0.1_rc1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2021 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 ce71b653e0d2..679397488889 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -4,13 +4,16 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82 DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b 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-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 EBUILD clang-11.1.0.ebuild 11781 BLAKE2B e23c30f931cd121b8cc56687faa5900cacc71699a53b06ad2a9daa139537c9fb98bb2b1a0e9ab0dd997299f4afb013187e6f68e93942a0015a223332186ae082 SHA512 ce653ca4ebf0283e2ef9008d0781841a422703f81a9b6eaae61229a203fd65d6ee8ea58c577c5a917f8385c127ab246585b8576838d0e3c28d57afed834c7917 EBUILD clang-12.0.1.ebuild 11934 BLAKE2B 475676d2f39c8fd4943613f38d370c38e54003843b3b9d66a36a8d922e61e284270ad0ce418e5654e3d68836e3e5a2da18f7632e6b7c69efb006ccf24cc1d04b SHA512 a0e45bb854a63cd79d10971d43c80a9db61b2841f0ff7d2ea74d4032ddd7cee1aa6cc46ab3774373310e005924fc92fe45ba0cd0dd2a3fbbd320bc4f2a7685b6 -EBUILD clang-13.0.0.9999.ebuild 11418 BLAKE2B b974e7829f010dfda3cfd0918bc49641a06cccd5702e997cc1912f072e4cf190ebdc037863732059283083aa14f7b1a1d7702869391ba7956694169f6e5fee98 SHA512 62edc3b9368f456618cd1a74ddf8c95d5bf698f2b7d1c27194da8daf7653354522b133614388abf29e9c749bf445a1bda31c240c3d488727e06616f90585067c EBUILD clang-13.0.0.ebuild 11496 BLAKE2B 8f13ce96f6a736a5877b7ac01ca2b6dfe1584f33cfbb104b97a1662eaedd4cc1fc90ee9827303e3aa88e1fffd8733d07b005bf71bf318c577c8cbf7abc499f1a SHA512 0b4823110e8ae21b02216069a071ae0d299a02f1903ea97b9fcaba70bb47c243b31aa2fdc80977ad15180e9a054a79e01be7578363386122b73fb250baecbdc1 -EBUILD clang-14.0.0.9999.ebuild 11418 BLAKE2B b974e7829f010dfda3cfd0918bc49641a06cccd5702e997cc1912f072e4cf190ebdc037863732059283083aa14f7b1a1d7702869391ba7956694169f6e5fee98 SHA512 62edc3b9368f456618cd1a74ddf8c95d5bf698f2b7d1c27194da8daf7653354522b133614388abf29e9c749bf445a1bda31c240c3d488727e06616f90585067c +EBUILD clang-13.0.1.9999.ebuild 11432 BLAKE2B de320c8dbe6cb5370445de891b152527985d9f1c7b95c7b2f9c05a52992379313494710e2de6d0efa6875d83c7ea0b9b78d7934fa56c23e5c4aabe03370425f7 SHA512 37670f1a64b7397c2548f13d0bb82190b8c13e8c9fe051baafbe04408ae14d8a5925db0e330498e2d4badc1a1e3e0b90792a802032038c6f3b4d1bce114d91e3 +EBUILD clang-13.0.1_rc1.ebuild 11438 BLAKE2B 57732231a9c7aba72a4226e21baa8385b217a57a3820d5ac4214a4a8887bd8d79e981dbd9cdb98e580ed1ecb35f4a7213a9ce3a2051b8f14b86c6346248b93d5 SHA512 3809e39542c449a1171e69afb91afbe0c2e69220584f55ec307c51d3290903497fd97a21ed044d4699f087a70df71a185a4747514896e2c1241c2b369b065d1c +EBUILD clang-14.0.0.9999.ebuild 11432 BLAKE2B de320c8dbe6cb5370445de891b152527985d9f1c7b95c7b2f9c05a52992379313494710e2de6d0efa6875d83c7ea0b9b78d7934fa56c23e5c4aabe03370425f7 SHA512 37670f1a64b7397c2548f13d0bb82190b8c13e8c9fe051baafbe04408ae14d8a5925db0e330498e2d4badc1a1e3e0b90792a802032038c6f3b4d1bce114d91e3 MISC metadata.xml 1337 BLAKE2B 5e4f7d63cd9f3b03600801cbe3b2963a1e6b2fb48e36fdb12862f467829222c182f5958d35b535d8fa8467ebaad05c9641cd645294706e3a0f4a078dc9c2f8cf SHA512 50c1a7c33414f9d6294873478f1017dfb21311b36c916e15a8b068cf2a968fe8d774b51515f61c3632d2b204f103cc7ae6853b14d582291087a0fb8e15c0b35a diff --git a/sys-devel/clang/clang-13.0.0.9999.ebuild b/sys-devel/clang/clang-13.0.0.9999.ebuild deleted file mode 100644 index 3c3e637a0d19..000000000000 --- a/sys-devel/clang/clang-13.0.0.9999.ebuild +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright 1999-2021 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 kernel_FreeBSD" -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=9999-2 -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-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 - - # Remove unnecessary headers on FreeBSD, bug #417171 - if use kernel_FreeBSD; then - rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die - fi -} - -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/clang/clang-13.0.1.9999.ebuild b/sys-devel/clang/clang-13.0.1.9999.ebuild new file mode 100644 index 000000000000..0a01ce5254cf --- /dev/null +++ b/sys-devel/clang/clang-13.0.1.9999.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2021 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 kernel_FreeBSD" +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=9999-2 +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 + + # Remove unnecessary headers on FreeBSD, bug #417171 + if use kernel_FreeBSD; then + rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + fi +} + +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/clang/clang-13.0.1_rc1.ebuild b/sys-devel/clang/clang-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..6d0789546970 --- /dev/null +++ b/sys-devel/clang/clang-13.0.1_rc1.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2021 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 kernel_FreeBSD" +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/_/-}-r1 +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 + + # Remove unnecessary headers on FreeBSD, bug #417171 + if use kernel_FreeBSD; then + rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + fi +} + +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/clang/clang-14.0.0.9999.ebuild b/sys-devel/clang/clang-14.0.0.9999.ebuild index 3c3e637a0d19..0a01ce5254cf 100644 --- a/sys-devel/clang/clang-14.0.0.9999.ebuild +++ b/sys-devel/clang/clang-14.0.0.9999.ebuild @@ -173,6 +173,7 @@ get_distribution_components() { clang-offload-bundler clang-offload-wrapper clang-refactor + clang-repl clang-rename clang-scan-deps diagtool diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest index c3e7be122041..6584cbb5e290 100644 --- a/sys-devel/crossdev/Manifest +++ b/sys-devel/crossdev/Manifest @@ -1,8 +1,10 @@ DIST crossdev-20210621.tar.xz 28588 BLAKE2B 33ff6069c85cbcff6bf34bf5f6dd8050bd5f9d34e3478c0200965dffd4cee46e71acf4210f533c9b22fd6fe979fa5f447d30b5aaa3a6fc0845b201a80dcb28d8 SHA512 8f8bed6ce53503fa4c2bbce4327d8e1d5ce8edab5ff698f11f312007912a2d73be56242269f798bb633ad3648f6cf936e00e019c05e5781b523059befc26f42c DIST crossdev-20210718.tar.xz 28640 BLAKE2B 1e9b9313a5c9a1cb4d82f00e4979794d61b9eaa0035c575ac55092c6c015d820a590c5816d212a4ffad95b96a3dd99a9b94ca7c20b78a7d7b062f16dec6ed329 SHA512 e1a37aebf759abaa30f071f43a528f9059b83456e71fd86fc8202a7eff5c506c1f34fdd260c7b91a03f491b9f2a107ce6a65c2314845a352176fcc5a27a766e2 DIST crossdev-20211027.tar.xz 28752 BLAKE2B 058d6254c702709c18cc426fe15d7a11cb856336236837a15c0b2cb0c2389198f8b0ea9893e7cdadd6ecdabb3e75c05b64c22448324ce2ea86032cb57e92a5d9 SHA512 6c15d71fb551dcb5cb8e95d7e3b1ecb52b34e47335842408da5acc9d258c1a5fa7e4699681b9b414b1b444df98601aa8b99b2000700485ec6028c076abeafd03 +DIST crossdev-20211121.tar.xz 28700 BLAKE2B bfe637dcd3c5b6d45e289d6298de18cab4b70b5d21a817a9207b91360b489457b9ee10266a1c2641f8dfac09dffb166bf1565a7e519ba41f84c6d5c2000f5158 SHA512 5189fa7639b819dfffc8f994bb557d8d83f115b82cd61d938db77fdcf16a33cc9d0147f9708b3bed22fdc4ace27ac863436813ebad94876ae767172ac0cbb9ce EBUILD crossdev-20210621.ebuild 832 BLAKE2B 3253956c99cefc7045f6e127dc319b0861fa251755db320ec0bdff9738b3f9480df6c94fe29a6a4597a25f30baee8a86bffe2eade232600d556136840c741601 SHA512 7ca8f2d6dabd9cd3f47b9fb9e09647c70c1c5d321aa832a2ed515c723903a87acfa0b90648c512c921e7c955a53ebc312fefeb6e459b2707a7d5c0c4140250a2 EBUILD crossdev-20210718.ebuild 840 BLAKE2B e4774046a16df9e3a9956db328aad6ca3ac95fd00b683d4960f52bf28178b05baf62b471447dd84139b4d5942b9b33e8b8f39b5316d32e9ce93ba3317e3bda77 SHA512 4dbcc4d6cec4eaf17cf736b81ffafa0ccfc61737f949e277feca6b266b709dffbf4051a228d017140cee58abced205740209067daea452f3f10d64138c112741 EBUILD crossdev-20211027.ebuild 898 BLAKE2B e16a0e822a7a547d040203f4b8bf8f017e2bd424f9a2ec53facb3149fe2903b18552bdccd423f36602a4862bd35ce29aa83623224da97d57a42656a37ee91fb5 SHA512 1c5a13d1ef504394686ffd62c56e2f652488459acdbcbafde780a1bb5a370e8493539cbef0c4c0a64d5d5ff82e50b9ede044e44f98945858e707c0ca434d1f2f -EBUILD crossdev-99999999.ebuild 898 BLAKE2B e16a0e822a7a547d040203f4b8bf8f017e2bd424f9a2ec53facb3149fe2903b18552bdccd423f36602a4862bd35ce29aa83623224da97d57a42656a37ee91fb5 SHA512 1c5a13d1ef504394686ffd62c56e2f652488459acdbcbafde780a1bb5a370e8493539cbef0c4c0a64d5d5ff82e50b9ede044e44f98945858e707c0ca434d1f2f +EBUILD crossdev-20211121.ebuild 916 BLAKE2B fc8db87b2419cbe292c64b22ae699943619ccc91add4cd8ec0e148e0e90e52db49be940d998623209cdec950fdf5b16a80dd623316f8e73c7bfea38f00fe3b89 SHA512 93c02450f068588555ba09dc0d827b7250bcc26fdbe4ed4265cc9f48556396c4a2d5a94d73777860d3c615785fbdcff027159e33201af448dab3eb6ae3aaed71 +EBUILD crossdev-99999999.ebuild 916 BLAKE2B fc8db87b2419cbe292c64b22ae699943619ccc91add4cd8ec0e148e0e90e52db49be940d998623209cdec950fdf5b16a80dd623316f8e73c7bfea38f00fe3b89 SHA512 93c02450f068588555ba09dc0d827b7250bcc26fdbe4ed4265cc9f48556396c4a2d5a94d73777860d3c615785fbdcff027159e33201af448dab3eb6ae3aaed71 MISC metadata.xml 381 BLAKE2B 1d383a0b95cc180ed7be66205a9525f0a3e973a9b7e296c463e3a735163e1b673140a82dfc0a21ad30d71cad1b482770fb3a0028fef32593e6f7b53df127dcef SHA512 8074c54c17718021de7fcd8aef8b6c137eae75cd41c5dd02f86c987f7465d98af449f92a67fccd489a4f0ab0670ae89fb737e290be37a225acb81b8f1074446f diff --git a/sys-devel/crossdev/crossdev-20211121.ebuild b/sys-devel/crossdev/crossdev-20211121.ebuild new file mode 100644 index 000000000000..864061acd24b --- /dev/null +++ b/sys-devel/crossdev/crossdev-20211121.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git" +else + SRC_URI="mirror://gentoo/${P}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz + https://dev.gentoo.org/~vapier/dist/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + >=app-portage/portage-utils-0.55 + app-shells/bash + sys-apps/gentoo-functions +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ "${PV}" == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + fi +} diff --git a/sys-devel/crossdev/crossdev-99999999.ebuild b/sys-devel/crossdev/crossdev-99999999.ebuild index 0c2fe30139d5..864061acd24b 100644 --- a/sys-devel/crossdev/crossdev-99999999.ebuild +++ b/sys-devel/crossdev/crossdev-99999999.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == "99999999" ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git" else SRC_URI="mirror://gentoo/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz https://dev.gentoo.org/~vapier/dist/${P}.tar.xz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi diff --git a/sys-devel/dwz/Manifest b/sys-devel/dwz/Manifest index 11efcb6a33b7..dd1dfbdb1ee1 100644 --- a/sys-devel/dwz/Manifest +++ b/sys-devel/dwz/Manifest @@ -1,3 +1,3 @@ -DIST dwz-0.13.tar.xz 114016 BLAKE2B 0e53bb99a7790dbdd724594ad00f76267483fe31bf99c9a6ea67f8ca031d2559d5cfc79f613c81b1a99f9086aa16570cb4d850f36ddbc60bdec443dc3122cae7 SHA512 8dc5e647a99ab652fbbed2d37c595a072a2e31198e66f84220d4caf04a9ee0b2900b116932f268b68015e4cc6b49b87313bf1a2d00748d2b3c4799c9ee58c2f4 -EBUILD dwz-0.13.ebuild 606 BLAKE2B 4c579e1d0d1b88be896e5f0b0ade3fe199f5b7a117b13732ed4ea45f97c71b675384091811bb447741220ac048b577b6d590bff09b5f588600eb280c0af8eb8b SHA512 5042c6ef4dee6c50399c433851c84844977ee3f9dc0289292d4bef298dc4bf4111ab337b0f68b6d6d67e1986de8de3f2df319cb06b23b776dd2e48160e9af38c +DIST dwz-0.14.tar.xz 147428 BLAKE2B 286350a8276a1a674937a7adc99560562782044fd6caa50c9a55ec08343f34d8bd27140cca904e648859aba61d181e01ab0755f2115151fab16d498aa1549450 SHA512 62c39f79723ca99305dbb08d1d24a17699b9a84dd98c30904103da116831b1253bf1edbfb905c76fdc4d48305bd1ea0046314c5619209c40a1e624b8ae4908b1 +EBUILD dwz-0.14.ebuild 621 BLAKE2B 892ea38de8e0eb1abc0cbc5c22b584bd3bab2dfef69a73835645e91e5519bfc2b978f312d7b45afd91eb0fe7411aac71e0211e2b437620ec9f72bbf0bba59736 SHA512 2195fe11600128e2adf53d97b50edcccfbb89d505660ea243dfb12ece0bf3daeac03c0f1b756a47968faf340bb6f35cd34ca13a425543f213cf9c6922e41878f MISC metadata.xml 949 BLAKE2B 4e97ec169e83733a6510fa7d7ad82d307791f56734ae6236d6b21ec457d27e9b8c507129101823c333baf62185314d46fe6cca808fb6d4fb31b21ac97ee22aaa SHA512 26ee92dcaf3c78d4e2116b79451e62240454a0ddb6308966afa2661b61dbc9f28323633551ae4548aacdbf0dae9e02322099f5ee601e59579c8f0d45de3adda2 diff --git a/sys-devel/dwz/dwz-0.13.ebuild b/sys-devel/dwz/dwz-0.13.ebuild deleted file mode 100644 index 58aaf22593d5..000000000000 --- a/sys-devel/dwz/dwz-0.13.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="DWARF optimization and duplicate removal tool" -HOMEPAGE="https://sourceware.org/dwz" -SRC_URI="https://sourceware.org/ftp/dwz/releases/${P}.tar.xz" - -S="${WORKDIR}/${PN}" - -LICENSE="GPL-2+ GPL-3+" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-libs/elfutils" -DEPEND="${RDEPEND}" -BDEPEND="test? ( - dev-util/dejagnu - dev-libs/elfutils[utils] -)" - -src_prepare() { - default - sed -e '/^CFLAGS/d' -i Makefile || die - tc-export CC -} diff --git a/sys-devel/dwz/dwz-0.14.ebuild b/sys-devel/dwz/dwz-0.14.ebuild new file mode 100644 index 000000000000..4ad7ab103878 --- /dev/null +++ b/sys-devel/dwz/dwz-0.14.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="DWARF optimization and duplicate removal tool" +HOMEPAGE="https://sourceware.org/dwz" +SRC_URI="https://sourceware.org/ftp/dwz/releases/${P}.tar.xz" + +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2+ GPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-libs/elfutils" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + dev-libs/elfutils[utils] + dev-util/dejagnu + sys-devel/gdb +)" + +src_prepare() { + default + sed -e '/^CFLAGS/d' -i Makefile || die + tc-export CC +} diff --git a/sys-devel/gcc-apple/Manifest b/sys-devel/gcc-apple/Manifest index 823d2192c176..1ea18830b509 100644 --- a/sys-devel/gcc-apple/Manifest +++ b/sys-devel/gcc-apple/Manifest @@ -13,5 +13,5 @@ DIST gcc-5666.3.tar.gz 19367320 BLAKE2B 4b64aa80daa357d1ccf4d2c6f0d06ccd9298dc38 DIST gcc-apple-4.2.1_p5646-gfortran.patch 38284 BLAKE2B 83934d5e52a27a0db750f725c1df1e7127dca91611ae9987bf92b7e1a52af82d19f5521ed1112265c1e7f82c833dcc65aeea1ba6ff90f28107b256d40e7eb196 SHA512 94b1c7d343b780e52bbbbc213987feda7d8f7e083d7c338ab244e89e69ba5c2fc74a9695c5f38f273e4e50683ef67b4de85abd4aa0c5c2fe3a28f7bf275dbf3a DIST gcc-fortran-4.2.4.tar.bz2 905688 BLAKE2B 6a7e030e3261b147f5add7c8b936ecb7a7a20b99db96e957fa94591560a2e303f2cdf931ca8d73b7c29464d288d1db52c2619bbf1cce30d7326a668aab303dad SHA512 1a36587a3691b8d7ecd23938efcdfca42642b6b260a1c830f6d791bb1b8ac32953998c45d77eee2d557861d631431569503c796b61aeaea9ac5fffbce1982faa DIST libstdcxx-39.tar.gz 117081330 BLAKE2B 03df012edd588e27bb1e17439e1b213bbf08a9656579f4a938c3026b993158962a44660d0dd2027ad6f12aa2b0cfaa7880a0ecfbd27b2e976bba3260e56bb377 SHA512 c640292c0f371069fbb635ed0385627c8abab869db93513922e19b25886864d093eef3684c49bf1ba82325f2d1d3cd1eb382ef6ea9dee039208fe99fe8653db6 -EBUILD gcc-apple-4.2.1_p5666-r2.ebuild 12899 BLAKE2B c81f2eb183c754c15695ea6ac1c0bfa0615107a5045fd289f47f0258253554ddf140b5106297675444f89d4a1d12403f4a839009084fa837cf8a5a3b1827e7ba SHA512 4d84536a5d0e02b5235614ae6fc7bce2ea66bcfb886288cfa34b4fb49f142dc5ccbe193837a87b02046d9da4faf412859c387f947779dc97a28bfec9cb06e664 +EBUILD gcc-apple-4.2.1_p5666-r3.ebuild 12991 BLAKE2B d670b79677cf1b1d58671af2003a4802beb6927eb3c74f71a13589af3266cd8870a53325c96afa66dd92f4d58b26dcdf6423e6c5b33eba923181c9f3f01454e8 SHA512 26628286b914357bcafb9849546db754cea0a967076898371ee6fdde44082faf1101a14141e0dd66cb8b22836b04b7b1b94eb64040bdb4a20789cce78800bae9 MISC metadata.xml 539 BLAKE2B baa67353bdaa8a03d8433d80f6dc4a515fd563093464f5ef644e86c3e6365e42949b1af2366f477a487f235c336c0708c207cd66afa4f26dfd1f41ca9150d2dc SHA512 2acda405476b67be5d9dd2240bd70f98fe886be84da34527fe603933fcceeebff6af7e4205597c3ca1be0dd1b024ad9ceae1e46a1f55a2e4b7533b64a7161b69 diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild deleted file mode 100644 index feaeada61891..000000000000 --- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild +++ /dev/null @@ -1,367 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit eutils toolchain flag-o-matic autotools prefix toolchain-funcs - -GCC_VERS=${PV/_p*/} -APPLE_VERS="${PV/*_p/}.3" -DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 4.0" -HOMEPAGE="https://gcc.gnu.org" -SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz - http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz - fortran? ( - mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 - https://dev.gentoo.org/~grobian/distfiles/${PN}-4.2.1_p5646-gfortran.patch - )" -LICENSE="GPL-2 GPL-3" - -SLOT="42" -KEYWORDS="~ppc-macos ~x64-macos" -IUSE="bootstrap fortran nls +openmp objc objc++ +cxx" - -RDEPEND=">=sys-libs/zlib-1.1.4 - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - >=sys-devel/gcc-config-1.8-r1 - !=dev-libs/gmp-4.2.1 - >=dev-libs/mpfr-2.2.0_p10 - )" -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - >=sys-devel/bison-1.875 - ${CATEGORY}/binutils-apple - >=dev-libs/mpfr-2.2.0_p10" -PDEPEND="sys-libs/csu" - -S=${WORKDIR}/gcc-${APPLE_VERS} - -# TPREFIX is the prefix of the CTARGET installation -export TPREFIX=${TPREFIX:-${EPREFIX}} - -do_bootstrap() { - is_crosscompile && return 1 - [[ ${CHOST} != ${CBUILD} ]] && return 1 - [[ ${EPREFIX} != ${TPREFIX} ]] && return 1 - return 0 -} - -src_unpack() { - # override toolchain.eclass func - unpack ${A} -} - -src_prepare() { - # Support for fortran - if use fortran ; then - mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die - mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die - # from: substracted from http://r.research.att.com/tools/ - epatch "${DISTDIR}"/${PN}-4.2.1_p5646-gfortran.patch - fi - - mv "${WORKDIR}"/libstdcxx-39/libstdcxx/libstdc++-v3 . - - # pre Leopard has no dtrace, which is required by 37.11 and above - # Leopard only has 32-bits version of dtrace - # So back out dtrace support on those platforms using patch - # thoughtfully provided by Apple. - [[ ${CHOST} == x86_64-apple-darwin9 || ${CHOST##*-darwin} -le 8 ]] && \ - patch -R -p0 < "${WORKDIR}"/libstdcxx-39/patches-4.2.1/dtrace.patch - - # we use our libtool - sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \ - gcc/config/darwin.h || die "sed gcc/config/darwin.h failed" - # add prefixed Frameworks to default search paths (may want to change this - # in a cross-compile) - sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \ - gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed" - - # Workaround deprecated "+Nc" syntax for GNU tail(1) - sed -i -e "s:tail +16c:tail -c +16:g" \ - gcc/Makefile.in || die "sed gcc/Makefile.in failed." - - # default to AltiVec on PPC, like for older releases - epatch "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch - - # support -arch XXX if XXX is actually what the toolchain targets because - # some upstreams insist on setting it - epatch "${FILESDIR}"/${PN}-4.2.1-arch-option.patch - - # dsymutil stuff breaks on 10.4/x86, revert it - [[ ${CHOST} == *86*-apple-darwin8 ]] && \ - epatch "${FILESDIR}"/${P}-dsymutil.patch - - # support OS X 10.10 - epatch "${FILESDIR}"/${P}-darwin14.patch - - # bootstrapping might fail with host provided gcc on 10.4/x86 - if ! is_crosscompile && ! echo "int main(){return 0;}" | $(tc-getCC) -o "${T}"/foo \ - -mdynamic-no-pic -x c - >/dev/null 2>&1; - then - einfo "-mdynamic-no-pic doesn't work - disabling..." - echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin - XD=gcc/config/i386/x-darwin - awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86") - {x=1-x} else if (x) print}' $XD > t && mv t $XD \ - || die "Failed to rewrite $XD" - fi - - if [[ ${CHOST} == powerpc*-darwin* ]] && \ - ! echo "int main(){return 0;}" | \ - $(tc-getCC) -o "${T}"/foo -no-cpp-precomp -x c - >/dev/null 2>&1; - then - einfo "-no-cpp-precomp not supported by compiler - disabling ..." - sed -i -e 's/-no-cpp-precomp//' configure.in configure || die - fi - - epatch "${FILESDIR}"/${P}-perl-5.18.patch - epatch "${FILESDIR}"/${P}-darwin8.patch - - epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs-r1.patch - eprefixify "${S}"/gcc/gcc.c - sed -i -e "s|@GENTOO_PORTAGE_TPREFIX@|${TPREFIX}|g" "${S}"/gcc/config/darwin.h - - if use !bootstrap ; then - # this only occurs with up-to-date tools from the Prefix, and actually - # breaks the bootstrap since the autoconf needs a very recent automake - epatch "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch - epatch "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch - cd "${S}"/gcc && eautoconf - cd "${S}"/libgomp && eautoconf - fi - - local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)" - BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}, } - # ) ) } # <- to help Vim highlight this correctly - einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}" - - sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \ - "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding" - sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \ - "${S}"/gcc/version.c || die "Failed to change the bug URL" - - # fix the install_names of all shared libraries for the target - # NOTE: do this after any automake-ing! - # Yes, patching generated files is bad. Talk to me once you've found a way to do this inside automake. - sed -i -e "s|-install_name \$(slibdir)|-install_name ${TPREFIX}/usr/${CTARGET}/lib/gcc|" "${S}"/gcc/config/t-slibgcc-darwin - sed -i -e "s|-rpath \$(toolexeclibdir)|-rpath ${TPREFIX}/usr/${CTARGET}/lib/gcc|" \ - "${S}"/{libgomp,libstdc++-v3/src,libstdc++-v3/libsupc++}/Makefile.in -} - -src_configure() { - local langs="c" - use cxx && langs="${langs},c++" - use objc && langs="${langs},objc" - use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++ - use fortran && langs="${langs},fortran" - - LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS} - if is_crosscompile ; then - BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS} - else - BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS} - fi - STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/} - - local myconf="${myconf} \ - --prefix=${EPREFIX}/usr \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \ - --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \ - --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --host=${CHOST} \ - --enable-version-specific-runtime-libs" - - if is_crosscompile ; then - # Straight from the GCC install doc: - # "GCC has code to correctly determine the correct value for target - # for nearly all native systems. Therefore, we highly recommend you - # not provide a configure target when configuring a native compiler." - myconf="${myconf} --target=${CTARGET}" - - # Tell compiler where to find what it needs - myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}" - - # Set this to something sane for both native and target - CFLAGS="-O2 -pipe" - - local VAR="CFLAGS_"${CTARGET//-/_} - CXXFLAGS=${!VAR} - fi - [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}" - - # Native Language Support - if use nls ; then - myconf="${myconf} --enable-nls --without-included-gettext" - else - myconf="${myconf} --disable-nls" - fi - - # reasonably sane globals (hopefully) - myconf="${myconf} \ - --with-system-zlib \ - --disable-checking \ - --disable-werror" - - # ??? - myconf="${myconf} --enable-shared --enable-threads=posix" - - # make clear we're in an offset - use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr" - - do_bootstrap || myconf="${myconf} --disable-bootstrap" - - # we don't use a GNU linker, so tell GCC where to find the linker stuff we - # want it to use - myconf="${myconf} \ - --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \ - --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld" - - # make sure we never do multilib stuff, for that we need a different Prefix - [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \ - && myconf="${myconf} --disable-multilib" - - myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)" - - # The produced libgcc_s.dylib is faulty if using a bit too much - # optimisation. Nail it down to something sane - CFLAGS="-O2 -pipe" - CXXFLAGS=${CFLAGS} - - # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html - # (won't hurt if already 64-bits, but is essential when coming from a - # multilib compiler -- the default) - [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \ - export CC="${CC:-$(tc-getCC)} -m64" - - # Clang on OSX defaults to c99 mode, while GCC defaults to gnu89 - # (C90 + extensions). This makes Clang barf on GCC's sources, so - # work around that. Bugs #491098, #574736 - export CC="${CC:-$(tc-getCC)} -std=gnu89" - - mkdir -p "${WORKDIR}"/build - cd "${WORKDIR}"/build - einfo "Configuring GCC with: ${myconf//--/\n\t--}" - "${S}"/configure ${myconf} || die "conf failed" -} - -src_compile() { - cd "${WORKDIR}"/build || die - if ! do_bootstrap; then - GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all} - else - GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap} - fi - emake ${GCC_MAKE_TARGET} -} - -src_install() { - cd "${WORKDIR}"/build - # -jX doesn't work - emake -j1 DESTDIR="${D}" install - - # Punt some tools which are really only useful while building gcc - find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; - # This one comes with binutils - find "${ED}" -name libiberty.a -exec rm -f "{}" \; - - # Basic sanity check - if ! is_crosscompile ; then - local EXEEXT - eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log) - [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}" - fi - - # create gcc-config entry - dodir /etc/env.d/gcc - local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}" - - gcc_envd_file="${ED}${gcc_envd_base}" - - # phase PATH/ROOTPATH out ... - echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file} - echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file} - echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file} - - # we don't do multilib - LDPATH="${LIBPATH}" - echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file} - echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file} - echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file} - echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file} - is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file} - - # Move to compiler-specific directories - [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \ - mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/ - - # These should be symlinks - dodir /usr/bin - cd "${D}"${BINPATH} - for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do - # For some reason, g77 gets made instead of ${CTARGET}-g77... - # this should take care of that - [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x} - - if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then - ln -sf ${CTARGET}-${x} ${x} - - # Create version-ed symlinks - dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \ - /usr/bin/${CTARGET}-${x}-${GCC_VERS} - dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \ - /usr/bin/${x}-${GCC_VERS} - fi - - if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then - rm -f ${CTARGET}-${x}-${GCC_VERS} - ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS} - fi - done - - # I do not know if this will break gcj stuff, so I'll only do it for - # objc for now; basically "ffi.h" is the correct file to include, - # but it gets installed in .../GCCVER/include and yet it does - # "#include " which (correctly, as it's an "extra" file) - # is installed in .../GCCVER/include/libffi; the following fixes - # ffi.'s include of ffitarget.h - Armando Di Cianno - if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then - mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die - rm -r "${D}"${LIBPATH}/include/libffi || die - fi - - # prune empty dirs left behind - find "${ED}" -type d | xargs rmdir >& /dev/null - - # The gcc runtime libs have an invalid install_name; this is correct, - # as they are copied to the right location by gcc-config later. - QA_IGNORE_INSTALL_NAME_FILES=() - pushd "${ED}/usr/lib/gcc/${CTARGET}/${GCC_VERS}" > /dev/null - for file in *.dylib; do - QA_IGNORE_INSTALL_NAME_FILES+=( "${file}" ) - done - popd > /dev/null -} - -pkg_postinst() { - # only activate this compiler if nothing else is activated - gcc-config -c >& /dev/null || gcc-config ${CTARGET}-${GCC_VERS} -} - -pkg_postrm() { - # clean up the cruft left behind by cross-compilers - if is_crosscompile ; then - if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then - rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET} - rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET} - rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64} - fi - return 0 - fi -} diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild new file mode 100644 index 000000000000..c144abe8aca5 --- /dev/null +++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit toolchain flag-o-matic autotools prefix toolchain-funcs + +GCC_VERS=${PV/_p*/} +APPLE_VERS="${PV/*_p/}.3" +DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 4.0" +HOMEPAGE="https://gcc.gnu.org" +SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz + http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz + fortran? ( + mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 + https://dev.gentoo.org/~grobian/distfiles/${PN}-4.2.1_p5646-gfortran.patch + )" +LICENSE="GPL-2 GPL-3" + +SLOT="42" +KEYWORDS="~ppc-macos ~x64-macos" +IUSE="bootstrap fortran nls +openmp objc objc++ +cxx" + +RDEPEND=">=sys-libs/zlib-1.1.4 + >=sys-libs/ncurses-5.2-r2 + nls? ( sys-devel/gettext ) + >=sys-devel/gcc-config-1.8-r1 + !=dev-libs/gmp-4.2.1 + >=dev-libs/mpfr-2.2.0_p10 + )" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-4.2-r4 + >=sys-devel/bison-1.875 + ${CATEGORY}/binutils-apple + >=dev-libs/mpfr-2.2.0_p10" +PDEPEND="sys-libs/csu" + +S=${WORKDIR}/gcc-${APPLE_VERS} + +# TPREFIX is the prefix of the CTARGET installation +export TPREFIX=${TPREFIX:-${EPREFIX}} + +do_bootstrap() { + is_crosscompile && return 1 + [[ ${CHOST} != ${CBUILD} ]] && return 1 + [[ ${EPREFIX} != ${TPREFIX} ]] && return 1 + return 0 +} + +src_unpack() { + # override toolchain.eclass func + unpack ${A} +} + +src_prepare() { + # Support for fortran + if use fortran ; then + mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die + mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die + # from: substracted from http://r.research.att.com/tools/ + eapply "${DISTDIR}"/${PN}-4.2.1_p5646-gfortran.patch + fi + + mv "${WORKDIR}"/libstdcxx-39/libstdcxx/libstdc++-v3 . + + # pre Leopard has no dtrace, which is required by 37.11 and above + # Leopard only has 32-bits version of dtrace + # So back out dtrace support on those platforms using patch + # thoughtfully provided by Apple. + [[ ${CHOST} == x86_64-apple-darwin9 || ${CHOST##*-darwin} -le 8 ]] && \ + eapply -R -p0 "${WORKDIR}"/libstdcxx-39/patches-4.2.1/dtrace.patch + + # we use our libtool + sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \ + gcc/config/darwin.h || die "sed gcc/config/darwin.h failed" + # add prefixed Frameworks to default search paths (may want to change this + # in a cross-compile) + sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \ + gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed" + + # Workaround deprecated "+Nc" syntax for GNU tail(1) + sed -i -e "s:tail +16c:tail -c +16:g" \ + gcc/Makefile.in || die "sed gcc/Makefile.in failed." + + # default to AltiVec on PPC, like for older releases + eapply -p0 "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch + + # support -arch XXX if XXX is actually what the toolchain targets because + # some upstreams insist on setting it + eapply "${FILESDIR}"/${PN}-4.2.1-arch-option.patch + + # dsymutil stuff breaks on 10.4/x86, revert it + [[ ${CHOST} == *86*-apple-darwin8 ]] && \ + eapply -p0 "${FILESDIR}"/${P}-dsymutil.patch + + # support OS X 10.10 + eapply -p0 "${FILESDIR}"/${P}-darwin14.patch + + # bootstrapping might fail with host provided gcc on 10.4/x86 + if ! is_crosscompile && ! echo "int main(){return 0;}" | $(tc-getCC) -o "${T}"/foo \ + -mdynamic-no-pic -x c - >/dev/null 2>&1; + then + einfo "-mdynamic-no-pic doesn't work - disabling..." + echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin + XD=gcc/config/i386/x-darwin + awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86") + {x=1-x} else if (x) print}' $XD > t && mv t $XD \ + || die "Failed to rewrite $XD" + fi + + if [[ ${CHOST} == powerpc*-darwin* ]] && \ + ! echo "int main(){return 0;}" | \ + $(tc-getCC) -o "${T}"/foo -no-cpp-precomp -x c - >/dev/null 2>&1; + then + einfo "-no-cpp-precomp not supported by compiler - disabling ..." + sed -i -e 's/-no-cpp-precomp//' configure.in configure || die + fi + + eapply "${FILESDIR}"/${P}-perl-5.18.patch + eapply "${FILESDIR}"/${P}-darwin8.patch + + eapply -p0 "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs-r1.patch + eprefixify "${S}"/gcc/gcc.c + sed -i -e "s|@GENTOO_PORTAGE_TPREFIX@|${TPREFIX}|g" \ + "${S}"/gcc/config/darwin.h + + if use !bootstrap ; then + # this only occurs with up-to-date tools from the Prefix, and actually + # breaks the bootstrap since the autoconf needs a very recent automake + eapply -p0 "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch + eapply -p0 "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch + cd "${S}"/gcc && eautoconf + cd "${S}"/libgomp && eautoconf + fi + + local extvers= + eapply_user && extvers=" with user patches" + + local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)" + BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}${extvers}, } + # ) ) } # <- to help Vim highlight this correctly + einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}" + + sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \ + "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding" + sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \ + "${S}"/gcc/version.c || die "Failed to change the bug URL" + + # fix the install_names of all shared libraries for the target + # NOTE: do this after any automake-ing! + # Yes, patching generated files is bad. Talk to me once you've found a way to do this inside automake. + sed -i -e "s|-install_name \$(slibdir)|-install_name ${TPREFIX}/usr/${CTARGET}/lib/gcc|" "${S}"/gcc/config/t-slibgcc-darwin + sed -i -e "s|-rpath \$(toolexeclibdir)|-rpath ${TPREFIX}/usr/${CTARGET}/lib/gcc|" \ + "${S}"/{libgomp,libstdc++-v3/src,libstdc++-v3/libsupc++}/Makefile.in +} + +src_configure() { + local langs="c" + use cxx && langs="${langs},c++" + use objc && langs="${langs},objc" + use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++ + use fortran && langs="${langs},fortran" + + LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS} + if is_crosscompile ; then + BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS} + else + BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS} + fi + STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/} + + local myconf="${myconf} \ + --prefix=${EPREFIX}/usr \ + --bindir=${BINPATH} \ + --includedir=${LIBPATH}/include \ + --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \ + --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \ + --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \ + --with-gxx-include-dir=${STDCXX_INCDIR} \ + --host=${CHOST} \ + --enable-version-specific-runtime-libs" + + if is_crosscompile ; then + # Straight from the GCC install doc: + # "GCC has code to correctly determine the correct value for target + # for nearly all native systems. Therefore, we highly recommend you + # not provide a configure target when configuring a native compiler." + myconf="${myconf} --target=${CTARGET}" + + # Tell compiler where to find what it needs + myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}" + + # Set this to something sane for both native and target + CFLAGS="-O2 -pipe" + + local VAR="CFLAGS_"${CTARGET//-/_} + CXXFLAGS=${!VAR} + fi + [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}" + + # Native Language Support + if use nls ; then + myconf="${myconf} --enable-nls --without-included-gettext" + else + myconf="${myconf} --disable-nls" + fi + + # reasonably sane globals (hopefully) + myconf="${myconf} \ + --with-system-zlib \ + --disable-checking \ + --disable-werror" + + # ??? + myconf="${myconf} --enable-shared --enable-threads=posix" + + # make clear we're in an offset + use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr" + + do_bootstrap || myconf="${myconf} --disable-bootstrap" + + # we don't use a GNU linker, so tell GCC where to find the linker stuff we + # want it to use + myconf="${myconf} \ + --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \ + --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld" + + # make sure we never do multilib stuff, for that we need a different Prefix + [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \ + && myconf="${myconf} --disable-multilib" + + myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)" + + # The produced libgcc_s.dylib is faulty if using a bit too much + # optimisation. Nail it down to something sane + CFLAGS="-O2 -pipe" + CXXFLAGS=${CFLAGS} + + # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html + # (won't hurt if already 64-bits, but is essential when coming from a + # multilib compiler -- the default) + [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \ + export CC="${CC:-$(tc-getCC)} -m64" + + # Clang on OSX defaults to c99 mode, while GCC defaults to gnu89 + # (C90 + extensions). This makes Clang barf on GCC's sources, so + # work around that. Bugs #491098, #574736 + export CC="${CC:-$(tc-getCC)} -std=gnu89" + + mkdir -p "${WORKDIR}"/build + cd "${WORKDIR}"/build + einfo "Configuring GCC with: ${myconf//--/\n\t--}" + "${S}"/configure ${myconf} || die "conf failed" +} + +src_compile() { + cd "${WORKDIR}"/build || die + if ! do_bootstrap; then + GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all} + else + GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap} + fi + emake ${GCC_MAKE_TARGET} +} + +src_install() { + cd "${WORKDIR}"/build + # -jX doesn't work + emake -j1 DESTDIR="${D}" install + + # Punt some tools which are really only useful while building gcc + find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; + # This one comes with binutils + find "${ED}" -name libiberty.a -exec rm -f "{}" \; + + # Basic sanity check + if ! is_crosscompile ; then + local EXEEXT + eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log) + [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}" + fi + + # create gcc-config entry + dodir /etc/env.d/gcc + local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}" + + gcc_envd_file="${ED}${gcc_envd_base}" + + # phase PATH/ROOTPATH out ... + echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file} + echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file} + echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file} + + # we don't do multilib + LDPATH="${LIBPATH}" + echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file} + echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file} + echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file} + echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file} + is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file} + + # Move to compiler-specific directories + [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \ + mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/ + + # These should be symlinks + dodir /usr/bin + cd "${D}"${BINPATH} + for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do + # For some reason, g77 gets made instead of ${CTARGET}-g77... + # this should take care of that + [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x} + + if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then + ln -sf ${CTARGET}-${x} ${x} + + # Create version-ed symlinks + dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \ + /usr/bin/${CTARGET}-${x}-${GCC_VERS} + dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \ + /usr/bin/${x}-${GCC_VERS} + fi + + if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then + rm -f ${CTARGET}-${x}-${GCC_VERS} + ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS} + fi + done + + # I do not know if this will break gcj stuff, so I'll only do it for + # objc for now; basically "ffi.h" is the correct file to include, + # but it gets installed in .../GCCVER/include and yet it does + # "#include " which (correctly, as it's an "extra" file) + # is installed in .../GCCVER/include/libffi; the following fixes + # ffi.'s include of ffitarget.h - Armando Di Cianno + if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then + mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die + rm -r "${D}"${LIBPATH}/include/libffi || die + fi + + # prune empty dirs left behind + find "${ED}" -type d | xargs rmdir >& /dev/null + + # The gcc runtime libs have an invalid install_name; this is correct, + # as they are copied to the right location by gcc-config later. + QA_IGNORE_INSTALL_NAME_FILES=() + pushd "${ED}/usr/lib/gcc/${CTARGET}/${GCC_VERS}" > /dev/null + for file in *.dylib; do + QA_IGNORE_INSTALL_NAME_FILES+=( "${file}" ) + done + popd > /dev/null +} + +pkg_postinst() { + # only activate this compiler if nothing else is activated + gcc-config -c >& /dev/null || gcc-config ${CTARGET}-${GCC_VERS} +} + +pkg_postrm() { + # clean up the cruft left behind by cross-compilers + if is_crosscompile ; then + if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then + rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET} + rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET} + rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64} + fi + return 0 + fi +} diff --git a/sys-devel/gcc-config/Manifest b/sys-devel/gcc-config/Manifest index ba90fdb68935..368520e0305b 100644 --- a/sys-devel/gcc-config/Manifest +++ b/sys-devel/gcc-config/Manifest @@ -1,4 +1,6 @@ DIST gcc-config-2.4.tar.xz 17552 BLAKE2B 631645a5cc9f3e7ab0ff089960ee3d0b2ecea29aa96f839a03a86985db512bf0d182b67a7b1bb73b95808c04523f32d6b8c122cdfbe8dbf94e7d319a1e49a23c SHA512 852b4aefaccfae1d91c551e226ac28110fa23f9668075c190a5fb9129c86d2f3e4994e96b7a5e8a2801883c5a5b16d9fbf3e9066e6b6a423055fdefa490793c7 -EBUILD gcc-config-2.4.ebuild 1272 BLAKE2B 31e191e6b22c9cd3487f4c19313d1494c53d6723a98fc8de8d166e660cc9971ef9b67c1c59a40b28ddd84ff48120d13c7483cc16b3d19ffb756a968158e3e222 SHA512 68251bfc3a5bd36393fba65ba49ed7f4eb7a758960ae68f0ba52b4eb18f79bdd016e137df5a02b5ec1a5094591a47ca121cf5688f87581136c3ea86fa62b1756 -EBUILD gcc-config-9999.ebuild 1525 BLAKE2B b4a52226ab76034d1af330a90408276a107e01cdfa727050b84e76392b3179688d37c11cb3de6c7295a66373095dfcfa7481121cd2d1de0b52697b235020fd73 SHA512 26017e3c01a1ce72795ffeb194c8893fe9161c514b32ef686068cb2b33e204b85418b4b5ec349b20427d304c0e1b285caa205268a4caccb1af5ae6d816438555 +DIST gcc-config-2.5.tar.xz 17664 BLAKE2B fa7133a54d3b49df20d3ae6036a65602c8a0d9e8668e2874a87d080add241a31322a3f4694bff8a5fe61957740603862539c0d9750e446d36beb2fb42ff0ba27 SHA512 20a8d62192faf54101352cfb6ca00503c9b2ab83aefecd94c4c887302a000d78334545a3424603a66a50e5f3ff07b67b16828813407893df5d94051776252b83 +EBUILD gcc-config-2.4.ebuild 1248 BLAKE2B f37d9bc45e4b934ff696719aa437076c514f477b2eced5f1c2c46c71145c072be1be89aa8396c6495d2e8a914c60567d3ad2fe7a89bbdd2c3b2af70e440a6b87 SHA512 89646c3f10a395dd703bed306b64ba19920b82513aec1d88d450c839a1b34e39d839f3296d97a37e76d8f60612b9480a1133f8424813bf78ab9abcf55e392b5f +EBUILD gcc-config-2.5-r1.ebuild 1672 BLAKE2B cef3f7b2430791ec1947ccdb3bff48697789d7f7d855b2e76030e11a6f1cbf8325c77794cbda9c02e2f406e31df1014536566b3a9b8e54778491b2ad765ebbc4 SHA512 412e883870259486d752f1285cabfe0538cae24c61bf8d6137af93e04c6dec042104ddf99ae1b61bf064801bc1aabae83a257dd981634a2fbc71e67af52f01fb +EBUILD gcc-config-9999.ebuild 1672 BLAKE2B cef3f7b2430791ec1947ccdb3bff48697789d7f7d855b2e76030e11a6f1cbf8325c77794cbda9c02e2f406e31df1014536566b3a9b8e54778491b2ad765ebbc4 SHA512 412e883870259486d752f1285cabfe0538cae24c61bf8d6137af93e04c6dec042104ddf99ae1b61bf064801bc1aabae83a257dd981634a2fbc71e67af52f01fb MISC metadata.xml 533 BLAKE2B 09d7ad23670553dc578f92d35dddd92b9421d7ef75e8920498bb16e451cce64a626a7479ece4c1ae1f8d7b67b5cd79c7033d0cf87cd48a788639b6f746fda5cc SHA512 ce12b8cbbe543ee3a1f51cd06c577ec5e99f48863445053858f36ae50ea68e1100da598dd44cef787de0cce8ad392350f95e7fd9071b70aa488a0d31cce7e22c diff --git a/sys-devel/gcc-config/gcc-config-2.4.ebuild b/sys-devel/gcc-config/gcc-config-2.4.ebuild index 7eccdffac24f..1d9d5647b2f3 100644 --- a/sys-devel/gcc-config/gcc-config-2.4.ebuild +++ b/sys-devel/gcc-config/gcc-config-2.4.ebuild @@ -3,8 +3,6 @@ EAPI=7 -inherit toolchain-funcs - if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git" inherit git-r3 @@ -15,6 +13,7 @@ fi DESCRIPTION="Utility to manage compilers" HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/" + LICENSE="GPL-2" SLOT="0" IUSE="+cc-wrappers +native-symlinks" diff --git a/sys-devel/gcc-config/gcc-config-2.5-r1.ebuild b/sys-devel/gcc-config/gcc-config-2.5-r1.ebuild new file mode 100644 index 000000000000..67c6a7ee6316 --- /dev/null +++ b/sys-devel/gcc-config/gcc-config-2.5-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git" + inherit git-r3 +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Utility to manage compilers" +HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+cc-wrappers +native-symlinks" + +RDEPEND=">=sys-apps/gentoo-functions-0.10" + +_emake() { + emake \ + PV="${PVR}" \ + SUBLIBDIR="$(get_libdir)" \ + USE_CC_WRAPPERS="$(usex cc-wrappers)" \ + USE_NATIVE_LINKS="$(usex native-symlinks)" \ + TOOLCHAIN_PREFIX="${CHOST}-" \ + "$@" +} + +src_compile() { + _emake +} + +src_install() { + _emake DESTDIR="${D}" install +} + +pkg_postinst() { + # Do we have a valid multi ver setup ? + local x + for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do + gcc-config ${x} + done + + # USE flag change can add or delete files in /usr/bin worth recaching + if [[ ! ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + if ! has_version "sys-devel/gcc[gcj(-)]" && [[ -x "${EROOT}"/usr/bin/gcj ]] ; then + # Warn about obsolete /usr/bin/gcj for bug #804178 + ewarn "Obsolete GCJ wrapper found: ${EROOT}/usr/bin/gcj!" + ewarn "Please delete this file unless you know it is needed (e.g. custom gcj install)." + ewarn "If you have no idea what this means, please delete the file:" + ewarn " rm ${EROOT}/usr/bin/gcj" + fi +} diff --git a/sys-devel/gcc-config/gcc-config-9999.ebuild b/sys-devel/gcc-config/gcc-config-9999.ebuild index a2b5cb735263..67c6a7ee6316 100644 --- a/sys-devel/gcc-config/gcc-config-9999.ebuild +++ b/sys-devel/gcc-config/gcc-config-9999.ebuild @@ -3,18 +3,17 @@ EAPI=7 -inherit toolchain-funcs - if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git" inherit git-r3 else - SRC_URI="https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz" + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi DESCRIPTION="Utility to manage compilers" HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/" + LICENSE="GPL-2" SLOT="0" IUSE="+cc-wrappers +native-symlinks" @@ -40,15 +39,6 @@ src_install() { } pkg_postinst() { - # Scrub eselect-compiler remains. - # To be removed in 2021. - rm -f "${ROOT}"/etc/env.d/05compiler - - # We not longer use the /usr/include/g++-v3 hacks, as - # it is not needed ... - # To be removed in 2021. - rm -f "${ROOT}"/usr/include/g++{,-v3} - # Do we have a valid multi ver setup ? local x for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do @@ -59,4 +49,12 @@ pkg_postinst() { if [[ ! ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then eselect compiler-shadow update all fi + + if ! has_version "sys-devel/gcc[gcj(-)]" && [[ -x "${EROOT}"/usr/bin/gcj ]] ; then + # Warn about obsolete /usr/bin/gcj for bug #804178 + ewarn "Obsolete GCJ wrapper found: ${EROOT}/usr/bin/gcj!" + ewarn "Please delete this file unless you know it is needed (e.g. custom gcj install)." + ewarn "If you have no idea what this means, please delete the file:" + ewarn " rm ${EROOT}/usr/bin/gcj" + fi } diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index a75a9d9e0d60..1878ccbc138d 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,11 +1,18 @@ +AUX gcc-11.2.0-cross-compile-include.patch 875 BLAKE2B 92ed84f2b75dd88c73ca115a9faf454ff51a445fb7939ba51ac2b2e7bf6847cacd699cf4a147f056563b0b50b2ac4a0f907cec5bf0b411ec6a8b8b02ec1f410e SHA512 1195825ce57a43ea3826f1f3bcdb4ed17ce849887419960ab79d49e75117586ffcadb0363d6fd845e79417dc6186d6e93100e20c5d24961b5d827cce5ee85635 AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129 AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e +DIST gcc-10-20211126.tar.xz 71674848 BLAKE2B 81f4a572e973db7a3701601e66ea58c8e535a55d4d4ac164de00bdb06f7f265585f45d46171cf40d42ebcd3fb02ac81b643398c560912698eb6c008ac6e09518 SHA512 db887184c649ebeede5a1b9f13c00fe425012434cb93ec960c3ca50c0bcdeab04a1cc13b20de21b940e5d6a09c3b1c7fc415110a0e990ec1d938627bf97b9342 +DIST gcc-10.3.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384 DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e DIST gcc-10.3.0-patches-3.tar.bz2 18935 BLAKE2B 13eaf1e055b5b63069aed1575ed93f6bc822b5e3f2181ddfc88f4e7ff801f58997cd131b2efd79b90469b1f861db994feb2adcaecacf165442078f76e233fd9a SHA512 c3d6a6f32863cc0ff7c877314ff0c00a892e473f64d16b82d46b4a77aa97c3e7a575492d27f0d423acb2621c86c9a49bca0e26e45bda9e697495444fcac85084 DIST gcc-10.3.0.tar.xz 76692288 BLAKE2B ac7898f5eb8a7c5f151a526d1bb38913a68b50a65e4d010ac09fa20b6c801c671c790d780f23ccb8e4ecdfc686f4aa588082ccc9eb5c80c7b0e30788f824c1eb SHA512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 +DIST gcc-10.4.0-patches-0.tar.bz2 15231 BLAKE2B f64a2e7f317acf9416da69c129ea869116be2780828f9d3cda59f7ea8d39634df7f0347f745275bb167f95aae2a3b8e97ec7c78f775d9002718dd67cb9429f68 SHA512 d1497930ccf4d6ee8700faeb676945e65b3aa2ba3a580a3564575fad1590ad076741f2ecad778ab48d0c4e8ed7723b84b0a660cb67cc4530495691702159a43a +DIST gcc-11-20211127.tar.xz 75659912 BLAKE2B 2de0883de6596457189da75977aa4628a45cadec6528e7b5c0043b891717d14805d8a65f87cd95e2033567c7f88e239063171690a3fbfda99cc687a9c691c965 SHA512 ba0dad9073cd16fdaad5cc05c8ee637fa89f20dca4b0cdf256487e54fa6b88a5a759ae851b946e2122c60f28d295a4ee47bcca3dbcaedcb53bd8a66edd0f5b45 +DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384 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-0.tar.bz2 12483 BLAKE2B 3673956c529655f5c616caf92b8004e41a10ff158b1512efa4af4bfb707e8379f9d7d0337c3780c38afe5b322ad95bf63a981d873fb00f44571f7260961b4626 SHA512 7d19c24a13871288812ba50b113ac64629be7e72e642023dd77ddebd9b6a51cae9d2de7eb8cc42c1188b0553f62bb186614014ba10cf92de5967c09f08392393 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 @@ -13,16 +20,19 @@ DIST gcc-7.5.0-patches-4.tar.bz2 13183 BLAKE2B 38a56910f01ef4172182d2145cef1df53 DIST gcc-7.5.0.tar.xz 62783088 BLAKE2B 8a5efeef517a5da1634d063aaa83bf5e002f86acdf27419f1067f5c3d087333d9eea0c8db427b8bd895af646990bb00ee173069980ca49cec848434a4127256f SHA512 fe716cc19f2e3255d3a8b1b8290777bf769c6d98e6e0b07b81a3d6ad43f8af74cb170dfa18b1555dbfcd3f55ae582b91a286ccef496b9b65c1579902f96a1f60 DIST gcc-8.5.0-patches-2.tar.bz2 16921 BLAKE2B 619a47f74edf05fa01c9de59d0ff7abb027a01cf0bdec91ac41046166192f4eae561684136c4a6a5e077f64754bb5b0710905129f31b0def21d88f92e6bba7fb SHA512 b6095d4570895e2c4dd58fed5756194aea27391b813e5e2de42b2749cb318c4bea2087eb0ff92c70e7f98ae4482c49d476db57be83d7beb19fd462aa61714ab2 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 +DIST gcc-9.4.0-musl-patches-1.tar.bz2 2337 BLAKE2B 7bddc631c9f0e68884acb2bb603e2867e1f65e44f3bd519844341984fa17f323a953bca21cfc05a0f84f7da943c83f2f5341899c917ab88891ac33ccafeb8f75 SHA512 b2cf463613011892b07d1a932f402d7606aa3fce4e059c342996c4ef6aa37f20159812a81fa82897b2caf658853644c5075d23c81d04c4c98e06a72bd9680488 DIST gcc-9.4.0-patches-1.tar.bz2 14012 BLAKE2B d5fbfd73d9c3a5b66be5b124d981fe5a7468363c83784989a50731f87931435f4b6302e4c20a64b20680581ed40005eff7bdd5855526a093f73a04c3c1ddab31 SHA512 b84884c7d2197cb14229d3321b98cd66c783cf9ebf7e5d1b1186e6cf32ee9e47d004ebad26118f9c848f9bc0a3783ceb23d9b65101d98c3bfa99874e66ee7cbc DIST gcc-9.4.0.tar.xz 72411232 BLAKE2B 4bb000d33d6bd2d6cc91c040713f27f79dcf726ef8ab1542c711e0c25651507628510b1373bc73aef71ffb660afddb2eb8d8c8540f5f1498ee243cfff6c0be67 SHA512 dfd3500bf21784b8351a522d53463cf362ede66b0bc302edf350bb44e94418497a8b4b797b6af8ca9b2eeb746b3b115d9c3698381b989546e9151b4496415624 -EBUILD gcc-10.3.0-r2.ebuild 446 BLAKE2B 2d0f1773e9aaa6710b7295b26ab55fe4d77653d85de88af392f7c8886db005b4aa47bfee8649cfb4d9f8f9aa447601d2aa97edd1e94f65b79e2600e4a5e3ed6f SHA512 f0c182f9fb60ad9dee98cbfa3f34e68d0a9101e9d583741e4147c168550d3e93f9d27236ea1dc59f42fb8179bfc115a7a89773a89b9aafb0f8e99052194f0cc7 +EBUILD gcc-10.3.0-r2.ebuild 473 BLAKE2B c9061341ddfa8d143fed0ac5794db4a872527f479b2243e5a939d9e6b1837a2ad9badd6a77ff771aeb4801c1223b625d6e6348a5675191d36708b186400c9b84 SHA512 75e667562d45b1cd7ac48fab95e390131eb6530daa858b450f3d5530c7fc6dbab112e4bcb20f21fcf1c41a0169c8d3483d744b826b12b685a8603340963540d7 +EBUILD gcc-10.3.1_p20211126.ebuild 524 BLAKE2B 5336b4951c7a7a8ce88f03bd6d56118a244fdc23ed11d6925c901f4516f7a6a3b9ef8bc6df601b5dd7fbb1a2d3df82cf596c46af164528366cc6a0055de2f6eb SHA512 7f0b6c7bff11e5dcca4d6c247be9c901612dd116c25978bcf9093d32d46241ce50e2d4ad178f83261f97e26228249a2ad7def4367db607caa8f138db46351910 EBUILD gcc-10.3.1_pre9999.ebuild 649 BLAKE2B 7c2d1e2d939433104d3fb01de2dbdb12b6022a503d2252d8371f699577eb289276897440113bc70745deb7057819d63890be8c0fd0022c02cc6d565fb1c1307e SHA512 eaca9dd9ac89a354beae99d38d7df2004289d281236f4a41457afbba563dcc8f6c1bfe24e8ea9219019c2b7e1c9abb67f428c96389fc9f6b8263db2af66ff3ef -EBUILD gcc-11.2.0.ebuild 283 BLAKE2B 1f1f231235ff6f62a2ff6e8604239606fcd3f6b767f09526e7a956178bab7cf78995d026cb4513f11ccbb23fa2cea71627aee4ebac1cc18b0838308ec691cfe3 SHA512 702487d84c6293e1b12d8e5ac13dae86936ca5e282666bc5e2a9c69a8008653c36261cf6115ed8dd611bc9c2e70a067d79ad3f1d4d7926bd3dfabab47ddbfcbe +EBUILD gcc-11.2.0.ebuild 466 BLAKE2B 9897dc608217b7fbfd44fc14446638d23f18c0516a19b73e317aaeb328f82ea89452bf93888628a7d22d0892f6ca0a959cfc6e620a5afb9b8ee7063a4a6a173d SHA512 425b789e1c7f495b2581e9aa6a435fa7c1c23b0e167c44e81451ef2e7896b35bdbe9772bdff7b78c9deb0e4f6357f956f28151072b35fbb233ec5f9e771bf458 +EBUILD gcc-11.2.1_p20211127.ebuild 517 BLAKE2B 1116c837523bd4f8d84242e66a49678e2bd5f364e6025c5dde22bfa62dd16b62ac6513222b1dc2bc43f5ba273f5909d898787f915bf44a675309354ff7f06f2e SHA512 ed21b74da11db76c8c0f7a409ffe10ece126f4cab76a013e01a373f856278ee586d9bf71e14824dbfeb8d600aa96c48e412f64291b5c6d4d06796f4ad3d14952 EBUILD gcc-11.2.1_pre9999.ebuild 527 BLAKE2B 69ad8ded1819b6b584ddac3ad639750d5d13f465854bf88093d0a48f5f83f5919ff66014ff0ae67167e88d3282cb108291a0ffe86147f7f505396c77a887a017 SHA512 0011d0d43953cbcd1afa201005f52bc13bedffeab1a45469d6d7b60e2e04343b1a4385dd8bf684e442858ab80b314aa849184e3353e0e3adf44839c3753de4ad EBUILD gcc-12.0.0_pre9999.ebuild 367 BLAKE2B f4d4fae47ad12381f9f25e4c97964d7a155f7b1c186a324c8c96109559da063f5f568a168e32a078e1afe39bfa786260a7a3785bfed648c68156fe14ad3bce56 SHA512 2a4e545ba1ee6f16f0301a367097b0253dd9f786873b45b31be2b0284605dbb9bc8d6c34d4f0a2d7825e92fa6c8fcedca4b680e1cb7d4446574c0d993c8918c9 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 -EBUILD gcc-9.4.0.ebuild 444 BLAKE2B 502cc25c645a8568cda444c75f5ab23498e121b77e3d50e100fa32663707f61ff4796bd13b54d72a6e2d348b7b50b0f783e1a24f6cf94304094850f02fc371e6 SHA512 696de505f81344d66c437d2402b9b45b4a8c9dafbf65d2778c3b178a74b86892c6c48d2f41db7ad79ae615b33796b366a33e8dfd438ae28615c0e43a2b4e6d33 +EBUILD gcc-9.4.0.ebuild 456 BLAKE2B 78681cf7e30cd621999659ba2135376d6e8992f97af71e1af0dcb37fd3abea88fb4c2b896a19f41917941a8cc5c14e870cd25ecff2947df648094e1ff9ed7ea5 SHA512 c16c17ff9978df1c945b2ad868cd720a46a4a5a1c610f66204add36d98460e92843409b4a4caeb196f53c278cd7475767b810cc806a77db29297dbf61e37477c EBUILD gcc-9.4.1_pre9999.ebuild 526 BLAKE2B 91cd7c5793fcb8b52e0ef75d32aef9d2e8fbaeb13353b1bc562c3ab2e17c748a340c66f60dc0641c4f162ad69ab95ff1ac34081924bb3a8f82f98cbe7e74d2d1 SHA512 cee74704109204b5c28b7a806903611eb7f9025fb64abf2e5a215139a9613c747af5c359116c4bdffd312d7614a11c9b33420e7b8874666dca5bb54ee69490e7 -MISC metadata.xml 2705 BLAKE2B ec4b5cd50851bdf9ee60d4ef721f7e711f70cc54e0ef5fbbe7e3e73712c248bf450b7772ebbe9491e144636a29dc1b0d500408cd5e7699248af8f75f4240657d SHA512 e288b60c8b2f281f88cd56a1d534baa2616c41e5bdef525e9c8ed44074a78fc962a13d307c5e3bbac8a235936d7b10463117fa05329f69242a4ddcafbcfa5440 +MISC metadata.xml 2833 BLAKE2B a47ef414f43a8859d4315bc0ddfac6af21469e032b6c14e653b28ee04423e6ad0082007ccb09acabb0b3dc7deca4b0f58defcfe3024ed74af22bbeedd9da1d68 SHA512 f32ce9392b3185638a1a9fd696888cb0c7d2e5b1b03db4ec516752c9bd98f3ef216816ec0848b78cfb32a6c4ea27210c975e8d9a72d079bb9f7dd143b2399ae6 diff --git a/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch b/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch new file mode 100644 index 000000000000..d06410650bb0 --- /dev/null +++ b/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch @@ -0,0 +1,26 @@ +https://bugs.gentoo.org/803371 +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80196 +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017 +--- a/configure ++++ b/configure +@@ -17044,7 +17044,7 @@ else + fi + + +-RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET" ++RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ar" >&5 + $as_echo_n "checking where to find the target ar... " >&6; } +--- a/configure.ac ++++ b/configure.ac +@@ -3529,7 +3529,7 @@ ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip) + ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres) + ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc) + +-RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET" ++RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++" + + GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar]) + GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new]) + diff --git a/sys-devel/gcc/gcc-10.3.0-r2.ebuild b/sys-devel/gcc/gcc-10.3.0-r2.ebuild index 18e8535ca87a..0fc4ea78dc7a 100644 --- a/sys-devel/gcc/gcc-10.3.0-r2.ebuild +++ b/sys-devel/gcc/gcc-10.3.0-r2.ebuild @@ -4,6 +4,7 @@ EAPI="7" PATCH_VER="3" +MUSL_VER="1" inherit toolchain @@ -18,4 +19,6 @@ src_prepare() { fi toolchain_src_prepare + + eapply_user } diff --git a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild new file mode 100644 index 000000000000..911b768bcd30 --- /dev/null +++ b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER="0" +PATCH_GCC_VER="10.4.0" +MUSL_VER="1" +MUSL_GCC_VER="10.3.0" + +inherit toolchain + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND="" +BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + if has_version '>=sys-libs/glibc-2.32-r1'; then + rm -v "${WORKDIR}/patch/23_all_disable-riscv32-ABIs.patch" || die + fi + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-11.2.0.ebuild b/sys-devel/gcc/gcc-11.2.0.ebuild index 193f8b813ec4..92a4dc61b1f7 100644 --- a/sys-devel/gcc/gcc-11.2.0.ebuild +++ b/sys-devel/gcc/gcc-11.2.0.ebuild @@ -4,10 +4,22 @@ EAPI="7" PATCH_VER="1" +MUSL_VER="1" inherit toolchain -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND="" BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + toolchain_src_prepare + + if tc-is-cross-compiler ; then + # bug #803371 + eapply "${FILESDIR}"/gcc-11.2.0-cross-compile-include.patch + fi + + eapply_user +} diff --git a/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild b/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild new file mode 100644 index 000000000000..808255171410 --- /dev/null +++ b/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER="0" +PATCH_GCC_VER="11.3.0" +MUSL_VER="1" +MUSL_GCC_VER="11.2.0" + +inherit toolchain + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND="" +BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + toolchain_src_prepare + + if tc-is-cross-compiler ; then + # bug #803371 + eapply "${FILESDIR}"/gcc-11.2.0-cross-compile-include.patch + fi + + eapply_user +} diff --git a/sys-devel/gcc/gcc-9.4.0.ebuild b/sys-devel/gcc/gcc-9.4.0.ebuild index 702b52a10067..7c210388c018 100644 --- a/sys-devel/gcc/gcc-9.4.0.ebuild +++ b/sys-devel/gcc/gcc-9.4.0.ebuild @@ -4,7 +4,7 @@ EAPI="7" PATCH_VER="1" - +MUSL_VER="1" inherit toolchain KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml index 903272c074bf..8730f85e65dc 100644 --- a/sys-devel/gcc/metadata.xml +++ b/sys-devel/gcc/metadata.xml @@ -9,6 +9,7 @@ Build the ADA language (GNAT) frontend Useful only when building GCJ, this enables Abstract Window Toolkit (AWT) peer support on top of GTK+ + Enable support for Intel Control Flow Enforcement Technology (CET) Support the Cilk Plus language (C/C++ based languages for parallel programming) Enable support for the D programming language Enable fixed-point arithmetic support for MIPS targets diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index ea23367ba141..bf8d2f294c21 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -6,6 +6,6 @@ AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d2 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 7092 BLAKE2B 89bab33b3e98e2005ce9f5efb5d410225feaa6f70125d99e157fa7b0263f9ca130e2451d6833a216a9cbe9af5a879b7979c35bf6d8982ca9a8779cbd7bb5b691 SHA512 500eecef57264f641f8d5702c7248f95b48c3564c79b11d9ac9f2d05d0f2e93492db55b25d94206fd2b32f7d01e168c8898ac19d57b557d155a23662715df98f -EBUILD gdb-11.1.ebuild 7046 BLAKE2B 06f15e64b951783341f43382b9d7d838eacf1477c8c574d6cc61f9c97a0454b1ed833a8a7db02cf5af5ec036e4c3b4bc284147cff1c3b742f95212c7a8d9ae34 SHA512 3c44b0083912cf1b7fff67c130a8f64868a1f61dc05e07b6390d217cf6f4d0899f5d3e60dcda105ddb489b873ffd5746d4cca6eb3d475a9d2838013d29869ede +EBUILD gdb-11.1.ebuild 7044 BLAKE2B 03df86c7e40fa26d5c493ccfbca1a09c4a9add2c2d4b24edac2731b3c3de0a6c365ab53f7929fd4cdb79f4e8992c51160ea51a5409f2d781674612a70a81bb07 SHA512 ade5cf5a32d26c1b0278cb476267e4f460fdc5bc166849d6dab83fcfa1404c7990501e59a97760d0e851e2893c7081a9e8e969196022ac08cb6e85d1578f5e0a EBUILD gdb-9999.ebuild 7009 BLAKE2B 1b660541d730d7e449b76d12f0ca05b8bdf4695721fe79344ee1630ec336137bb34f4f4fb3640f790fd218e1dcd5fc04dce2055c0ddb7ac8e4c92e1a122e15af SHA512 8da08ee0856f5550faec5a5e6d45f07a4c21766f39d425d65bd7ebc94bf138b83c4c53f16dc8bbd04a66be965a61ef7d3b17f83dc26561fe192e1d76a2050a4a MISC metadata.xml 1103 BLAKE2B e63ea2e52649ac2f4ac21381cadb7cc76525792e99a4a6581535475480b6c45e654c8222b0b58585435d4c858cf3eef00dcaecf7edecae2b2fd336f1b56e6e56 SHA512 f7f1b4da71b18cb68a2f32aa6faae6251528047069071c9bee1be504267d0baf2cbac4fb928e0cbe9df100e3a681e2c3b6c7be14514a45a2f52d30364a8626f4 diff --git a/sys-devel/gdb/gdb-11.1.ebuild b/sys-devel/gdb/gdb-11.1.ebuild index 1c2080c9145d..67c77b38ac5c 100644 --- a/sys-devel/gdb/gdb-11.1.ebuild +++ b/sys-devel/gdb/gdb-11.1.ebuild @@ -47,7 +47,7 @@ LICENSE="GPL-2 LGPL-2" SLOT="0" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index 1d156265b793..7c7716ee6680 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -1,10 +1,12 @@ 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 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.9999.ebuild 1760 BLAKE2B 038c5d1d0202b4f7e825d3c9b417a402139f8a1b306a125042333ebf29e9aafe2613de9bb7fdf621f9034085ebb741b2e6ec640363315cd901c351105fef8d46 SHA512 21f23f8859be3d16c790ecfb5fdd50232eed0e62620a0c63e171d60bead363890dc6e90e45f9a018459edf51b6a3412670fe72859d401b87dbb098e2deef950e EBUILD lld-13.0.0.ebuild 1797 BLAKE2B 4b422a7a9be9a07451617c405d9c5e29542b40b7f668a29ab582fafda439c68a623e1d439742ef0e06eb527efbad70a6c5d3b04b3d5bfa935c26cf10638ba678 SHA512 df93f8813f5e65125e9429e56785af2a98abaf39cc8c285cb4242c4ddefeef1394549e0838a6c123f3dd4ae39edd5b2e1075ab9b13543c904b68c7af53224d64 +EBUILD lld-13.0.1.9999.ebuild 1760 BLAKE2B 038c5d1d0202b4f7e825d3c9b417a402139f8a1b306a125042333ebf29e9aafe2613de9bb7fdf621f9034085ebb741b2e6ec640363315cd901c351105fef8d46 SHA512 21f23f8859be3d16c790ecfb5fdd50232eed0e62620a0c63e171d60bead363890dc6e90e45f9a018459edf51b6a3412670fe72859d401b87dbb098e2deef950e +EBUILD lld-13.0.1_rc1.ebuild 1760 BLAKE2B 038c5d1d0202b4f7e825d3c9b417a402139f8a1b306a125042333ebf29e9aafe2613de9bb7fdf621f9034085ebb741b2e6ec640363315cd901c351105fef8d46 SHA512 21f23f8859be3d16c790ecfb5fdd50232eed0e62620a0c63e171d60bead363890dc6e90e45f9a018459edf51b6a3412670fe72859d401b87dbb098e2deef950e EBUILD lld-14.0.0.9999.ebuild 1760 BLAKE2B 038c5d1d0202b4f7e825d3c9b417a402139f8a1b306a125042333ebf29e9aafe2613de9bb7fdf621f9034085ebb741b2e6ec640363315cd901c351105fef8d46 SHA512 21f23f8859be3d16c790ecfb5fdd50232eed0e62620a0c63e171d60bead363890dc6e90e45f9a018459edf51b6a3412670fe72859d401b87dbb098e2deef950e MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/lld/lld-13.0.0.9999.ebuild b/sys-devel/lld/lld-13.0.0.9999.ebuild deleted file mode 100644 index 8bcce2b3022a..000000000000 --- a/sys-devel/lld/lld-13.0.0.9999.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2021 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 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" - - 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/lld/lld-13.0.1.9999.ebuild b/sys-devel/lld/lld-13.0.1.9999.ebuild new file mode 100644 index 000000000000..8bcce2b3022a --- /dev/null +++ b/sys-devel/lld/lld-13.0.1.9999.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2021 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 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" + + 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/lld/lld-13.0.1_rc1.ebuild b/sys-devel/lld/lld-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..8bcce2b3022a --- /dev/null +++ b/sys-devel/lld/lld-13.0.1_rc1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2021 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 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" + + 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 30e3543318b9..3373c86f4a07 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -1,9 +1,11 @@ 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 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.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 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-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.0.9999.ebuild b/sys-devel/llvm-common/llvm-common-13.0.0.9999.ebuild deleted file mode 100644 index 53511a0a20e3..000000000000 --- a/sys-devel/llvm-common/llvm-common-13.0.0.9999.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2021 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-common/llvm-common-13.0.1.9999.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild new file mode 100644 index 000000000000..53511a0a20e3 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2021 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-common/llvm-common-13.0.1_rc1.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..53511a0a20e3 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-13.0.1_rc1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2021 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 a9aaaaac81a9..fa151b803ace 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -4,13 +4,16 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82 DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b 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-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 EBUILD llvm-11.1.0.ebuild 12505 BLAKE2B 180cee21c2a2797ba77ab078aca29e603992a65f77f6d570da33491843a64a864cca20997aff674b1c8dc03d7a1bab317ce43c6640f3d627df32d8087ab173b0 SHA512 88984b684b403e4ee5bb6696b4e6b04f1d66ef80fdb867f8809a617d941920cba4df1224f9d79c7ccb65614b2bb9141710f87f87c5773f35219740ed25ded51c EBUILD llvm-12.0.1.ebuild 12621 BLAKE2B 5e5351a80d5229a7a357c788271c30d5d0ea63e982b5ca808fa81dda85f73f39f376badcc9418cc63b83fd82067c52d399c85ee726da86622084c22a09c13729 SHA512 9cb100f28d9e63e81afec91cf937e9e6a2989972fb5cfdbbeaa4cf34e2c46a917b6c1255ac20fa7f735e9ac9af70d444b19ed371c1cabf2644afaf84ea78c8b6 -EBUILD llvm-13.0.0.9999.ebuild 12186 BLAKE2B 29e02382cb359137eb89f5a8cc5ac763827578e981c91c525b4bd34179f2ef2536fdfdc845c1aa40a19dc5441b4bebe1c7e960e7207e41aced3db738af589d57 SHA512 e8f5a35a110e2ac15f44bcd60ed2e1d29c8228aab3619c706bce3c301ab78a8c5d80906ffd91d67275e776fac1919355eaed04daf8999ff4adf78142177ca99a EBUILD llvm-13.0.0.ebuild 12187 BLAKE2B 8c22021c580fa0cd5fb28a4b1d2384627774e24a37a398d0c9eb008ce0951a797a7a9404031c69f845dc7f764387ea6183e20cefe9f27cd7e7372aa5a682d7c5 SHA512 381d29cd899dbe86a6a4f6fd78e7fee2d583d2f6b92a2767f3583f9953e9b85e617eec1abb8ebff48bab65f0cdcfb95b5232769c580351ead82619a689c39df5 -EBUILD llvm-14.0.0.9999.ebuild 12186 BLAKE2B 29e02382cb359137eb89f5a8cc5ac763827578e981c91c525b4bd34179f2ef2536fdfdc845c1aa40a19dc5441b4bebe1c7e960e7207e41aced3db738af589d57 SHA512 e8f5a35a110e2ac15f44bcd60ed2e1d29c8228aab3619c706bce3c301ab78a8c5d80906ffd91d67275e776fac1919355eaed04daf8999ff4adf78142177ca99a +EBUILD llvm-13.0.1.9999.ebuild 12164 BLAKE2B 25e4f6bd720a1c1546eec4368f37c6a25c9c8cffb15745c2ebcbcf4e7808b4376495c288e553be85850f7bdb203893487fb3d63ab209be670b821d0f61e8f1ac SHA512 ba07d30a8b29c4ad075632a3bd32bb565d49edd74a5ea243c1475c2a8fef2aa287c2c9d1bcd71dc10e247404cc47b5f35af72825ff4902a2d9cac46186adcd15 +EBUILD llvm-13.0.1_rc1.ebuild 12167 BLAKE2B 255c9511db2b71aec24ca782c4e336b6470f7868a86fdd31184bb3bd12ff22e05a9c9492c4b490e24dcfa1fa79d4f8fa802eb9b3bf5d01f5a2847e8c4aa3dee3 SHA512 e64411b7389da1789b98a52eafcdf3eb9dd21777c938e4caf73735d7419cfc7bad754b7d1594311e31bbd62147852746c89db85efc4b814642c818a4eef6e72f +EBUILD llvm-14.0.0.9999.ebuild 12164 BLAKE2B 25e4f6bd720a1c1546eec4368f37c6a25c9c8cffb15745c2ebcbcf4e7808b4376495c288e553be85850f7bdb203893487fb3d63ab209be670b821d0f61e8f1ac SHA512 ba07d30a8b29c4ad075632a3bd32bb565d49edd74a5ea243c1475c2a8fef2aa287c2c9d1bcd71dc10e247404cc47b5f35af72825ff4902a2d9cac46186adcd15 MISC metadata.xml 2625 BLAKE2B 1017e4672b3ccd5a4f83d9df6a9db3661f548da9d75ad2c5b63e9843bfd737ff1fb64624678704f632544ac403efd8dbb35a006542023153733a6d4037b7245d SHA512 130444ec537891dc43754057c5a68666f52cb2959f351ee5be076ed41e39d49d8fafa2d0dca78d1a751b3a3190db81910b4472e75f9bad571ae42da51a5b25dd diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild deleted file mode 100644 index f0bbf6805620..000000000000 --- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild +++ /dev/null @@ -1,511 +0,0 @@ -# Copyright 1999-2021 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 kernel_Darwin" -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-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=9999-1 -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|LLVMbinutils-plugin) - ;; - # 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 -#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+=( - LLVMbinutils-plugin - ) - 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/llvm/llvm-13.0.1.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild new file mode 100644 index 000000000000..a12b04fb2138 --- /dev/null +++ b/sys-devel/llvm/llvm-13.0.1.9999.ebuild @@ -0,0 +1,511 @@ +# Copyright 1999-2021 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 kernel_Darwin" +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-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=9999-1 +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 +#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/llvm/llvm-13.0.1_rc1.ebuild b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild new file mode 100644 index 000000000000..16dc1da25def --- /dev/null +++ b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild @@ -0,0 +1,511 @@ +# Copyright 1999-2021 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 kernel_Darwin" +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-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 +#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/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild index f0bbf6805620..a12b04fb2138 100644 --- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild @@ -111,7 +111,7 @@ check_distribution_components() { case ${l} in # shared libs - LLVM|LLVMbinutils-plugin) + LLVM|LLVMgold) ;; # TableGen lib + deps LLVMDemangle|LLVMSupport|LLVMTableGen) @@ -309,7 +309,7 @@ get_distribution_components() { ) use binutils-plugin && out+=( - LLVMbinutils-plugin + LLVMgold ) fi diff --git a/sys-devel/m4/Manifest b/sys-devel/m4/Manifest index 4bf760058804..145d73a0b1a1 100644 --- a/sys-devel/m4/Manifest +++ b/sys-devel/m4/Manifest @@ -1,3 +1,4 @@ +AUX ppc-musl.patch 706 BLAKE2B 5b5aff69fa1118ab22179b7cc937aaf1b9c0dd89df957814f68de2c40543ccf12dd8be4eeee29723043b72ac71bce24015986866c10f9ea92704c5e9b1245933 SHA512 c497e10eff10aa0706527438a3218ff5047622ad2c2ce2a2aa807341a352524cb955a3f5fa1f34a051c07a3f24ea395ec1276f11905ac988e5a2f57cb5caf646 DIST m4-1.4.19.tar.xz 1654908 BLAKE2B 08694485a49c542761fa9a7db4d7609f4dfb08a5c6b785b57f2e14cf1f696c2a1c788bb5eb934e8159a632b63ff071dfe42511d0109d7b1828f46d33c8bf416a SHA512 47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b -EBUILD m4-1.4.19.ebuild 1725 BLAKE2B e674811794712af4bd511b7f8e7cdb3742689c18a3617291e5a549ad0cf0bbcd2d12462a53d5e8e8ade00fd321f8f210d02913ad5cfa475d1b36c36ac3ca2f37 SHA512 451a3a66fa2a2bbacd32d2295446f20a34106a4a2e00a509b225fb546d9baaf7c828b992c35a0a522e0c6edf745c21b214b7d16713c6942c1d02383b14c3f70c +EBUILD m4-1.4.19.ebuild 1767 BLAKE2B 9561155305ec23be463a2ab5df000d2ff771e99ad2b61a1b67c7ba52bcf048478cdbe7c92b2942e1d07fdc027ee3f2139c5c20307292f400edc8093c2d15d434 SHA512 78981ec33cc17674057429af1cc621a76535c639e8b841ec4d1bda2dc333cb0a57453f1c0f3721947db8b95566c7a85a8e09652e3692d200defdd314493e06bc MISC metadata.xml 254 BLAKE2B f3a9f843cf94243d1129711770df727fcdc8808bca829ef784819cab6f5410dfa463cfed85182f8228c7de796a674dd602653ad3ef817a62c0c3e7198b23befe SHA512 b9fcd3084a7e197f6138e1ce8b0eff99c4c203c37a7d5c40de207040ba1501ef0e5b2f4e00216a567037bcd6d3394fdec6ff587484c9ba2fca9d04f431733b7c diff --git a/sys-devel/m4/files/ppc-musl.patch b/sys-devel/m4/files/ppc-musl.patch new file mode 100644 index 000000000000..d7d8255a444a --- /dev/null +++ b/sys-devel/m4/files/ppc-musl.patch @@ -0,0 +1,18 @@ +Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib. + +https://www.openwall.com/lists/musl/2017/11/05/2 +https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch +--- a/lib/sigsegv.c ++++ b/lib/sigsegv.c +@@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; + /* both should be equivalent */ + # if 0 + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] +-# else ++# elif defined(__GLIBC__) + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] + # endif + # endif + diff --git a/sys-devel/m4/m4-1.4.19.ebuild b/sys-devel/m4/m4-1.4.19.ebuild index 7713695a5daf..96bbad225664 100644 --- a/sys-devel/m4/m4-1.4.19.ebuild +++ b/sys-devel/m4/m4-1.4.19.ebuild @@ -30,6 +30,8 @@ DEPEND="${RDEPEND}" BDEPEND="app-arch/xz-utils nls? ( sys-devel/gettext )" +PATCHES=( "${FILESDIR}/ppc-musl.patch" ) + src_configure() { local -a myeconfargs=( --enable-changeword diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest index 98294fbd42ea..4418bba779b6 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -4,9 +4,11 @@ DIST rustc-1.52.1-src.tar.xz 115109508 BLAKE2B c5d73f5884037d287d88ba9fdaf63a366 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 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 MISC metadata.xml 819 BLAKE2B b8f3ba9f34a71902c8329176d1146fa5cfced0739b5e360393a88a61dfb88eb9f7bd573ea26764dd8cf269c7e4e2f1fb60eee3d4b724c034126c870e04709111 SHA512 c5a4977946c7ba2d748a9671475113de6e410a15b609ab2ca1d11e6ca84b0820176139f9efbde422fd43222874b1b246bd9dad3772c0f804a1b2874651e06eb0 diff --git a/sys-devel/rust-std/rust-std-1.56.1.ebuild b/sys-devel/rust-std/rust-std-1.56.1.ebuild new file mode 100644 index 000000000000..7ca481644a6a --- /dev/null +++ b/sys-devel/rust-std/rust-std-1.56.1.ebuild @@ -0,0 +1,154 @@ +# 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" + +# +# 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/smatch/Manifest b/sys-devel/smatch/Manifest index 82cef4b41546..45b63bdb8baa 100644 --- a/sys-devel/smatch/Manifest +++ b/sys-devel/smatch/Manifest @@ -1,6 +1,6 @@ DIST smatch-1.60.tar.gz 558479 BLAKE2B d5e564c32e33dc38847f9a258b4b47285f190652181db9b8850c832c0cf4d8a3302d989a7b42592e73a713927a29565565e83a9be1b0a5c9d10869fce278a0be SHA512 2920c9d4c500db36cfa60db5be70d157ed16abd729279462faef6f79e0756bd017ec91b8f857d19fdebd8a9d709b0555635700a2864cf0a84daa61cf2ca3eecd DIST smatch-1.72.tar.gz 1431923 BLAKE2B ec4119fce985876afc9a46a74a0a56e8e8cb271a964c16496972c59ade95aa3d2df3a839a819e31cb081ca8a3b1f6bf6934ec97d73209091cfd86c87c1433557 SHA512 6d12e9ba85f332fcc56657296596e811cf3b75d4ad37007e07feb31baa4b315732361915972a2139ae13f75b8a73f953488ceb9de41529db9e84c81fb6fde77e -EBUILD smatch-1.60.ebuild 1348 BLAKE2B f0269b8ecea230ac142052d84f73f026109e68c80a24ccb361a5f9623ab8fca396f74aa293fa93853093aa259b30239e8c15e3bc78a2c1bb34a46cad634062dd SHA512 12f44adb87283108a36f7803cd113e5def9aa5f878fe3367c2ba89dcfa418a4573cf8acf55fa59c5c7d00c22ac6b7566c0f964fbc3c8398417dd8c496af88288 -EBUILD smatch-1.72.ebuild 1342 BLAKE2B bb0e6d6d68b3d8a2d0cac1e6391378ed0e9d9bdb0e4e97269ca91078995d85a64e2bf405ce50ec525d8e23a87ff53e1278f4b1831183d983a35b2713b8850524 SHA512 5b98e177e11f7088d517561a6b39b331cf2967a6a93a74300918e07fe9ac9c81d8064c2fdebf672276999b84bf8aef163e0a12e0a4afe37180e3c09fe901c639 -EBUILD smatch-9999.ebuild 1342 BLAKE2B bb0e6d6d68b3d8a2d0cac1e6391378ed0e9d9bdb0e4e97269ca91078995d85a64e2bf405ce50ec525d8e23a87ff53e1278f4b1831183d983a35b2713b8850524 SHA512 5b98e177e11f7088d517561a6b39b331cf2967a6a93a74300918e07fe9ac9c81d8064c2fdebf672276999b84bf8aef163e0a12e0a4afe37180e3c09fe901c639 +EBUILD smatch-1.60.ebuild 1351 BLAKE2B 9bddaa32f49c3f592f50d113e894fcffa09ff844c304faf08940dbf7fbbb8b98b91de596c0be8c08eb7a7409ba4e2624d7f546315d58923885303b8b16130d96 SHA512 166f6443cf3444521dbf1d69317dff217007dd8a16babda249be67a1cf14435dffe875a67e1d6ec6dc3ca85ce60d9e955291503d786f3626c18ed024008c8956 +EBUILD smatch-1.72.ebuild 1345 BLAKE2B 133ac9c1bd10316c312f2c5bdde43760401d4832e7faca97e57e0e941565f2a5bdf2d44265092e87b35876b8ce02c0842bd39226ec0be232e3944d8dca735f9c SHA512 334864ae52edbe07d6dc87b14a58ff32ed8545d2e11f97cbcddb553e9b5d091a3ecfea0bcf91ce64afade6b265f0c4a9df632fb0c71aa4e512fb56e8b4eb977a +EBUILD smatch-9999.ebuild 1345 BLAKE2B 133ac9c1bd10316c312f2c5bdde43760401d4832e7faca97e57e0e941565f2a5bdf2d44265092e87b35876b8ce02c0842bd39226ec0be232e3944d8dca735f9c SHA512 334864ae52edbe07d6dc87b14a58ff32ed8545d2e11f97cbcddb553e9b5d091a3ecfea0bcf91ce64afade6b265f0c4a9df632fb0c71aa4e512fb56e8b4eb977a MISC metadata.xml 338 BLAKE2B c4bb073c88d842934dd0574360a70707c86b4a484b6b7f57464919a6e53389c5090ed4fcf757c0ade3c3030e9f91505181f0ee2020d9956090fc075e22674593 SHA512 1b0c36ac40b06b6f5cd562925f29fbcbaff1b2cb2691345146705da186932dc5908aab29c2cd773d624cd29e51fd75c2729dfbcfd26762c30a6879af7e3fe488 diff --git a/sys-devel/smatch/smatch-1.60.ebuild b/sys-devel/smatch/smatch-1.60.ebuild index 4a6c5f79460c..04dfbb1b49ac 100644 --- a/sys-devel/smatch/smatch-1.60.ebuild +++ b/sys-devel/smatch/smatch-1.60.ebuild @@ -5,8 +5,8 @@ EAPI=7 inherit toolchain-funcs if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://repo.or.cz/${PN}.git - http://repo.or.cz/r/${PN}.git" + EGIT_REPO_URI="https://repo.or.cz/${PN}.git + https://repo.or.cz/r/${PN}.git" inherit git-r3 else SRC_URI="http://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz diff --git a/sys-devel/smatch/smatch-1.72.ebuild b/sys-devel/smatch/smatch-1.72.ebuild index cb53b5afd462..9006835c81bb 100644 --- a/sys-devel/smatch/smatch-1.72.ebuild +++ b/sys-devel/smatch/smatch-1.72.ebuild @@ -5,8 +5,8 @@ EAPI=7 inherit toolchain-funcs if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://repo.or.cz/${PN}.git - http://repo.or.cz/r/${PN}.git" + EGIT_REPO_URI="https://repo.or.cz/${PN}.git + https://repo.or.cz/r/${PN}.git" inherit git-r3 else SRC_URI="http://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz diff --git a/sys-devel/smatch/smatch-9999.ebuild b/sys-devel/smatch/smatch-9999.ebuild index cb53b5afd462..9006835c81bb 100644 --- a/sys-devel/smatch/smatch-9999.ebuild +++ b/sys-devel/smatch/smatch-9999.ebuild @@ -5,8 +5,8 @@ EAPI=7 inherit toolchain-funcs if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://repo.or.cz/${PN}.git - http://repo.or.cz/r/${PN}.git" + EGIT_REPO_URI="https://repo.or.cz/${PN}.git + https://repo.or.cz/r/${PN}.git" inherit git-r3 else SRC_URI="http://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz -- cgit v1.2.3