summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-07 00:11:16 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-07 00:11:16 +0000
commit1b2360e7bab42e4045232887cb4f6c4a24ca3975 (patch)
tree6a5a60c4c59058ef39895ea69fb8e98eaa49aed8 /sys-devel
parent22eaa60297c2dbc92dd1658fb7d8e46878552755 (diff)
gentoo auto-resync : 07:02:2025 - 00:11:15
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin6218 -> 6223 bytes
-rw-r--r--sys-devel/binutils-hppa64/Manifest4
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild534
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild2
-rw-r--r--sys-devel/binutils/Manifest6
-rw-r--r--sys-devel/binutils/binutils-2.43-r1.ebuild560
-rw-r--r--sys-devel/binutils/binutils-2.44.9999.ebuild4
-rw-r--r--sys-devel/binutils/binutils-2.44.ebuild6
-rw-r--r--sys-devel/crosstool-ng/Manifest4
-rw-r--r--sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild84
-rw-r--r--sys-devel/crosstool-ng/crosstool-ng-9999.ebuild13
11 files changed, 100 insertions, 1117 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 08e0d95782f2..e6b6a48a7dc4 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest
index 9fa1437214e3..ac774cffa6bf 100644
--- a/sys-devel/binutils-hppa64/Manifest
+++ b/sys-devel/binutils-hppa64/Manifest
@@ -10,7 +10,6 @@ DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
-DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
DIST binutils-2.44-patches-1.tar.xz 9156 BLAKE2B c72a7d0ffdb852f8de9c18e187b5768085b3a070744a4fadef508ab0e865d3a3967ec12a0ee7a325b6b689f39e5243aacd9d3f73ceb723d53592ec6ca640161b SHA512 053de98536e92837d0a08fac26bb0f057431747fe6e82f8b9ac54dd9aed65d8de379d653c0e8a8cd31267b9769825a420db5f40957f8c4eb54a7e4a9d76fadb8
@@ -21,8 +20,7 @@ EBUILD binutils-hppa64-2.39-r5.ebuild 13863 BLAKE2B 0e88fddae6ee0f05a7a34d60a878
EBUILD binutils-hppa64-2.40-r7.ebuild 13863 BLAKE2B 0e88fddae6ee0f05a7a34d60a8781bae08c2fca3c8599756054dcb51d304b2ff4ae43c072e68ed8045f70a120efa9422cf6ed76302f1fd1e088721f24cca73d4 SHA512 5973e97817c730917c2697a542e67c63e3c51494094ced7778f932fee35fd192fbc0d0b2e5bfbc8cb554224586a48afdcd0ca331ab8531e01a8410a59c422890
EBUILD binutils-hppa64-2.41-r5.ebuild 14048 BLAKE2B 4290a888bb76e52e1e9f32e081934d2f39759bc4aaa2b750a465325f3a9068a257dda9a45c3aae0848c4120bc4df4692cce382acca265f042c0bb75783e80242 SHA512 56928ada7bd013904eae956667997492dfc707975632171a5124f66d6306308f03de6decfb36700adf0cc2759737527716eb9a919267304844c394468ffbb994
EBUILD binutils-hppa64-2.42-r2.ebuild 15050 BLAKE2B 12c416e003cb069390df8b41c52ff3d39336762103f1ed772504b8827da75353a5c713ba8f3871e909f29964a367663a8c8702c66fb2f7be9b9f874114f55517 SHA512 1dc91becc7d292b93e9e1a61509883c516910f7611820309d5d435b47711b12e76aebf65f687486230b4dea8e27b7bd543082b3e94951bb4d9884382cebbca2f
-EBUILD binutils-hppa64-2.43-r1.ebuild 15051 BLAKE2B 4e4fbe505015299a78d0094c478fff36335a9649e1d72fb49ab70cd5484d040c86db957ff278fcff2880210c3cb77bdd5bed0696b4886710bb0dcfb5a7870d7c SHA512 7767ad7dfa5f2a62f0f24f93327a425284947311889c50c9eac6b4642cc89ea940ad7ac3897b987cc54f609be13c4accc8fd3ed03ecab5b88f25d5855d2d3c95
EBUILD binutils-hppa64-2.43-r2.ebuild 15050 BLAKE2B 012fdcedf5e30e8fe3efe783491bd08521d0c5493fc09ff69e63ceaba07c3e67b69e7abf0522de4585da5267fc9924e5c69a0382a37e2c035b9425eaeedbf267 SHA512 49de0dd639484578847a1bc27cd2f574ed91b85e9194a7dd7458f22deae4407ada606927c8b4d2f62c39b1f2f992baea93f7d8b99e68f2e3006d9fd2b9911914
-EBUILD binutils-hppa64-2.44.ebuild 16375 BLAKE2B 17417c215935b17a59a0a354d231778125c22c72a4c81e4ce99daa9be88c3a1d468f8b91474e8dcad62d6de663038a9caeb67d7c0165b31395bc7f6eb8db789d SHA512 a514094b99f2cab162fb5c2e0da113271b2a0241733f61bbd8329242e1fd7f6d23bdc8f96350eb2ebaaa34f8aa883bd048fb14a5d0850254c0630d8de54da7e9
+EBUILD binutils-hppa64-2.44.ebuild 16374 BLAKE2B 27d8b0c8bcb54df66958da8cc8bf5353809e9cd9191da09b0a167b8bdda06925994c22273e759e1dad18dd655f211c51c64dc4b5e409451e584482d844d6bde8 SHA512 bafd9d04a81b79447792279395b5d9eb9c8eeeac428a2befe215520856f25fda7e19f525f2240ed18a9a2681702357d54f1dc1071ffef3b1956337e5a7b26192
EBUILD binutils-hppa64-9999.ebuild 16375 BLAKE2B 17417c215935b17a59a0a354d231778125c22c72a4c81e4ce99daa9be88c3a1d468f8b91474e8dcad62d6de663038a9caeb67d7c0165b31395bc7f6eb8db789d SHA512 a514094b99f2cab162fb5c2e0da113271b2a0241733f61bbd8329242e1fd7f6d23bdc8f96350eb2ebaaa34f8aa883bd048fb14a5d0850254c0630d8de54da7e9
MISC metadata.xml 1196 BLAKE2B a4ddcf2032f9a57adcbf32b4439a4461ef1fda39d06d391252463c75ac454ee63556d5e23410f3460f84f48b93d56bd8d11e7922d29f477c298fde1d61881622 SHA512 40e9f31b3a75ec8c29b89ba7a218d7ba87eeb420495b32243e0a021f46642ea8fb133dcf4083a04306d0b608538187fafa89c67ffe0b09a8bd882e6e9ba38620
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild
deleted file mode 100644
index a71d9243c9cc..000000000000
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild
+++ /dev/null
@@ -1,534 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-export CTARGET=hppa64-${CHOST#*-}
-
-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=2
-PATCH_DEV=dilfridge
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- SLOT=${PV}
-else
- PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
- PATCH_DEV=${PATCH_DEV:-dilfridge}
- SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://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="-* ~hppa"
-fi
-
-#
-# The cross-compile logic
-#
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-#
-# The dependencies
-#
-RDEPEND="
- >=sys-devel/binutils-config-3
- sys-libs/zlib
- debuginfod? (
- dev-libs/elfutils[debuginfod(-)]
- )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? ( sys-apps/texinfo )
- test? (
- dev-util/dejagnu
- app-alternatives/bc
- )
- nls? ( sys-devel/gettext )
- zstd? ( virtual/pkgconfig )
- app-alternatives/lex
- app-alternatives/yacc
-"
-
-RESTRICT="!test? ( test )"
-
-MY_BUILDDIR="${WORKDIR}"/build
-S="${WORKDIR}"/${P/-hppa64/}
-
-src_unpack() {
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
- git-r3_src_unpack
- mv patches-git/9999 patch || die
-
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- S=${WORKDIR}/binutils
- EGIT_CHECKOUT_DIR=${S}
- git-r3_src_unpack
- else
- unpack ${P/-hppa64/}.tar.xz
-
- cd "${WORKDIR}" || die
- unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
-
- # _p patch versions are Gentoo specific tarballs ...
- local dir=${P%_p?}
- dir=${dir/-hppa64/}
-
- S=${WORKDIR}/${dir}
- fi
-
- cd "${WORKDIR}" || die
- mkdir -p "${MY_BUILDDIR}" || die
-}
-
-src_prepare() {
- local patchsetname
- if [[ ${PV} == 9999* ]] ; then
- patchsetname="from git master"
- else
- patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
- fi
-
- if [[ -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 [[ ${PN} != binutils-hppa64 ]] && { is_cross || use prefix; } ; then
- eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
- "${FILESDIR}"/binutils-2.41-linker-prefix.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
-
- # 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
-
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- 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+=(
- # TOOD: breaks glibc test suite
- #--enable-error-execstack=yes
- #--enable-error-rwx-segments=yes
- --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
- # No LTO for HPPA64 right now as we don't build kgcc64 with LTO support.
- myconf+=( $(use_enable pgo pgo-build) )
-
- 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]
- # see linker prefix patch
- emake \
- tooldir="${EPREFIX}${TOOLPATH}" \
- gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \
- 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
- # No die for now, dies on hppa?
- 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
- # TODO: add || die here, fails on hppa?
- mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
- rm -r "${ED}"/${LIBPATH}/lib
- fi
-
- # Generate an env.d entry for this binutils
- insinto /etc/env.d/binutils
- cat <<-EOF > "${T}"/env.d
- TARGET="${CTARGET}"
- VER="${PV}"
- LIBPATH="${EPREFIX}${LIBPATH}"
- EOF
- newins "${T}"/env.d ${CTARGET}-${PV}
-
- # Handle documentation
- if ! is_cross ; then
- cd "${S}" || 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}
-
- docompress "${DATAPATH}"/{info,man}
-
- # Trim all empty dirs
- find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
-
- # the hppa64 hack; this should go into 9999 as a PN-conditional
- # tweak the default fake list a little bit
- cd "${D}"/etc/env.d/binutils
- sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die
-}
-
-pkg_postinst() {
- # Make sure this ${CTARGET} has a binutils version selected
- [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
- binutils-config ${CTARGET}-${PV}
-}
-
-pkg_postrm() {
- local current_profile=$(binutils-config -c ${CTARGET})
-
- # If no other versions exist, then uninstall for this
- # target ... otherwise, switch to the newest version
- # Note: only do this if this version is unmerged. We
- # rerun binutils-config if this is a remerge, as
- # we want the mtimes on the symlinks updated (if
- # it is the same as the current selected profile)
- if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
- local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
- choice=${choice//$'\n'/ }
- choice=${choice/* }
- if [[ -z ${choice} ]] ; then
- binutils-config -u ${CTARGET}
- else
- binutils-config ${choice}
- fi
- elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
- binutils-config ${CTARGET}-${PV}
- fi
-}
-
-# Note [slotting support]
-# -----------------------
-# Gentoo's layout for binutils files is non-standard as Gentoo
-# supports slotted installation for binutils. Many tools
-# still expect binutils to reside in known locations.
-# binutils-config package restores symlinks into known locations,
-# like:
-# /usr/bin/${CTARGET}-<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-hppa64/binutils-hppa64-2.44.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild
index 4a104db1825c..5981d3ef3705 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild
@@ -37,7 +37,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="-* ~hppa"
+ KEYWORDS="-* ~hppa"
fi
#
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index 55c7957d4e1c..2db0707df524 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -29,7 +29,6 @@ DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
-DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
DIST binutils-2.44-patches-1.tar.xz 9156 BLAKE2B c72a7d0ffdb852f8de9c18e187b5768085b3a070744a4fadef508ab0e865d3a3967ec12a0ee7a325b6b689f39e5243aacd9d3f73ceb723d53592ec6ca640161b SHA512 053de98536e92837d0a08fac26bb0f057431747fe6e82f8b9ac54dd9aed65d8de379d653c0e8a8cd31267b9769825a420db5f40957f8c4eb54a7e4a9d76fadb8
@@ -45,10 +44,9 @@ EBUILD binutils-2.39-r5.ebuild 13726 BLAKE2B f3a42e6963397e5f6b20e1323ceb4bdb43f
EBUILD binutils-2.40-r9.ebuild 14203 BLAKE2B 7e9038bb5bd10baa51e0b00c760861f9da00a4b1ad583f61be2e8f5786bc1e832a30dd5abccaa370b8d5b8afe011605b8ab87a000afa8f125f50b4c88b261d6f SHA512 1487ab81b89ce044dea12953aa6c31d7ec519d1b2fea8acd50c8a409939088f0f573585abcec084f7943ecd3e131640b4b019947d00f90cf6991eaa8cff4b4c9
EBUILD binutils-2.41-r5.ebuild 14725 BLAKE2B b9a9abaa3309cf4f9d1c2cdaaf4daedfe667689e2e8e4db980226197c5e70d86cb7b3aa6b4fda4938a89ee686faf73e7856e839d298066c17779900355a3aaa1 SHA512 4c4161d93ec3dcdac855045c47062237d2054f54660418dde524bbfab444013312a240311b0166c9f9cc9405e3a5bb44c80dd035df1629516481781b06930b2c
EBUILD binutils-2.42-r2.ebuild 15820 BLAKE2B dddc8ff1ef483b95e221ee2546a98ac55c15953bf5917ba9af44b735d816dc4ebc28bcbb35517d47514e966f345b27ea916b9f913db5c34fba890cb83ee0a43c SHA512 b293a31e90825eeb30b82ff3e8a331a7c6e82acce901c0fcca0976b292447bf1bd65ac1b3734879c03365e92adbb75fe85da57023f6b822ae50d5293f18e1408
-EBUILD binutils-2.43-r1.ebuild 15926 BLAKE2B b3b35bfa409fe26d430f2c17f3f52a1523b29e34caedda21ad488cb428e94c0db85d468e3e53265fd3429a1827418c3b66f9f5ee0bbf87e0c9c0c8b5e2d1ff20 SHA512 a33b271959387d4d31340cf96a684f648e3d5893c47013de4ce77a94342f332bd68090e72288272f53fd2c381217cf4e9edbde2542f0f4a8f6bed1917d046b81
EBUILD binutils-2.43-r2.ebuild 15915 BLAKE2B 5e1134d93cd165c867bdf25c825dfd7122a2494ed0ea4487cdde57d44e0032c98f37c0a416635c03e7ec7bea491f340d35b00f07678a9f134d21cbf1a5855c7b SHA512 a523d0d50f9aade97195b61837518dc82d8a7616fbf1080e51c916cfea3d200a72657967e4ad60c56099cf8e3f271f310683d52d77d1f65d24d4a2070aa62613
EBUILD binutils-2.43.9999.ebuild 16246 BLAKE2B 3433cab71a488713b2ccc757f59c2d9677a038f2569aaaf9425bd14302b5eb63129df40d9f71b19822c93ed167d3fc1c0458e9dea140ffe69ee1a6b2ab06c612 SHA512 958749d5c3d31575d5d413f8dd8b6d78d32b840a27838a650afdeaf2713b43ddc47ffbc921bfdbffe227edd02c3ccad2f29e020da134a43a7935afe1a9ffa027
-EBUILD binutils-2.44.9999.ebuild 16104 BLAKE2B 4b03f1ac1e6113ad659e5b405a1e37b31890e0b69239f95b5b481f3807e6f988ecf54f83f974acc81cfefd0b7680c3e3e82f0952a9ee5d34cb9eebf9f559b0e4 SHA512 db39ae66a97020b67019b814a70a67cebe750aab822ec492a3a4d2a5acea51e9c6abf997207dd71462086660c26e9dd40c88325fe0e21ab85dd324206cde6737
-EBUILD binutils-2.44.ebuild 16104 BLAKE2B 4b03f1ac1e6113ad659e5b405a1e37b31890e0b69239f95b5b481f3807e6f988ecf54f83f974acc81cfefd0b7680c3e3e82f0952a9ee5d34cb9eebf9f559b0e4 SHA512 db39ae66a97020b67019b814a70a67cebe750aab822ec492a3a4d2a5acea51e9c6abf997207dd71462086660c26e9dd40c88325fe0e21ab85dd324206cde6737
+EBUILD binutils-2.44.9999.ebuild 16104 BLAKE2B 159e01891529f35b766fa7a4fbbd70d5bcc6092cb95e456486fe9e8046703653adfbbd0f26ed9bf0ac9b28fbc5b4e3199baa30637c00ff3fb9d5df78fe665ce3 SHA512 c04f614d62c5bcaa2487023d9a3656525330cae9a1777936f83336236201aa99d2831462ca431d5c58fb96f489119c82546af75613365ed131c36e533d05f8e4
+EBUILD binutils-2.44.ebuild 16103 BLAKE2B 248b3d221c0dcf7ee354cb3c5d5cb436a9660d32a26afeda34af3ab298595ea9db1c32ab1ca40950d8629466ef6fea3d8b0decd46d3988477eb65981291f94cc SHA512 4fbcbfb27d73688fcc9b23b00f08a2fe1fbf0d6c8abbe4eac9967e1a7077deb5685f25d7d65b126b2d34e55d9e7f1b9778bf3faa2dc7f5b2484fcdb7daa24dfd
EBUILD binutils-9999.ebuild 16104 BLAKE2B 4b03f1ac1e6113ad659e5b405a1e37b31890e0b69239f95b5b481f3807e6f988ecf54f83f974acc81cfefd0b7680c3e3e82f0952a9ee5d34cb9eebf9f559b0e4 SHA512 db39ae66a97020b67019b814a70a67cebe750aab822ec492a3a4d2a5acea51e9c6abf997207dd71462086660c26e9dd40c88325fe0e21ab85dd324206cde6737
MISC metadata.xml 1081 BLAKE2B 84552999d26b3fa492cd1fd9116339229bb88b0132c083355800c65df993650f23cdff42d232a150d36fc9b21b63001198fda9e39bac26459556a04002542069 SHA512 5be692843451ee199cae8e5aae10232de600ef8158190ff067818cc90884aaf7712c1f72941a6c64d19565d39a59190b8eeb770e6d123283b35385f23fc2f93d
diff --git a/sys-devel/binutils/binutils-2.43-r1.ebuild b/sys-devel/binutils/binutils-2.43-r1.ebuild
deleted file mode 100644
index 65d4e3c31f14..000000000000
--- a/sys-devel/binutils/binutils-2.43-r1.ebuild
+++ /dev/null
@@ -1,560 +0,0 @@
-# Copyright 1999-2024 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=2
-PATCH_DEV=dilfridge
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- SLOT=${PV}
-elif [[ ${PV} == *9999 ]]; then
- inherit git-r3
- SLOT=$(ver_cut 1-2)
-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 ~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 )
- pgo? (
- dev-util/dejagnu
- app-alternatives/bc
- )
- test? (
- dev-util/dejagnu
- app-alternatives/bc
- )
- nls? ( sys-devel/gettext )
- zstd? ( virtual/pkgconfig )
- app-alternatives/lex
- 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
-
- if [[ ${PV} != 9999 ]] ; then
- EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
- fi
- 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"
- elif [[ ${PV} == *9999 ]] ; then
- patchsetname="from git branch ${EGIT_BRANCH}"
- 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.43-linker-search-path.patch \
- "${FILESDIR}"/binutils-2.43-linker-prefix.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
-
- # 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
-
- # https://sourceware.org/PR32372
- append-cflags $(test-flags-CC -std=gnu17)
-
- 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,gdbserver,libbacktrace,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+=(
- # TOOD: breaks glibc test suite
- #--enable-error-execstack=yes
- #--enable-error-rwx-segments=yes
- --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 use test || { use pgo && tc-is-lto ; } ; then
- # -Wa,* needs to be consistent everywhere or lto-wrapper will complain
- filter-flags '-Wa,*'
- fi
-
- if ! is_cross ; then
- myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) )
-
- if use pgo ; then
- # We let configure handle it for us because it has to run
- # the testsuite later on for profiling, and LTO isn't compatible
- # with the testsuite.
- filter-lto
-
- 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]
- # see linker prefix patch
- emake \
- tooldir="${EPREFIX}${TOOLPATH}" \
- gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \
- 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
-
- (
- # Tests don't expect LTO
- filter-lto
-
- # lto-wrapper warnings which confuse tests
- filter-flags '-Wa,*'
-
- # bug #637066
- filter-flags -Wall -Wreturn-type
-
- emake -k check \
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
- CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
- )
-}
-
-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}
-
- docompress "${DATAPATH}"/{info,man}
-
- # 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} || eerror binutils-config returned an error
-}
-
-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} || eerror binutils-config returned an error
- else
- binutils-config ${choice} || eerror binutils-config returned an error
- fi
- elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
- binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
- 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/binutils/binutils-2.44.9999.ebuild b/sys-devel/binutils/binutils-2.44.9999.ebuild
index 57401c0bb097..c0e3858009a8 100644
--- a/sys-devel/binutils/binutils-2.44.9999.ebuild
+++ b/sys-devel/binutils/binutils-2.44.9999.ebuild
@@ -141,8 +141,8 @@ src_prepare() {
# 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.43-linker-search-path.patch \
- "${FILESDIR}"/binutils-2.43-linker-prefix.patch
+ eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
+ "${FILESDIR}"/binutils-2.41-linker-prefix.patch
fi
fi
fi
diff --git a/sys-devel/binutils/binutils-2.44.ebuild b/sys-devel/binutils/binutils-2.44.ebuild
index 57401c0bb097..878b49227445 100644
--- a/sys-devel/binutils/binutils-2.44.ebuild
+++ b/sys-devel/binutils/binutils-2.44.ebuild
@@ -35,7 +35,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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
#
@@ -141,8 +141,8 @@ src_prepare() {
# 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.43-linker-search-path.patch \
- "${FILESDIR}"/binutils-2.43-linker-prefix.patch
+ eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
+ "${FILESDIR}"/binutils-2.41-linker-prefix.patch
fi
fi
fi
diff --git a/sys-devel/crosstool-ng/Manifest b/sys-devel/crosstool-ng/Manifest
index 1861cb62f44c..30c1e31da286 100644
--- a/sys-devel/crosstool-ng/Manifest
+++ b/sys-devel/crosstool-ng/Manifest
@@ -1,4 +1,6 @@
DIST crosstool-ng-1.26.0.tar.xz 1144720 BLAKE2B 68c38dca58a239bd2a7a4e0f0adfa0069d97aba632c8a8a70594a67bf1049f0576db2d20b8a6ac90b170c1a3d8245f952a949e4fd006abe1d5e54effbb8e100b SHA512 7834184ae5792fd347455f9f48fee826248dcb82d271954ed4304b1a18f63995ff8a2c3b817564dcf147ac7e16e02d779195b26d97eb57db27f1118a1837002a
+DIST crosstool-ng-1.27.0.tar.xz 1163084 BLAKE2B 6f9c7e16a6bdccbfd31fd7839df59878deedf193251ef0896bfde79b9b844646b83316fdaf26ca826377375cc36f77e6ddf6503c10ca30dbcf9d9086b3272830 SHA512 2201106561a199ebaddd238ed5158f62f63787333b87d2692aa726ad21bc90b08483deed7257fc35af995e355cfb567d7550b5ea171259ec5a0e0c3bee3b3ca2
EBUILD crosstool-ng-1.26.0-r1.ebuild 1715 BLAKE2B 13d4fc08a83bc2bfed5f7f20fb11c81c20c0e1e584798a37953037f909dd954cc7ffb34e04b782be07fb8cdd83a0a88b0cdaf6751cd170c06ef5ce8244b7dd5c SHA512 495b9002de96e19b98b9cc635d7d86ac16d2ad04e1a73aaf088ea25530a175625add3940cc45f9f1514edb400f03f744f2e53ee818e0c3c2e8b5764cbc2dfd0d
-EBUILD crosstool-ng-9999.ebuild 2152 BLAKE2B c6bc736dbf5019427043d79c37dfaf4401e410f60059fa9e0ed53d8c408185091d88515ea5960f284ae139ba8911ffa0aa8dd14f947f260c9c485c8e8b254a46 SHA512 e845065fd4d1b7610b7fc7ae5c35c5761308861578728d3b89eb9f538c457e72df7eaedbc278bc4edc048c7894ef74a87b5d2e3e6ffc555db2ddeb504c718054
+EBUILD crosstool-ng-1.27.0.ebuild 2018 BLAKE2B 200e1babd59ef3285bd5ba5a0fc7e56f42f008ccee8108041b7461b5599bf7c18d86357ab85d7fc9fffa861b4a5f9a12470269a405c1f17b8c18591fc4ba1ba0 SHA512 f0cdea868cfc3ea30471493d37976da721903eca33cd970b0ca7b846b8d17221ef2603957c0456966f38a1511fae3c8c346dc79dcabf3e2b40608415b71b2dd7
+EBUILD crosstool-ng-9999.ebuild 2018 BLAKE2B 200e1babd59ef3285bd5ba5a0fc7e56f42f008ccee8108041b7461b5599bf7c18d86357ab85d7fc9fffa861b4a5f9a12470269a405c1f17b8c18591fc4ba1ba0 SHA512 f0cdea868cfc3ea30471493d37976da721903eca33cd970b0ca7b846b8d17221ef2603957c0456966f38a1511fae3c8c346dc79dcabf3e2b40608415b71b2dd7
MISC metadata.xml 973 BLAKE2B e910f49277500ae3bebdd7307c8e6bce9cf8b16e968790c308c08678da2742ce04aae68b6fef00af59c4f56ecfbf6a1ed1a7a255d7c78925af30e0ecd22195a1 SHA512 012a54cb5bac5775dd0f7ea8980a8422a108d3447ec34386ca5c1d2fd5bb996e22e2a683a66b401822ccf59aee864580066c97d3d6b85c797373223c68e47379
diff --git a/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild b/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild
new file mode 100644
index 000000000000..2a0c5d8f9e91
--- /dev/null
+++ b/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-single-r1
+
+DESCRIPTION="Versatile (cross-)toolchain generator"
+HOMEPAGE="https://crosstool-ng.github.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/crosstool-ng/crosstool-ng.git"
+ inherit autotools git-r3
+else
+ SRC_URI="
+ https://github.com/crosstool-ng/crosstool-ng/releases/download/${PN}-${PV/_rc/-rc}/${P}.tar.xz
+ http://crosstool-ng.org/download/crosstool-ng/${P}.tar.xz
+ "
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-2 doc? ( CC-BY-SA-2.5 )"
+SLOT="0"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+IUSE="curl cvs doc dtc git lzip meson ninja python rsync subversion wget"
+
+# TODO: Consider dropping these USE (optfeature), but configure does check for them
+BDEPEND="
+ app-arch/unzip
+ >=app-shells/bash-3.1
+ sys-apps/help2man
+ >=sys-apps/sed-4.0
+ sys-apps/gawk
+ sys-apps/texinfo
+ sys-apps/which
+ sys-devel/bison
+ sys-devel/flex
+ curl? ( net-misc/curl )
+ cvs? ( dev-vcs/cvs )
+ dtc? ( sys-apps/dtc )
+ git? ( dev-vcs/git )
+ lzip? ( app-arch/lzip )
+ meson? ( dev-build/meson )
+ python? ( ${PYTHON_DEPS} )
+ ninja? ( app-alternatives/ninja )
+ rsync? ( net-misc/rsync )
+ subversion? ( dev-vcs/subversion )
+ wget? ( net-misc/wget )
+"
+RDEPEND="
+ ${BDEPEND}
+"
+
+src_prepare() {
+ if [[ ${PV} == 9999 ]]; then
+ # Some data files must be generated before autoreconf, and the logic
+ # is non-trivial, so the upstream bootstrap script must be used.
+ # In addition, eautoreconf mis-detects the project to make use of
+ # gettext while it actually isn't, so just rely on the invocation of
+ # autoreconf for us in the bootstrap script.
+ ./bootstrap || die "bootstrap failed"
+ fi
+
+ default
+}
+
+src_configure() {
+ # Needs bison+flex
+ unset YACC LEX
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ rm -f "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
+ doman docs/ct-ng.1
+}
diff --git a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
index 78700c65fe2d..2a0c5d8f9e91 100644
--- a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
+++ b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1
DESCRIPTION="Versatile (cross-)toolchain generator"
@@ -73,17 +73,12 @@ src_configure() {
# Needs bison+flex
unset YACC LEX
- default
+ CONFIG_SHELL="${BROOT}"/bin/bash econf
}
src_install() {
emake DESTDIR="${D}" install
- if use doc ; then
- mv "${ED}"/usr/share/doc/crosstool-ng/crosstool-ng-${PVR} "${ED}"/usr/share/doc/ || die
- fi
-
- rm -rf "${ED}"/usr/share/doc/crosstool-ng || die
- rm -rf "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
+ rm -f "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
doman docs/ct-ng.1
}