diff options
Diffstat (limited to 'sys-devel')
142 files changed, 3246 insertions, 1275 deletions
diff --git a/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild b/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild index 9af16046a2b..bce68764f86 100644 --- a/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild +++ b/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # File collisions. #540246 RDEPEND="!=gnome-base/gnome-common-3.14.0-r0 diff --git a/sys-devel/autoconf-archive/metadata.xml b/sys-devel/autoconf-archive/metadata.xml index de9d7842418..9eca8509dc8 100644 --- a/sys-devel/autoconf-archive/metadata.xml +++ b/sys-devel/autoconf-archive/metadata.xml @@ -6,4 +6,7 @@ <name>Gentoo Base System</name> </maintainer> <stabilize-allarches/> + <upstream> + <remote-id type="github">autoconf-archive/autoconf-archive</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild b/sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild deleted file mode 100644 index c78f57960b3..00000000000 --- a/sys-devel/autoconf-wrapper/autoconf-wrapper-15.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 - -DESCRIPTION="wrapper for autoconf to manage multiple autoconf versions" -HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_pre* ]] || \ -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -S="${WORKDIR}" - -src_install() { - exeinto /usr/$(get_libdir)/misc - newexe "${FILESDIR}"/ac-wrapper-${PV}.sh ac-wrapper.sh - - dodir /usr/bin - local x= - for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do - dosym ../$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x} - done -} diff --git a/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh b/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh deleted file mode 100644 index e5eda0e53f1..00000000000 --- a/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh +++ /dev/null @@ -1,203 +0,0 @@ -#!/bin/sh -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Based on the ac-wrapper.pl script provided by MandrakeSoft -# Rewritten in bash by Gregorio Guidi -# -# Executes the correct autoconf version. -# -# - defaults to newest version available (hopefully autoconf-2.60) -# - runs autoconf 2.13 if: -# - envvar WANT_AUTOCONF is set to `2.1' -# -or- -# - `ac{local,include}.m4' or `configure.{in,ac}' have AC_PREREQ(2.1) (not higher) -# -or- -# - `configure' is already present and was generated by autoconf 2.13 - -warn() { printf "ac-wrapper: $*\n" 1>&2; } -err() { warn "$@"; exit 1; } -unset IFS -which() { - local p - IFS=: # we don't use IFS anywhere, so don't bother saving/restoring - for p in ${PATH} ; do - p="${p}/$1" - [ -e "${p}" ] && echo "${p}" && return 0 - done - unset IFS - return 1 -} - -# -# Sanitize argv[0] since it isn't always a full path #385201 -# -argv0=${0##*/} -case ${0} in - ${argv0}) - # find it in PATH - if ! full_argv0=$(which "${argv0}") ; then - err "could not locate ${argv0}; file a bug" - fi - ;; - *) - # re-use full/relative paths - full_argv0=$0 - ;; -esac - -if [ "${argv0}" = "ac-wrapper.sh" ] ; then - err "Don't call this script directly" -fi - -if [ "${WANT_AUTOCONF}" = "2.1" ] && [ "${argv0}" = "autom4te" ] ; then - err "Autoconf 2.13 doesn't contain autom4te.\n" \ - " Either unset WANT_AUTOCONF or don't execute anything\n" \ - " that would use autom4te." -fi - -if ! seq 0 0 2>/dev/null 1>&2 ; then #338518 - seq() { - local f l i - case $# in - 1) f=1 i=1 l=$1;; - 2) f=$1 i=1 l=$2;; - 3) f=$1 i=$2 l=$3;; - esac - while :; do - [ $l -lt $f -a $i -gt 0 ] && break - [ $f -lt $l -a $i -lt 0 ] && break - echo $f - : $(( f += i )) - done - return 0 - } -fi - -# -# Set up bindings between actual version and WANT_AUTOCONF; -# Start at last known unstable/stable versions to speed up lookup process. -# -if [ -z "${KNOWN_AUTOCONF}" ] ; then - KNOWN_AUTOCONF="2.71:2.5 2.70:2.5 2.69:2.5" -fi -vers="${KNOWN_AUTOCONF} 9999:2.5 $(printf '2.%s:2.5 ' `seq 99 -1 59`) 2.13:2.1" - -binary="" -for v in ${vers} ; do - auto_ver=${v%:*} - if [ -z "${binary}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then - binary="${full_argv0}-${auto_ver}" - break - fi -done -if [ -z "${binary}" ] ; then - err "Unable to locate any usuable version of autoconf.\n" \ - "\tI tried these versions: ${vers}\n" \ - "\tWith a base name of '${full_argv0}'." -fi - -# -# Check the WANT_AUTOCONF setting. We accept a whitespace delimited -# list of autoconf versions. -# -if [ -n "${WANT_AUTOCONF}" ] ; then - for v in ${vers} x ; do - if [ "${v}" = "x" ] ; then - warn "warning: invalid WANT_AUTOCONF '${WANT_AUTOCONF}'; ignoring." - unset WANT_AUTOCONF - break - fi - - auto_ver=${v%:*} - want_ver=${v#*:} - for wx in ${WANT_AUTOCONF} ; do - if [ -x "${full_argv0}-${wx}" ] ; then - binary="${full_argv0}-${wx}" - v="x" - elif [ "${wx}" = "${want_ver}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then - binary="${full_argv0}-${auto_ver}" - v="x" - fi - done - [ "${v}" = "x" ] && break - done -fi - -# -# autodetect helpers -# -acprereq_version() { - sed -n -r \ - -e '/^\s*(#|dnl)/d' \ - -e '/AC_PREREQ/s:.*AC_PREREQ\s*\(\[?\s*([0-9.]+)\s*\]?\):\1:p' \ - "$@" | - LC_ALL=C sort -n -t . | - tail -1 -} - -generated_version() { - local re='^# Generated (by (GNU )?Autoconf|automatically using autoconf version) ([0-9.]+).*' - sed -n -r "/${re}/{s:${re}:\3:;p;q}" "$@" -} - -# -# autodetect routine -# -if [ "${WANT_AUTOCONF}" = "2.1" ] && [ -f "configure.ac" ] ; then - err "Since configure.ac is present, aclocal always use\n" \ - "\tautoconf 2.59+, which conflicts with your choice and\n" \ - "\tcauses error. You have two options:\n" \ - "\t1. Try execute command again after removing configure.ac\n" \ - "\t2. Don't set WANT_AUTOCONF" -fi - -if [ "${WANT_AUTOCONF:-2.1}" = "2.1" ] && [ -n "${WANT_AUTOMAKE}" ] ; then - # Automake-1.7 and better require autoconf-2.5x so if WANT_AUTOMAKE - # is set to an older version, let's do some sanity checks. - case "${WANT_AUTOMAKE}" in - 1.[456]) - acfiles=$(ls aclocal.m4 acinclude.m4 configure.in configure.ac 2>/dev/null) - [ -n "${acfiles}" ] && confversion=$(acprereq_version ${acfiles}) - - [ -z "${confversion}" ] && [ -r "configure" ] \ - && confversion=$(generated_version configure) - - if [ "${confversion}" = "2.1" ] && [ ! -f "configure.ac" ] ; then - binary="${full_argv0}-2.13" - fi - esac -fi - -if [ -n "${WANT_ACWRAPPER_DEBUG}" ] ; then - if [ -n "${WANT_AUTOCONF}" ] ; then - warn "DEBUG: WANT_AUTOCONF is set to ${WANT_AUTOCONF}" - fi - warn "DEBUG: will execute <${binary}>" -fi - -# -# for further consistency -# -if [ -z "${WANT_AUTOCONF}" ] ; then - for v in ${vers} ; do - auto_ver=${v%:*} - want_ver=${v#*:} - if [ "${binary}" = "${full_argv0}-${auto_ver}" ] ; then - export WANT_AUTOCONF="${want_ver}" - break - fi - done -fi - -# -# Now try to run the binary -# -if [ ! -x "${binary}" ] ; then - # this shouldn't happen - err "${binary} is missing or not executable.\n" \ - "\tPlease try emerging the correct version of autoconf." -fi - -exec "${binary}" "$@" -# The shell will error out if `exec` failed. diff --git a/sys-devel/autoconf/Manifest b/sys-devel/autoconf/Manifest index 4d729262f26..e7e8a8d234f 100644 --- a/sys-devel/autoconf/Manifest +++ b/sys-devel/autoconf/Manifest @@ -1,5 +1,4 @@ DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad -DIST autoconf-2.64.tar.xz 1113892 BLAKE2B 598873209a67725150cd4cf09c4b78b26b3d1782f259846da48dc8106a1d32ae2b24f3a864c3be0e9e8dc7d6b6ca8781b83ff33a691c88e68391d1ea861ccf23 SHA512 ee4b504447c14a59b849d0915e55a90522cfb071d1583af2bd3575e5a05d7bd290e55e0e9d0760c8f36043f926199fc2d962b559d27d2f95c70d0e147b4ad0a3 DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0 diff --git a/sys-devel/autoconf/autoconf-2.13-r1.ebuild b/sys-devel/autoconf/autoconf-2.13-r2.ebuild index 64ebbe28019..e84a401dd1b 100644 --- a/sys-devel/autoconf/autoconf-2.13-r1.ebuild +++ b/sys-devel/autoconf/autoconf-2.13-r2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit toolchain-autoconf @@ -11,12 +11,13 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="${PV:0:3}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -DEPEND=">=sys-apps/texinfo-4.3 - =sys-devel/m4-1.4* +BDEPEND=" + sys-devel/m4 dev-lang/perl" -RDEPEND="${DEPEND} +RDEPEND="${BDEPEND} + sys-apps/texinfo >=sys-devel/autoconf-wrapper-13" PATCHES=( diff --git a/sys-devel/autoconf/autoconf-2.64-r1.ebuild b/sys-devel/autoconf/autoconf-2.64-r1.ebuild deleted file mode 100644 index efed7086f51..00000000000 --- a/sys-devel/autoconf/autoconf-2.64-r1.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-autoconf - -DESCRIPTION="Used to create autoconfiguration files" -HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" -SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="${PV}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="" - -DEPEND=">=sys-devel/m4-1.4.6 - dev-lang/perl" -RDEPEND="${DEPEND} - !~sys-devel/${P}:2.5 - >=sys-devel/autoconf-wrapper-13" - -PATCHES=( - "${FILESDIR}"/${PN}-2.69-perl-5.26.patch - "${FILESDIR}"/${PN}-2.69-perl-5.26-2.patch -) diff --git a/sys-devel/autoconf/autoconf-2.69-r6.ebuild b/sys-devel/autoconf/autoconf-2.69-r6.ebuild new file mode 100644 index 00000000000..83a87598389 --- /dev/null +++ b/sys-devel/autoconf/autoconf-2.69-r6.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git" + inherit git-r3 +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + ftp://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz + https://dev.gentoo.org/~polynomial-c/dist/${P}-runstatedir_patches.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +inherit toolchain-autoconf + +DESCRIPTION="Used to create autoconfiguration files" +HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" + +LICENSE="GPL-3" +SLOT="${PV}" +IUSE="emacs" + +BDEPEND=" + >=sys-devel/m4-1.4.16 + >=dev-lang/perl-5.6 +" +RDEPEND=" + ${BDEPEND} + >=sys-devel/autoconf-wrapper-13 + !~sys-devel/${P}:2.5 +" + +[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3" + +PDEPEND="emacs? ( app-emacs/autoconf-mode )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.69-perl-5.26.patch + "${FILESDIR}"/${P}-fix-libtool-test.patch + "${FILESDIR}"/${PN}-2.69-perl-5.26-2.patch + "${FILESDIR}"/${P}-make-tests-bash5-compatible.patch + + "${WORKDIR}"/patches/${P}-texinfo.patch +) + +src_prepare() { + # usr/bin/libtool is provided by binutils-apple, need gnu libtool + if [[ ${CHOST} == *-darwin* ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-2.61-darwin.patch ) + fi + + # Save timestamp to avoid later makeinfo call + touch -r doc/{,old_}autoconf.texi || die + + toolchain-autoconf_src_prepare + + # Restore timestamp to avoid makeinfo call + # We already have an up to date autoconf.info page at this point. + touch -r doc/{old_,}autoconf.texi || die +} diff --git a/sys-devel/autoconf/autoconf-2.71-r1.ebuild b/sys-devel/autoconf/autoconf-2.71-r1.ebuild index 21a979c791b..7ef4e0bcbeb 100644 --- a/sys-devel/autoconf/autoconf-2.71-r1.ebuild +++ b/sys-devel/autoconf/autoconf-2.71-r1.ebuild @@ -30,8 +30,10 @@ LICENSE="GPL-3" SLOT="${PV/_*}" IUSE="emacs" +# for 2.71, our Perl time resolution patch changes our min Perl from 5.6 +# (vanilla upstream for 2.71) to 5.8. BDEPEND=">=sys-devel/m4-1.4.16 - >=dev-lang/perl-5.6" + >=dev-lang/perl-5.8" RDEPEND="${BDEPEND} >=sys-devel/autoconf-wrapper-15 sys-devel/gnuconfig diff --git a/sys-devel/autoconf/autoconf-9999.ebuild b/sys-devel/autoconf/autoconf-9999.ebuild index cb3d17704c6..a3424daaea2 100644 --- a/sys-devel/autoconf/autoconf-9999.ebuild +++ b/sys-devel/autoconf/autoconf-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,7 +22,7 @@ SLOT="${PV}" IUSE="emacs" BDEPEND=">=sys-devel/m4-1.4.16 - >=dev-lang/perl-5.6" + >=dev-lang/perl-5.10" RDEPEND="${BDEPEND} >=sys-devel/autoconf-wrapper-14 sys-devel/gnuconfig diff --git a/sys-devel/autogen/autogen-5.18.16-r1.ebuild b/sys-devel/autogen/autogen-5.18.16-r1.ebuild index e6ca874bac9..147472e14b0 100644 --- a/sys-devel/autogen/autogen-5.18.16-r1.ebuild +++ b/sys-devel/autogen/autogen-5.18.16-r1.ebuild @@ -18,6 +18,8 @@ IUSE="libopts static-libs" RDEPEND=">=dev-scheme/guile-2.0:= dev-libs/libxml2" DEPEND="${RDEPEND}" +# TODO: investigate & drop this! +BDEPEND="sys-apps/which" # We don't pass the flag explicitly, bug #796776. # Let's fix it upstream after next autogen release if it happens. diff --git a/sys-devel/automake-wrapper/automake-wrapper-11.ebuild b/sys-devel/automake-wrapper/automake-wrapper-11-r1.ebuild index c373025d175..e65eb87b26c 100644 --- a/sys-devel/automake-wrapper/automake-wrapper-11.ebuild +++ b/sys-devel/automake-wrapper/automake-wrapper-11-r1.ebuild @@ -1,17 +1,15 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 DESCRIPTION="wrapper for automake to manage multiple automake versions" HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git" +S="${WORKDIR}" LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="" - -S=${WORKDIR} src_unpack() { cp "${FILESDIR}"/am-wrapper-${PV}.sh "${S}"/ || die @@ -22,13 +20,12 @@ src_prepare() { # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell if use prefix ; then - sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' \ - "${S}"/am-wrapper-${PV}.sh || die + sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' am-wrapper-${PV}.sh || die fi } src_install() { - newbin "${S}"/am-wrapper-${PV}.sh automake + newbin am-wrapper-${PV}.sh automake dosym automake /usr/bin/aclocal keepdir /usr/share/aclocal diff --git a/sys-devel/automake/Manifest b/sys-devel/automake/Manifest index e5df40b3adb..e73efe27858 100644 --- a/sys-devel/automake/Manifest +++ b/sys-devel/automake/Manifest @@ -1,6 +1,4 @@ DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba DIST automake-1.13.4.tar.xz 1449608 BLAKE2B 03dee42d65362a6f36e81c83d516c85faba1aac59bdc0d941077fde9be7742da0f57b48d678169e7a0e8b652c3ef46c314cdd3efb0fc489c389852fed1c39a02 SHA512 c9b145c1b822a4d83f2899f4280a76ccae932301b273f4c9718dc7f53161aa03dc1be2c1fb1a61083c54186e1908ae2c8284250aa1d8f6dea484767aca1344d3 DIST automake-1.15.1.tar.xz 1509496 BLAKE2B e6ade31089f969140472004cd9854318470228c64e4f8e829d48c5379f62d2c5f8ef9509131c577653e81868d94544ecf6520f86b5d582ebb6ed65c832039f30 SHA512 02f661b2676f1d44334ce1c7188f9913a6874bf46ba487708ad8090ad57905f14aead80fefed815e21effacfbb925e23b944ea7dd32563dca39c1a4174eda688 -DIST automake-1.16.3.tar.xz 1590708 BLAKE2B ab6001a1b09e171ec83bac07155a77ab0fc29f5185116616aa3080b27e8bbf759472cd0dfb75630b26f7ad8d0741e668662d00b370ef79cf5ef6c62e945c94da SHA512 7265aeb7f82a8a205761d76e6ade7b7e97831c283349fd80f86e511f4b0b3e17f429d1506fca84c76079f63781e5dbf5ca81455d6bf6cda27d2e5c3d23b0d1aa -DIST automake-1.16.4.tar.xz 1599336 BLAKE2B a74bb444e7074e7dd7cf920a94a86756a5e6dec24a9eeb669ee629a1d3ab667efef0005d488fe6d9d8b33a680ada54f098ca334b63da4a739b0fec7c630a65aa SHA512 5a8883657e73b75bfa1ee59ab04af6bf4d43f390ab62fb7a9e8e2ac66159dfe4947b2ac7bc1028afffe6a09d88f388339500e03f6cdfa1226985be45ec033246 DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88 diff --git a/sys-devel/automake/automake-1.11.6-r3.ebuild b/sys-devel/automake/automake-1.11.6-r3.ebuild index 8b96c4f8314..2aea15120d4 100644 --- a/sys-devel/automake/automake-1.11.6-r3.ebuild +++ b/sys-devel/automake/automake-1.11.6-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,7 +14,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 s IUSE="" RESTRICT="test" -RDEPEND="dev-lang/perl +RDEPEND=">=dev-lang/perl-5.6 >=sys-devel/automake-wrapper-10 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" diff --git a/sys-devel/automake/automake-1.13.4-r2.ebuild b/sys-devel/automake/automake-1.13.4-r2.ebuild index 286477158c2..520ca9e3dae 100644 --- a/sys-devel/automake/automake-1.13.4-r2.ebuild +++ b/sys-devel/automake/automake-1.13.4-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,7 +14,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 s IUSE="" RESTRICT="test" -RDEPEND="dev-lang/perl +RDEPEND=">=dev-lang/perl-5.6 >=sys-devel/automake-wrapper-10 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" diff --git a/sys-devel/automake/automake-1.15.1-r2.ebuild b/sys-devel/automake/automake-1.15.1-r2.ebuild index 61626303e82..fcc66ddf352 100644 --- a/sys-devel/automake/automake-1.15.1-r2.ebuild +++ b/sys-devel/automake/automake-1.15.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -32,7 +32,7 @@ SLOT="${PV:0:4}" IUSE="" RESTRICT="test" -RDEPEND="dev-lang/perl +RDEPEND=">=dev-lang/perl-5.6 >=sys-devel/automake-wrapper-10 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" diff --git a/sys-devel/automake/automake-1.16.3-r1.ebuild b/sys-devel/automake/automake-1.16.3-r1.ebuild deleted file mode 100644 index 6908170eb07..00000000000 --- a/sys-devel/automake/automake-1.16.3-r1.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{8,9,10} ) - -inherit python-any-r1 - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" - - inherit git-r3 -else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - if [[ ${PV/_beta} == ${PV} ]]; then - MY_P="${P}" - SRC_URI="mirror://gnu/${PN}/${P}.tar.xz - https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - else - MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" - MY_P="${PN}-${MY_PV}" - - # Alpha/beta releases are not distributed on the usual mirrors. - SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - fi - S="${WORKDIR}/${MY_P}" -fi - -DESCRIPTION="Used to generate Makefile.in from Makefile.am" -HOMEPAGE="https://www.gnu.org/software/automake/" - -LICENSE="GPL-2" -# Use Gentoo versioning for slotting. -SLOT="${PV:0:4}" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-lang/perl - >=sys-devel/automake-wrapper-11 - >=sys-devel/autoconf-2.69:* - sys-devel/gnuconfig" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/gzip - sys-apps/help2man - test? ( ${PYTHON_DEPS} ) -" - -PATCHES=( - "${FILESDIR}"/automake-1.16.2-py3-compile.patch - "${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch - "${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch -) - -pkg_setup() { - # Avoid python-any-r1_pkg_setup - : -} - -src_prepare() { - default - export WANT_AUTOCONF=2.5 - # Don't try wrapping the autotools this thing runs as it tends - # to be a bit esoteric, and the script does `set -e` itself. - ./bootstrap || die - sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die - - # Bug 628912 - if ! has_version sys-apps/texinfo ; then - touch doc/{stamp-vti,version.texi,automake.info} || die - fi -} - -src_configure() { - use test && python_setup - default -} - -# slot the info pages. do this w/out munging the source so we don't have -# to depend on texinfo to regen things. #464146 (among others) -slot_info_pages() { - pushd "${ED}"/usr/share/info >/dev/null || die - rm -f dir - - # Rewrite all the references to other pages. - # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4. - # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4. - local p pages=( *.info ) args=() - for p in "${pages[@]/%.info}" ; do - args+=( - -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|" - -e "s:(${p}):(${p}-${SLOT}):g" - ) - done - sed -i "${args[@]}" * || die - - # Rewrite all the file references, and rename them in the process. - local f d - for f in * ; do - d=${f/.info/-${SLOT}.info} - mv "${f}" "${d}" || die - sed -i -e "s:${f}:${d}:g" * || die - done - - popd >/dev/null || die -} - -src_install() { - default - - slot_info_pages - rm "${ED}"/usr/share/aclocal/README || die - rmdir "${ED}"/usr/share/aclocal || die - rm \ - "${ED}"/usr/bin/{aclocal,automake} \ - "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die - - # remove all config.guess and config.sub files replacing them - # w/a symlink to a specific gnuconfig version - local x - for x in guess sub ; do - dosym ../gnuconfig/config.${x} \ - /usr/share/${PN}-${SLOT}/config.${x} - done - - # Avoid QA message about pre-compressed file in docs - local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" - if [[ -f "${tarfile}" ]] ; then - gunzip "${tarfile}" || die - fi -} diff --git a/sys-devel/automake/automake-1.16.4.ebuild b/sys-devel/automake/automake-1.16.4.ebuild deleted file mode 100644 index 6908170eb07..00000000000 --- a/sys-devel/automake/automake-1.16.4.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{8,9,10} ) - -inherit python-any-r1 - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" - - inherit git-r3 -else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - if [[ ${PV/_beta} == ${PV} ]]; then - MY_P="${P}" - SRC_URI="mirror://gnu/${PN}/${P}.tar.xz - https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - else - MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" - MY_P="${PN}-${MY_PV}" - - # Alpha/beta releases are not distributed on the usual mirrors. - SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - fi - S="${WORKDIR}/${MY_P}" -fi - -DESCRIPTION="Used to generate Makefile.in from Makefile.am" -HOMEPAGE="https://www.gnu.org/software/automake/" - -LICENSE="GPL-2" -# Use Gentoo versioning for slotting. -SLOT="${PV:0:4}" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-lang/perl - >=sys-devel/automake-wrapper-11 - >=sys-devel/autoconf-2.69:* - sys-devel/gnuconfig" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/gzip - sys-apps/help2man - test? ( ${PYTHON_DEPS} ) -" - -PATCHES=( - "${FILESDIR}"/automake-1.16.2-py3-compile.patch - "${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch - "${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch -) - -pkg_setup() { - # Avoid python-any-r1_pkg_setup - : -} - -src_prepare() { - default - export WANT_AUTOCONF=2.5 - # Don't try wrapping the autotools this thing runs as it tends - # to be a bit esoteric, and the script does `set -e` itself. - ./bootstrap || die - sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die - - # Bug 628912 - if ! has_version sys-apps/texinfo ; then - touch doc/{stamp-vti,version.texi,automake.info} || die - fi -} - -src_configure() { - use test && python_setup - default -} - -# slot the info pages. do this w/out munging the source so we don't have -# to depend on texinfo to regen things. #464146 (among others) -slot_info_pages() { - pushd "${ED}"/usr/share/info >/dev/null || die - rm -f dir - - # Rewrite all the references to other pages. - # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4. - # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4. - local p pages=( *.info ) args=() - for p in "${pages[@]/%.info}" ; do - args+=( - -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|" - -e "s:(${p}):(${p}-${SLOT}):g" - ) - done - sed -i "${args[@]}" * || die - - # Rewrite all the file references, and rename them in the process. - local f d - for f in * ; do - d=${f/.info/-${SLOT}.info} - mv "${f}" "${d}" || die - sed -i -e "s:${f}:${d}:g" * || die - done - - popd >/dev/null || die -} - -src_install() { - default - - slot_info_pages - rm "${ED}"/usr/share/aclocal/README || die - rmdir "${ED}"/usr/share/aclocal || die - rm \ - "${ED}"/usr/bin/{aclocal,automake} \ - "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die - - # remove all config.guess and config.sub files replacing them - # w/a symlink to a specific gnuconfig version - local x - for x in guess sub ; do - dosym ../gnuconfig/config.${x} \ - /usr/share/${PN}-${SLOT}/config.${x} - done - - # Avoid QA message about pre-compressed file in docs - local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" - if [[ -f "${tarfile}" ]] ; then - gunzip "${tarfile}" || die - fi -} diff --git a/sys-devel/automake/automake-1.16.5.ebuild b/sys-devel/automake/automake-1.16.5.ebuild index df393e3b107..75cb2be5e49 100644 --- a/sys-devel/automake/automake-1.16.5.ebuild +++ b/sys-devel/automake/automake-1.16.5.ebuild @@ -2,20 +2,20 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{8,9,10} ) + +PYTHON_COMPAT=( python3_{8..11} ) inherit python-any-r1 if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" - inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" if [[ ${PV/_beta} == ${PV} ]]; then MY_P="${P}" SRC_URI="mirror://gnu/${PN}/${P}.tar.xz https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" else MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" MY_P="${PN}-${MY_PV}" @@ -23,6 +23,7 @@ else # Alpha/beta releases are not distributed on the usual mirrors. SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" fi + S="${WORKDIR}/${MY_P}" fi @@ -35,7 +36,7 @@ SLOT="${PV:0:4}" IUSE="test" RESTRICT="!test? ( test )" -RDEPEND="dev-lang/perl +RDEPEND=">=dev-lang/perl-5.6 >=sys-devel/automake-wrapper-11 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" @@ -59,14 +60,15 @@ pkg_setup() { src_prepare() { default + export WANT_AUTOCONF=2.5 - # Don't try wrapping the autotools this thing runs as it tends + # Don't try wrapping the autotools - this thing runs as it tends # to be a bit esoteric, and the script does `set -e` itself. ./bootstrap || die sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die - # Bug 628912 - if ! has_version sys-apps/texinfo ; then + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then touch doc/{stamp-vti,version.texi,automake.info} || die fi } @@ -76,8 +78,8 @@ src_configure() { default } -# slot the info pages. do this w/out munging the source so we don't have -# to depend on texinfo to regen things. #464146 (among others) +# Slot the info pages. Do this w/out munging the source so we don't have +# to depend on texinfo to regen things. bug #464146 (among others) slot_info_pages() { pushd "${ED}"/usr/share/info >/dev/null || die rm -f dir diff --git a/sys-devel/automake/automake-9999.ebuild b/sys-devel/automake/automake-9999.ebuild index d5f464992b9..c5692937254 100644 --- a/sys-devel/automake/automake-9999.ebuild +++ b/sys-devel/automake/automake-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{8,9,10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit python-any-r1 @@ -23,6 +23,7 @@ else # Alpha/beta releases are not distributed on the usual mirrors. SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" fi + S="${WORKDIR}/${MY_P}" fi @@ -35,7 +36,7 @@ SLOT="${PV:0:4}" IUSE="test" RESTRICT="!test? ( test )" -RDEPEND="dev-lang/perl +RDEPEND=">=dev-lang/perl-5.6 >=sys-devel/automake-wrapper-11 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" @@ -46,11 +47,6 @@ BDEPEND=" test? ( ${PYTHON_DEPS} ) " -PATCHES=( - "${FILESDIR}"/automake-1.16.2-py3-compile.patch -) -# All patches have been submitted upstream. - pkg_setup() { # Avoid python-any-r1_pkg_setup : @@ -58,14 +54,15 @@ pkg_setup() { src_prepare() { default + export WANT_AUTOCONF=2.5 - # Don't try wrapping the autotools this thing runs as it tends + # Don't try wrapping the autotools - this thing runs as it tends # to be a bit esoteric, and the script does `set -e` itself. ./bootstrap || die sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die - # Bug 628912 - if ! has_version sys-apps/texinfo ; then + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then touch doc/{stamp-vti,version.texi,automake.info} || die fi } @@ -75,8 +72,8 @@ src_configure() { default } -# slot the info pages. do this w/out munging the source so we don't have -# to depend on texinfo to regen things. #464146 (among others) +# Slot the info pages. Do this w/out munging the source so we don't have +# to depend on texinfo to regen things. bug #464146 (among others) slot_info_pages() { pushd "${ED}"/usr/share/info >/dev/null || die rm -f dir diff --git a/sys-devel/bc/bc-1.07.1-r3.ebuild b/sys-devel/bc/bc-1.07.1-r4.ebuild index ae9a4a67805..82f798fc4f6 100644 --- a/sys-devel/bc/bc-1.07.1-r3.ebuild +++ b/sys-devel/bc/bc-1.07.1-r4.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 inherit flag-o-matic toolchain-funcs @@ -9,7 +9,7 @@ DESCRIPTION="Handy console-based calculator utility" HOMEPAGE="https://www.gnu.org/software/bc/bc.html" SRC_URI="mirror://gnu/bc/${P}.tar.gz" -LICENSE="GPL-2 LGPL-2.1" +LICENSE="GPL-3+" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="libedit readline static" @@ -17,25 +17,21 @@ IUSE="libedit readline static" RDEPEND=" !readline? ( libedit? ( dev-libs/libedit:= ) ) readline? ( - >=sys-libs/readline-4.1:0= - >=sys-libs/ncurses-5.2:= - ) -" -DEPEND=" - ${RDEPEND} + sys-libs/readline:= + sys-libs/ncurses:= + )" +DEPEND="${RDEPEND}" +BDEPEND=" sys-devel/flex - virtual/yacc -" + virtual/yacc" -PATCHES=( - "${FILESDIR}/${PN}-1.07.1-no-ed-its-sed.patch" -) +PATCHES=( "${FILESDIR}"/${PN}-1.07.1-no-ed-its-sed.patch ) src_prepare() { default - # Avoid bad build tool usage when cross-compiling. #627126 - tc-is-cross-compiler && eapply "${FILESDIR}/${PN}-1.07.1-use-system-bc.patch" + # Avoid bad build tool usage when cross-compiling. Bug #627126 + tc-is-cross-compiler && eapply "${FILESDIR}"/${PN}-1.07.1-use-system-bc.patch } src_configure() { @@ -52,8 +48,8 @@ src_configure() { econf "${myconf[@]}" # Do not regen docs -- configure produces a small fragment that includes - # the version info which causes all pages to regen (newer file). #554774 - touch -r doc doc/* + # the version info which causes all pages to regen (newer file). Bug #554774 + touch -r doc doc/* || die } src_compile() { diff --git a/sys-devel/bc/metadata.xml b/sys-devel/bc/metadata.xml index 73dda144f9a..b0d83aa2e48 100644 --- a/sys-devel/bc/metadata.xml +++ b/sys-devel/bc/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> -</maintainer> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> </pkgmetadata> diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r2.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r2.ebuild index abe6f85f3a2..b6e72448d38 100644 --- a/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r2.ebuild +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r2.ebuild @@ -70,19 +70,19 @@ BDEPEND=" RESTRICT="!test? ( test )" -MY_BUILDDIR=${WORKDIR}/build -S=${WORKDIR}/${P/-hppa64/} +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 + EGIT_CHECKOUT_DIR="${WORKDIR}"/patches-git git-r3_src_unpack mv patches-git/9999 patch || die + S="${WORKDIR}"/binutils EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - S=${WORKDIR}/binutils - EGIT_CHECKOUT_DIR=${S} + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack else unpack ${P/-hppa64/}.tar.xz @@ -94,7 +94,7 @@ src_unpack() { local dir=${P%_p?} dir=${dir/-hppa64/} - S=${WORKDIR}/${dir} + S="${WORKDIR}"/${dir} fi cd "${WORKDIR}" || die @@ -151,6 +151,11 @@ toolchain-binutils_pkgversion() { } src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + # Setup some paths LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} INCPATH=${LIBPATH}/include @@ -178,7 +183,7 @@ src_configure() { done echo - cd "${MY_BUILDDIR}" + cd "${MY_BUILDDIR}" || die local myconf=() if use plugins ; then @@ -251,7 +256,6 @@ src_configure() { --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. bug #490566 --disable-{gdb,libdecnumber,readline,sim} # Strip out broken static link flags. @@ -281,8 +285,7 @@ src_configure() { fi fi - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die + ECONF_SOURCE="${S}" econf "${myconf[@]}" || die # Prevent makeinfo from running if doc is unset. if ! use doc ; then @@ -296,11 +299,11 @@ src_compile() { cd "${MY_BUILDDIR}" || die # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all # only build info pages if the user wants them if use doc ; then - emake info + emake V=1 info fi # we nuke the manpages when we're left with junk @@ -309,12 +312,12 @@ src_compile() { } src_test() { - cd "${MY_BUILDDIR}" + cd "${MY_BUILDDIR}" || die # bug #637066 filter-flags -Wall -Wreturn-type - emake -k check + emake -k V=1 check } src_install() { @@ -323,7 +326,7 @@ src_install() { cd "${MY_BUILDDIR}" || die # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install rm -rf "${ED}"/${LIBPATH}/bin || die use static-libs || find "${ED}" -name '*.la' -delete diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest index db3df3d2e7c..63c7be532b4 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -13,3 +13,5 @@ DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c22 DIST binutils-2.38-patches-3.tar.xz 189068 BLAKE2B 5b14c90ab7dba253e92ad57b3a702fcbf48739dd0121ce8f739d88331da820ce44c35e16ac4bee394525c3a46bce980e9e1bbf4cbc9ce8a14fc324bc8fa059e7 SHA512 099266a8ef4272fd7f7552071e1892d114ed564a38b700df32e058ed691c6bfcd6f2454f649461f9c36594ea819a35d1e4cd2418609a2407be2a4f8885e500e3 DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a367e50684c59d08c47345cc546054269c42463d1651441720f865851e4e182e917df1a095c68e64226e0351b64e975d524096 SHA512 6657e547bb02898632cc45a8f1894be098aa7472b6725b65f95393e621abb127e468b4e50310720bf03f7e8d0a68bc2c47af76fc43aaa8f32b2e4a149c0c6290 DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d +DIST binutils-2.39-patches-3.tar.xz 57332 BLAKE2B 08bdcd35afb6310c5f61e8a93f60c624ff461a612d8b473b2cfc1d8eb94eedb311af0b39b5f8ac425f3676d8e1addd13a4b223983de2f6d579e50daec08d3881 SHA512 f8a1a908866637a39a3ad55d47304f3320ab663d299d8d231a873008a50bb2a09c89a2482394c017a2a73c2cfc48ed944e99b422fd5db19f829e45ff071bb659 +DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 diff --git a/sys-devel/binutils/binutils-2.38-r2.ebuild b/sys-devel/binutils/binutils-2.38-r2.ebuild index 4a491aa88c8..b4b21afc9d2 100644 --- a/sys-devel/binutils/binutils-2.38-r2.ebuild +++ b/sys-devel/binutils/binutils-2.38-r2.ebuild @@ -3,12 +3,12 @@ EAPI=7 -inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs +inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs DESCRIPTION="Tools necessary to build programs" HOMEPAGE="https://sourceware.org/binutils/" LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla" +IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla" REQUIRED_USE="default-gold? ( gold )" # Variables that can be set here (ignored for live ebuilds) @@ -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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi # @@ -52,6 +52,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } RDEPEND=" >=sys-devel/binutils-config-3 sys-libs/zlib + emacs? ( >=app-editors/emacs-23.1:* ) " DEPEND="${RDEPEND}" BDEPEND=" @@ -152,6 +153,11 @@ toolchain-binutils_pkgversion() { } src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + # Setup some paths LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} INCPATH=${LIBPATH}/include @@ -228,6 +234,9 @@ src_configure() { fi myconf+=( + # (--disable-silent-rules should get passed automatically w/ econf which we use + # in >= 2.39, so can drop it then.) + --disable-silent-rules --prefix="${EPREFIX}"/usr --host=${CHOST} --target=${CTARGET} @@ -296,13 +305,15 @@ src_configure() { src_compile() { cd "${MY_BUILDDIR}" # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all # only build info pages if the user wants them if use doc ; then - emake info + emake V=1 info fi + ! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el + # 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 @@ -314,7 +325,7 @@ src_test() { # bug 637066 filter-flags -Wall -Wreturn-type - emake -k check + emake -k V=1 check } src_install() { @@ -322,7 +333,7 @@ src_install() { cd "${MY_BUILDDIR}" # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install rm -rf "${ED}"/${LIBPATH}/bin use static-libs || find "${ED}" -name '*.la' -delete @@ -395,6 +406,11 @@ src_install() { dodoc opcodes/ChangeLog* fi + if ! is_cross && use emacs ; then + elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c} + elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" + fi + # Remove shared info pages rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} @@ -406,6 +422,8 @@ 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} + + ! is_cross && use emacs && elisp-site-regen } pkg_postrm() { @@ -429,6 +447,8 @@ pkg_postrm() { elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then binutils-config ${CTARGET}-${PV} fi + + ! is_cross && use emacs && elisp-site-regen } # Note [slotting support] diff --git a/sys-devel/binutils/binutils-2.39.ebuild b/sys-devel/binutils/binutils-2.39.ebuild new file mode 100644 index 00000000000..a97dadc161b --- /dev/null +++ b/sys-devel/binutils/binutils-2.39.ebuild @@ -0,0 +1,494 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" +LICENSE="GPL-3+" +IUSE="cet default-gold doc emacs gold multitarget +nls pgo +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=3 +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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~loong" +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 + emacs? ( >=app-editors/emacs-23.1:* ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + test? ( + dev-util/dejagnu + sys-devel/bc + ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # Make sure our explicit libdir paths don't get clobbered, bug #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible, bug #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 + + # 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() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + # 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, bug #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" || die + 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. bug #446946 + # + # We used to do it for everyone, but it's slow on 32bit arches. bug #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 + ) + + 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, bug #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + + # Available from 2.39 on + --enable-warn-execstack + --enable-warn-rwx-segments + # TODO: Available from 2.39+ on but let's try the warning on for a bit + # first... (--enable-warn-execstack) + # Could put it under USE=hardened? + #--disable-default-execstack (or is it --enable-default-execstack=no? docs are confusing) + + # Things to think about + #--enable-deterministic-archives + + # Works better than vapier's patch, bug #808787 + --enable-new-dtags + + --disable-jansson + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + # Disable modules that are in a combined binutils/gdb tree, bug #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. bug #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) + ) + + if ! is_cross ; then + myconf+=( $(use_enable pgo pgo-build lto) ) + + if use pgo ; then + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + ECONF_SOURCE="${S}" econf "${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}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake V=1 info + fi + + ! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el + + # 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}" || die + + # bug #637066 + filter-flags -Wall -Wreturn-type + + emake -k V=1 check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin || die + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905 + cd "${ED}"/${LIBPATH} || die + 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} || die + for x in * ; do + mv ${x} ${x/${CTARGET}-} || die + 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}/ || die + rm -r "${ED}"/${LIBPATH}/lib || die + 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}" || die + 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 + + if ! is_cross && use emacs ; then + elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c} + elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} + + ! is_cross && use emacs && elisp-site-regen +} + +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 + + ! is_cross && use emacs && elisp-site-regen +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}-<tool> +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild index 10b90a94dae..aa5e1dcfdff 100644 --- a/sys-devel/binutils/binutils-9999.ebuild +++ b/sys-devel/binutils/binutils-9999.ebuild @@ -3,12 +3,12 @@ EAPI=7 -inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs +inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs DESCRIPTION="Tools necessary to build programs" HOMEPAGE="https://sourceware.org/binutils/" LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla" +IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla" REQUIRED_USE="default-gold? ( gold )" # Variables that can be set here (ignored for live ebuilds) @@ -33,7 +33,7 @@ else https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) # live ebuild - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi # @@ -53,6 +53,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } RDEPEND=" >=sys-devel/binutils-config-3 sys-libs/zlib + emacs? ( >=app-editors/emacs-23.1:* ) " DEPEND="${RDEPEND}" BDEPEND=" @@ -148,6 +149,11 @@ toolchain-binutils_pkgversion() { } src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + # Setup some paths LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} INCPATH=${LIBPATH}/include @@ -175,7 +181,7 @@ src_configure() { done echo - cd "${MY_BUILDDIR}" + cd "${MY_BUILDDIR}" || die local myconf=() if use plugins ; then @@ -242,13 +248,26 @@ src_configure() { --enable-install-libiberty # Available from 2.35 on --enable-textrel-check=warning + + # Available from 2.39 on + --enable-warn-execstack + --enable-warn-rwx-segments + # TODO: Available from 2.39+ on but let's try the warning on for a bit + # first... (--enable-warn-execstack) + # Could put it under USE=hardened? + #--disable-default-execstack (or is it --enable-default-execstack=no? docs are confusing) + + # Things to think about + #--enable-deterministic-archives + # Works better than vapier's patch, bug #808787 --enable-new-dtags + + --disable-jansson --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, bug #490566 --disable-{gdb,libdecnumber,readline,sim} # Strip out broken static link flags. @@ -276,8 +295,7 @@ src_configure() { fi fi - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die + ECONF_SOURCE="${S}" econf "${myconf[@]}" || die # Prevent makeinfo from running if doc is unset. if ! use doc ; then @@ -291,13 +309,15 @@ src_compile() { cd "${MY_BUILDDIR}" || die # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all # only build info pages if the user wants them if use doc ; then - emake info + emake V=1 info fi + ! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el + # 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 @@ -309,7 +329,7 @@ src_test() { # bug #637066 filter-flags -Wall -Wreturn-type - emake -k check + emake -k V=1 check } src_install() { @@ -318,7 +338,7 @@ src_install() { cd "${MY_BUILDDIR}" || die # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install rm -rf "${ED}"/${LIBPATH}/bin || die use static-libs || find "${ED}" -name '*.la' -delete @@ -399,17 +419,24 @@ src_install() { dodoc opcodes/ChangeLog* fi + if ! is_cross && use emacs ; then + elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c} + elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" + fi + # Remove shared info pages - rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} || die + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} # Trim all empty dirs - find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null || die + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null } pkg_postinst() { # Make sure this ${CTARGET} has a binutils version selected [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 binutils-config ${CTARGET}-${PV} + + ! is_cross && use emacs && elisp-site-regen } pkg_postrm() { @@ -433,6 +460,8 @@ pkg_postrm() { elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then binutils-config ${CTARGET}-${PV} fi + + ! is_cross && use emacs && elisp-site-regen } # Note [slotting support] diff --git a/sys-devel/binutils/files/50binutils-gentoo.el b/sys-devel/binutils/files/50binutils-gentoo.el new file mode 100644 index 00000000000..7caa9f19a37 --- /dev/null +++ b/sys-devel/binutils/files/50binutils-gentoo.el @@ -0,0 +1,3 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'dwarf-browse "dwarf-mode" + "Invoke `objdump' and put output into a `dwarf-mode' buffer." t) diff --git a/sys-devel/bison/bison-3.7.6.ebuild b/sys-devel/bison/bison-3.7.6.ebuild index a9e566e5e63..c54b9733811 100644 --- a/sys-devel/bison/bison-3.7.6.ebuild +++ b/sys-devel/bison/bison-3.7.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz https://dev.gentoo.org/~whissi/dist/bison/${PATCH_TAR} https://dev.gentoo.org/~polynomial-c/dist/bison/${PATCH_TAR}" -LICENSE="GPL-2" +LICENSE="GPL-3+" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="examples nls static test" diff --git a/sys-devel/bison/bison-3.8.2.ebuild b/sys-devel/bison/bison-3.8.2.ebuild index 8d135411443..235b7ff655f 100644 --- a/sys-devel/bison/bison-3.8.2.ebuild +++ b/sys-devel/bison/bison-3.8.2.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://www.gnu.org/software/bison/" SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" -LICENSE="GPL-2" +LICENSE="GPL-3+" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="examples nls static test" diff --git a/sys-devel/bison/metadata.xml b/sys-devel/bison/metadata.xml index 73dda144f9a..5ed43596bb0 100644 --- a/sys-devel/bison/metadata.xml +++ b/sys-devel/bison/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> -</maintainer> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <upstream> + <remote-id type="github">akimd/bison</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest index 056705c91c0..70be4886401 100644 --- a/sys-devel/bmake/Manifest +++ b/sys-devel/bmake/Manifest @@ -1,3 +1,4 @@ -DIST bmake-20220330.tar.gz 804133 BLAKE2B 2d8064c0af0fc5d18660e59fe6d08af055dcf1a387974ecdcf346e2c28926dab5266141f037c037a4ddc00e40977cd437bb24f776e37ca09b7308104eafb8e52 SHA512 211cf9f70449921a9ddaf2e0ef23dd170f04005231451d229a0f2bd03e0f60fc1f239d9946d4e46985092cafe987d858ea265207066cf55da2cb5a483e1a31ab DIST bmake-20220418.tar.gz 805986 BLAKE2B 6569956d81a9c67cc95756831ec086b392af69cb2b068f11d3beb237ca3f62059b9102695f28aa4093b589af52c512545bd86d91a410d681f3835a99b8270f6f SHA512 89fa5cb6e35ee1cd6a32acf291bda33b3a7272c4ef25d38412b8caa7e092210c8fa04a11d19d3c19b7e60dee2cf0a5049cf393be6e25b6e28bab2eea50e03204 +DIST bmake-20220612.tar.gz 810914 BLAKE2B afb7691bdffe799e629f856ba61226cd93217890ef10e2803d6dda28e16439f2a3583d98964700858dfabdf38d62a1ad06eefaa49570e45fccb9bcddac3fb68b SHA512 c7b352ca44c30c107bcae544125989dcea9cb32ea296f875ed84313bb72633366191b86f30c38fe733fb27bf91a040a063059070efefa774089af5694af2bc3f +DIST bmake-20220726.tar.gz 812288 BLAKE2B 272964d54146c40fefbfa3f80b32c201a10d9bcf1e24fdb863b62c620208e680267eb7736e404c7521b1399bbbc5758f908179ca24543318975424e0f40914a2 SHA512 35480ae9580b3f356d7bc4c5f007dcf76090aad619b6432aad3d397b921993aa2b5943a2b3dee6617a75868197d5b28957012a8580d4103a6bf9d6195b80e141 DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b diff --git a/sys-devel/bmake/bmake-20220418.ebuild b/sys-devel/bmake/bmake-20220418.ebuild index 5505e007c65..7e0fdf7ced7 100644 --- a/sys-devel/bmake/bmake-20220418.ebuild +++ b/sys-devel/bmake/bmake-20220418.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ~ppc ~x86" # Skip failing test (sandbox and csh) PATCHES=( diff --git a/sys-devel/bmake/bmake-20220330.ebuild b/sys-devel/bmake/bmake-20220612.ebuild index a69c0ea95fc..7e0fdf7ced7 100644 --- a/sys-devel/bmake/bmake-20220330.ebuild +++ b/sys-devel/bmake/bmake-20220612.ebuild @@ -17,7 +17,10 @@ SLOT="0" KEYWORDS="amd64 ~ppc ~x86" # Skip failing test (sandbox and csh) -PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch ) +PATCHES=( + "${FILESDIR}"/${PN}-20210206-tests.patch + "${FILESDIR}"/${PN}-20220418-warnings.patch +) src_prepare() { default diff --git a/sys-devel/bmake/bmake-20220726.ebuild b/sys-devel/bmake/bmake-20220726.ebuild new file mode 100644 index 00000000000..5505e007c65 --- /dev/null +++ b/sys-devel/bmake/bmake-20220726.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MK_VER=20210330 + +DESCRIPTION="NetBSD's portable make" +HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html" +SRC_URI=" + http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz + http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +# Skip failing test (sandbox and csh) +PATCHES=( + "${FILESDIR}"/${PN}-20210206-tests.patch + "${FILESDIR}"/${PN}-20220418-warnings.patch +) + +src_prepare() { + default + cd "${WORKDIR}" || die + eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch +} + +src_configure() { + econf \ + --with-mksrc=../mk \ + --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \ + --with-machine_arch=${ARCH} +} + +src_compile() { + sh make-bootstrap.sh || die "bootstrap failed" +} + +src_test() { + cd unit-tests || die + + # the 'ternary' test uses ${A} internally, which + # conflicts with Gentoo's ${A}, hence unset it for + # the tests temporarily. + env -u A MAKEFLAGS= \ + "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed" +} + +src_install() { + dobin ${PN} + doman ${PN}.1 + FORCE_BSD_MK=1 SYS_MK_DIR=. \ + sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \ + || die "failed to install mk files" +} diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index bf3dff4f068..0baa75d11b4 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -1,4 +1,5 @@ -DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 +DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 +DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 +DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9 +DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f -DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 -DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-devel/clang-common/clang-common-14.0.3.ebuild b/sys-devel/clang-common/clang-common-14.0.6.ebuild index 798f9e9fb85..38e08a5dea8 100644 --- a/sys-devel/clang-common/clang-common-14.0.3.ebuild +++ b/sys-devel/clang-common/clang-common-14.0.6.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" PDEPEND=" sys-devel/clang:* diff --git a/sys-devel/clang-common/clang-common-14.0.1.ebuild b/sys-devel/clang-common/clang-common-15.0.0_rc2.ebuild index a422bd9111c..1285500128b 100644 --- a/sys-devel/clang-common/clang-common-14.0.1.ebuild +++ b/sys-devel/clang-common/clang-common-15.0.0_rc2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit bash-completion-r1 llvm.org @@ -10,14 +10,14 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="" +KEYWORDS="" -PDEPEND="sys-devel/clang:*" +PDEPEND=" + sys-devel/clang:* +" -LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +LLVM_COMPONENTS=( clang/utils ) llvm.org_set_globals -S=${WORKDIR}/clang/utils src_install() { newbashcomp bash-autocomplete.sh clang diff --git a/sys-devel/clang-common/clang-common-12.0.1.ebuild b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild index 70896015ab6..1285500128b 100644 --- a/sys-devel/clang-common/clang-common-12.0.1.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit bash-completion-r1 llvm.org @@ -10,14 +10,14 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="" +KEYWORDS="" -PDEPEND="sys-devel/clang:*" +PDEPEND=" + sys-devel/clang:* +" -LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +LLVM_COMPONENTS=( clang/utils ) llvm.org_set_globals -S=${WORKDIR}/clang/utils src_install() { newbashcomp bash-autocomplete.sh clang diff --git a/sys-devel/clang-common/metadata.xml b/sys-devel/clang-common/metadata.xml index 3ad9b7a7c0e..072910296ca 100644 --- a/sys-devel/clang-common/metadata.xml +++ b/sys-devel/clang-common/metadata.xml @@ -4,4 +4,7 @@ <maintainer type="project"> <email>llvm@gentoo.org</email> </maintainer> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/clang-runtime/clang-runtime-14.0.3.ebuild b/sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild index f0ec9851054..9837077e6c5 100644 --- a/sys-devel/clang-runtime/clang-runtime-14.0.3.ebuild +++ b/sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://clang.llvm.org/" LICENSE="metapackage" SLOT="$(ver_cut 1-3)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+compiler-rt libcxx openmp +sanitize" REQUIRED_USE="sanitize? ( compiler-rt )" diff --git a/sys-devel/clang-runtime/clang-runtime-14.0.1.ebuild b/sys-devel/clang-runtime/clang-runtime-15.0.0_rc2.ebuild index 18c271cc01b..e4ff9326ddc 100644 --- a/sys-devel/clang-runtime/clang-runtime-14.0.1.ebuild +++ b/sys-devel/clang-runtime/clang-runtime-15.0.0_rc2.ebuild @@ -1,19 +1,19 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="" IUSE="+compiler-rt libcxx openmp +sanitize" REQUIRED_USE="sanitize? ( compiler-rt )" +PROPERTIES="live" RDEPEND=" compiler-rt? ( @@ -23,4 +23,5 @@ RDEPEND=" ) ) libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) - openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] ) +" diff --git a/sys-devel/clang-runtime/clang-runtime-12.0.1.ebuild b/sys-devel/clang-runtime/clang-runtime-16.0.0.9999.ebuild index 1b29ce1a433..e4ff9326ddc 100644 --- a/sys-devel/clang-runtime/clang-runtime-12.0.1.ebuild +++ b/sys-devel/clang-runtime/clang-runtime-16.0.0.9999.ebuild @@ -1,24 +1,27 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 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="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" +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} ) + ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + sanitize? ( + ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + ) ) libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) - openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] ) +" diff --git a/sys-devel/clang-runtime/metadata.xml b/sys-devel/clang-runtime/metadata.xml index 2180b1b1668..83929061543 100644 --- a/sys-devel/clang-runtime/metadata.xml +++ b/sys-devel/clang-runtime/metadata.xml @@ -10,4 +10,7 @@ <flag name="openmp">Install <pkg>sys-libs/libomp</pkg> for -fopenmp support</flag> <flag name="sanitize">Enable compiler-rt sanitizer (-fsanitize*) support</flag> </use> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index a512f6aad3e..f69812dabd8 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -1,13 +1,11 @@ -DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5 DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 -DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29 -DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3 -DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 +DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 -DIST llvm-gentoo-patchset-14.0.1-r1.tar.xz 6132 BLAKE2B c99f57a09f214361f2728938ec587e3ef0b473363919058e39fb75c012cc94771b9116b1820f1bd001151eb5f49cc6beaa7572e60e4095811fffb12717a8c5a8 SHA512 af9eca93c9ba91429b0bb07290dce1c9742338dd0635423bc59ebead91a7493a49b66bd36a7ce4cf715fa660678218f64e0ba85824a0869b8e31b81be9f0bb3d -DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6 +DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c +DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269 DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a -DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 +DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 +DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 +DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9 +DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f -DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 -DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-devel/clang/clang-13.0.1.ebuild b/sys-devel/clang/clang-13.0.1.ebuild index 6f7c66ee8f0..ad43beaccb8 100644 --- a/sys-devel/clang/clang-13.0.1.ebuild +++ b/sys-devel/clang/clang-13.0.1.ebuild @@ -45,7 +45,7 @@ PDEPEND=" default-lld? ( sys-devel/lld )" LLVM_COMPONENTS=( clang clang-tools-extra ) -LLVM_MANPAGES=pregenerated +LLVM_MANPAGES=1 LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -118,7 +118,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) diff --git a/sys-devel/clang/clang-14.0.3.ebuild b/sys-devel/clang/clang-14.0.6-r1.ebuild index 19d50597423..d112e1da063 100644 --- a/sys-devel/clang/clang-14.0.3.ebuild +++ b/sys-devel/clang/clang-14.0.6-r1.ebuild @@ -15,7 +15,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x64-macos" IUSE=" debug default-compiler-rt default-libcxx default-lld doc llvm-libunwind +pie +static-analyzer test xml @@ -58,13 +58,13 @@ LLVM_COMPONENTS=( clang clang-tools-extra cmake llvm/lib/Transforms/Hello ) -LLVM_MANPAGES=pregenerated +LLVM_MANPAGES=1 LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} ) -LLVM_PATCHSET=${PV} +LLVM_PATCHSET=${PV}-r2 LLVM_USE_TARGETS=llvm llvm.org_set_globals @@ -127,7 +127,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) diff --git a/sys-devel/clang/clang-15.0.0.9999.ebuild b/sys-devel/clang/clang-15.0.0.9999.ebuild index eed1670c87e..ce8bd9ade18 100644 --- a/sys-devel/clang/clang-15.0.0.9999.ebuild +++ b/sys-devel/clang/clang-15.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake llvm llvm.org multilib multilib-minimal \ prefix python-single-r1 toolchain-funcs @@ -58,7 +58,7 @@ LLVM_COMPONENTS=( clang clang-tools-extra cmake llvm/lib/Transforms/Hello ) -LLVM_MANPAGES=build +LLVM_MANPAGES=1 LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -127,7 +127,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -164,6 +164,27 @@ get_distribution_components() { clang-resource-headers libclang-headers + aarch64-resource-headers + arm-common-resource-headers + arm-resource-headers + core-resource-headers + cuda-resource-headers + hexagon-resource-headers + hip-resource-headers + hlsl-resource-headers + mips-resource-headers + opencl-resource-headers + openmp-resource-headers + ppc-htm-resource-headers + ppc-resource-headers + riscv-resource-headers + systemz-resource-headers + utility-resource-headers + ve-resource-headers + webassembly-resource-headers + windows-resource-headers + x86-resource-headers + # libs clang-cpp libclang @@ -180,7 +201,9 @@ get_distribution_components() { clang clang-format clang-offload-bundler + clang-offload-packager clang-offload-wrapper + clang-pseudo clang-refactor clang-repl clang-rename diff --git a/sys-devel/clang/clang-12.0.1.ebuild b/sys-devel/clang/clang-15.0.0_rc2.ebuild index e4b38d29477..dd82d65a5ac 100644 --- a/sys-devel/clang/clang-12.0.1.ebuild +++ b/sys-devel/clang/clang-15.0.0_rc2.ebuild @@ -1,51 +1,47 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) 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/" -# Keep in sync with sys-devel/llvm -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE ) -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore - "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) - # MSVCSetupApi.h: MIT # sorttable.js: MIT LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x64-macos" -IUSE="debug default-compiler-rt default-libcxx default-lld - doc llvm-libunwind +static-analyzer test xml ${ALL_LLVM_TARGETS[*]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE} - || ( ${ALL_LLVM_TARGETS[*]} )" +KEYWORDS="" +IUSE=" + debug default-compiler-rt default-libcxx default-lld doc + llvm-libunwind +pie +static-analyzer test xml +" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" -RDEPEND=" +DEPEND=" ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] static-analyzer? ( dev-lang/perl:* ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS}" -for x in "${ALL_LLVM_TARGETS[@]}"; do - RDEPEND+=" - ${x}? ( ~sys-devel/llvm-${PV}:${SLOT}[${x}] )" -done -unset x - -DEPEND="${RDEPEND}" +" + +RDEPEND=" + ${PYTHON_DEPS} + ${DEPEND} +" BDEPEND=" + ${PYTHON_DEPS} >=dev-util/cmake-3.16 - doc? ( dev-python/sphinx ) + doc? ( $(python_gen_cond_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) xml? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" +" PDEPEND=" sys-devel/clang-common ~sys-devel/clang-runtime-${PV} @@ -55,16 +51,21 @@ PDEPEND=" !llvm-libunwind? ( sys-libs/libunwind ) ) default-libcxx? ( >=sys-libs/libcxx-${PV} ) - default-lld? ( sys-devel/lld )" + default-lld? ( sys-devel/lld ) +" -LLVM_COMPONENTS=( clang clang-tools-extra ) -LLVM_MANPAGES=pregenerated +LLVM_COMPONENTS=( + clang clang-tools-extra cmake + llvm/lib/Transforms/Hello +) +LLVM_MANPAGES=1 LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} ) -LLVM_PATCHSET=12.0.1 +LLVM_PATCHSET=${PV/_/-} +LLVM_USE_TARGETS=llvm llvm.org_set_globals # Multilib notes: @@ -92,7 +93,7 @@ src_prepare() { # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) eprefixify \ - lib/Frontend/InitHeaderSearch.cpp \ + lib/Lex/InitHeaderSearch.cpp \ lib/Driver/ToolChains/Darwin.cpp || die } @@ -111,10 +112,6 @@ check_distribution_components() { clang-libraries|distribution) continue ;; - # headers for clang-tidy static library - clang-tidy-headers) - continue - ;; # tools clang|clangd|clang-*) ;; @@ -130,7 +127,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -167,6 +164,27 @@ get_distribution_components() { clang-resource-headers libclang-headers + aarch64-resource-headers + arm-common-resource-headers + arm-resource-headers + core-resource-headers + cuda-resource-headers + hexagon-resource-headers + hip-resource-headers + hlsl-resource-headers + mips-resource-headers + opencl-resource-headers + openmp-resource-headers + ppc-htm-resource-headers + ppc-resource-headers + riscv-resource-headers + systemz-resource-headers + utility-resource-headers + ve-resource-headers + webassembly-resource-headers + windows-resource-headers + x86-resource-headers + # libs clang-cpp libclang @@ -183,8 +201,11 @@ get_distribution_components() { clang clang-format clang-offload-bundler + clang-offload-packager clang-offload-wrapper + clang-pseudo clang-refactor + clang-repl clang-rename clang-scan-deps diagtool @@ -199,6 +220,7 @@ get_distribution_components() { clang-query clang-reorder-fields clang-tidy + clang-tidy-headers clangd find-all-symbols modularize @@ -222,6 +244,7 @@ get_distribution_components() { clang-check clang-extdef-mapping scan-build + scan-build-py scan-view ) fi @@ -263,6 +286,7 @@ multilib_src_configure() { -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_PIE_ON_LINUX=$(usex pie) -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) @@ -272,6 +296,7 @@ multilib_src_configure() { ) use test && mycmakeargs+=( -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" -DLLVM_LIT_ARGS="$(get_lit_flags)" ) @@ -352,6 +377,7 @@ 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 "${T}"/clang-tidy "${ED}"/usr/include/ || die mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die # Apply CHOST and version suffix to clang tools @@ -397,6 +423,11 @@ multilib_src_install() { 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 + if multilib_is_native_abi; then + # don't wrap clang-tidy headers, the list is too long + # (they're fine for non-native ABI but enabling the targets is problematic) + mv "${ED}"/usr/include/clang-tidy "${T}/" || die + fi } multilib_src_install_all() { diff --git a/sys-devel/clang/clang-14.0.1-r1.ebuild b/sys-devel/clang/clang-16.0.0.9999.ebuild index 01be8123474..ce8bd9ade18 100644 --- a/sys-devel/clang/clang-14.0.1-r1.ebuild +++ b/sys-devel/clang/clang-16.0.0.9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake llvm llvm.org multilib multilib-minimal \ prefix python-single-r1 toolchain-funcs @@ -15,27 +15,33 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" -IUSE="debug default-compiler-rt default-libcxx default-lld - doc llvm-libunwind +pie +static-analyzer test xml" +KEYWORDS="" +IUSE=" + debug default-compiler-rt default-libcxx default-lld doc + llvm-libunwind +pie +static-analyzer test xml +" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" -RDEPEND=" +DEPEND=" ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] static-analyzer? ( dev-lang/perl:* ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS}" +" -DEPEND="${RDEPEND}" +RDEPEND=" + ${PYTHON_DEPS} + ${DEPEND} +" BDEPEND=" + ${PYTHON_DEPS} >=dev-util/cmake-3.16 doc? ( $(python_gen_cond_dep ' dev-python/recommonmark[${PYTHON_USEDEP}] dev-python/sphinx[${PYTHON_USEDEP}] ') ) xml? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" +" PDEPEND=" sys-devel/clang-common ~sys-devel/clang-runtime-${PV} @@ -45,19 +51,20 @@ PDEPEND=" !llvm-libunwind? ( sys-libs/libunwind ) ) default-libcxx? ( >=sys-libs/libcxx-${PV} ) - default-lld? ( sys-devel/lld )" + default-lld? ( sys-devel/lld ) +" LLVM_COMPONENTS=( clang clang-tools-extra cmake llvm/lib/Transforms/Hello ) -LLVM_MANPAGES=pregenerated +LLVM_MANPAGES=1 LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} ) -LLVM_PATCHSET=14.0.1-r1 +LLVM_PATCHSET=9999-r3 LLVM_USE_TARGETS=llvm llvm.org_set_globals @@ -120,7 +127,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -157,6 +164,27 @@ get_distribution_components() { clang-resource-headers libclang-headers + aarch64-resource-headers + arm-common-resource-headers + arm-resource-headers + core-resource-headers + cuda-resource-headers + hexagon-resource-headers + hip-resource-headers + hlsl-resource-headers + mips-resource-headers + opencl-resource-headers + openmp-resource-headers + ppc-htm-resource-headers + ppc-resource-headers + riscv-resource-headers + systemz-resource-headers + utility-resource-headers + ve-resource-headers + webassembly-resource-headers + windows-resource-headers + x86-resource-headers + # libs clang-cpp libclang @@ -173,7 +201,9 @@ get_distribution_components() { clang clang-format clang-offload-bundler + clang-offload-packager clang-offload-wrapper + clang-pseudo clang-refactor clang-repl clang-rename diff --git a/sys-devel/clang/metadata.xml b/sys-devel/clang/metadata.xml index be058e8ac6e..9eff0810e61 100644 --- a/sys-devel/clang/metadata.xml +++ b/sys-devel/clang/metadata.xml @@ -32,4 +32,7 @@ Conformance with C/C++/ObjC and their variants</longdescription> <flag name="default-lld">Use lld as the default linker for clang</flag> <flag name="static-analyzer">Install the Clang static analyzer</flag> </use> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest index cc9f5358079..a09703da90c 100644 --- a/sys-devel/crossdev/Manifest +++ b/sys-devel/crossdev/Manifest @@ -1,3 +1,5 @@ DIST crossdev-20211121.tar.xz 28700 BLAKE2B bfe637dcd3c5b6d45e289d6298de18cab4b70b5d21a817a9207b91360b489457b9ee10266a1c2641f8dfac09dffb166bf1565a7e519ba41f84c6d5c2000f5158 SHA512 5189fa7639b819dfffc8f994bb557d8d83f115b82cd61d938db77fdcf16a33cc9d0147f9708b3bed22fdc4ace27ac863436813ebad94876ae767172ac0cbb9ce DIST crossdev-20220205.tar.xz 29088 BLAKE2B 46e90557f0a6df49e4f6ab7be6495514a188c4366868290d3b6b879ad1e5741e1600bca237735290f7e9278d441534569853b582cd85b96581c6ae0517cb4c54 SHA512 72e7cf690d49a87b32f6fdad2462fd4156e4e35a3f0b5f30911012a2b7936bb999575f757547a7a805c0cfdd1fd0caa8b23bf61e72c4333096314043ed565f40 DIST crossdev-20220424.tar.xz 29316 BLAKE2B 8b026c165b643262ef934fb2daec5484bc2a2e8c2cafbaca08ecb81c2870a6306dd834c9f72bca8cbe219d1b24274fef0b83a88e301e66d98a1eb0825bb2e161 SHA512 3c2ac2d9c79140c6e0aa7ac9fa7838499f003c6c9c1260abf4b0b7883d2179ef1ded5ab0ba14ca48d471edde5090e22a50fffbf25fd86a32d354a9541e4fd567 +DIST crossdev-20220617.tar.xz 29396 BLAKE2B e3b39edfb4cbd5808851b56d86646bc879ea875b5e320802d86073236474e3aa80c5dbefc42ef4799528334bfb5a2a0abb5c0b344ebdce39ec01aac59306eb84 SHA512 bdc5ea519e4cd6275e8171ff7cd35c8ae45b6240fefd278997e247c8b0758bff6563f7e2613072e179ec4735155f05236f32385fe13579c5e955f761e0859e43 +DIST crossdev-20220709.tar.xz 29408 BLAKE2B dc96be5d86b343215564c2c15e91314c5ed88c765cec4f222b08a7e942ab5fb230915a0cdc3245719c0b12b4ce579066c6a88ae8e7ef4e44b80d8f0c5ddf7663 SHA512 f27929db8b4f7036408a0db18d46eb84312e1cef279336e13a07422ed3a154f3a21821d2d5ada66c0fca37bd70750413dab87b795c957a0a81cb9f27ebce2b90 diff --git a/sys-devel/crossdev/crossdev-20220617.ebuild b/sys-devel/crossdev/crossdev-20220617.ebuild new file mode 100644 index 00000000000..1701b22179d --- /dev/null +++ b/sys-devel/crossdev/crossdev-20220617.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 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="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-20220709.ebuild b/sys-devel/crossdev/crossdev-20220709.ebuild new file mode 100644 index 00000000000..1701b22179d --- /dev/null +++ b/sys-devel/crossdev/crossdev-20220709.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 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="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 8c680c914ad..1701b22179d 100644 --- a/sys-devel/crossdev/crossdev-99999999.ebuild +++ b/sys-devel/crossdev/crossdev-99999999.ebuild @@ -29,7 +29,7 @@ BDEPEND="app-arch/xz-utils" src_install() { default - if [[ "${PV}" == "99999999" ]] ; then + if [[ ${PV} == "99999999" ]] ; then sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die fi } diff --git a/sys-devel/distcc/distcc-3.4-r1.ebuild b/sys-devel/distcc/distcc-3.4-r1.ebuild new file mode 100644 index 00000000000..1bee4f2f642 --- /dev/null +++ b/sys-devel/distcc/distcc-3.4-r1.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit autotools flag-o-matic prefix python-single-r1 systemd + +DESCRIPTION="Distribute compilation of C code across several machines on a network" +HOMEPAGE="https://github.com/distcc/distcc" +SRC_URI="https://github.com/distcc/distcc/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="gssapi gtk hardened ipv6 selinux xinetd zeroconf" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-libs/popt + gssapi? ( net-libs/libgssglue ) + gtk? ( x11-libs/gtk+:3 ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) +" +DEPEND="${RDEPEND} + sys-libs/binutils-libs" +BDEPEND=" + sys-devel/autoconf-archive + virtual/pkgconfig" +RDEPEND+=" + acct-user/distcc + dev-util/shadowman + >=sys-devel/gcc-config-1.4.1 + selinux? ( sec-policy/selinux-distcc ) + xinetd? ( sys-apps/xinetd )" + +src_prepare() { + eapply "${FILESDIR}/${PN}-3.0-xinetd.patch" + # SOCKSv5 support needed for Portage, bug #537616 + eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch" + eapply "${FILESDIR}/${PN}-3.4-pump-tests.patch" + eapply_user + + # Bugs #120001, #167844 and probably more. See patch for description. + use hardened && eapply "${FILESDIR}/distcc-hardened.patch" + + sed -i \ + -e "/PATH/s:\$distcc_location:${EPREFIX}/usr/lib/distcc/bin:" \ + -e "s:@PYTHON@:${EPYTHON}:" \ + pump.in || die "sed failed" + + sed \ + -e "s:@EPREFIX@:${EPREFIX:-/}:" \ + -e "s:@libdir@:/usr/lib:" \ + "${FILESDIR}/distcc-config" > "${T}/distcc-config" || die + + # TODO: gdb tests fail due to gdb failing to find .c file + sed -i -e '/Gdb.*Case,/d' test/testdistcc.py || die + + hprefixify update-distcc-symlinks.py src/{serve,daemon}.c + python_fix_shebang update-distcc-symlinks.py "${T}/distcc-config" + eautoreconf +} + +src_configure() { + # https://github.com/distcc/distcc/issues/454 + append-cppflags -DPY_SSIZE_T_CLEAN + + local myconf=( + --disable-Werror + --libdir="${EPREFIX}"/usr/lib + $(use_enable ipv6 rfc2553) + $(use_with gtk) + --without-gnome + $(use_with gssapi auth) + $(use_with zeroconf avahi) + ) + + econf "${myconf[@]}" +} + +src_test() { + # sandbox breaks some tests, and hangs some too + # retest once #590084 is fixed + local -x SANDBOX_ON=0 + emake -j1 check +} + +src_install() { + # override GZIP_BIN to stop it from compressing manpages + emake -j1 DESTDIR="${D}" GZIP_BIN=false install + python_optimize + + newinitd "${FILESDIR}/distccd.initd" distccd + systemd_newunit "${FILESDIR}/distccd.service-1" distccd.service + systemd_install_serviced "${FILESDIR}/distccd.service.conf" + + cp "${FILESDIR}/distccd.confd" "${T}/distccd" || die + if use zeroconf; then + cat >> "${T}/distccd" <<-EOF || die + + # Enable zeroconf support in distccd + DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf" + EOF + + sed -i '/ExecStart/ s|$| --zeroconf|' "${D}$(systemd_get_systemunitdir)"/distccd.service || die + fi + doconfd "${T}/distccd" + + newenvd - 02distcc <<-EOF || die + # This file is managed by distcc-config; use it to change these settings. + # DISTCC_LOG and DISTCC_DIR should not be set. + DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}" + DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}" + DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}" + DISTCC_TCP_CORK="${DISTCC_TCP_CORK}" + DISTCC_SSH="${DISTCC_SSH}" + UNCACHED_ERR_FD="${UNCACHED_ERR_FD}" + DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}" + DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}" + EOF + + keepdir /usr/lib/distcc + + dobin "${T}/distcc-config" + + if use gtk; then + einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui" + einfo "This is to have a little sensability in naming schemes between distccmon programs" + mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die + dosym distccmon-gui /usr/bin/distccmon-gnome + fi + + if use xinetd; then + insinto /etc/xinetd.d + newins "doc/example/xinetd" distcc + fi + + insinto /usr/share/shadowman/tools + newins - distcc <<<"${EPREFIX}/usr/lib/distcc/bin" + newins - distccd <<<"${EPREFIX}/usr/lib/distcc" + + rm -r "${ED}/etc/default" || die + rm "${ED}/etc/distcc/clients.allow" || die + rm "${ED}/etc/distcc/commands.allow.sh" || die +} + +pkg_postinst() { + # remove the old paths when switching from libXX to lib + if [[ $(get_libdir) != lib && ${SYMLINK_LIB} != yes && \ + -d ${EROOT}/usr/$(get_libdir)/distcc ]]; then + rm -r -f "${EROOT}/usr/$(get_libdir)/distcc" || die + fi + + if [[ -z ${ROOT} ]]; then + eselect compiler-shadow update distcc + eselect compiler-shadow update distccd + fi + + elog + elog "Tips on using distcc with Gentoo can be found at" + elog "https://wiki.gentoo.org/wiki/Distcc" + elog + elog "distcc-pump is known to cause breakage with multiple packages." + elog "Do NOT enable it globally." + elog + elog "To use the distccmon programs with Gentoo you should use this command:" + elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5" + + if use gtk; then + elog "Or:" + elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome" + fi +} + +pkg_prerm() { + if [[ -z ${REPLACED_BY_VERSION} && -z ${ROOT} ]]; then + eselect compiler-shadow remove distcc + fi +} diff --git a/sys-devel/distcc/files/distcc-3.4-pump-tests.patch b/sys-devel/distcc/files/distcc-3.4-pump-tests.patch new file mode 100644 index 00000000000..db392b7f363 --- /dev/null +++ b/sys-devel/distcc/files/distcc-3.4-pump-tests.patch @@ -0,0 +1,153 @@ +https://github.com/distcc/distcc/pull/460 + +From 45d9c4a1ef66451ed45a6afdec7098ed02082390 Mon Sep 17 00:00:00 2001 +From: Rosen Matev <rosen.matev@cern.ch> +Date: Fri, 29 Apr 2022 15:42:28 +0200 +Subject: [PATCH] Fix tests in pump mode + +`make check` is also running tests for the pump mode +(`pump-maintainer-check` target) but they were all falling back to +the usual preprocessor mode as the include server was not started. + +This is solved by prepending `pump` to the distcc invocations and +also some trivially failing tests are fixed or disabled when they +make no sense in pump mode. +--- + Makefile.in | 2 +- + pump.in | 13 +++++++++++-- + test/testdistcc.py | 28 ++++++++++++++++++++++++---- + 3 files changed, 36 insertions(+), 7 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index f240ca6f..79e28380 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -583,7 +583,7 @@ distccmon-gnome@EXEEXT@: $(mon_obj) $(gnome_obj) + # the distcc version, the source location, the CPP flags (for location of the + # includes), and the build location. + include-server: +- if test -z "$(PYTHON)"; then \ ++ @if test -z "$(PYTHON)"; then \ + echo "Not building $@: No suitable python found"; \ + else \ + mkdir -p "$(include_server_builddir)" && \ +diff --git a/pump.in b/pump.in +index 8e46f458..08a32c0e 100755 +--- a/pump.in ++++ b/pump.in +@@ -218,7 +218,9 @@ PrintIncludeServerStatusMessage() { + } + + Announce() { +- echo "__________Using distcc-pump from $DISTCC_LOCATION" ++ if [ "$verbose" = 1 ]; then ++ echo "__________Using distcc-pump from $DISTCC_LOCATION" ++ fi + } + + # Starts up the include server. Sets $socket, $socket_dir, and +@@ -359,7 +361,9 @@ ShutDown() { + # Always -- at exit -- shut down include_server and remove $socket_dir + if [ -n "$include_server_pid" ] && \ + ps -p "$include_server_pid" > /dev/null; then +- echo '__________Shutting down distcc-pump include server' ++ if [ "$verbose" = 1 ]; then ++ echo '__________Shutting down distcc-pump include server' ++ fi + kill $include_server_pid + # Wait until it's really dead. We need to do this because the + # include server may produce output after receiving SIGTERM. +@@ -508,6 +512,11 @@ Main() { + + Initialize + ++ # Do not write on stdout if we're testing pump mode ++ if [ "0$DISTCC_TESTING_INCLUDE_SERVER" -ne "0" ]; then ++ verbose=0 ++ fi ++ + case "$*" in + --startup) + # Don't put ordinary progress messages on stdout, +diff --git a/test/testdistcc.py b/test/testdistcc.py +index dfdf2f13..6377d0b6 100755 +--- a/test/testdistcc.py ++++ b/test/testdistcc.py +@@ -258,7 +258,11 @@ def valgrind(self): + return _valgrind_command; + + def distcc(self): +- return self.valgrind() + "distcc " ++ if "cpp" not in _server_options: ++ return self.valgrind() + "distcc " ++ else: ++ return "DISTCC_TESTING_INCLUDE_SERVER=1 " + self.valgrind() + "pump distcc " ++ + + def distccd(self): + return self.valgrind() + "distccd " +@@ -422,6 +426,11 @@ class BogusOption_Case(SimpleDistCC_Case): + Now that we support implicit compilers, this is passed to gcc, + which returns a non-zero status.""" + def runtest(self): ++ # Disable the test in pump mode since the pump wrapper fails ++ # before we can run distcc. ++ if "cpp" in _server_options: ++ raise comfychair.NotRunError('pump wrapper expects DISTCC_HOSTS') ++ + error_rc, _, _ = self.runcmd_unchecked(self._cc + " --bogus-option") + assert error_rc != 0 + self.runcmd(self.distcc() + self._cc + " --bogus-option", error_rc) +@@ -432,7 +441,7 @@ def runtest(self): + class CompilerOptionsPassed_Case(SimpleDistCC_Case): + """Test that options following the compiler name are passed to the compiler.""" + def runtest(self): +- out, err = self.runcmd("DISTCC_HOSTS=localhost " ++ out, err = self.runcmd("DISTCC_HOSTS=localhost%s " % _server_options + + self.distcc() + + self._cc + " --help") + if re.search('distcc', out): +@@ -1422,7 +1431,8 @@ def source(self): + + def setupEnv(self): + Compilation_Case.setupEnv(self) +- os.environ['DISTCC_HOSTS'] = '127.0.0.1:%d,lzo' % self.server_port ++ os.environ['DISTCC_HOSTS'] = ( ++ '127.0.0.1:%d,lzo' % self.server_port + _server_options) + + class DashONoSpace_Case(CompileHello_Case): + def compileCmd(self): +@@ -1525,6 +1535,11 @@ def source(self): + """ + + def runtest(self): ++ # Disable the test in pump mode since the pump wrapper fails ++ # before we can run distcc. ++ if "cpp" in _server_options: ++ raise comfychair.NotRunError('pump wrapper expects DISTCC_HOSTS') ++ + # -P means not to emit linemarkers + self.runcmd(self.distcc() + + self._cc + " -E testtmp.c -o testtmp.out") +@@ -1828,7 +1843,7 @@ class NoServer_Case(CompileHello_Case): + """Invalid server name""" + def setup(self): + self.stripEnvironment() +- os.environ['DISTCC_HOSTS'] = 'no.such.host.here' ++ os.environ['DISTCC_HOSTS'] = 'no.such.host.here' + _server_options + self.distcc_log = 'distcc.log' + os.environ['DISTCC_LOG'] = self.distcc_log + self.createSource() +@@ -1874,6 +1889,11 @@ class NoHosts_Case(CompileHello_Case): + We expect compilation to succeed, but with a warning that it was + run locally.""" + def runtest(self): ++ # Disable the test in pump mode since the pump wrapper fails ++ # before we can run distcc. ++ if "cpp" in _server_options: ++ raise comfychair.NotRunError('pump wrapper expects DISTCC_HOSTS') ++ + # WithDaemon_Case sets this to point to the local host, but we + # don't want that. Note that you cannot delete environment + # keys in Python1.5, so we need to just set them to the empty + diff --git a/sys-devel/distcc/metadata.xml b/sys-devel/distcc/metadata.xml index 949da1a6e8d..b39e2f4ab89 100644 --- a/sys-devel/distcc/metadata.xml +++ b/sys-devel/distcc/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>mgorny@gentoo.org</email> - <name>Michał Górny</name> - </maintainer> <maintainer type="project"> <email>cluster@gentoo.org</email> <name>Gentoo Cluster Project</name> diff --git a/sys-devel/flex/flex-2.6.4-r2.ebuild b/sys-devel/flex/flex-2.6.4-r2.ebuild new file mode 100644 index 00000000000..b1e13e873c6 --- /dev/null +++ b/sys-devel/flex/flex-2.6.4-r2.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic libtool multilib-minimal toolchain-funcs + +DESCRIPTION="The Fast Lexical Analyzer" +HOMEPAGE="https://github.com/westes/flex" +SRC_URI="https://github.com/westes/${PN}/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="FLEX" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="nls static test" +RESTRICT="!test? ( test )" + +# We want bison explicitly and not yacc in general, bug #381273 +RDEPEND="sys-devel/m4" +BDEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + test? ( sys-devel/bison )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.4-libobjdir.patch + "${FILESDIR}"/${PN}-2.6.4-fix-build-with-glibc2.6+.patch +) + +src_prepare() { + default + + # Disable running in the tests/ subdir as it has a bunch of built sources + # that cannot be made conditional (automake limitation). bug #568842 + if ! use test ; then + sed -i \ + -e '/^SUBDIRS =/,/^$/{/tests/d}' \ + Makefile.in || die + fi + + # Prefix always needs this + elibtoolize +} + +src_configure() { + use static && append-ldflags -static + + multilib-minimal_src_configure +} + +multilib_src_configure() { + if tc-is-cross-compiler ; then + # Similar to workaround for procps: + # - bug #705800 + # - https://sourceforge.net/p/psmisc/bugs/71/ + # - https://lists.gnu.org/archive/html/autoconf/2011-04/msg00019.html + export ac_cv_func_malloc_0_nonnull=yes \ + ac_cv_func_realloc_0_nonnull=yes + fi + + # Do not install shared libs, #503522 + ECONF_SOURCE="${S}" econf \ + CC_FOR_BUILD="$(tc-getBUILD_CC)" \ + --disable-shared \ + $(use_enable nls) +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake -C src -f Makefile -f - lib <<< 'lib: $(lib_LTLIBRARIES)' + fi +} + +multilib_src_test() { + multilib_is_native_abi && emake check +} + +multilib_src_install() { + if multilib_is_native_abi; then + default + else + emake -C src DESTDIR="${D}" install-libLTLIBRARIES install-includeHEADERS + fi +} + +multilib_src_install_all() { + einstalldocs + dodoc ONEWS + find "${ED}" -name '*.la' -type f -delete || die + rm "${ED}"/usr/share/doc/${PF}/COPYING || die + + dosym flex /usr/bin/lex +} diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 596b56f36ce..264ce083065 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,29 +1,39 @@ DIST gcc-10-20211126.tar.xz 71674848 BLAKE2B 81f4a572e973db7a3701601e66ea58c8e535a55d4d4ac164de00bdb06f7f265585f45d46171cf40d42ebcd3fb02ac81b643398c560912698eb6c008ac6e09518 SHA512 db887184c649ebeede5a1b9f13c00fe425012434cb93ec960c3ca50c0bcdeab04a1cc13b20de21b940e5d6a09c3b1c7fc415110a0e990ec1d938627bf97b9342 -DIST gcc-10-20220519.tar.xz 71731312 BLAKE2B b48dff68befda25ab43202d460c369731543e3f3432ab6cab235cb4338132adf2dc0f7f7bcb91f07824a8596196b90c2ee902a8ccb9f9a072a87891b936b644c SHA512 4eae421e51e8cced46e34efda29a3395c2ca72cc456d8c15ec32182e95eb29a120697c1dda65862676014366c6bec4728d4f0b7060624bf5c141133b28a177c8 +DIST gcc-10-20220804.tar.xz 71755240 BLAKE2B e8c4cecc2aa5e2770718222a01c0b99ce03640871719838507a04acaad438a5d1482fdcfb0ba694dd683fe6f1a03dce1024870db727c4d7a118ecba0f1c8c44f SHA512 51c97a3b7b71e565a2e248e348f5c995779053d65cfab2bb32fecc130a50a2aec077653c5cc5a5d966a9af9b4b741909a4649a9fc6d2f17f6bb9eabb23dd65c8 +DIST gcc-10-20220811.tar.xz 71753800 BLAKE2B 3aa402b185da2e0ea9d262c561a72acc7dd801ea62ca4a8d7a3b053adc5a94dc9b7ecb657b782961505e907cded25bb28a3495d0b975f68fab5385bcc5d9dccc SHA512 cd6fa0673c3bdea1fe857529ec4c847f9306a4380def895b361e70202984bc5bac820b8a9f0d7fdcf9a39258c804fe556b567258aa7ee19b84849eef8a61801d DIST gcc-10.3.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384 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-musl-patches-1.tar.xz 3808 BLAKE2B 804d1fcc451dcd03be71240dd498ec2d179869571d44012967c48dccf5a478dd8c55000a964a80fdd5584d739a777dee1c83241cffce514ef002df2572854a67 SHA512 83e4a9c0f7062baf0c606a2bcc56a818494991403d7577dea65f04bbc25bdb786a5889b80d45d80e7f4be07c1aef786802cbfcfafd1a17ec255a2d4e93a77570 DIST gcc-10.4.0-patches-0.tar.bz2 15231 BLAKE2B f64a2e7f317acf9416da69c129ea869116be2780828f9d3cda59f7ea8d39634df7f0347f745275bb167f95aae2a3b8e97ec7c78f775d9002718dd67cb9429f68 SHA512 d1497930ccf4d6ee8700faeb676945e65b3aa2ba3a580a3564575fad1590ad076741f2ecad778ab48d0c4e8ed7723b84b0a660cb67cc4530495691702159a43a -DIST gcc-10.4.0-patches-1.tar.xz 14392 BLAKE2B 76cc16bb611f1ac2020f0f430fc3f038e8ad29827e000b7aeca2a3143e91a674dee18b9530451fe37110c20dd3548ece387c323b460199e911e8195fc88eddf4 SHA512 f574ad66025eccb824e5901ef14f38268fc1fb26d9fc4fc9d04c8652c7bcee78ea196bdda88dbf891f167a6d7d75a74fb5776592dc25971c5902ba9d5d721266 +DIST gcc-10.4.0-patches-2.tar.xz 15000 BLAKE2B 59a61f7de4b6d2338a8b4fbc88a8e55838d5fdce1bd906b798540839a7efca9b97024779b515df6a7673ee6908540834bc1f58188ed9ef311c51e1f351ed003e SHA512 e1c8f0bf9d64db3f84a6eab0f41ee848643a67ba6ab57df7a8267139928f6e292d95c5b4ed865ff8d9a80028bb07cec714d56438b97004cd2a27f111f1f336da +DIST gcc-10.4.0.tar.xz 75018092 BLAKE2B ec1169025d3896b70ab80a4b8ce5040763a95529fc7e120c6bc3a3eb1db5cf938ebde347c1e595a8ff7d4081e79ded6252702d7a1a09648449b7a0783188e434 SHA512 440c08ca746da450d9a1b35e8fd2305cb27e7e6987cd9d0f7d375f3b1fc9e4b0bd7acb3cd7bf795e72fcbead59cdef5b6c152862f5d35cd9fbfe6902101ce648 DIST gcc-11-20220115.tar.xz 75676672 BLAKE2B 12171fd97731dbca67f13cc2a3a3a3989c22d628b289cbd3d46080f77a8d951f15c1e54e83a2e62ab41b69221f9784e970799a11a9ed5b224a77ba4b1b081f07 SHA512 7455b3b29d3c64df9123afef82faf922d97e08a3ea30fbc2d9286d4f6ed2fafbfc0f9d94ae1b9eee45329e95a27bd642b3aa679d83a0c27a3e30967d49e0728c +DIST gcc-11-20220805.tar.xz 75780952 BLAKE2B bfd58ed253cccd932a34513a1d8e13f5c6a357dec8a0aaa4e8a9384f358f228ce49ae4e92b96b72f4f427732c5168bbb087f49a27633c0948d0c713d74ffde87 SHA512 7dd738ed4d6e3691682f7225ea7e115d9a217bd87808c212c58886d646c47c531376f24f0dc2d036bc62f7ad562ad090cbdc53fdf8becd976fb392063b9d5a7e +DIST gcc-11-20220812.tar.xz 75781320 BLAKE2B f7776dcc0168cd0b624760deab9185b36e2f5718cdacb7cff911813791ed31321b34b5f14ee6e3264c61a95c5cd8cf80c93e6e80f6fdac5f49818e0f5c242486 SHA512 d2fbc18dcac84951c541d90a78719254429b133de05e4f6f37e3d3c160695ea5e2e6563cd78b90bdce29cb2e465aabe4215ec1262bb74c23eba2be57be074070 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-musl-patches-1.tar.bz2 3997 BLAKE2B 5ca064cc78b067f4a7822fa0341c37ae03c8024f871d2e274e481a583afa96c36e291be93fbdd633f203260ae2ea9ac1d45f666d134bac75bc9a715a369d7374 SHA512 0ab239c66cf62a737266377c19b8dda6af6df56380f6731c2c17f3e82778e7e023a68d31728490eea3ad946f4b71d4cab363a75548f74b4b7f653972469d9e91 DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58 +DIST gcc-11.3.0-patches-5.tar.bz2 14575 BLAKE2B 55ff9558f3ffe89d511663f12477e72ed1bc29d4fa8f1bc58b9c52d28838716ba9b8291ede7b86e28c3bee0633c34763f611779fe46531bd75d8aa7661b46118 SHA512 65bf4c0d1d43923298efd527a5f4da2a10d88a383d2eef72e6a25ce37964ddaf27c49545915228347e8320f905afcdfe1275d98e8458993a7229425f74ae41bd DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469 SHA512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 DIST gcc-11.4.0-musl-patches-0.tar.xz 3844 BLAKE2B f3f1be6718e3cf08e553a1a2319a85e13368279849f6f3ab89ad7abe505316afacf5084846c0cb133bdcb5c918244644242c194e6ce55455a26e67b3983d73ef SHA512 a81db52d21de364137461dcff7e1af696df4a02fa26452f90439ae4af14ccbffe68eb4ee93ae56257490ab8aa36b4bff37c4e1f2cf4dd4624b3a6fb4cb50b7ac -DIST gcc-11.4.0-patches-0.tar.xz 13404 BLAKE2B a384e6604befe306e6ee444b886c1aed1ef469299f5c7903da8314d73fd06463fb4f24be24d3d03df4883eaa8eb24beb477d881c5a1886d5913fee110b11a35c SHA512 f46f971f87deceaa8bc60eaa815aa1625f1cae01d2cccaeb6ff87f518198a756a1f7b496bd5bad004d713a4e8e6138f0b9a832e4df344fcb3009def840f9f6b9 -DIST gcc-12-20220514.tar.xz 79083160 BLAKE2B aeb6002f1137413564d24e65f4e6c79f8c2e12225ecaaf1cee601f4a584f3778b6cfc98b519d731ccf811075a7ec3e469128dd8a5e1885f480261b08c03c7a47 SHA512 15af7d5dcddd91bda7db7855956ba85983d95c63a6193785f4c5e8827f120352c731b9652d814bc461aecb9ae8b609689b500e6c8265594b31e5ec962256bee0 -DIST gcc-12-20220521.tar.xz 79087572 BLAKE2B 835b5b28c9e29fc3ab94ee732188325f216b4b54285a62c602280d2c3b0bcaaf779d2874402268b49a0aa57f0a23783e0b71fa4e37c1da05eedb5aa91f782ef3 SHA512 92f6c7cbe3b301ed7361c097dd37e11df8d504bcb0c62a363d710eb09091248a43db3466ae6d61042ce3733714efb81eec80f2e50d8761fc7a742be2c8bb5f53 +DIST gcc-11.4.0-patches-1.tar.xz 13956 BLAKE2B ff6ee1b81ad214e74a49c00b15767086c6b12b1566b42c4fb88778bfae3a8e319e42ffbcd8aa7f717b6f32bd966dc0da08be3a57a27992d9b90368622e7e2ff0 SHA512 3b9b641bb00b85fa88c87d8923ebcfb844125ff6149b998c565006173f4d68b0ccf8c1fec2c7bac0684584c61176346cee7373b165587a092bcd92ccb96c61db +DIST gcc-12-20220625.tar.xz 79092788 BLAKE2B 491da523abc0a63bbceaa6c76b251a5b6c224e1684b5db4e6155fdcab4b0d8d505376d30a13e1b0331f37558aac311477bbb3179b63da850acae436b642c9ee1 SHA512 0527c6d69cd53e8aba3464746b7989e3128af74818864a2e5b4be66313203d32a84201440a254da8de72842b0ebbbccf1ec14c6a121cb09f9454358b0a37b8f9 +DIST gcc-12-20220806.tar.xz 79120340 BLAKE2B bbc9e22b62a92231a9808267c51969da1014dda9a7afaf4077201570c115c0fae4d57d915f29b3f8888973b20736bb0977b9b5cae9e3f8718459e5102be5b024 SHA512 c36ed47a2c697b5d4f786a523091a64d4cf41e57acf337971640f536588811efbb2e23645b9c1e763f98e0c72923c8571ed151d12106326f41f0385732e5ff37 DIST gcc-12.0.0-musl-patches-4.tar.xz 4456 BLAKE2B 80ae755b52c31d57eb737b3ec5e70d96e7e20f6720664cd94573b1c6cd079a0e29f73277c27b2f2570706da5239006dabd44f834824c515f6615ed5dc39c273f SHA512 cf917f40133d2b8090e98880e6c87d38129f44bcb454f4d707ef57967635a6fb571d7b85b7cb854421bc9aa88e48767a47aad99c767f9415899f97922d61c497 DIST gcc-12.0.0-patches-5.tar.xz 9820 BLAKE2B cdebb6fa59e594f95cc4b028d329c0fed3ffa1731a4ca1a2954b7760f4a674e773cfe5888fb2c63a619d5d80ec464d98a94870bfe2e3ea34370afce7f67526bb SHA512 a9c27b0188fd842e88d6a831cdf1f9c6d0cada4ec260b5f7e67f3d8fe0f439fb0d2c82469de9fecebd657043babf3e63a24ee53776be2617bb90e1d3dd3f521e +DIST gcc-12.1.0-musl-patches-5.tar.xz 4656 BLAKE2B b8dead8e796df2563cc7bfd4ad95f71f7cfbd51bc0d2bccb7479d2856cc3731b55f5e23b548c5f5f37790aae269815bbba6ee6596c5183847eed0bb1878bf340 SHA512 480e3e34e3f7e7ae27319fa9c51913125b2d4f41b0994c6df4c5c6f008d3ffdacbe059cd1ee643c2b9248a0c69db90867a076b0456c8d6649a1a7e9b62ff6800 +DIST gcc-12.1.0-musl-patches-6.tar.xz 3840 BLAKE2B 5d8ce4dcebd081fae485d3e1367c06c185e07c110b0cfe9598b71209c55adf96a26e198ab91fb3dfb33ddb2d8abd211a518dd74f5113cae1e3a4f90db32bb746 SHA512 b666ac0e9bef1b74dc5cc616ddb13dc40d9ecd1f5ae48b877cc1003356952a9afd800327d4210c732deb94554403d9b8730d2037bec380e413fc9a6cb59ecf23 +DIST gcc-12.1.0-patches-8.tar.xz 12020 BLAKE2B 6138ef4d76a682ecfd05ba7c80d8f5db791ea24420d944b7f55b8aa55e7a42d02c0d20d0c25ebba92cdf85fdeb3dad7c7e2676d4a39197862bb90cfc9151ce48 SHA512 d2784967ca580bdc9308bc4b2449eb23601aab46bfcca10f4e7db2267e04950e4d9ffe4d0091fb916149a4982786c80959a069e0da07638bfdcf9d5b8926627b +DIST gcc-12.1.0-patches-9.tar.xz 12536 BLAKE2B ceb045b2a5c5a2a3047d73296fa1057421ef58c7f793d1f031f43dbd1a6faf49bdf1956e96a4f8e34c4d3fde2c26fcc9b146c223d8b1b3e1f944c2ec8574b786 SHA512 b899ec2d6da65df0f32838be3c89dbb1dc6b423133aa5121635547a1aa18b5d52b920e62522143682c0818baf185ebacb75ab84383ef0ad9768ba567807da5f4 DIST gcc-12.1.0.tar.xz 82701928 BLAKE2B dca5df8fea680dbeda721742cce5c97de7eb4be490a32a158e06b88e2b9dd092150b7cfe490bb69e48e2f75d8bba231c8a54cd46b48ddcdc01bf9553ab57019d SHA512 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900 +DIST gcc-12.2.0-RC-20220812.tar.xz 84732336 BLAKE2B de38eab480965e44d64ccda40070aadb0e892732b6fd4cd80feb5636aff2b14ee0ca2fb0ed38fb1ba46d83c6173a60069a9335cc0f321451edaac387c832056d SHA512 74d6f7c9cb1070920ae85533b6db986c3a784f74a3f5eac113c483230b78737c33bc6f10a2221ace7f9c8af0e3824390241da73d367dd77e5832205a47a47940 +DIST gcc-13-20220731.tar.xz 79440792 BLAKE2B c7b6e8113c5c858b0e348ce930ca71c3386b91d62f4a3355df38e899dff26f9e02d44673ad1d57a93a5edb3f8633b9f8fc74b779059b9fdb54ebc0f73c95ef36 SHA512 58e320f19cebe4d7364a64a2ded60ef6fb8f68d6abcd3a3c13b0a23ab016d4f40cd9e0e12f665b713314c34b46a65c263a4f04bfac01a7f476755987365aa4e0 +DIST gcc-13-20220807.tar.xz 79472584 BLAKE2B d23ad0d06414c0e7dfc11473641abb63585c95a07b1da50f3c9d6ae6ba3f365b7bd17297914670468e8b26e4146c8de2dc35c0b96ddc752a07c1dca3a0227dce SHA512 03aed1aa6a73b4aaa5318e456334132576036ee859a26eba3d49826a03da554cec22739cc4fae441f72eb5ea53449e75b73e8f3a41192e09a6e00d4fc227a4ee +DIST gcc-13.0.0-patches-1.tar.xz 11064 BLAKE2B 82a7ad193dac00475931840bcee82ef7a51718a74af224b03a41f8349e34c2a64a3eb29985b4e2bffde958c58782242eccaedaa54d950e8d51d8bb6f45868e0e SHA512 e04b510f529dd3187a08ae9cb9a894a3d3d30af81f13c43cc082fda7d26c44a3bf19d36ec02024b2ade8b8c193e9730246abeadee603c41b5873c5b785709921 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-20220317.tar.xz 67699876 BLAKE2B 0cca8137afd427ca1f48e3b4869b3de6fc347bf121d83e4170f09657d79a7a3d6b59b7e4c242002db5c47c7f5253f4297122cf6e02b3227f9e69364594bcf706 SHA512 31e90b0f1dd1db18038793d5409b503a01554e4dd9b1f5412e6b3d8be12f42cf4eab7fa97e409960464eceaeddf81bd1e541aab4d283a87c39e33e119a22196f -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 -DIST gcc-9.5.0-RC-20220520.tar.xz 72549960 BLAKE2B 78dbb1c90d5966498ebc07fdcbb27bf487f92e3dacbcbac82e7b535596a30d06f3d7c58638cceaaf2db09799731e4faa3f8c9259a5be1ea46bf29f63c530a5a5 SHA512 6dd2472a9d949bdd8beec63a73b5626903621e8d66f4df6b3e90cd8b7e1aa8535889c3a6ca9257f23ca13114c99418789a745d1d8094ce4172abcf485d08c48f +DIST gcc-9.5.0-patches-1.tar.xz 13772 BLAKE2B 2e2e84a28a729cd271a23716ff3fe08b7209b72254af279f04dd15dbd39482fb7d905dc9293dc326536e14bca9a53397bd7e1c4b617ed8cbe42bcf617fcce3fb SHA512 50e292e665bfae18bf71c0714074025b4f7cb87042862071815874f7c5b241acac3b8f60d85b8970b11978103c2e7616c02d789f6c3b091d7b736b65c535b743 +DIST gcc-9.5.0.tar.xz 72462752 BLAKE2B 69e39314ee6bb46e3be491ba9c3cbc4914cb716f732c6d3f2b14d9382750b40c4f14b5d3051225b81f936ef8297b0ba8cb5439512e961dae5815d3bee2b0bfdb SHA512 cdd144ce4f747e051480410afc8506c90a57cb45da89071ddae377b1453bca3014422455ade9fe4563ebe51f4b6348cbc0c61905a9b8801cd597d51ad0ec62b3 diff --git a/sys-devel/gcc/gcc-10.3.0-r2.ebuild b/sys-devel/gcc/gcc-10.3.0-r2.ebuild index 0fc4ea78dc7..d62162f1a68 100644 --- a/sys-devel/gcc/gcc-10.3.0-r2.ebuild +++ b/sys-devel/gcc/gcc-10.3.0-r2.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" +TOOLCHAIN_PATCH_DEV="slyfox" PATCH_VER="3" MUSL_VER="1" diff --git a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild index 9cd4a9d0c98..e07e3b74876 100644 --- a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild +++ b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild @@ -3,6 +3,7 @@ EAPI=7 +TOOLCHAIN_PATCH_DEV="sam" PATCH_VER="0" PATCH_GCC_VER="10.4.0" MUSL_VER="1" diff --git a/sys-devel/gcc/gcc-10.3.1_p20220519.ebuild b/sys-devel/gcc/gcc-10.3.1_p20220519.ebuild deleted file mode 100644 index d482adf13a9..00000000000 --- a/sys-devel/gcc/gcc-10.3.1_p20220519.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -TOOLCHAIN_PATCH_SUFFIX="xz" -PATCH_VER="1" -PATCH_GCC_VER="10.4.0" -MUSL_VER="1" -MUSL_GCC_VER="10.4.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-10.4.0.ebuild b/sys-devel/gcc/gcc-10.4.0.ebuild new file mode 100644 index 00000000000..31a46b61316 --- /dev/null +++ b/sys-devel/gcc/gcc-10.4.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +#TOOLCHAIN_GCC_RC=1 +PATCH_GCC_VER="10.4.0" +PATCH_VER="2" +MUSL_VER="1" +MUSL_GCC_VER="10.4.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +fi + +RDEPEND="" +BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + 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 +} diff --git a/sys-devel/gcc/gcc-10.4.1_p20220804.ebuild b/sys-devel/gcc/gcc-10.4.1_p20220804.ebuild new file mode 100644 index 00000000000..b2fac30d2ff --- /dev/null +++ b/sys-devel/gcc/gcc-10.4.1_p20220804.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +#TOOLCHAIN_GCC_RC=1 +PATCH_GCC_VER="10.4.0" +PATCH_VER="2" +MUSL_VER="1" +MUSL_GCC_VER="10.4.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +RDEPEND="" +BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + 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 +} diff --git a/sys-devel/gcc/gcc-10.4.1_p20220811.ebuild b/sys-devel/gcc/gcc-10.4.1_p20220811.ebuild new file mode 100644 index 00000000000..b2fac30d2ff --- /dev/null +++ b/sys-devel/gcc/gcc-10.4.1_p20220811.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +#TOOLCHAIN_GCC_RC=1 +PATCH_GCC_VER="10.4.0" +PATCH_VER="2" +MUSL_VER="1" +MUSL_GCC_VER="10.4.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +RDEPEND="" +BDEPEND="${CATEGORY}/binutils" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + 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 +} diff --git a/sys-devel/gcc/gcc-10.4.9999.ebuild b/sys-devel/gcc/gcc-10.5.9999.ebuild index a9a6b60d684..d43d8bf4fbb 100644 --- a/sys-devel/gcc/gcc-10.4.9999.ebuild +++ b/sys-devel/gcc/gcc-10.5.9999.ebuild @@ -1,12 +1,11 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" PATCH_GCC_VER="10.4.0" -PATCH_VER="1" -MUSL_VER="1" MUSL_GCC_VER="10.4.0" if [[ $(ver_cut 3) == 9999 ]] ; then @@ -26,7 +25,9 @@ inherit toolchain EGIT_BRANCH=releases/gcc-$(ver_cut 1) # Don't keyword live ebuilds -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi RDEPEND="" BDEPEND="${CATEGORY}/binutils" diff --git a/sys-devel/gcc/gcc-11.2.0.ebuild b/sys-devel/gcc/gcc-11.2.0.ebuild index 92a4dc61b1f..9dc5d227629 100644 --- a/sys-devel/gcc/gcc-11.2.0.ebuild +++ b/sys-devel/gcc/gcc-11.2.0.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" +TOOLCHAIN_PATCH_DEV="slyfox" PATCH_VER="1" MUSL_VER="1" diff --git a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild index bcaa58794f8..4e44bafeab2 100644 --- a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild +++ b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild @@ -3,6 +3,7 @@ EAPI=7 +TOOLCHAIN_PATCH_DEV="sam" PATCH_VER="4" PATCH_GCC_VER="11.3.0" MUSL_VER="1" @@ -17,7 +18,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare diff --git a/sys-devel/gcc/gcc-11.3.0.ebuild b/sys-devel/gcc/gcc-11.3.0.ebuild index 6d5f17550bd..a90a5c1bc45 100644 --- a/sys-devel/gcc/gcc-11.3.0.ebuild +++ b/sys-devel/gcc/gcc-11.3.0.ebuild @@ -3,21 +3,22 @@ EAPI=7 -PATCH_VER="4" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="5" PATCH_GCC_VER="11.3.0" MUSL_VER="1" MUSL_GCC_VER="11.3.0" 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" # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare diff --git a/sys-devel/gcc/gcc-11.3.1_p20220805.ebuild b/sys-devel/gcc/gcc-11.3.1_p20220805.ebuild new file mode 100644 index 00000000000..fec8a9f9652 --- /dev/null +++ b/sys-devel/gcc/gcc-11.3.1_p20220805.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="1" +PATCH_GCC_VER="11.4.0" +MUSL_VER="0" +MUSL_GCC_VER="11.4.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-11.3.1_p20220812.ebuild b/sys-devel/gcc/gcc-11.3.1_p20220812.ebuild new file mode 100644 index 00000000000..fec8a9f9652 --- /dev/null +++ b/sys-devel/gcc/gcc-11.3.1_p20220812.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="1" +PATCH_GCC_VER="11.4.0" +MUSL_VER="0" +MUSL_GCC_VER="11.4.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-11.4.9999.ebuild b/sys-devel/gcc/gcc-11.4.9999.ebuild index 06ce76b748d..de29705ca37 100644 --- a/sys-devel/gcc/gcc-11.4.9999.ebuild +++ b/sys-devel/gcc/gcc-11.4.9999.ebuild @@ -4,9 +4,8 @@ EAPI=7 TOOLCHAIN_PATCH_SUFFIX="xz" -PATCH_VER="0" +TOOLCHAIN_PATCH_DEV="sam" PATCH_GCC_VER="11.4.0" -MUSL_VER="0" MUSL_GCC_VER="11.4.0" if [[ $(ver_cut 3) == 9999 ]] ; then @@ -25,14 +24,17 @@ inherit toolchain # Needs to be after inherit (for now?), bug #830908 EGIT_BRANCH=releases/gcc-$(ver_cut 1) -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { local p upstreamed_patches=( diff --git a/sys-devel/gcc/gcc-12.1.0.ebuild b/sys-devel/gcc/gcc-12.1.0.ebuild index e3c575c899a..d2fce9d3282 100644 --- a/sys-devel/gcc/gcc-12.1.0.ebuild +++ b/sys-devel/gcc/gcc-12.1.0.ebuild @@ -3,6 +3,7 @@ EAPI=8 +TOOLCHAIN_PATCH_DEV="sam" PATCH_VER="5" PATCH_GCC_VER="12.0.0" MUSL_VER="4" @@ -10,15 +11,18 @@ MUSL_GCC_VER="12.0.0" inherit toolchain -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -KEYWORDS="~loong" +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~loong" +fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare diff --git a/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild b/sys-devel/gcc/gcc-12.1.1_p20220625.ebuild index b9019e18fc8..51819ad5271 100644 --- a/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild +++ b/sys-devel/gcc/gcc-12.1.1_p20220625.ebuild @@ -3,22 +3,25 @@ EAPI=8 -PATCH_VER="5" -PATCH_GCC_VER="12.0.0" -MUSL_VER="4" -MUSL_GCC_VER="12.0.0" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="8" +PATCH_GCC_VER="12.1.0" +MUSL_VER="5" +MUSL_GCC_VER="12.1.0" inherit toolchain -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -#KEYWORDS="~loong" +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare diff --git a/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild b/sys-devel/gcc/gcc-12.1.1_p20220806.ebuild index b9019e18fc8..e6861078d44 100644 --- a/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild +++ b/sys-devel/gcc/gcc-12.1.1_p20220806.ebuild @@ -3,22 +3,25 @@ EAPI=8 -PATCH_VER="5" -PATCH_GCC_VER="12.0.0" -MUSL_VER="4" -MUSL_GCC_VER="12.0.0" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="9" +PATCH_GCC_VER="12.1.0" +MUSL_VER="6" +MUSL_GCC_VER="12.1.0" inherit toolchain -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -#KEYWORDS="~loong" +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare diff --git a/sys-devel/gcc/gcc-12.1.1_p20220812.ebuild b/sys-devel/gcc/gcc-12.1.1_p20220812.ebuild new file mode 100644 index 00000000000..9be0f30fd1e --- /dev/null +++ b/sys-devel/gcc/gcc-12.1.1_p20220812.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_GCC_RC=1 +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="9" +PATCH_GCC_VER="12.1.0" +MUSL_VER="6" +MUSL_GCC_VER="12.1.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" + +src_prepare() { + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-12.2.9999.ebuild b/sys-devel/gcc/gcc-12.2.9999.ebuild index c03514a0890..cf4fddcdf19 100644 --- a/sys-devel/gcc/gcc-12.2.9999.ebuild +++ b/sys-devel/gcc/gcc-12.2.9999.ebuild @@ -3,10 +3,9 @@ EAPI=8 -PATCH_VER="5" -PATCH_GCC_VER="12.0.0" -MUSL_VER="4" -MUSL_GCC_VER="12.0.0" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="12.1.0" +MUSL_GCC_VER="12.1.0" if [[ $(ver_cut 3) == 9999 ]] ; then MY_PV_2=$(ver_cut 2) @@ -18,21 +17,31 @@ if [[ $(ver_cut 3) == 9999 ]] ; then # e.g. 12.2.9999 -> 12.1.1 TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} fi inherit toolchain + # Needs to be after inherit (for now?), bug #830908 EGIT_BRANCH=releases/gcc-$(ver_cut 1) # Don't keyword live ebuilds -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. # bug #830454 RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { local p upstreamed_patches=( diff --git a/sys-devel/gcc/gcc-13.0.0_pre20220731.ebuild b/sys-devel/gcc/gcc-13.0.0_pre20220731.ebuild new file mode 100644 index 00000000000..eaaa94a0463 --- /dev/null +++ b/sys-devel/gcc/gcc-13.0.0_pre20220731.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="xen0n" +PATCH_VER="1" +PATCH_GCC_VER="13.0.0" +MUSL_GCC_VER="13.0.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=$(($(ver_cut 3) - 9998)) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=master + +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="" +fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND="${CATEGORY}/binutils[cet(-)?]" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-13.0.0_pre20220807.ebuild b/sys-devel/gcc/gcc-13.0.0_pre20220807.ebuild new file mode 100644 index 00000000000..641ab05e815 --- /dev/null +++ b/sys-devel/gcc/gcc-13.0.0_pre20220807.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="xen0n" +PATCH_VER="1" +PATCH_GCC_VER="13.0.0" +MUSL_GCC_VER="13.0.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=$(($(ver_cut 3) - 9998)) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=master + +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~loong" +fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND="${CATEGORY}/binutils[cet(-)?]" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-13.0.9999.ebuild b/sys-devel/gcc/gcc-13.0.9999.ebuild index 39b0e563724..12107557325 100644 --- a/sys-devel/gcc/gcc-13.0.9999.ebuild +++ b/sys-devel/gcc/gcc-13.0.9999.ebuild @@ -3,21 +3,22 @@ EAPI=8 -PATCH_VER="5" -PATCH_GCC_VER="12.0.0" -MUSL_VER="4" -MUSL_GCC_VER="12.0.0" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="13.1.0" +MUSL_GCC_VER="13.1.0" if [[ $(ver_cut 3) == 9999 ]] ; then MY_PV_2=$(ver_cut 2) + MY_PV_3=$(($(ver_cut 3) - 9998)) if [[ ${MY_PV_2} == 0 ]] ; then MY_PV_2=0 + MY_PV_3=0 else MY_PV_2=$(($(ver_cut 2) - 1)) fi # e.g. 12.2.9999 -> 12.1.1 - TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} fi inherit toolchain @@ -25,7 +26,9 @@ inherit toolchain EGIT_BRANCH=master # Don't keyword live ebuilds -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sys-devel/gcc/gcc-8.5.0-r1.ebuild index e5b72b981c9..ff799268370 100644 --- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild +++ b/sys-devel/gcc/gcc-8.5.0-r1.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" +TOOLCHAIN_PATCH_DEV="slyfox" PATCH_VER="2" inherit toolchain diff --git a/sys-devel/gcc/gcc-9.4.0.ebuild b/sys-devel/gcc/gcc-9.4.0.ebuild deleted file mode 100644 index 7c210388c01..00000000000 --- a/sys-devel/gcc/gcc-9.4.0.ebuild +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -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" - -RDEPEND="" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.13 ) - >=${CATEGORY}/binutils-2.20" - -if [[ ${CATEGORY} != cross-* ]] ; then - PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -fi diff --git a/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild b/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild deleted file mode 100644 index 977d60836ae..00000000000 --- a/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_GCC_VER="9.4.0" -PATCH_VER="1" -MUSL_VER="1" -inherit toolchain - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND="" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.13 ) - >=${CATEGORY}/binutils-2.20" - -if [[ ${CATEGORY} != cross-* ]] ; then - PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -fi diff --git a/sys-devel/gcc/gcc-9.4.1_p20220520.ebuild b/sys-devel/gcc/gcc-9.4.1_p20220520.ebuild deleted file mode 100644 index 893ff1d039b..00000000000 --- a/sys-devel/gcc/gcc-9.4.1_p20220520.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_GCC_VER="9.4.0" -PATCH_VER="1" -MUSL_VER="1" - -# Cheesy hack for RCs -MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) -MY_P=${PN}-${MY_PV} -GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" -TOOLCHAIN_SET_S=no -S="${WORKDIR}"/${MY_P} - -inherit toolchain - -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND="" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.13 ) - >=${CATEGORY}/binutils-2.20" - -if [[ ${CATEGORY} != cross-* ]] ; then - PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -fi diff --git a/sys-devel/gcc/gcc-9.5.9999.ebuild b/sys-devel/gcc/gcc-9.5.0.ebuild index 471a68b351e..133de200677 100644 --- a/sys-devel/gcc/gcc-9.5.9999.ebuild +++ b/sys-devel/gcc/gcc-9.5.0.ebuild @@ -1,9 +1,10 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 -PATCH_GCC_VER="9.4.0" +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="9.5.0" PATCH_VER="1" if [[ $(ver_cut 3) == 9999 ]] ; then @@ -22,8 +23,7 @@ inherit toolchain # Needs to be after inherit (for now?), bug #830908 EGIT_BRANCH=releases/gcc-$(ver_cut 1) -# Don't keyword live ebuilds -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND="" BDEPEND="${CATEGORY}/binutils" diff --git a/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch b/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch new file mode 100644 index 00000000000..c0f8a8ee026 --- /dev/null +++ b/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch @@ -0,0 +1,155 @@ +https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=0fe74cb9ad35add9c6da4df5c9879f254d918a6a + +From: Pedro Alves <pedro@palves.net> +Date: Wed, 22 Jun 2022 18:44:37 +0100 +Subject: [PATCH] Fix core-file -> detach -> crash (corefiles/29275) + +After loading a core file, you're supposed to be able to use "detach" +to unload the core file. That unfortunately regressed starting with +GDB 11, with these commits: + + 1192f124a308 - gdb: generalize commit_resume, avoid commit-resuming when threads have pending statuses + 408f66864a1a - detach in all-stop with threads running + +resulting in a GDB crash: + + ... + Thread 1 "gdb" received signal SIGSEGV, Segmentation fault. + 0x0000555555e842bf in maybe_set_commit_resumed_all_targets () at ../../src/gdb/infrun.c:2899 + 2899 if (proc_target->commit_resumed_state) + (top-gdb) bt + #0 0x0000555555e842bf in maybe_set_commit_resumed_all_targets () at ../../src/gdb/infrun.c:2899 + #1 0x0000555555e848bf in scoped_disable_commit_resumed::reset (this=0x7fffffffd440) at ../../src/gdb/infrun.c:3023 + #2 0x0000555555e84a0c in scoped_disable_commit_resumed::reset_and_commit (this=0x7fffffffd440) at ../../src/gdb/infrun.c:3049 + #3 0x0000555555e739cd in detach_command (args=0x0, from_tty=1) at ../../src/gdb/infcmd.c:2791 + #4 0x0000555555c0ba46 in do_simple_func (args=0x0, from_tty=1, c=0x55555662a600) at ../../src/gdb/cli/cli-decode.c:95 + #5 0x0000555555c112b0 in cmd_func (cmd=0x55555662a600, args=0x0, from_tty=1) at ../../src/gdb/cli/cli-decode.c:2514 + #6 0x0000555556173b1f in execute_command (p=0x5555565c5916 "", from_tty=1) at ../../src/gdb/top.c:699 + +The code that crashes looks like: + + static void + maybe_set_commit_resumed_all_targets () + { + scoped_restore_current_thread restore_thread; + + for (inferior *inf : all_non_exited_inferiors ()) + { + process_stratum_target *proc_target = inf->process_target (); + + if (proc_target->commit_resumed_state) + ^^^^^^^^^^^ + +With 'proc_target' above being null. all_non_exited_inferiors filters +out inferiors that have pid==0. We get here at the end of +detach_command, after core_target::detach has already run, at which +point the inferior _should_ have pid==0 and no process target. It is +clear it no longer has a process target, but, it still has a pid!=0 +somehow. + +The reason the inferior still has pid!=0, is that core_target::detach +just unpushes, and relies on core_target::close to actually do the +getting rid of the core and exiting the inferior. The problem with +that is that detach_command grabs an extra strong reference to the +process stratum target, so the unpush_target inside +core_target::detach doesn't actually result in a call to +core_target::close. + +Fix this my moving the cleaning up the core inferior to a shared +routine called by both core_target::close and core_target::detach. We +still need to cleanup the inferior from within core_file::close +because there are paths to it that want to get rid of the core without +going through detach. E.g., "core-file" -> "run". + +This commit includes a new test added to gdb.base/corefile.exp to +cover the "core-file core" -> "detach" scenario. + +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29275 + +Change-Id: Ic42bdd03182166b19f598428b0dbc2ce6f67c893 +--- a/gdb/corelow.c ++++ b/gdb/corelow.c +@@ -120,6 +120,9 @@ public: + + private: /* per-core data */ + ++ /* Get rid of the core inferior. */ ++ void clear_core (); ++ + /* The core's section table. Note that these target sections are + *not* mapped in the current address spaces' set of target + sections --- those should come only from pure executable or +@@ -290,10 +293,8 @@ core_target::build_file_mappings () + /* An arbitrary identifier for the core inferior. */ + #define CORELOW_PID 1 + +-/* Close the core target. */ +- + void +-core_target::close () ++core_target::clear_core () + { + if (core_bfd) + { +@@ -307,6 +308,14 @@ core_target::close () + + current_program_space->cbfd.reset (nullptr); + } ++} ++ ++/* Close the core target. */ ++ ++void ++core_target::close () ++{ ++ clear_core (); + + /* Core targets are heap-allocated (see core_target_open), so here + we delete ourselves. */ +@@ -592,9 +601,15 @@ core_target_open (const char *arg, int from_tty) + void + core_target::detach (inferior *inf, int from_tty) + { +- /* Note that 'this' is dangling after this call. unpush_target +- closes the target, and our close implementation deletes +- 'this'. */ ++ /* Get rid of the core. Don't rely on core_target::close doing it, ++ because target_detach may be called with core_target's refcount > 1, ++ meaning core_target::close may not be called yet by the ++ unpush_target call below. */ ++ clear_core (); ++ ++ /* Note that 'this' may be dangling after this call. unpush_target ++ closes the target if the refcount reaches 0, and our close ++ implementation deletes 'this'. */ + inf->unpush_target (this); + + /* Clear the register cache and the frame cache. */ +--- a/gdb/testsuite/gdb.base/corefile.exp ++++ b/gdb/testsuite/gdb.base/corefile.exp +@@ -207,6 +207,16 @@ gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp ( + + gdb_test "core" "No core file now." + ++# Test that we can unload the core with the "detach" command. ++ ++proc_with_prefix corefile_detach {} { ++ clean_restart $::binfile ++ ++ gdb_test "core-file $::corefile" "Core was generated by .*" "load core" ++ gdb_test "detach" "No core file now\\." "detach core" ++} ++ ++corefile_detach + + # Test a run (start) command will clear any loaded core file. + +@@ -222,6 +232,8 @@ proc corefile_test_run {} { + return + } + ++ clean_restart $::binfile ++ + gdb_test "core-file $corefile" "Core was generated by .*" "run: load core again" + gdb_test "info files" "\r\nLocal core dump file:\r\n.*" "run: sanity check we see the core file" + diff --git a/sys-devel/gdb/gdb-11.2.ebuild b/sys-devel/gdb/gdb-11.2.ebuild index 9b5d9560363..a7deb851755 100644 --- a/sys-devel/gdb/gdb-11.2.ebuild +++ b/sys-devel/gdb/gdb-11.2.ebuild @@ -43,7 +43,7 @@ SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} " -LICENSE="GPL-2 LGPL-2" +LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" if [[ ${PV} != 9999* ]] ; then @@ -53,6 +53,9 @@ fi IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +# In fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" # ia64 kernel crashes when gdb testsuite is running # in fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. @@ -103,9 +106,8 @@ src_prepare() { default strip-linguas -u bfd/po opcodes/po - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - # avoid using ancient termcap from host on Prefix systems + # Avoid using ancient termcap from host on Prefix systems sed -i -e 's/termcap tinfow/tinfow/g' \ gdb/configure{.ac,} || die } @@ -125,6 +127,11 @@ gdb_branding() { src_configure() { strip-unsupported-flags + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + local myconf=( # portage's econf() does not detect presence of --d-d-t # because it greps only top-level ./configure. But not @@ -134,13 +141,15 @@ src_configure() { --with-pkgversion="$(gdb_branding)" --with-bugurl='https://bugs.gentoo.org/' --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 + # Disable modules that are in a combined binutils/gdb tree. bug #490566 --disable-{binutils,etc,gas,gold,gprof,ld} # avoid automagic dependency on (currently prefix) systems # systems with debuginfod library, bug #754753 --without-debuginfod + $(use_enable test unit-tests) + # 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. @@ -197,18 +206,24 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + # ensure proper compiler is detected for Clang builds: bug #831202 export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" econf "${myconf[@]}" } +src_compile() { + emake V=1 +} + src_install() { - default + emake V=1 DESTDIR="${D}" install find "${ED}"/usr -name libiberty.a -delete || die - # Delete translations that conflict with binutils-libs. #528088 + # Delete translations that conflict with binutils-libs. bug #528088 # Note: Should figure out how to store these in an internal gdb dir. if use nls ; then find "${ED}" \ @@ -252,7 +267,7 @@ src_install() { # Remove shared info pages rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* - if use python; then + if use python ; then python_optimize "${ED}"/usr/share/gdb/python/gdb fi } diff --git a/sys-devel/gdb/gdb-12.1-r1.ebuild b/sys-devel/gdb/gdb-12.1-r1.ebuild new file mode 100644 index 00000000000..f75e337dc42 --- /dev/null +++ b/sys-devel/gdb/gdb-12.1-r1.ebuild @@ -0,0 +1,296 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs + +export CTARGET=${CTARGET:-${CHOST}} + +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +case ${PV} in + 9999*) + # live git tree + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + inherit git-r3 + SRC_URI="" + ;; + *.*.50.2???????) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; + *) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +PATCH_DEV="" +DESCRIPTION="GNU debugger" +HOMEPAGE="https://sourceware.org/gdb/" +SRC_URI="${SRC_URI} + ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} + ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} +" + +LICENSE="GPL-3+ LGPL-2.1+" +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" +fi + +IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# In fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" +# ia64 kernel crashes when gdb testsuite is running +# in fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" +RESTRICT=" + ia64? ( test ) + !test? ( test ) + test +" + +RDEPEND=" + dev-libs/mpfr:0= + dev-libs/gmp:= + >=sys-libs/ncurses-5.2-r2:0= + >=sys-libs/readline-7:0= + sys-libs/zlib + elibc_glibc? ( net-libs/libnsl:= ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + guile? ( >=dev-scheme/guile-2.0 ) + xml? ( dev-libs/expat ) + source-highlight? ( + dev-util/source-highlight + ) + xxhash? ( + dev-libs/xxhash + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + sys-apps/texinfo + virtual/yacc + nls? ( sys-devel/gettext ) + source-highlight? ( virtual/pkgconfig ) + test? ( dev-util/dejagnu ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch + "${FILESDIR}"/${P}-readline-8.2-build.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + strip-linguas -u bfd/po opcodes/po + + # Avoid using ancient termcap from host on Prefix systems + sed -i -e 's/termcap tinfow/tinfow/g' \ + gdb/configure{.ac,} || die +} + +gdb_branding() { + printf "Gentoo ${PV} " + + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi + + [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" +} + +src_configure() { + strip-unsupported-flags + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # gnulib's or gdb's configure. + --disable-dependency-tracking + + --with-pkgversion="$(gdb_branding)" + --with-bugurl='https://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. bug #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + $(use_enable test unit-tests) + + # 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) + + # We need to set both configure options, --with-sysroot and --libdir, + # to fix cross build issues that happen when configuring gmp. + # We explicitly need --libdir. Having only --with-sysroot without + # --libdir would not fix the build issues. + # For some reason, it is not enough to set only --with-sysroot, + # also not enough to pass --with-gmp-xxx options. + --with-sysroot="${ESYSROOT}" + --libdir="${ESYSROOT}/usr/$(get_libdir)" + ) + + local sysroot="${EPREFIX}/usr/${CTARGET}" + + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on, which is triggered + # whenever no --enable or --disable is given + if is_cross || use !server ; then + myconf+=( --disable-gdbserver ) + fi + + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + --enable-obsolete + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + # This only disables building in the zlib subdir. + # For gdb itself, it'll use the system version. + --without-zlib + --with-system-zlib + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with xml expat) + $(use_with lzma) + $(use_enable nls) + $(use_enable source-highlight) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with xxhash) + $(use_with guile) + ) + + if use sparc-solaris || use x86-solaris ; then + # Disable largefile support + # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html + myconf+=( --disable-largefile ) + fi + + # source-highlight is detected with pkg-config: bug #716558 + export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + + econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + emake V=1 DESTDIR="${D}" install + + find "${ED}"/usr -name libiberty.a -delete || die + + # Delete translations that conflict with binutils-libs. bug #528088 + # Note: Should figure out how to store these in an internal gdb dir. + if use nls ; then + find "${ED}" \ + -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ + -delete || die + fi + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -rf "${ED}"/usr/share/{doc,info,locale} || die + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + + # Install it by hand for now: + # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay + + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/PROBLEMS + docinto sim + dodoc sim/{MAINTAINERS,README-HACKING} + + if use server ; then + docinto gdbserver + dodoc gdbserver/README + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* + + if use python ; then + python_optimize "${ED}"/usr/share/gdb/python/gdb + fi +} + +pkg_postinst() { + # Portage doesn't unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-12.1-r2.ebuild b/sys-devel/gdb/gdb-12.1-r2.ebuild new file mode 100644 index 00000000000..9da927c79e7 --- /dev/null +++ b/sys-devel/gdb/gdb-12.1-r2.ebuild @@ -0,0 +1,297 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs + +export CTARGET=${CTARGET:-${CHOST}} + +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +case ${PV} in + 9999*) + # live git tree + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + inherit git-r3 + SRC_URI="" + ;; + *.*.50.2???????) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; + *) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +PATCH_DEV="" +DESCRIPTION="GNU debugger" +HOMEPAGE="https://sourceware.org/gdb/" +SRC_URI="${SRC_URI} + ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} + ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} +" + +LICENSE="GPL-3+ LGPL-2.1+" +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" +fi + +IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# In fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" +# ia64 kernel crashes when gdb testsuite is running +# in fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" +RESTRICT=" + ia64? ( test ) + !test? ( test ) + test +" + +RDEPEND=" + dev-libs/mpfr:0= + dev-libs/gmp:= + >=sys-libs/ncurses-5.2-r2:0= + >=sys-libs/readline-7:0= + sys-libs/zlib + elibc_glibc? ( net-libs/libnsl:= ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + guile? ( >=dev-scheme/guile-2.0 ) + xml? ( dev-libs/expat ) + source-highlight? ( + dev-util/source-highlight + ) + xxhash? ( + dev-libs/xxhash + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + sys-apps/texinfo + virtual/yacc + nls? ( sys-devel/gettext ) + source-highlight? ( virtual/pkgconfig ) + test? ( dev-util/dejagnu ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch + "${FILESDIR}"/${P}-readline-8.2-build.patch + "${FILESDIR}"/${P}-core-file-detach.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + strip-linguas -u bfd/po opcodes/po + + # Avoid using ancient termcap from host on Prefix systems + sed -i -e 's/termcap tinfow/tinfow/g' \ + gdb/configure{.ac,} || die +} + +gdb_branding() { + printf "Gentoo ${PV} " + + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi + + [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" +} + +src_configure() { + strip-unsupported-flags + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # gnulib's or gdb's configure. + --disable-dependency-tracking + + --with-pkgversion="$(gdb_branding)" + --with-bugurl='https://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. bug #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + $(use_enable test unit-tests) + + # 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) + + # We need to set both configure options, --with-sysroot and --libdir, + # to fix cross build issues that happen when configuring gmp. + # We explicitly need --libdir. Having only --with-sysroot without + # --libdir would not fix the build issues. + # For some reason, it is not enough to set only --with-sysroot, + # also not enough to pass --with-gmp-xxx options. + --with-sysroot="${ESYSROOT}" + --libdir="${ESYSROOT}/usr/$(get_libdir)" + ) + + local sysroot="${EPREFIX}/usr/${CTARGET}" + + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on, which is triggered + # whenever no --enable or --disable is given + if is_cross || use !server ; then + myconf+=( --disable-gdbserver ) + fi + + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + --enable-obsolete + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + # This only disables building in the zlib subdir. + # For gdb itself, it'll use the system version. + --without-zlib + --with-system-zlib + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with xml expat) + $(use_with lzma) + $(use_enable nls) + $(use_enable source-highlight) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with xxhash) + $(use_with guile) + ) + + if use sparc-solaris || use x86-solaris ; then + # Disable largefile support + # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html + myconf+=( --disable-largefile ) + fi + + # source-highlight is detected with pkg-config: bug #716558 + export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + + econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + emake V=1 DESTDIR="${D}" install + + find "${ED}"/usr -name libiberty.a -delete || die + + # Delete translations that conflict with binutils-libs. bug #528088 + # Note: Should figure out how to store these in an internal gdb dir. + if use nls ; then + find "${ED}" \ + -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ + -delete || die + fi + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -rf "${ED}"/usr/share/{doc,info,locale} || die + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + + # Install it by hand for now: + # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay + + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/PROBLEMS + docinto sim + dodoc sim/{MAINTAINERS,README-HACKING} + + if use server ; then + docinto gdbserver + dodoc gdbserver/README + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* + + if use python ; then + python_optimize "${ED}"/usr/share/gdb/python/gdb + fi +} + +pkg_postinst() { + # Portage doesn't unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-12.1.ebuild b/sys-devel/gdb/gdb-12.1.ebuild index b7ca1edd193..0accf1af301 100644 --- a/sys-devel/gdb/gdb-12.1.ebuild +++ b/sys-devel/gdb/gdb-12.1.ebuild @@ -43,7 +43,7 @@ SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} " -LICENSE="GPL-2 LGPL-2" +LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" if [[ ${PV} != 9999* ]] ; then @@ -53,6 +53,9 @@ fi IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +# In fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" # ia64 kernel crashes when gdb testsuite is running # in fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. @@ -104,9 +107,8 @@ src_prepare() { default strip-linguas -u bfd/po opcodes/po - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - # avoid using ancient termcap from host on Prefix systems + # Avoid using ancient termcap from host on Prefix systems sed -i -e 's/termcap tinfow/tinfow/g' \ gdb/configure{.ac,} || die } @@ -126,6 +128,11 @@ gdb_branding() { src_configure() { strip-unsupported-flags + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + local myconf=( # portage's econf() does not detect presence of --d-d-t # because it greps only top-level ./configure. But not @@ -135,7 +142,7 @@ src_configure() { --with-pkgversion="$(gdb_branding)" --with-bugurl='https://bugs.gentoo.org/' --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 + # Disable modules that are in a combined binutils/gdb tree. bug #490566 --disable-{binutils,etc,gas,gold,gprof,ld} # avoid automagic dependency on (currently prefix) systems @@ -198,18 +205,24 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + # ensure proper compiler is detected for Clang builds: bug #831202 export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" econf "${myconf[@]}" } +src_compile() { + emake V=1 +} + src_install() { - default + emake V=1 DESTDIR="${D}" install find "${ED}"/usr -name libiberty.a -delete || die - # Delete translations that conflict with binutils-libs. #528088 + # Delete translations that conflict with binutils-libs. bug #528088 # Note: Should figure out how to store these in an internal gdb dir. if use nls ; then find "${ED}" \ @@ -253,7 +266,7 @@ src_install() { # Remove shared info pages rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - if use python; then + if use python ; then python_optimize "${ED}"/usr/share/gdb/python/gdb fi } diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild index 8e18279f875..9a3b277f652 100644 --- a/sys-devel/gdb/gdb-9999.ebuild +++ b/sys-devel/gdb/gdb-9999.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{8,9,10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -43,7 +43,7 @@ SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} " -LICENSE="GPL-2 LGPL-2" +LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" if [[ ${PV} != 9999* ]] ; then @@ -53,6 +53,9 @@ fi IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +# In fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" # ia64 kernel crashes when gdb testsuite is running # in fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. @@ -103,9 +106,8 @@ src_prepare() { default strip-linguas -u bfd/po opcodes/po - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - # avoid using ancient termcap from host on Prefix systems + # Avoid using ancient termcap from host on Prefix systems sed -i -e 's/termcap tinfow/tinfow/g' \ gdb/configure{.ac,} || die } @@ -125,6 +127,11 @@ gdb_branding() { src_configure() { strip-unsupported-flags + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + local myconf=( # portage's econf() does not detect presence of --d-d-t # because it greps only top-level ./configure. But not @@ -134,17 +141,28 @@ src_configure() { --with-pkgversion="$(gdb_branding)" --with-bugurl='https://bugs.gentoo.org/' --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 + # Disable modules that are in a combined binutils/gdb tree. bug #490566 --disable-{binutils,etc,gas,gold,gprof,ld} # avoid automagic dependency on (currently prefix) systems # systems with debuginfod library, bug #754753 --without-debuginfod + $(use_enable test unit-tests) + # 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) + + # We need to set both configure options, --with-sysroot and --libdir, + # to fix cross build issues that happen when configuring gmp. + # We explicitly need --libdir. Having only --with-sysroot without + # --libdir would not fix the build issues. + # For some reason, it is not enough to set only --with-sysroot, + # also not enough to pass --with-gmp-xxx options. + --with-sysroot="${ESYSROOT}" + --libdir="${ESYSROOT}/usr/$(get_libdir)" ) local sysroot="${EPREFIX}/usr/${CTARGET}" @@ -197,18 +215,24 @@ src_configure() { # source-highlight is detected with pkg-config: bug #716558 export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + # ensure proper compiler is detected for Clang builds: bug #831202 export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" econf "${myconf[@]}" } +src_compile() { + emake V=1 +} + src_install() { - default + emake V=1 DESTDIR="${D}" install find "${ED}"/usr -name libiberty.a -delete || die - # Delete translations that conflict with binutils-libs. #528088 + # Delete translations that conflict with binutils-libs. bug #528088 # Note: Should figure out how to store these in an internal gdb dir. if use nls ; then find "${ED}" \ @@ -252,7 +276,7 @@ src_install() { # Remove shared info pages rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - if use python; then + if use python ; then python_optimize "${ED}"/usr/share/gdb/python/gdb fi } diff --git a/sys-devel/gettext/gettext-0.21-r1.ebuild b/sys-devel/gettext/gettext-0.21-r3.ebuild index dffca52da8a..0dc67c518d4 100644 --- a/sys-devel/gettext/gettext-0.21-r1.ebuild +++ b/sys-devel/gettext/gettext-0.21-r3.ebuild @@ -38,11 +38,11 @@ DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] dev-libs/expat acl? ( virtual/acl ) ncurses? ( sys-libs/ncurses:0= ) - java? ( >=virtual/jdk-1.8:= )" + java? ( virtual/jdk:1.8 )" RDEPEND="${DEPEND} !git? ( cvs? ( dev-vcs/cvs ) ) git? ( dev-vcs/git ) - java? ( >=virtual/jre-1.8 )" + java? ( virtual/jre:1.8 )" BDEPEND=" !git? ( cvs? ( dev-vcs/cvs ) ) git? ( dev-vcs/git ) @@ -76,9 +76,7 @@ pkg_setup() { src_prepare() { java-pkg-opt-2_src_prepare - default - elibtoolize } @@ -108,7 +106,7 @@ multilib_src_configure() { $(use_enable cxx libasprintf) $(use_with git) $(usex git --without-cvs $(use_with cvs)) - $(use_enable java) + $(multilib_native_use_enable java) $(use_enable ncurses curses) $(use_enable nls) $(use_enable openmp) diff --git a/sys-devel/gnuconfig/gnuconfig-20220508.ebuild b/sys-devel/gnuconfig/gnuconfig-20220508.ebuild index 3c5c54ade82..1d1a7649fea 100644 --- a/sys-devel/gnuconfig/gnuconfig-20220508.ebuild +++ b/sys-devel/gnuconfig/gnuconfig-20220508.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then inherit git-r3 else SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" S="${WORKDIR}" fi diff --git a/sys-devel/kgcc64/Manifest b/sys-devel/kgcc64/Manifest index a7c8ca028d9..437bf5747f2 100644 --- a/sys-devel/kgcc64/Manifest +++ b/sys-devel/kgcc64/Manifest @@ -1,6 +1,5 @@ DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e DIST gcc-10.3.0.tar.xz 76692288 BLAKE2B ac7898f5eb8a7c5f151a526d1bb38913a68b50a65e4d010ac09fa20b6c801c671c790d780f23ccb8e4ecdfc686f4aa588082ccc9eb5c80c7b0e30788f824c1eb SHA512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 -DIST gcc-11-20220115.tar.xz 75676672 BLAKE2B 12171fd97731dbca67f13cc2a3a3a3989c22d628b289cbd3d46080f77a8d951f15c1e54e83a2e62ab41b69221f9784e970799a11a9ed5b224a77ba4b1b081f07 SHA512 7455b3b29d3c64df9123afef82faf922d97e08a3ea30fbc2d9286d4f6ed2fafbfc0f9d94ae1b9eee45329e95a27bd642b3aa679d83a0c27a3e30967d49e0728c DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58 DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469 SHA512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 DIST gcc-9.3.0-patches-3.tar.bz2 14193 BLAKE2B 4863fec1af41a8cdb2c24479b28812df36c1f71ab71d267ff0efc467cfb8ce99ed77714ceaedfb08b0d1eb0eb9316758cc7cbc5a8ad0bb582050690935e64b46 SHA512 8b90a5826df64e6f74e4f6c0e5acead695b38f671e26485b110d5b341daaad4ac21aabb04baae9ad457408eed274888b7f785bbc782611acfc7261e6a315d110 diff --git a/sys-devel/kgcc64/kgcc64-10.3.0.ebuild b/sys-devel/kgcc64/kgcc64-10.3.0.ebuild index e05d42e06fa..3eb8d3aeded 100644 --- a/sys-devel/kgcc64/kgcc64-10.3.0.ebuild +++ b/sys-devel/kgcc64/kgcc64-10.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,6 +13,7 @@ case ${CHOST} in esac export CTARGET TOOLCHAIN_ALLOWED_LANGS="c" +TOOLCHAIN_PATCH_DEV="slyfox" GCC_TARGET_NO_MULTILIB=true PATCH_VER="1" diff --git a/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild b/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild deleted file mode 100644 index 261a01a910c..00000000000 --- a/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -case ${CHOST} in - hppa*) CTARGET=hppa64-${CHOST#*-};; - mips*) CTARGET=${CHOST/mips/mips64};; - powerpc*) CTARGET=${CHOST/powerpc/powerpc64};; - s390*) CTARGET=${CHOST/s390/s390x};; - sparc*) CTARGET=${CHOST/sparc/sparc64};; - i?86*) CTARGET=x86_64-${CHOST#*-};; -esac -export CTARGET -TOOLCHAIN_ALLOWED_LANGS="c" -GCC_TARGET_NO_MULTILIB=true - -PATCH_VER="4" -PATCH_GCC_VER="11.3.0" -inherit toolchain - -DESCRIPTION="64bit kernel compiler" - -# Works on hppa and mips; all other archs, refer to bug #228115 -KEYWORDS="hppa" - -# unlike every other target, hppa has not unified the 32/64 bit -# ports in binutils yet -BDEPEND="hppa? ( sys-devel/binutils-hppa64 )" - -pkg_postinst() { - toolchain_pkg_postinst - - cd "${ROOT}"/usr/bin - local x - for x in gcc cpp ; do - cat <<-EOF >${CTARGET%%-*}-linux-${x} - #!/bin/sh - exec ${CTARGET}-${x} "\$@" - EOF - chmod a+rx ${CTARGET%%-*}-linux-${x} - done -} diff --git a/sys-devel/kgcc64/kgcc64-11.3.0.ebuild b/sys-devel/kgcc64/kgcc64-11.3.0.ebuild index 261a01a910c..53f4e1488ec 100644 --- a/sys-devel/kgcc64/kgcc64-11.3.0.ebuild +++ b/sys-devel/kgcc64/kgcc64-11.3.0.ebuild @@ -13,8 +13,8 @@ case ${CHOST} in esac export CTARGET TOOLCHAIN_ALLOWED_LANGS="c" +TOOLCHAIN_PATCH_DEV="sam" GCC_TARGET_NO_MULTILIB=true - PATCH_VER="4" PATCH_GCC_VER="11.3.0" inherit toolchain diff --git a/sys-devel/kgcc64/kgcc64-9.3.0-r2.ebuild b/sys-devel/kgcc64/kgcc64-9.3.0-r2.ebuild index 973b2870eba..1c81c1c0fb3 100644 --- a/sys-devel/kgcc64/kgcc64-9.3.0-r2.ebuild +++ b/sys-devel/kgcc64/kgcc64-9.3.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,6 +13,7 @@ case ${CHOST} in esac export CTARGET TOOLCHAIN_ALLOWED_LANGS="c" +TOOLCHAIN_PATCH_DEV="slyfox" GCC_TARGET_NO_MULTILIB=true PATCH_VER="3" diff --git a/sys-devel/kgcc64/kgcc64-9.4.0.ebuild b/sys-devel/kgcc64/kgcc64-9.4.0.ebuild index e6b50adde92..25de4c73834 100644 --- a/sys-devel/kgcc64/kgcc64-9.4.0.ebuild +++ b/sys-devel/kgcc64/kgcc64-9.4.0.ebuild @@ -13,6 +13,7 @@ case ${CHOST} in esac export CTARGET TOOLCHAIN_ALLOWED_LANGS="c" +TOOLCHAIN_PATCH_DEV="slyfox" GCC_TARGET_NO_MULTILIB=true PATCH_VER="1" diff --git a/sys-devel/libtool/libtool-2.4.7.ebuild b/sys-devel/libtool/libtool-2.4.7.ebuild index bcc6bcca5e8..09853e34e58 100644 --- a/sys-devel/libtool/libtool-2.4.7.ebuild +++ b/sys-devel/libtool/libtool-2.4.7.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" fi DESCRIPTION="A shared library tool for developers" diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index bf3dff4f068..0baa75d11b4 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -1,4 +1,5 @@ -DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 +DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 +DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 +DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9 +DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f -DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 -DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-devel/lld/lld-13.0.1.ebuild b/sys-devel/lld/lld-13.0.1.ebuild index 254b9182c56..261c2c5ddab 100644 --- a/sys-devel/lld/lld-13.0.1.ebuild +++ b/sys-devel/lld/lld-13.0.1.ebuild @@ -28,7 +28,7 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) llvm.org_set_globals python_check_deps() { - has_version -b "dev-python/lit[${PYTHON_USEDEP}]" + python_has_version "~dev-python/lit-${PV}[${PYTHON_USEDEP}]" } pkg_setup() { diff --git a/sys-devel/lld/lld-14.0.3.ebuild b/sys-devel/lld/lld-14.0.6.ebuild index 461302a580e..cc28bfce559 100644 --- a/sys-devel/lld/lld-14.0.3.ebuild +++ b/sys-devel/lld/lld-14.0.6.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" IUSE="debug test" RESTRICT="!test? ( test )" @@ -33,7 +33,7 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) llvm.org_set_globals python_check_deps() { - has_version -b "dev-python/lit[${PYTHON_USEDEP}]" + python_has_version "~dev-python/lit-${PV}[${PYTHON_USEDEP}]" } pkg_setup() { diff --git a/sys-devel/lld/lld-15.0.0.9999.ebuild b/sys-devel/lld/lld-15.0.0.9999.ebuild index e9db4aa03db..76bdcb369c4 100644 --- a/sys-devel/lld/lld-15.0.0.9999.ebuild +++ b/sys-devel/lld/lld-15.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake flag-o-matic llvm llvm.org python-any-r1 DESCRIPTION="The LLVM linker (link editor)" @@ -33,7 +33,7 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) llvm.org_set_globals python_check_deps() { - has_version -b "dev-python/lit[${PYTHON_USEDEP}]" + python_has_version "~dev-python/lit-${PV}[${PYTHON_USEDEP}]" } pkg_setup() { diff --git a/sys-devel/lld/lld-14.0.1.ebuild b/sys-devel/lld/lld-15.0.0_rc2.ebuild index 24d9edd3e0d..76bdcb369c4 100644 --- a/sys-devel/lld/lld-14.0.1.ebuild +++ b/sys-devel/lld/lld-15.0.0_rc2.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake flag-o-matic llvm llvm.org python-any-r1 DESCRIPTION="The LLVM linker (link editor)" @@ -11,24 +11,29 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="" IUSE="debug test" RESTRICT="!test? ( test )" -RDEPEND="~sys-devel/llvm-${PV}" -DEPEND="${RDEPEND}" +DEPEND=" + ~sys-devel/llvm-${PV} +" +RDEPEND=" + ${DEPEND} +" BDEPEND=" test? ( >=dev-util/cmake-3.16 $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - )" + ) +" LLVM_COMPONENTS=( lld cmake 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}]" + python_has_version "~dev-python/lit-${PV}[${PYTHON_USEDEP}]" } pkg_setup() { diff --git a/sys-devel/lld/lld-12.0.1.ebuild b/sys-devel/lld/lld-16.0.0.9999.ebuild index 12d00d30f2f..76bdcb369c4 100644 --- a/sys-devel/lld/lld-12.0.1.ebuild +++ b/sys-devel/lld/lld-16.0.0.9999.ebuild @@ -1,34 +1,39 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake llvm llvm.org python-any-r1 +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 DESCRIPTION="The LLVM linker (link editor)" HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" -IUSE="test" +KEYWORDS="" +IUSE="debug test" RESTRICT="!test? ( test )" -RDEPEND="~sys-devel/llvm-${PV}" -DEPEND="${RDEPEND}" +DEPEND=" + ~sys-devel/llvm-${PV} +" +RDEPEND=" + ${DEPEND} +" 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_COMPONENTS=( lld cmake 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}]" + python_has_version "~dev-python/lit-${PV}[${PYTHON_USEDEP}]" } pkg_setup() { @@ -48,6 +53,11 @@ src_unpack() { } src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + local mycmakeargs=( -DBUILD_SHARED_LIBS=ON -DLLVM_INCLUDE_TESTS=$(usex test) diff --git a/sys-devel/lld/metadata.xml b/sys-devel/lld/metadata.xml index 3ad9b7a7c0e..072910296ca 100644 --- a/sys-devel/lld/metadata.xml +++ b/sys-devel/lld/metadata.xml @@ -4,4 +4,7 @@ <maintainer type="project"> <email>llvm@gentoo.org</email> </maintainer> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest index bf3dff4f068..0baa75d11b4 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -1,4 +1,5 @@ -DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 +DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 +DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 +DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9 +DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f -DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 -DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-devel/llvm-common/llvm-common-14.0.3.ebuild b/sys-devel/llvm-common/llvm-common-14.0.6.ebuild index 104c8747bbe..2be11dd95e4 100644 --- a/sys-devel/llvm-common/llvm-common-14.0.3.ebuild +++ b/sys-devel/llvm-common/llvm-common-14.0.6.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" RDEPEND=" !sys-devel/llvm:0 diff --git a/sys-devel/llvm-common/llvm-common-14.0.1.ebuild b/sys-devel/llvm-common/llvm-common-15.0.0_rc2.ebuild index 3b5304a686c..df37476f6fb 100644 --- a/sys-devel/llvm-common/llvm-common-14.0.1.ebuild +++ b/sys-devel/llvm-common/llvm-common-15.0.0_rc2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit llvm.org @@ -10,10 +10,11 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="" +KEYWORDS="" -RDEPEND="!sys-devel/llvm:0" +RDEPEND=" + !sys-devel/llvm:0 +" LLVM_COMPONENTS=( llvm/utils/vim ) llvm.org_set_globals diff --git a/sys-devel/llvm-common/llvm-common-12.0.1.ebuild b/sys-devel/llvm-common/llvm-common-16.0.0.9999.ebuild index 79fd5f8009d..df37476f6fb 100644 --- a/sys-devel/llvm-common/llvm-common-12.0.1.ebuild +++ b/sys-devel/llvm-common/llvm-common-16.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit llvm.org @@ -10,10 +10,11 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="" +KEYWORDS="" -RDEPEND="!sys-devel/llvm:0" +RDEPEND=" + !sys-devel/llvm:0 +" LLVM_COMPONENTS=( llvm/utils/vim ) llvm.org_set_globals diff --git a/sys-devel/llvm-common/metadata.xml b/sys-devel/llvm-common/metadata.xml index 3ad9b7a7c0e..072910296ca 100644 --- a/sys-devel/llvm-common/metadata.xml +++ b/sys-devel/llvm-common/metadata.xml @@ -4,4 +4,7 @@ <maintainer type="project"> <email>llvm@gentoo.org</email> </maintainer> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index 66777bb6008..f69812dabd8 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -1,13 +1,11 @@ -DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5 DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 -DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29 -DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3 -DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 +DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 -DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32 -DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6 +DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c +DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269 DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a -DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 +DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 +DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 +DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9 +DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f -DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 -DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild index a1194164202..9bec4f84d3a 100644 --- a/sys-devel/llvm/llvm-13.0.1.ebuild +++ b/sys-devel/llvm/llvm-13.0.1.ebuild @@ -47,6 +47,9 @@ BDEPEND=" dev-python/sphinx[${PYTHON_USEDEP}] ') ) libffi? ( virtual/pkgconfig ) + test? ( + sys-apps/which + ) ${PYTHON_DEPS}" # There are no file collisions between these versions but having :0 # installed means llvm-config there will take precedence. @@ -56,7 +59,7 @@ PDEPEND="sys-devel/llvm-common binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=pregenerated +LLVM_MANPAGES=1 LLVM_PATCHSET=${PV/_/-} LLVM_USE_TARGETS=provide llvm.org_set_globals @@ -68,7 +71,7 @@ python_check_deps() { has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -check_live_ebuild() { +check_uptodate() { local prod_targets=( $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ | tail -n +2 | head -n -1) @@ -131,7 +134,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -165,8 +168,8 @@ src_prepare() { # 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 + # Verify that the ebuild is up-to-date + check_uptodate llvm.org_src_prepare } diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild index 673ce859188..01b9bbfd4b9 100644 --- a/sys-devel/llvm/llvm-12.0.1.ebuild +++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ @@ -10,14 +10,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" -# Those are in lib/Targets, without explicit CMakeLists.txt mention -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE ) -# Keep in sync with CMakeLists.txt -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore - "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) - # Additional licenses: # 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. # 2. xxhash: BSD. @@ -26,24 +18,27 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3 ${ALL_LLVM_TARGETS[*]}" -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] + binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) exegesis? ( dev-libs/libpfm:= ) - gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) 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} - gold? ( sys-libs/binutils-libs )" + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs ) +" BDEPEND=" + ${PYTHON_DEPS} dev-lang/perl >=dev-util/cmake-3.16 sys-devel/gnuconfig @@ -56,27 +51,35 @@ BDEPEND=" dev-python/sphinx[${PYTHON_USEDEP}] ') ) libffi? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" + test? ( + sys-apps/which + ) +" # 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 - gold? ( >=sys-devel/llvmgold-${SLOT} )" - -LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=pregenerated -LLVM_PATCHSET=12.0.1 +RDEPEND=" + ${RDEPEND} + !sys-devel/llvm:0 +" +PDEPEND=" + sys-devel/llvm-common + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} ) +" + +LLVM_COMPONENTS=( llvm cmake third-party ) +LLVM_MANPAGES=1 +LLVM_PATCHSET=${PV}-r2 +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}]" + python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -check_live_ebuild() { +check_uptodate() { local prod_targets=( $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ | tail -n +2 | head -n -1) @@ -91,8 +94,6 @@ check_live_ebuild() { for i in "${all_targets[@]}"; do has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) done - # reorder - all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" ) if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" @@ -101,10 +102,10 @@ check_live_ebuild() { eqawarn fi - if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then - eqawarn "ALL_LLVM_TARGETS is outdated!" - eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}" - eqawarn "Expected: ${all_targets[*]}" + 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 } @@ -141,7 +142,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -175,10 +176,14 @@ src_prepare() { # 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 + # Verify that the ebuild is up-to-date + check_uptodate llvm.org_src_prepare + + # remove regressing test + # https://github.com/llvm/llvm-project/issues/55761 + rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die } # Is LLVM being linked against libc++? @@ -245,12 +250,12 @@ get_distribution_components() { llvm-cxxdump llvm-cxxfilt llvm-cxxmap + llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump llvm-dwp - llvm-elfabi llvm-exegesis llvm-extract llvm-gsymutil @@ -273,6 +278,7 @@ get_distribution_components() { llvm-objcopy llvm-objdump llvm-opt-report + llvm-otool llvm-pdbutil llvm-profdata llvm-profgen @@ -282,13 +288,17 @@ get_distribution_components() { llvm-readobj llvm-reduce llvm-rtdyld + llvm-sim llvm-size llvm-split llvm-stress llvm-strings llvm-strip llvm-symbolizer + llvm-tapi-diff + llvm-tli-checker llvm-undname + llvm-windres llvm-xray obj2yaml opt @@ -314,7 +324,7 @@ get_distribution_components() { docs-llvm-html ) - use gold && out+=( + use binutils-plugin && out+=( LLVMgold ) fi @@ -363,7 +373,7 @@ multilib_src_configure() { -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" # used only for llvm-objdump tool - -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0) + -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) -DPython3_EXECUTABLE="${PYTHON}" @@ -411,7 +421,7 @@ multilib_src_configure() { -DLLVM_ENABLE_DOXYGEN=OFF -DLLVM_INSTALL_UTILS=ON ) - use gold && mycmakeargs+=( + use binutils-plugin && mycmakeargs+=( -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include ) fi @@ -444,6 +454,9 @@ multilib_src_configure() { use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" cmake_src_configure + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MASTER_MAJOR?" multilib_is_native_abi && check_distribution_components } diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild index 8d3abaa4540..a28eef0e488 100644 --- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ toolchain-funcs @@ -64,7 +64,7 @@ PDEPEND=" " LLVM_COMPONENTS=( llvm cmake third-party ) -LLVM_MANPAGES=build +LLVM_MANPAGES=1 LLVM_PATCHSET=9999-r3 LLVM_USE_TARGETS=provide llvm.org_set_globals @@ -72,11 +72,11 @@ 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}]" + python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -check_live_ebuild() { +check_uptodate() { local prod_targets=( $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ | tail -n +2 | head -n -1) @@ -139,7 +139,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -173,8 +173,8 @@ src_prepare() { # 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 + # Verify that the ebuild is up-to-date + check_uptodate llvm.org_src_prepare } @@ -222,6 +222,7 @@ get_distribution_components() { count not yaml-bench + UnicodeNameMappingGenerator # tools bugpoint @@ -243,11 +244,13 @@ get_distribution_components() { llvm-cxxdump llvm-cxxfilt llvm-cxxmap + llvm-debuginfod llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump + llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-15.0.0_rc2.ebuild index 0da9cd7b6b7..f6bca5b0ce6 100644 --- a/sys-devel/llvm/llvm-14.0.1.ebuild +++ b/sys-devel/llvm/llvm-15.0.0_rc2.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ toolchain-funcs @@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="" IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" RESTRICT="!test? ( test )" @@ -31,10 +31,14 @@ RDEPEND=" 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 )" + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs ) +" BDEPEND=" + ${PYTHON_DEPS} dev-lang/perl >=dev-util/cmake-3.16 sys-devel/gnuconfig @@ -47,28 +51,32 @@ BDEPEND=" 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} )" +RDEPEND=" + ${RDEPEND} + !sys-devel/llvm:0 +" +PDEPEND=" + sys-devel/llvm-common + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} ) +" LLVM_COMPONENTS=( llvm cmake third-party ) -LLVM_MANPAGES=pregenerated -LLVM_PATCHSET=14.0.1 +LLVM_MANPAGES=1 +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}]" + python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -check_live_ebuild() { +check_uptodate() { local prod_targets=( $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ | tail -n +2 | head -n -1) @@ -131,7 +139,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -165,8 +173,8 @@ src_prepare() { # 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 + # Verify that the ebuild is up-to-date + check_uptodate llvm.org_src_prepare } @@ -214,6 +222,7 @@ get_distribution_components() { count not yaml-bench + UnicodeNameMappingGenerator # tools bugpoint @@ -235,11 +244,13 @@ get_distribution_components() { llvm-cxxdump llvm-cxxfilt llvm-cxxmap + llvm-debuginfod llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump + llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract @@ -272,6 +283,7 @@ get_distribution_components() { llvm-readelf llvm-readobj llvm-reduce + llvm-remark-size-diff llvm-rtdyld llvm-sim llvm-size diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild index 360436b21ec..a28eef0e488 100644 --- a/sys-devel/llvm/llvm-14.0.3.ebuild +++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ toolchain-funcs @@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="" IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" RESTRICT="!test? ( test )" @@ -64,19 +64,19 @@ PDEPEND=" " LLVM_COMPONENTS=( llvm cmake third-party ) -LLVM_MANPAGES=pregenerated -LLVM_PATCHSET=${PV} +LLVM_MANPAGES=1 +LLVM_PATCHSET=9999-r3 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}]" + python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -check_live_ebuild() { +check_uptodate() { local prod_targets=( $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ | tail -n +2 | head -n -1) @@ -139,7 +139,7 @@ check_distribution_components() { all_targets+=( "${l}" ) fi - done < <(ninja -t targets all) + done < <(${NINJA} -t targets all) while read -r l; do my_targets+=( "${l}" ) @@ -173,8 +173,8 @@ src_prepare() { # 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 + # Verify that the ebuild is up-to-date + check_uptodate llvm.org_src_prepare } @@ -222,6 +222,7 @@ get_distribution_components() { count not yaml-bench + UnicodeNameMappingGenerator # tools bugpoint @@ -243,11 +244,13 @@ get_distribution_components() { llvm-cxxdump llvm-cxxfilt llvm-cxxmap + llvm-debuginfod llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump + llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract @@ -280,6 +283,7 @@ get_distribution_components() { llvm-readelf llvm-readobj llvm-reduce + llvm-remark-size-diff llvm-rtdyld llvm-sim llvm-size diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml index c10c45dd8f2..084e1821104 100644 --- a/sys-devel/llvm/metadata.xml +++ b/sys-devel/llvm/metadata.xml @@ -14,10 +14,12 @@ <flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag> <flag name="exegesis">Enable performance counter support for llvm-exegesis tool that can be used to measure host machine instruction characteristics</flag> - <flag name="gold">Build the binutils plugin</flag> <flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag> <flag name="xar">Support dumping LLVM bitcode sections in Mach-O files (uses <pkg>app-arch/xar</pkg>)</flag> <flag name="z3">Enable support for <pkg>sci-mathematics/z3</pkg> constraint solver</flag> </use> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/llvmgold/llvmgold-13-r1.ebuild b/sys-devel/llvmgold/llvmgold-13-r2.ebuild index c92356ad883..c5b814adfa6 100644 --- a/sys-devel/llvmgold/llvmgold-13-r1.ebuild +++ b/sys-devel/llvmgold/llvmgold-13-r2.ebuild @@ -12,10 +12,7 @@ SLOT="0" KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux" RDEPEND=" - || ( - sys-devel/llvm:${PV}[binutils-plugin(-)] - sys-devel/llvm:${PV}[gold(-)] - ) + sys-devel/llvm:${PV}[binutils-plugin(-)] !sys-devel/llvm:0" S=${WORKDIR} diff --git a/sys-devel/llvmgold/llvmgold-14.ebuild b/sys-devel/llvmgold/llvmgold-14.ebuild index 317a4594a1d..484ce44cf3f 100644 --- a/sys-devel/llvmgold/llvmgold-14.ebuild +++ b/sys-devel/llvmgold/llvmgold-14.ebuild @@ -9,7 +9,7 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux" RDEPEND=" sys-devel/llvm:${PV}[binutils-plugin] diff --git a/sys-devel/llvmgold/llvmgold-12.ebuild b/sys-devel/llvmgold/llvmgold-16.ebuild index 39dbffdba3b..5dcc3164a55 100644 --- a/sys-devel/llvmgold/llvmgold-12.ebuild +++ b/sys-devel/llvmgold/llvmgold-16.ebuild @@ -1,20 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 DESCRIPTION="LLVMgold plugin symlink for autoloading" HOMEPAGE="https://llvm.org/" -SRC_URI="" +S=${WORKDIR} LICENSE="public-domain" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux" - -RDEPEND="sys-devel/llvm:${PV}[gold] - !sys-devel/llvm:0" +KEYWORDS="" +PROPERTIES="live" -S=${WORKDIR} +RDEPEND=" + sys-devel/llvm:${PV}[binutils-plugin] + !sys-devel/llvm:0 +" src_install() { dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" diff --git a/sys-devel/llvmgold/metadata.xml b/sys-devel/llvmgold/metadata.xml index 3ad9b7a7c0e..072910296ca 100644 --- a/sys-devel/llvmgold/metadata.xml +++ b/sys-devel/llvmgold/metadata.xml @@ -4,4 +4,7 @@ <maintainer type="project"> <email>llvm@gentoo.org</email> </maintainer> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest index 268158e7625..180c8cf5349 100644 --- a/sys-devel/mold/Manifest +++ b/sys-devel/mold/Manifest @@ -1,2 +1,2 @@ -DIST mold-1.2.1.tar.gz 4669615 BLAKE2B ba483a479d3eff0ea1dbce0da8c292b6a95c0faee2ac0f52d7be392e41d70e5ff3d7859e43fd721720bfb8331984823f2762acfd9dc51d3f5d8fd0a4865088c9 SHA512 fc39674b00119d09b3275ed7232356f0b25dad1a0f3a498f9db1a4835b6d4f9ea637ca9a643a05591ea895e8751d9bee43cdcb42303beb082462e76ddb42a0f1 -DIST mold-1.2.tar.gz 4759743 BLAKE2B 496a4804ac656d52cf54675740091a5e50048a2cc0aae9eab17a08ae88b16e138c364bf76c4d7959cf631d42ed69df3b18207620bf33f6675477ef38bbb0a016 SHA512 1308f5f274867a5d2d2c000a043ce645eff2a0c876fc1bec33c077cd7f5fc0f1f2b983211ca479cebc80f1ed3f3b0ea0d4c8f7e3e7f2124b713354b18ebc8676 +DIST mold-1.3.1.tar.gz 4692379 BLAKE2B e34e9416cfc65d2097c4659ddc205a0c4492e50a1c6e4560006757e5c371d27410e38131f353cd0ee60b124e5fe42b0a1c50cdc3a7bed9f666596e608340e4fd SHA512 f576d2fcfee5cb3bade5ba24dcdd3020a16131ce7d4c3a00c3f92b94785ed86f3f040a6f5814b9c975c4c3d90a2b8c36a8101d5fbf1bc0a4be316f4a4a6dcefa +DIST mold-1.4.0.tar.gz 4722082 BLAKE2B 65ac52724018f5df82ca40b287a5f3b2c3e4b6b313ef2573bfd0ed6d03054d92b9e1e52cbdad1930406cff232c4b952c33a16979968502c439b860bd782726a9 SHA512 7b7c4a7bac6bbc6e22372d93d94a6cb804c7017eba16b90e9bbc42b9608108c724ef55337aabdd9ce2f5244b94c8fd64311e70e18b5f8cf5f68533c2639e550d diff --git a/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch b/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch new file mode 100644 index 00000000000..d2ed0af47b4 --- /dev/null +++ b/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch @@ -0,0 +1,28 @@ +From a4fde946f49cddf4f7c1eceb3b86ca38375cec1d Mon Sep 17 00:00:00 2001 +From: Matthew Smith <matt@offtopica.uk> +Date: Sun, 26 Jun 2022 13:44:36 +0100 +Subject: [PATCH] Revert "Do not use pkg-config" + +This reverts commit 4ef90d4316bbba3a4b8902e38bf5f68171cc6ab7. +--- a/Makefile ++++ b/Makefile +@@ -18,6 +18,9 @@ ifeq ($(origin CXX), default) + CXX = c++ + endif + ++# Allow overriding pkg-config binary ++PKG_CONFIG = pkg-config ++ + # If you want to keep symbols in the installed binary, run make with + # `STRIP=true` to run /bin/true instead of the strip command. + STRIP = strip +@@ -100,7 +103,8 @@ ifeq ($(OS), Darwin) + endif + + ifeq ($(NEEDS_LIBCRYPTO), 1) +- MOLD_LDFLAGS += -lcrypto ++ MOLD_CXXFLAGS += $(shell $(PKG_CONFIG) --cflags-only-I openssl) ++ MOLD_LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L openssl) -lcrypto + endif + + # '-latomic' flag is needed building on riscv64 system. diff --git a/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch b/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch new file mode 100644 index 00000000000..5613d8ddc00 --- /dev/null +++ b/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch @@ -0,0 +1,25 @@ +From https://github.com/rui314/mold/pull/590 +From 68bd00caa7c7946f380f72a5dd263e7c1d436e9f Mon Sep 17 00:00:00 2001 +From: Alex Fan <alex.fan.q@gmail.com> +Date: Thu, 28 Jul 2022 14:04:21 +1000 +Subject: [PATCH] [ELF][RISCV] add missing R_RISCV_SET32 in EhFrameSection + +Signed-off-by: Alex Fan <alex.fan.q@gmail.com> +--- + elf/arch-riscv64.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/elf/arch-riscv64.cc b/elf/arch-riscv64.cc +index 8761c6ac..0c589118 100644 +--- a/elf/arch-riscv64.cc ++++ b/elf/arch-riscv64.cc +@@ -183,6 +183,9 @@ void EhFrameSection<E>::apply_reloc(Context<E> &ctx, const ElfRel<E> &rel, + case R_RISCV_SET16: + *(ul16 *)loc = val; + return; ++ case R_RISCV_SET32: ++ *(ul32 *)loc = val; ++ return; + case R_RISCV_32_PCREL: + *(ul32 *)loc = val - this->shdr.sh_addr - offset; + return; diff --git a/sys-devel/mold/mold-1.3.1-r1.ebuild b/sys-devel/mold/mold-1.3.1-r1.ebuild new file mode 100644 index 00000000000..b4a955bb2de --- /dev/null +++ b/sys-devel/mold/mold-1.3.1-r1.ebuild @@ -0,0 +1,99 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="A Modern Linker" +HOMEPAGE="https://github.com/rui314/mold" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/rui314/mold.git" + inherit git-r3 +else + SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~riscv" +fi + +LICENSE="AGPL-3" +SLOT="0" + +RDEPEND=">=dev-cpp/tbb-2021.4.0:= + sys-libs/zlib + !kernel_Darwin? ( + >=dev-libs/mimalloc-2:= + dev-libs/openssl:= + )" +# As of 1.1, xxhash is now a header-only dep, but it's now bundled :( +# TODO: restore SYSTEM_XXHASH upstream? +DEPEND="${RDEPEND}" + +PATCHES=( + # Bug #841575 + "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch + "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch + # Bug #861488 + "${FILESDIR}"/${PN}-1.3.1-fix-riscv-set32.patch +) + +pkg_pretend() { + # Requires a c++20 compiler, see #831473 + if [[ ${MERGE_TYPE} != binary ]]; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then + die "${PN} needs at least gcc 10" + elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then + die "${PN} needs at least clang 12" + fi + fi +} + +src_prepare() { + default + + # Needs unpackaged dwarfdump + rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die + + # Heavy tests, need qemu + rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die + rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die + + # Sandbox sadness + rm test/elf/run.sh || die + sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ + test/elf/mold-wrapper{,2}.sh || die + + # static-pie tests require glibc built with static-pie support + if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then + rm test/elf/{,ifunc-}static-pie.sh || die + fi +} + +src_compile() { + tc-export CC CXX + + emake \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + SYSTEM_TBB=1 \ + SYSTEM_MIMALLOC=1 \ + STRIP="true" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" +} + +src_test() { + emake \ + SYSTEM_TBB=1 \ + SYSTEM_MIMALLOC=1 \ + check +} + +src_install() { + emake \ + SYSTEM_TBB=1 \ + SYSTEM_MIMALLOC=1 \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + STRIP="true" \ + install +} diff --git a/sys-devel/mold/mold-1.2.1-r1.ebuild b/sys-devel/mold/mold-1.3.1.ebuild index 87931221e19..53cc37505b9 100644 --- a/sys-devel/mold/mold-1.2.1-r1.ebuild +++ b/sys-devel/mold/mold-1.3.1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~riscv" fi LICENSE="AGPL-3" @@ -31,6 +31,7 @@ DEPEND="${RDEPEND}" PATCHES=( # Bug #841575 "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch + "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch ) pkg_pretend() { @@ -52,15 +53,16 @@ src_prepare() { # Heavy tests, need qemu rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die + rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die # Sandbox sadness rm test/elf/run.sh || die - sed -i 's|$mold-wrapper.so|"& ${LD_PRELOAD}"|' \ + sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ test/elf/mold-wrapper{,2}.sh || die # static-pie tests require glibc built with static-pie support if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then - rm test/elf/{hello,ifunc}-static-pie.sh || die + rm test/elf/{,ifunc-}static-pie.sh || die fi } diff --git a/sys-devel/mold/mold-1.2.ebuild b/sys-devel/mold/mold-1.4.0.ebuild index 83ebef23269..53cc37505b9 100644 --- a/sys-devel/mold/mold-1.2.ebuild +++ b/sys-devel/mold/mold-1.4.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~riscv" fi LICENSE="AGPL-3" @@ -28,6 +28,12 @@ RDEPEND=">=dev-cpp/tbb-2021.4.0:= # TODO: restore SYSTEM_XXHASH upstream? DEPEND="${RDEPEND}" +PATCHES=( + # Bug #841575 + "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch + "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch +) + pkg_pretend() { # Requires a c++20 compiler, see #831473 if [[ ${MERGE_TYPE} != binary ]]; then @@ -45,17 +51,18 @@ src_prepare() { # Needs unpackaged dwarfdump rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die - # Heavy test, needs qemu - rm test/elf/gdb-index.sh || die + # Heavy tests, need qemu + rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die + rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die # Sandbox sadness rm test/elf/run.sh || die - sed -i 's|$mold-wrapper.so|"& ${LD_PRELOAD}"|' \ + sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ test/elf/mold-wrapper{,2}.sh || die # static-pie tests require glibc built with static-pie support if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then - rm test/elf/{hello,ifunc}-static-pie.sh || die + rm test/elf/{,ifunc-}static-pie.sh || die fi } diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild index 87931221e19..2a7faac5052 100644 --- a/sys-devel/mold/mold-9999.ebuild +++ b/sys-devel/mold/mold-9999.ebuild @@ -31,6 +31,7 @@ DEPEND="${RDEPEND}" PATCHES=( # Bug #841575 "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch + "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch ) pkg_pretend() { @@ -52,15 +53,16 @@ src_prepare() { # Heavy tests, need qemu rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die + rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die # Sandbox sadness rm test/elf/run.sh || die - sed -i 's|$mold-wrapper.so|"& ${LD_PRELOAD}"|' \ + sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ test/elf/mold-wrapper{,2}.sh || die # static-pie tests require glibc built with static-pie support if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then - rm test/elf/{hello,ifunc}-static-pie.sh || die + rm test/elf/{,ifunc-}static-pie.sh || die fi } diff --git a/sys-devel/parity/parity-2.0.1.ebuild b/sys-devel/parity/parity-2.0.1.ebuild index a6d5f5cfc4a..3de370518ab 100644 --- a/sys-devel/parity/parity-2.0.1.ebuild +++ b/sys-devel/parity/parity-2.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,11 +8,11 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="git@github.com:ssi-schaefer/parity.git https://github.com/ssi-schaefer/parity.git" BDEPEND="dev-util/confix" else - SRC_URI="https://github.com/mduft/${PN}/releases/download/${PV}/${P}.tar.bz2" + SRC_URI="https://github.com/ssi-schaefer/${PN}/releases/download/${PV}/${P}.tar.bz2" KEYWORDS="~x64-cygwin" fi DESCRIPTION="A POSIX to native Win32 Cross-Compiler Tool (requires Visual Studio)" -HOMEPAGE="https://github.com/mduft/parity" +HOMEPAGE="https://github.com/ssi-schaefer/parity" parity-vcarchs() { echo x64=x86_64 x86=i686 ; } parity-vcvers-legacy() { echo 8_0 9_0 ; } diff --git a/sys-devel/parity/parity-9999.ebuild b/sys-devel/parity/parity-9999.ebuild deleted file mode 100644 index a6d5f5cfc4a..00000000000 --- a/sys-devel/parity/parity-9999.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -if [[ ${PV} == 9999 ]]; then - inherit autotools git-r3 - EGIT_REPO_URI="git@github.com:ssi-schaefer/parity.git https://github.com/ssi-schaefer/parity.git" - BDEPEND="dev-util/confix" -else - SRC_URI="https://github.com/mduft/${PN}/releases/download/${PV}/${P}.tar.bz2" - KEYWORDS="~x64-cygwin" -fi -DESCRIPTION="A POSIX to native Win32 Cross-Compiler Tool (requires Visual Studio)" -HOMEPAGE="https://github.com/mduft/parity" - -parity-vcarchs() { echo x64=x86_64 x86=i686 ; } -parity-vcvers-legacy() { echo 8_0 9_0 ; } -parity-vcvers-current() { echo 10_0 11_0 12_0 14_0 15 16 ; } -parity-vcvers() { - parity-vcvers-legacy - parity-vcvers-current -} - -LICENSE="LGPL-3" -SLOT="0" -IUSE="$( - for a in $(parity-vcarchs); do echo "+vc${a%=*}"; done - for v in $(parity-vcvers-legacy); do echo "vc${v}"; done - for v in $(parity-vcvers-current); do echo "+vc${v}"; done -)" - -if [[ ${PV} == 9999 ]]; then - src_prepare() { - default - confix --output || die - eautoreconf - } -fi - -parity-enabled-vcarchs() { - local enabled= a - for a in $(parity-vcarchs) ; do - if use vc${a%=*} ; then - enabled+=",${a#*=}" - fi - done - echo ${enabled#,} -} - -parity-enabled-vcvers() { - local enabled= v - for v in $(parity-vcvers) ; do - if use vc${v} ; then - enabled+=",${v/_/.}" - fi - done - echo ${enabled#,} -} - -src_configure() { - local myconf=( - --enable-msvc-archs="$(parity-enabled-vcarchs)" - --enable-msvc-versions="$(parity-enabled-vcvers)" - --disable-default-msvc-version - ) - econf "${myconf[@]}" -} - -pkg_postinst() { - if [[ -n ${ROOT} ]] ; then - einfo "To enable all available MSVC versions, on the target machine please run:" - einfo " '${EPREFIX}/usr/bin/parity-setup' --enable-all" - else - "${EPREFIX}"/usr/bin/parity-setup --enable-all - fi -} diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest index 8a08fb30efd..94306c39795 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -1 +1 @@ -DIST rustc-1.58.1-src.tar.xz 124353160 BLAKE2B 686c7272db544ad46f7fb01b4e05f24f4e08ff959a000cadfaef5d8fc413b93f5ed839077bc9715defc7a0a179af091f65c7a5d7104b0b3153f0654c237c094b SHA512 eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce +DIST rustc-1.59.0-src.tar.xz 128942756 BLAKE2B b28114f14c9a0fec7db56fde79a985360fd8438c3b14eede49ed12e540c2636be960d0fd800c569af193886ac76fe8bf604d5dae59214ae08cb0cc6cc0ca404e SHA512 acace866871d13a55d365f65d7e15c192c3cd33096862571df6317e066b7474d668b95ae281e0244967778c05f1e33966c3c55616218bd25d3770a2b2d4f0365 diff --git a/sys-devel/rust-std/rust-std-1.58.1.ebuild b/sys-devel/rust-std/rust-std-1.59.0.ebuild index b3528f3325e..b3528f3325e 100644 --- a/sys-devel/rust-std/rust-std-1.58.1.ebuild +++ b/sys-devel/rust-std/rust-std-1.59.0.ebuild diff --git a/sys-devel/smatch/Manifest b/sys-devel/smatch/Manifest index a99bf33cb4d..9ca3a1ada7b 100644 --- a/sys-devel/smatch/Manifest +++ b/sys-devel/smatch/Manifest @@ -1,2 +1 @@ -DIST smatch-1.60.tar.gz 558479 BLAKE2B d5e564c32e33dc38847f9a258b4b47285f190652181db9b8850c832c0cf4d8a3302d989a7b42592e73a713927a29565565e83a9be1b0a5c9d10869fce278a0be SHA512 2920c9d4c500db36cfa60db5be70d157ed16abd729279462faef6f79e0756bd017ec91b8f857d19fdebd8a9d709b0555635700a2864cf0a84daa61cf2ca3eecd DIST smatch-1.72.tar.gz 1431923 BLAKE2B ec4119fce985876afc9a46a74a0a56e8e8cb271a964c16496972c59ade95aa3d2df3a839a819e31cb081ca8a3b1f6bf6934ec97d73209091cfd86c87c1433557 SHA512 6d12e9ba85f332fcc56657296596e811cf3b75d4ad37007e07feb31baa4b315732361915972a2139ae13f75b8a73f953488ceb9de41529db9e84c81fb6fde77e diff --git a/sys-devel/smatch/smatch-1.60.ebuild b/sys-devel/smatch/smatch-1.60.ebuild deleted file mode 100644 index 04dfbb1b49a..00000000000 --- a/sys-devel/smatch/smatch-1.60.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs -if [[ ${PV} == "9999" ]] ; then - 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 - mirror://gentoo/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" - S=${WORKDIR}/${PN} -fi - -DESCRIPTION="Static analysis tool for C" -HOMEPAGE="http://smatch.sourceforge.net/" - -LICENSE="OSL-1.1" -SLOT="0" -IUSE="" - -RDEPEND="dev-db/sqlite" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -S=${WORKDIR}/${P}-7a4fdad - -src_prepare() { - default - - sed -i \ - -e '/^CFLAGS =/{s:=:+=:;s:-O2 -finline-functions:${CPPFLAGS}:}' \ - -e 's:pkg-config:$(PKG_CONFIG):' \ - Makefile || die -} - -_emake() { - # gtk/llvm/xml is used by sparse which we don't install - emake \ - PREFIX="${EPREFIX}/usr" \ - V=1 \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - LD='$(CC)' \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - HAVE_GTK2=no \ - HAVE_LLVM=no \ - HAVE_LIBXML=no \ - "$@" -} - -src_compile() { - _emake smatch -} - -src_test() { - _emake check -} - -src_install() { - # default install target installs a lot of sparse cruft - dobin smatch - insinto /usr/share/smatch/smatch_data - doins smatch_data/* - dodoc FAQ README -} diff --git a/sys-devel/smatch/smatch-1.72.ebuild b/sys-devel/smatch/smatch-1.72.ebuild index 9006835c81b..adff98d916f 100644 --- a/sys-devel/smatch/smatch-1.72.ebuild +++ b/sys-devel/smatch/smatch-1.72.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit toolchain-funcs -if [[ ${PV} == "9999" ]] ; then +if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://repo.or.cz/${PN}.git https://repo.or.cz/r/${PN}.git" inherit git-r3 @@ -20,7 +20,8 @@ fi DESCRIPTION="Static analysis tool for C" HOMEPAGE="http://smatch.sourceforge.net/" -LICENSE="OSL-1.1" +# bug #853733 +LICENSE="GPL-2+ MIT OSL-1.1" SLOT="0" RDEPEND="dev-db/sqlite" diff --git a/sys-devel/smatch/smatch-9999.ebuild b/sys-devel/smatch/smatch-9999.ebuild index 9006835c81b..adff98d916f 100644 --- a/sys-devel/smatch/smatch-9999.ebuild +++ b/sys-devel/smatch/smatch-9999.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit toolchain-funcs -if [[ ${PV} == "9999" ]] ; then +if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://repo.or.cz/${PN}.git https://repo.or.cz/r/${PN}.git" inherit git-r3 @@ -20,7 +20,8 @@ fi DESCRIPTION="Static analysis tool for C" HOMEPAGE="http://smatch.sourceforge.net/" -LICENSE="OSL-1.1" +# bug #853733 +LICENSE="GPL-2+ MIT OSL-1.1" SLOT="0" RDEPEND="dev-db/sqlite" diff --git a/sys-devel/sparse/sparse-0.6.4-r1.ebuild b/sys-devel/sparse/sparse-0.6.4-r2.ebuild index a7c5b9dbc72..726fd8b0cfe 100644 --- a/sys-devel/sparse/sparse-0.6.4-r1.ebuild +++ b/sys-devel/sparse/sparse-0.6.4-r2.ebuild @@ -3,7 +3,7 @@ EAPI=7 -LLVM_MAX_SLOT=12 +LLVM_MAX_SLOT=14 inherit llvm toolchain-funcs DESCRIPTION="C semantic parser" diff --git a/sys-devel/sparse/sparse-9999.ebuild b/sys-devel/sparse/sparse-9999.ebuild index a7c5b9dbc72..726fd8b0cfe 100644 --- a/sys-devel/sparse/sparse-9999.ebuild +++ b/sys-devel/sparse/sparse-9999.ebuild @@ -3,7 +3,7 @@ EAPI=7 -LLVM_MAX_SLOT=12 +LLVM_MAX_SLOT=14 inherit llvm toolchain-funcs DESCRIPTION="C semantic parser" diff --git a/sys-devel/ucpp/ucpp-1.3.5.ebuild b/sys-devel/ucpp/ucpp-1.3.5.ebuild index b82c336b6ab..0dad3938bd6 100644 --- a/sys-devel/ucpp/ucpp-1.3.5.ebuild +++ b/sys-devel/ucpp/ucpp-1.3.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="https://gitlab.com/scarabeusiv/${PN}/uploads/79f08e39c676f15ed8a59335f6 LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux" +KEYWORDS="amd64 ~arm arm64 ~loong ppc ~ppc64 x86 ~amd64-linux" src_configure() { econf \ |