summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
commitf5588424e3182e3006f725536eebd7dc7b5bbfd4 (patch)
tree2c2ccb3df6c5e1039da984d110f02d0c2ec12cf1 /sys-devel
parentd969fd257186a9d8083279276697f827331f0e46 (diff)
gentoo auto-resync : 16:12:2023 - 14:53:46
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10994 -> 10988 bytes
-rw-r--r--sys-devel/autogen/Manifest2
-rw-r--r--sys-devel/autogen/autogen-5.18.16-r2.ebuild2
-rw-r--r--sys-devel/binutils/Manifest2
-rw-r--r--sys-devel/binutils/binutils-2.41-r3.ebuild529
-rw-r--r--sys-devel/crossdev/Manifest2
-rw-r--r--sys-devel/crossdev/crossdev-20230923.ebuild2
7 files changed, 535 insertions, 4 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 15c2e76685c0..7ff4ada52051 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/autogen/Manifest b/sys-devel/autogen/Manifest
index 8b3501b1828a..46eecf69a9ba 100644
--- a/sys-devel/autogen/Manifest
+++ b/sys-devel/autogen/Manifest
@@ -8,6 +8,6 @@ AUX autogen-5.18.16-rpath.patch 2990 BLAKE2B 8374f788feee898f35f6baae40d0a42a042
DIST autogen-5.18.16-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify.h 11231 BLAKE2B 4f38f6ae84cf5cc4ba47d8a7da3b38b06f58e30ac8b70f2b10936cbb7a775179b67f22ca8e636588515c4ace7410f98835218e3222d4a793378cdafc4aa84d0f SHA512 b8ff80fd764a3f21040b0054e71a443e3d9ec18dd631843f2de999aa54776964b36366b35fd158dbbe5f2ece146fab12c6ff5008e18c52188b718c89972f867b
DIST autogen-5.18.16.tar.xz 1046276 BLAKE2B 23f9e0948f24ada715fb2bcbbfecba768cf51d169ea3ff4724a97b18f598d2d7fb2ffa7e23919ec8dcc0e352f9d3280f3740dab279a0af1412919cf10c6cb0bf SHA512 5f12c982dbe27873f5649a96049bf019ff183c90cc0c8a9196556b0ca02e72940cd422f6d6601f68cc7d8763b1124f2765c3b1a6335fc92ba07f84b03d2a53a1
EBUILD autogen-5.18.16-r1.ebuild 2179 BLAKE2B ff3c00f51e6987aadf1913a70161457438ddc7990bc88f01d13ad3a79ecb3f7b1af905a490b0e25016fa981670aa57522afecc975af000a7093e301c6ede5c6a SHA512 e02e57585d3b46675c01018aa00652a4632a7b80cbe24d2b1f94664f4a7bafcb53adaacd0a60cc38e36033139edcb9392d9974a7749bb3865f18a108b21d9f8f
-EBUILD autogen-5.18.16-r2.ebuild 2014 BLAKE2B 8df702391ab6c7f9b3fa21142e846a0bf1abf2743e05ec8a43d35c2678a9679f98ceeb341fb257c5e67508131cf7951e2cff8f1674eada2f0f5a6feac5c55ae2 SHA512 94e3df3faf7c50b1f134051c2ac724ddd84c10ea2baae823709e2958a44689579339d0ae966829f7a78920a72f1521ea944b24872a8cd0f8adabc6f265e107f5
+EBUILD autogen-5.18.16-r2.ebuild 2011 BLAKE2B 7c8d74362700cdfa9dc1e8448e54890de227f3ed2c9023e2b2e013db3f9f841336d27e2739b8fc747ea3425cedf3e8129c774f32050e8d164f67d8f5b9d225a4 SHA512 efb145ca86c9e5e55ac360d179079825c7bfd6bed4c92c2e2394cf2cd2ab1294cd3b61dee3552e8de289f7e55d8c4b9fe36219108e3c56482eb088e5c0c20e4c
EBUILD autogen-5.18.16-r3.ebuild 2113 BLAKE2B 183549b43ddc3b973a09a0c4058e3ed97fb540d721ca70c0653c6537d3d94cc696b2b0302fe5a77e3c3c4b70337e88786dba14743d767941b8cb4bf67ba0c0b2 SHA512 f1229d199e5967b40d3d80a9bc70f3147a1af115ac50da92bca320c89bf8e52ff1963be622718d6764845173d7344d946cb69be63a691c91d312ed0fe0e19617
MISC metadata.xml 465 BLAKE2B d749ac3e74b39a006006e3f8d09ca2e8dd392f05385ffaf4d4d4cc95af4571c48e6ff6383e5f582ed6158d3536c9d9447c8f9587a8dc8ad9bce3ea3d5f8b2b5a SHA512 da4398891bf5ddd30545e5ca15b1591da5126d0ae22d00a5d5851864351c43465e6eac9010a9e35a029eb3009727fcd3264cb4fa87fd1f6545639f90b9cf2a47
diff --git a/sys-devel/autogen/autogen-5.18.16-r2.ebuild b/sys-devel/autogen/autogen-5.18.16-r2.ebuild
index 487d7daf8150..b8dc5ae277c4 100644
--- a/sys-devel/autogen/autogen-5.18.16-r2.ebuild
+++ b/sys-devel/autogen/autogen-5.18.16-r2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="libopts static-libs"
RDEPEND="
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index 2b25ed3cf900..319f34b3d13a 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -25,6 +25,7 @@ DIST binutils-2.40-patches-5.tar.xz 293628 BLAKE2B b7ed1d1fbf38b420661f984b9519b
DIST binutils-2.40-patches-7.tar.xz 299188 BLAKE2B 170cd2432e0458889b240c3603461d0b4bfa62d5314634b101a629db455d87235ac14ad44c63920b713d5235fa8b73902960df1019153873ef06a33aa7050b4b SHA512 a60da163caee68fe1fa355385d404e8998ebed0e390d50e0713e95334733a8b4e37bc63d522817284c027953e43848dbc98042461a47131fb53bc69203b4ee87
DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925
DIST binutils-2.41-patches-2.tar.xz 20288 BLAKE2B 1cc29e868ded12845856c5da567f23798fe3017961ce079325c20f456b837cab11560d896065f70953b0bab55bf565288541579e9c3e0991a87083edf2a85fa5 SHA512 75619a5e17b75d72f9bdd9d5e5ee3b566c94de64410bfc074f1a9bfb9f08db9ecf8be216efa1053263468aa8ec99b8aa3b2b095e63cb95f3566500ac0c3b9432
+DIST binutils-2.41-patches-4.tar.xz 86580 BLAKE2B 32748fd0e81a7e323e9f56f0864f2a1755b8fe1b09c777075e31a292297e365c47b47003f8f1bffacc254ed8dccf1c655b7b13f61da751c9db090e56d819fbb2 SHA512 90dcf38c1ed2ae015eb9de922e946e2be62355bd51276075e7f1c0a06cd52408057c4151a2d2d4c07e33c1d2c5998001cba5509819e5722cce45f70172465ea5
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
EBUILD binutils-2.32-r2.ebuild 12208 BLAKE2B 0ee98e7c366617db619f650327c4c645c31102ed5232262655e03e396a624741d265129721472e42b0aadaa45383bb357fba08ecd09fa1f8c1e2c14909a64383 SHA512 d8c265716f7fd6ae9bc1bdf4571bb626681ac7073b094cca020f1d795a644943eac244efdec6299c7ab6b26624d10f041dddeb1fc879953f4427c03f5d7e18ac
EBUILD binutils-2.33.1-r1.ebuild 11944 BLAKE2B bf02f123bd6913fae0666963c373f2167f65fcd495a2d0166f8fd65ba2d7d6679e7ccdb3328760c1ab1d548f1faed0c5356461a2439c1891a70e15464bdf31f4 SHA512 58a9ff178b76437af93ac7e62a7a928311f5ea497f11bfd4a56e0ca19e96880205160f4f3fee4bd020cb029fabb52530dc0e858258c3a1bbc997785af4e06077
@@ -37,5 +38,6 @@ EBUILD binutils-2.39-r5.ebuild 14198 BLAKE2B 509de3eac65a306d0430ed50ee4c734a8f8
EBUILD binutils-2.40-r5.ebuild 14499 BLAKE2B 7cd15027992e9d9a9541903044eb3e8be9c4a42e0e40e7c058713a548e38275e7328e866b407eb77c2bdf1d20bc32b0634ff365501a3de9961d5244450c30345 SHA512 b972d5eddc2d0c3c905505cc3c660af2c40fd28174cabf37f13388b2f472a3941d79d93ea585a52874636d2e72a99c2d45b820337746c4dd8526c6a298757763
EBUILD binutils-2.40-r9.ebuild 14680 BLAKE2B b39d61f83eb373397fa5fc3a749eae9be50760a730281fab959b4cdb90f9eef9569589d77694b23aaf5f0b1670950cda449e7ed992b63e3c253c88d455274bd0 SHA512 656eeaf9e8c5bedff4221ea6bcdd769b7c57ab8b3496e955b769e1cc1da96ba72deaa1721ae9f7f2e77a1cb1134c1a74e836f94fcc31e9dedc82cd242ef8c747
EBUILD binutils-2.41-r2.ebuild 15010 BLAKE2B 555941c7193071d37a920aad02d8530a330a3883555b4b5a65ce1bf39b54f587b99512ca9e932d9c89e38a50b3a7a5215d5d717fefab92ed906fee7b7b987a60 SHA512 29f7aec081f2a95b2dcf0a73968afcb0f27d71bc4a57c5cf89f98eec9fa9fe9fd98296a74c24a75e38f66d374eb817a1944891e131ba12f63af7c759328fc832
+EBUILD binutils-2.41-r3.ebuild 15011 BLAKE2B 0c72bc59cfe3e1ec8b1f93378a75cf2d84a897dcc0fbba5c6f2cfcdb643ae6aeaafef429a066288e4b78337804c653d68470c97b30d952ad69f87c6b64860dd4 SHA512 5f633e9ace3554445b24e484e3b2330929605223930d999e03b98bc8c1b288680997cbfb704e49ca539be988a35c0f7a7439cfeb9d7aa83c6e2bf73806dbdbd6
EBUILD binutils-9999.ebuild 15014 BLAKE2B b1a188fad2939e979ced82da85b21871c11b539d00c31b23cc3f9909aa02331bb2fa51e152353d5bf5147e2e34d0760ac7c0927c6ec385bebaa61d715110ad89 SHA512 56ccd36410bc666c310058c1007e416d602c3a62337313d55f48dc793f076b81aa7fc6f5127096b8615fcb22eafc2df8265938da570063d108904654dd6e49ee
MISC metadata.xml 995 BLAKE2B 85ccdd924f8c459a4cd7e608dff59c7281523da0d9457b0094b97e140cd07a300cb38383d9402808859100ca0bf219ce86e367bb5282216121bd81f68d588c17 SHA512 3ee538640e5d8c0efe6b8cf1de299e0d78965dece1ad814384844e8e24db72b11ca30d5fb68dfae2e71046d35aee0e71ee3ecbda3730ca49446dd0b2cd0f817c
diff --git a/sys-devel/binutils/binutils-2.41-r3.ebuild b/sys-devel/binutils/binutils-2.41-r3.ebuild
new file mode 100644
index 000000000000..212c645c5e0f
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.41-r3.ebuild
@@ -0,0 +1,529 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="https://sourceware.org/binutils/"
+
+LICENSE="GPL-3+"
+IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla zstd"
+
+# 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=4
+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://sourceware.org/pub/binutils/releases/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
+ [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+ SLOT=$(ver_cut 1-2)
+ #KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+#
+# The cross-compile logic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+#
+# The dependencies
+#
+RDEPEND="
+ >=sys-devel/binutils-config-3
+ sys-libs/zlib
+ debuginfod? (
+ dev-libs/elfutils[debuginfod(-)]
+ )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( sys-apps/texinfo )
+ test? (
+ dev-util/dejagnu
+ sys-devel/bc
+ )
+ nls? ( sys-devel/gettext )
+ zstd? ( virtual/pkgconfig )
+ sys-devel/flex
+ app-alternatives/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."
+
+ # This is applied conditionally for now just out of caution.
+ # It should be okay on non-prefix systems though. See bug #892549.
+ if is_cross || use prefix; then
+ eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch
+ fi
+ 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 cet && filter-flags -mindirect-branch -mindirect-branch=*
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
+ # https://github.com/gentoo/gentoo/pull/28355
+ # mold needs this too but right now tc-ld-is-mold is also not available
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ 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 )
+ 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}
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or bfd's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ --enable-relro
+ --enable-install-libiberty
+ --enable-textrel-check=$(usex hardened error warning)
+ # Things to think about
+ #--enable-deterministic-archives
+ --enable-new-dtags
+ --disable-jansson
+ --disable-werror
+ --with-bugurl="$(toolchain-binutils_bugurl)"
+ --with-pkgversion="$(toolchain-binutils_pkgversion)"
+ $(use_enable static-libs static)
+ $(use_with zstd)
+
+ # 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)
+
+ $(use_with debuginfod)
+
+ # Avoid automagic dev-libs/msgpack dep, bug #865875
+ --without-msgpack
+
+ # 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 can enable this by default in future, but it's brand new
+ # in 2.39 with several bugs:
+ # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
+ # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
+ # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+ # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
+ $(use_enable gprofng)
+ )
+
+ case ${CTARGET} in
+ x86_64-*|aarch64*|arm64*|i[3456]*)
+ # These hardening options are available from 2.39+ but
+ # they unconditionally enable the behaviour even on arches
+ # where e.g. execstacks can't be avoided.
+ # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592.
+ #
+ # TODO: Get the logic for this fixed upstream so it doesn't
+ # create impossible broken combinations on some arches, like mips.
+ #
+ # TODO: Get the logic for this fixed upstream so --disable-* works
+ # as expected.
+ myconf+=(
+ --enable-warn-execstack=yes
+ --enable-warn-rwx-segments=yes
+ )
+
+ if use hardened ; then
+ myconf+=(
+ --enable-default-execstack=no
+ )
+ fi
+ ;;
+ *)
+ ;;
+ esac
+
+ if use elibc_musl ; then
+ # Override our earlier setting for musl, as textrels don't
+ # work there at all. See bug #707660.
+ myconf+=(
+ --enable-textrel-check=error
+ )
+ fi
+
+ 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[@]}"
+
+ # 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 tooldir="${EPREFIX}${TOOLPATH}" all
+
+ # only build info pages if the user wants them
+ if use doc ; then
+ emake info
+ fi
+
+ # we nuke the manpages when we're left with junk
+ # (like when we bootstrap, no perl -> no manpages)
+ find . -name '*.1' -a -size 0 -delete
+}
+
+src_test() {
+ cd "${MY_BUILDDIR}" || die
+
+ # bug #637066
+ filter-flags -Wall -Wreturn-type
+
+ emake -k check
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}" || die
+
+ # see Note [tooldir hack for ldscripts]
+ emake 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
+
+ # Remove shared info pages
+ rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
+
+ # Trim all empty dirs
+ find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+}
+
+pkg_postinst() {
+ # Make sure this ${CTARGET} has a binutils version selected
+ [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
+ binutils-config ${CTARGET}-${PV}
+}
+
+pkg_postrm() {
+ local current_profile=$(binutils-config -c ${CTARGET})
+
+ # If no other versions exist, then uninstall for this
+ # target ... otherwise, switch to the newest version
+ # Note: only do this if this version is unmerged. We
+ # rerun binutils-config if this is a remerge, as
+ # we want the mtimes on the symlinks updated (if
+ # it is the same as the current selected profile)
+ if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
+ local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
+ choice=${choice//$'\n'/ }
+ choice=${choice/* }
+ if [[ -z ${choice} ]] ; then
+ binutils-config -u ${CTARGET}
+ else
+ binutils-config ${choice}
+ fi
+ elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
+ binutils-config ${CTARGET}-${PV}
+ fi
+}
+
+# Note [slotting support]
+# -----------------------
+# Gentoo's layout for binutils files is non-standard as Gentoo
+# supports slotted installation for binutils. Many tools
+# still expect binutils to reside in known locations.
+# binutils-config package restores symlinks into known locations,
+# like:
+# /usr/bin/${CTARGET}-<tool>
+# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
+# /usr/include/
+#
+# Note [tooldir hack for ldscripts]
+# ---------------------------------
+# Build system does not allow ./configure to tweak every location
+# we need for slotting binutils hence all the shuffling in
+# src_install(). This note is about SCRIPTDIR define handling.
+#
+# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
+# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
+# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
+# Thus we can't just move files around after compilation finished.
+#
+# Our goal is the following:
+# - at build-time set scriptdir to point to symlinked location:
+# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
+# - at install-time set scriptdir to point to slotted location:
+# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest
index a58bb4c2d915..5e244f234be9 100644
--- a/sys-devel/crossdev/Manifest
+++ b/sys-devel/crossdev/Manifest
@@ -5,6 +5,6 @@ DIST crossdev-20230923.tar.xz 30824 BLAKE2B f67d57cfcffcbefe56c9150e97b7189c79a8
EBUILD crossdev-20230321.ebuild 1008 BLAKE2B 63592cf8b38b7b323a8d3720ba7908e1c32d93c9e6f55b4f67b3248d4d3bd7ab67a42b9c204d420d99124953f3c77079113ddde536ab5275d1d2123b8391a9aa SHA512 7066c8fcdff0ea0d4cafee7e75a5ef0d27cc25173cbf43e71207c8fd2dda01b605b7af28519287e7bfcba618d68f4df82e72f721bd799cbd330145d1b896a2a1
EBUILD crossdev-20230616.ebuild 939 BLAKE2B 0baf985ecadef4375cff486729128816ec4a48b7dff56cadaeae4f275db941ca36794440c9ddf7f935205f2496f9c2d85c44c7820f9756bba1e64c0e329f6feb SHA512 2e3f69a195b50e9f6f48caa76043fde0d38af5785b36472f144339233d999d914ec54c3db704fa6ed967cb6fd8648a6176ffa17a926ca8a52def4e9f743cfa73
EBUILD crossdev-20230831.ebuild 966 BLAKE2B 3623e1686ea545fa9368fe3d4e7163e4b6f5fd7ed340877ab58ba20cec830a38424fb0ff21df173ac7878796d4c820f34a51b654ed11b6767d9a4506e8afd470 SHA512 341fadaaefc5106f77d8c7dc6578f0bd8b0533682ef29ab34bd9d9f2f3b06332b9de454652849b3f175a95621756ce03748b77edbd30c1174f72c5408de3a3c6
-EBUILD crossdev-20230923.ebuild 966 BLAKE2B 3623e1686ea545fa9368fe3d4e7163e4b6f5fd7ed340877ab58ba20cec830a38424fb0ff21df173ac7878796d4c820f34a51b654ed11b6767d9a4506e8afd470 SHA512 341fadaaefc5106f77d8c7dc6578f0bd8b0533682ef29ab34bd9d9f2f3b06332b9de454652849b3f175a95621756ce03748b77edbd30c1174f72c5408de3a3c6
+EBUILD crossdev-20230923.ebuild 963 BLAKE2B bf21df41780ab0a29e88dcada75efa9be28cf1f301820643d920171d1694abeefac0607feba9ff10937693f1fdf8933a466adefb85961d62e38a45575d86c556 SHA512 d435fcbe7ddfb21d8c092c01454f21c1e104f680d598cfa832c39a7645b61c50515cbae2cf114fe6f459a2a9f5a2283777708e460c1d9cc31251966e7447b6bb
EBUILD crossdev-99999999.ebuild 966 BLAKE2B 3623e1686ea545fa9368fe3d4e7163e4b6f5fd7ed340877ab58ba20cec830a38424fb0ff21df173ac7878796d4c820f34a51b654ed11b6767d9a4506e8afd470 SHA512 341fadaaefc5106f77d8c7dc6578f0bd8b0533682ef29ab34bd9d9f2f3b06332b9de454652849b3f175a95621756ce03748b77edbd30c1174f72c5408de3a3c6
MISC metadata.xml 624 BLAKE2B 3f6609db4ad549927d9e7c0f259926de694435707aba7fabd2d08333294bc38bad42b59b7ab9f6372bec292708ebfdb88d88ee0e8dca1ed29389e33427a1d46e SHA512 4605364fe155bb8facae233aa29fadae23fe3d1f012451f8611933252f81aa3d3337ac9d68feabe059c959e2a94a67a85e6d88f7fa08d6d31e2418034b60010a
diff --git a/sys-devel/crossdev/crossdev-20230923.ebuild b/sys-devel/crossdev/crossdev-20230923.ebuild
index 8938d96f9d54..2de97242e1b7 100644
--- a/sys-devel/crossdev/crossdev-20230923.ebuild
+++ b/sys-devel/crossdev/crossdev-20230923.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == "99999999" ]] ; then
"
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"
+ KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
fi
DESCRIPTION="Gentoo Cross-toolchain generator"