From 18aa6014c22c1fa0ad26313fc3af60111593a8ae Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Jun 2022 22:28:56 +0200 Subject: [PATCH] sys-libs/binutils-libs: Sync with Gentoo It's from Gentoo commit 56005eafb49d95970e403593e2c59e6866c3817e. --- .../sys-libs/binutils-libs/Manifest | 7 +- .../binutils-libs-2.34-r2.ebuild | 2 +- .../binutils-libs/binutils-libs-2.35.2.ebuild | 2 +- .../binutils-libs-2.36.1-r2.ebuild | 2 +- ...ebuild => binutils-libs-2.37_p1-r2.ebuild} | 8 +- .../binutils-libs-2.38-r1.ebuild | 144 +++++++++++++++++ .../binutils-libs-2.38-r2.ebuild | 153 ++++++++++++++++++ .../binutils-libs/binutils-libs-2.39.ebuild | 153 ++++++++++++++++++ .../sys-libs/binutils-libs/metadata.xml | 2 +- 9 files changed, 464 insertions(+), 9 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/{binutils-libs-2.37_p1.ebuild => binutils-libs-2.37_p1-r2.ebuild} (93%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest index ff13826946..b78ee356a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest @@ -4,5 +4,10 @@ DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7e DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84 DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 -DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24 +DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 +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/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild index de8fcddd33..7e32691cab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild @@ -37,7 +37,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild index cf18b9ed65..49b5b73255 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild @@ -39,7 +39,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild index 46715c3766..14ef733b10 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild @@ -37,7 +37,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild index bfff1b5055..bb7895a3dc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.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 -PATCH_VER=0 +PATCH_VER=2 PATCH_DEV=dilfridge inherit libtool toolchain-funcs multilib-minimal @@ -22,7 +22,7 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz LICENSE="|| ( GPL-3 LGPL-3 )" SLOT="0/${PV%_p?}" IUSE="64-bit-bfd cet multitarget nls static-libs" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" BDEPEND="nls? ( sys-devel/gettext )" DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" @@ -38,7 +38,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild new file mode 100644 index 0000000000..e4d12985ba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=3 +PATCH_DEV=dilfridge + +inherit libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV%_p?}" +IUSE="64-bit-bfd cet multitarget nls static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +BDEPEND="nls? ( sys-devel/gettext )" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # 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) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_install() { + default + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild new file mode 100644 index 0000000000..2264a08a19 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=4 +PATCH_DEV=dilfridge + +inherit libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV%_p?}" +IUSE="64-bit-bfd cet multitarget nls static-libs" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +BDEPEND="nls? ( sys-devel/gettext )" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # 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}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # 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) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_compile() { + emake V=1 +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39.ebuild new file mode 100644 index 0000000000..68c12ebf98 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=3 +PATCH_DEV=dilfridge + +inherit libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV%_p?}" +IUSE="64-bit-bfd cet multitarget nls static-libs" +#KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +BDEPEND="nls? ( sys-devel/gettext )" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # 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}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # 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) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_compile() { + emake V=1 +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/metadata.xml index f1528f82ed..e1153400ac 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/metadata.xml @@ -1,5 +1,5 @@ - + toolchain@gentoo.org