diff options
Diffstat (limited to 'sys-libs/binutils-libs')
-rw-r--r-- | sys-libs/binutils-libs/Manifest | 6 | ||||
-rw-r--r-- | sys-libs/binutils-libs/binutils-libs-2.39-r4.ebuild | 153 | ||||
-rw-r--r-- | sys-libs/binutils-libs/binutils-libs-2.40-r1.ebuild | 159 | ||||
-rw-r--r-- | sys-libs/binutils-libs/binutils-libs-2.40-r2.ebuild | 159 |
4 files changed, 0 insertions, 477 deletions
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 9ff915ac7313..ded1ff4d3aa2 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -9,11 +9,8 @@ DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 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-5.tar.xz 82924 BLAKE2B 2cf75f661989f22270d6afe5f3c543814eb6a331be4493016fa2871e1f10a84a123c1c51e77a19b35e46680b9fe77390cb1532ca40d470a6041fa768fed3ccd7 SHA512 4b5811b4822b3a06f590fc7d082dc0ddf18a6058ac23887254e2ee9bd63c7f06f1636e446152115c7e0b01a6c5298a0d9df6904bd1582e66504ccde80dd1ecbd DIST binutils-2.39-patches-6.tar.xz 92380 BLAKE2B 39f490f1134fb0e7dc80924a280d3113efe0ed094ee15de97c42ab751c83d2f5aa7448966d8cbbcde722b2af4999a36c1e5aa2f37ca6d2e3942b97b6d90ff152 SHA512 213cd7a86da83987966675f3195e843d898ca4ff412dfc29fd33ed80adb7bbf80a0b2919cd8e7dd49208c73a621ab7b720970f2259418bdc82ed2a568ff62064 DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 -DIST binutils-2.40-patches-1.tar.xz 12260 BLAKE2B d525502e08012080417634fd41981550362d4d799952e89f388af2a6e5db5b80e88bfdb0b5b1d2a1bcf8ebda529eefbced8fa2ae84c7fe3ddb10184e98d4b369 SHA512 140f80be786511f63651e67bf25c2992de6a21bac00a3252dcf98becc3f9379c8070ef1380d5542bbf2e1908c50dab2c7ebb651d13bb97609594fe9fd9f1f079 -DIST binutils-2.40-patches-2.tar.xz 183760 BLAKE2B 447f1c40ac8212b1e91f6f2137f87958c3f4e2366b11b9979d9d09d52e9fcde9a9d74f0c1871616157e001f505849fceb2097a512f434b9c848885e367a07c35 SHA512 30efbfcbd2d936c74d9480e4f2f4b8dcd30abcd0f1b22d21d20558002fdb8c90bd2fe97e3f27c2905714dcfd1297cac2646ede1e2c3d9fbf159f93c8cf01a290 DIST binutils-2.40-patches-3.tar.xz 259432 BLAKE2B 03b9024e658a5860d54b9087f3e1cc4b417a2501d6a1744c44759bbc99cabd5938058ba2909b16cc999208187998094aa6ab5464e5ed54b87ea0b1eef007e85c SHA512 f2f3e38f5c0c2928ed0588ee42be74d43486d209b43249f73ae133c4c1f81491c86b14df2ddecbc37df6fe80b27b0eab6c3f319e44854e91596dfbd3ec37b8aa DIST binutils-2.40-patches-4.tar.xz 264420 BLAKE2B 70acdc15f64a45cda49ebd7c252d909db2fe659f5c2c0866c50fd710415fd34bd88f9c5cd5ba07beef1e7de7fe827bb40f835fb79ff10e00fc50451e3a8cab33 SHA512 5f0a080841cb3a032cbe7b135ba38bebeae0b0e444623887bdcb92a3adcf804701524eff840f108a9544293f5ac307b4a8d9509176abfeaea6c461b2ea5c0886 DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 @@ -22,10 +19,7 @@ EBUILD binutils-libs-2.35.2.ebuild 4100 BLAKE2B 521acb4f160e171efd6500aba598825f EBUILD binutils-libs-2.36.1-r2.ebuild 4053 BLAKE2B 1d2c9609ce0fa3aff3222d89ee237ba73d31515bb0032ffd8d6b6a9a04060aec1df32cb727572a0a20b9ba64834dc43c2260f3401703cb711d0d5516e136a3d1 SHA512 e355a34921f4a260f2f61a222365703b1afc103fc993e255801a8c2deec42409ba1aec8a22d734c38a4440c385b29f81eac52c4584431ee54d0cf0cfe611ff6c EBUILD binutils-libs-2.37_p1-r2.ebuild 4126 BLAKE2B 63dcef180b378d47d48f714e095ff2ce98dcd027de0d176c64179fcfe1f48df5f451468fb974176ade21914f4ba731487b91b03223eba11662be17cb3b42c9c1 SHA512 c659774de8238e81669507dfd5b2a565b5deaa8c54fe12ee02f5b3b204a147b2aea5bb9a6707930d0ac3ca10225ce486f294e510402b37c99ee1f6c170c31ecc EBUILD binutils-libs-2.38-r2.ebuild 4803 BLAKE2B 60922f7c60d381f778474a74497a70c652033a92f0fbbac3fab30a2fe4c4a88afcb4931a3914a4c5ca6a853653f83f941253398128dddf21636e8eb95643265e SHA512 f479a863a002bc373c188ccc55c5ad9c2791d32dc64af9cd3e5896204b6e0438a52035622697888e7fc16a0bf7d3df79c3eea2ec8c2e3b4c443b82637a1dbd0d -EBUILD binutils-libs-2.39-r4.ebuild 4811 BLAKE2B 0aa3431de9e88fbcaece3c177db1a154f0b72c62249905e38bedb3852525247700d7aca738d9fce5eb52b9db6ef76d5643e47b2a3482f9c160475cfc456788e3 SHA512 dc3988a84c0d9389c9674852b7348788e6bbc9cffd445289f8ac51a2964b761546dfbafb4ba229fed6d6b63fe9b8b0fe6f5db3a72cc79824f877adaacc4d2a25 EBUILD binutils-libs-2.39-r5.ebuild 4811 BLAKE2B 2175d19bf05f2917cb656cf5848112b7a1734fe10851b6977be9b4dc61d70d926a972e3fd5d38fe9cce2032b2aaa1bbf0ad80e06c5785899c4877722f63549e8 SHA512 4fb1448e597b25d1f2fa5aa32db39fd7a7a4e3fa78f2cb26a117c3b14d455584ef5d72f11f60af09521cf12db6d429d41b644abf56672c6aed13b5e6110f1059 -EBUILD binutils-libs-2.40-r1.ebuild 4994 BLAKE2B 78e60c130edcb858d4d59431d5e3bd4155907705360bca7b319715f5379c74168434c8e51eb4a7ca1875be6de5fb1d43a3c54234d6190c385abff8b692dbb0dc SHA512 62941ebb14792cdb681d5c8440b9c3f15ff324f4a9f745fc98d9d2833e5acafb5f3150fd9fe181bf3fff66191209649f1487fdb313dd5214acacad09be48c444 -EBUILD binutils-libs-2.40-r2.ebuild 4994 BLAKE2B fe234258a71935449d03dc0c693031510320ba420e963a2305db965883ad95e8570f89a28094683c5814f37182b65dc4a57d81453154637da5cbe319728ba670 SHA512 fc92764c33603132baadb0e041be9fd68e0532dbf841250884f96e84dc0e8972de5256500a81e08cf079d9be8680d041b96b409c57387835e06e401560de5d02 EBUILD binutils-libs-2.40-r3.ebuild 4994 BLAKE2B a76c37c0520f4718d13e4e360575ffb094a7f0bd3e6101437107f5d0ab9600715dbc0ea0b9b695f119c8742afeb7475f99b598b8f1a589e84f1889e4b0f17804 SHA512 e7cd40f4ce8725a4fc987ae61da6785d8537fa797285670494a201d5829fcd9bf1ff95b95ad9ed1aa3bc34f8c1e948dfd41753fa5078842e64fafb69e33ab36f EBUILD binutils-libs-2.40-r4.ebuild 5057 BLAKE2B 18bbe8a2e891dc2419cca7b96f9d8be40dac13f0ccf813b286fa1da0025d41f7c5c8f6de64b9c558927929c0ad563c8d7ff9d272cd5a7acfd0c94ffd4aee2e62 SHA512 cf7ee7aa801c71240649668fa0ef8d5ad65bacc4826d96187231552d890d2110649b8479b7b15c67c102dfe0ba826d3c3b4c6a5ff9715c2f8091326521841877 MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d diff --git a/sys-libs/binutils-libs/binutils-libs-2.39-r4.ebuild b/sys-libs/binutils-libs/binutils-libs-2.39-r4.ebuild deleted file mode 100644 index 75e746e1bf03..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.39-r4.ebuild +++ /dev/null @@ -1,153 +0,0 @@ -# Copyright 1999-2022 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?}" -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/sys-libs/binutils-libs/binutils-libs-2.40-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.40-r1.ebuild deleted file mode 100644 index 09aff2130408..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.40-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER=1 -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. - export 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 - - # 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_compile() { - emake V=1 -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install - - # Provided by sys-devel/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 -} diff --git a/sys-libs/binutils-libs/binutils-libs-2.40-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.40-r2.ebuild deleted file mode 100644 index e0bbd9a31bf0..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.40-r2.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER=2 -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. - export 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 - - # 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_compile() { - emake V=1 -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install - - # Provided by sys-devel/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 -} |