diff options
Diffstat (limited to 'sys-libs/binutils-libs')
-rw-r--r-- | sys-libs/binutils-libs/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild | 166 |
2 files changed, 168 insertions, 0 deletions
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 6b8a386912ca..044bd7d22859 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -16,6 +16,7 @@ DIST binutils-2.40-patches-6.tar.xz 299212 BLAKE2B 3a68a924e9747fdd0486327a5bd24 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-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b6eac9f0c8f51f05e95a1b5f80f2b7ef35e6355d740b49bc1ec2f3a13a838d5210ff4a205aa2bde5a72bc55c12100bce726 SHA512 ad293f97116f71322993f381c1af69fad1719a159f127ff16ddeca62f9b9b62aaf141abfa661985a61e9be7ae0639772148e69293a97364eebbf49182babb691 DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 EBUILD binutils-libs-2.34-r2.ebuild 3633 BLAKE2B 4bb2862dc364c5f64597d2fb22f867028ee85c4d8a14ab85e28c2f5dab43cdb2a690e91b43d1a7994081df9c21be6c9850b808f01d71e18b97c1439ad1890fcb SHA512 84a368c4c1ba2a3f4e1b3043f531deab5457b0169d83b38bada72b857e9a86a7ca86cb317a062216ee7d2b87e39c6648e8bbd62e676507c638ea6fcfc9efda28 EBUILD binutils-libs-2.35.2.ebuild 4055 BLAKE2B 5a2eed3c0e4a9f23742fe73258504faa0c52a975f9a53b9eaade40bd7f2af66d8524b4b08c02bf88770be79fa2163045b0721d5036860fc7b6c24e865e7da59e SHA512 da95193b41c9776c8f352c1008c3f7e64713ccf3f474f603cb390437e8ccdf0c6a32f5093281294d62441d671b7148a9955c235a8474810c8c8b029eb97d1765 @@ -27,4 +28,5 @@ EBUILD binutils-libs-2.40-r5.ebuild 5004 BLAKE2B 11e3ecd10a1893194696e22783531a1 EBUILD binutils-libs-2.40-r7.ebuild 5004 BLAKE2B 5f552b445010448c07f537f3f01a09681e0e87f7430936069252a5ed52a27492bff2f1417b02b8841514f2a46285dcde01ca60dc3bd5d92ddff521eb420f1233 SHA512 15a566ab4dcc46dd51e1c92c72bbb4d8513c8e381d052401080d9780c85ffb232c6b5a95a66fbe2af68188512570084d2cb9201af85ae10c4f5f109a62dfa613 EBUILD binutils-libs-2.41-r2.ebuild 5177 BLAKE2B f221e61cb941b51f55852d8036633cf33ffda14796e9cdf7360160932edb5c0cb0d2c9b3eef03967e59a03b0fa51808d62017bc2a8a6c7185589cc9d9491e01e SHA512 b1cba4c023724f3327b330e15421410d5f4bbc662052d8ef440ab7f5e396e34a21c7cc709d69729a1e6603a0fef5241abd4f7f07602a0ae814a214959bcce2b7 EBUILD binutils-libs-2.41-r3.ebuild 5177 BLAKE2B b0da177b9fb442eeecd02ac103d2ea0ee8c991b89aa9ad3d920b4b88fafcb0d82d234eeaa5b14dc1addb3efd5915e94a1a530ab1ff58abc13097df8f1954a37e SHA512 25333ac83759d0918813aff7c3e124e36deefbd126944c4b5a2f0e61472489d12a456225116cc1ddc9d6df5621999aee3bad6a8b472fd21039bec77e905b6662 +EBUILD binutils-libs-2.41-r5.ebuild 5181 BLAKE2B 35fcb93e6f0989b456008055cff281a70997007374fd777860482074ba2db2fbbfc4510fbf5a36ae02519fd3d968a124eac7e8a5c04d4d70f0539473498c6eb8 SHA512 1de4e9f41d184bbd245d900bd3617e9de32e2ae2317e72d26937be09cc5b2ab4241df5a78d3d07b3284e6937dae82927b38b07d6fb16cfe8a2e2ecd7df422f9e MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d diff --git a/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild b/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild new file mode 100644 index 000000000000..f237bb30918c --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=5 +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?}.0" + +IUSE="64-bit-bfd cet multitarget nls static-libs test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +RESTRICT="!test? ( test )" + +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( dev-util/dejagnu ) +" +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. + export MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + # 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 + # 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 + + # Revisit if it's useful, we do have binutils[zstd] though + --without-zstd + + # 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() { + emake DESTDIR="${D}" install + + # Provided by dev-debug/gdb instead + rm "${ED}"/usr/share/info/sframe-spec.info || die + + # 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 +} |