Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/binutils-libs/
Date: Tue, 25 Sep 2018 07:37:50
Message-Id: 1537860806.ec9a106deef4fc52c5f81a1ef52e18af323f2513.slyfox@gentoo
1 commit: ec9a106deef4fc52c5f81a1ef52e18af323f2513
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 25 07:33:26 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 25 07:33:26 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec9a106d
7
8 sys-libs/binutils-libs: release patchset 5 for 2.30
9
10 One new main patch:
11 + 0098-Gentoo-add-with-extra-soversion-suffix-option.patch
12
13 And four backports:
14 + 0094-Replace-CET-bit-with-IBT-and-SHSTK-bits.patch
15 + 0095-Fix-parens-in-ld-bootstrap.exp.patch
16 + 0096-x86-64-Clear-the-R_X86_64_converted_reloc_bit-bit.patch
17 + 0097-Fix-unwind-offset-for-call_info-start_symbol.patch
18
19 Changes SONAME from
20 libopcodes-2.30.so
21 to
22 libopcodes-2.30.gentoo-sys-libs-binutils-libs-mt-def.so
23
24 SONAME now encodes USE=multilib and package name.
25
26 Bug: https://bugs.gentoo.org/663690
27 Bug: https://bugs.gentoo.org/666376
28 Bug: https://bugs.gentoo.org/666100
29 Package-Manager: Portage-2.3.49, Repoman-2.3.11
30
31 sys-libs/binutils-libs/Manifest | 1 +
32 .../binutils-libs/binutils-libs-2.30-r4.ebuild | 112 +++++++++++++++++++++
33 2 files changed, 113 insertions(+)
34
35 diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
36 index 8adfa1faa74..ddca182e6a9 100644
37 --- a/sys-libs/binutils-libs/Manifest
38 +++ b/sys-libs/binutils-libs/Manifest
39 @@ -8,6 +8,7 @@ DIST binutils-2.29.1-patches-2.tar.xz 18528 BLAKE2B 514496d6c9609362782d66b6cecb
40 DIST binutils-2.29.1.tar.bz2 29123355 BLAKE2B 83de518a27bae0f13c57b1979493dd7f7cabae424cff5e8495d1f064da24b6ef9e1c19d1d1adad2dca7142372782023f66b4b4223170a49b96ba3834266fe878 SHA512 4063d34555526922376ccceb3f14b43e287442e82a8038cf50f4f51ad97d438c672c0e310ca4b856c9aff5aa9911073e256e8298a7a3f1844eeb60b90d955592
41 DIST binutils-2.30-patches-2.tar.xz 490272 BLAKE2B a28a5b5bb8faa33fec269f2c69d6ed0e4e7d5a9169861aa4b3c45511794e1e749c216862a8258c2029f1b40c511dcb2a0aeaecda57e75d52418f10d6f345718f SHA512 1686d5b58ee968f2000647acab2bee4c263d1c85fd43fed8c820fccfc0d7024a01211e7853cd5ce452fa90da500bc17309edf6dbc901c7fd6fc7b3e3d6f42581
42 DIST binutils-2.30-patches-3.tar.xz 548804 BLAKE2B 428a1750233ae3f019e20cb5ed1d8e6fe6455181e8f5961dbfe7b66493d1c42050f889e45c02c1fc1a84d545c9e61f81ad6ffd5afc0b1099a702ccc7637c3abe SHA512 c91e902d1d9fc2e9782df04c93173c3207c771f1c063e2ff12c9336593c954ea3f1b2474a8fc045927d72fe18f7401874059599d100c4a1fd152081f05913d03
43 +DIST binutils-2.30-patches-5.tar.xz 590864 BLAKE2B 71de4d08f92ab1898ad576a21763f955067cbbed543250888e0c5d51f4ef77d0d829049e9a835691cf2de03965fbcc9bcfa092eb304c03f9b885e7a3dadab286 SHA512 029b3be6ae9b8620f8580a35701bd4517b4e0232ff3cf9983b3808475c7443cbf500b6cace2c052df0bd1e47202838f4d2453238db28709a947117071d9ae804
44 DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f5916fb82ce95ceab424fd8dc19f6daa7ac32a149f222ccdcc603354165cc206fde070eaa44fe2cc5e57486efc7868 SHA512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839
45 DIST binutils-2.31.1-patches-2.tar.xz 11232 BLAKE2B b8ac65872017c063650d4e04855efa3fd3e9faa566e81fa9fb3ae777c1337627023c1af85b708a7933b577a69652451ff488340d7cc9f035d3a3a655da0fc8d6 SHA512 2d0ee2e727586fc39cdb8abc7251c12dd350d18dd84103ddacc08978db48d45445c05b7ea5f095842f6e0350db94d593270b23a38920a01ca59c363decaa2a58
46 DIST binutils-2.31.1-patches-3.tar.xz 12640 BLAKE2B 3444b219dd02ad513e6c36214d649a8a74638382103c88ec8de76a579be0ee13f8d1450e3b8d82dfddad55f2f851b32aee910a99230c7d8673f8426fc79a4cd9 SHA512 67b23c17518305561d190a15cba4a1af18a0a3cf1d7e62583ac7667d2fa40e7c7ec024cc981009d5d1caf1939633ab55fc0a198b69af02dc7841be43ff1acd13
47
48 diff --git a/sys-libs/binutils-libs/binutils-libs-2.30-r4.ebuild b/sys-libs/binutils-libs/binutils-libs-2.30-r4.ebuild
49 new file mode 100644
50 index 00000000000..5894685fb9b
51 --- /dev/null
52 +++ b/sys-libs/binutils-libs/binutils-libs-2.30-r4.ebuild
53 @@ -0,0 +1,112 @@
54 +# Copyright 1999-2018 Gentoo Authors
55 +# Distributed under the terms of the GNU General Public License v2
56 +
57 +EAPI=6
58 +
59 +PATCH_VER=5
60 +
61 +inherit eutils toolchain-funcs multilib-minimal
62 +
63 +MY_PN="binutils"
64 +MY_P="${MY_PN}-${PV}"
65 +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
66 +PATCH_DEV=${PATCH_DEV:-slyfox}
67 +
68 +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
69 +HOMEPAGE="https://sourceware.org/binutils/"
70 +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
71 + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
72 +
73 +LICENSE="|| ( GPL-3 LGPL-3 )"
74 +# The shared lib SONAMEs use the ${PV} in them.
75 +# -r1 is a one-off subslot bump where SONAME changed for bug #666100
76 +SLOT="0/${PV}-r1"
77 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
78 +IUSE="64-bit-bfd multitarget nls static-libs"
79 +
80 +COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
81 +DEPEND="${COMMON_DEPEND}
82 + >=sys-apps/texinfo-4.7
83 + nls? ( sys-devel/gettext )"
84 +# Need a newer binutils-config that'll reset include/lib symlinks for us.
85 +RDEPEND="${COMMON_DEPEND}
86 + >=sys-devel/binutils-config-5
87 + nls? ( !<sys-devel/gdb-7.10-r1[nls] )"
88 +
89 +S="${WORKDIR}/${MY_P}"
90 +
91 +MULTILIB_WRAPPED_HEADERS=(
92 + /usr/include/bfd.h
93 +)
94 +
95 +src_prepare() {
96 + if [[ ! -z ${PATCH_VER} ]] ; then
97 + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
98 + eapply "${WORKDIR}/patch"/*.patch
99 + fi
100 + default
101 +}
102 +
103 +pkgversion() {
104 + printf "Gentoo ${PVR}"
105 + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
106 +}
107 +
108 +multilib_src_configure() {
109 + local myconf=(
110 + --enable-obsolete
111 + --enable-shared
112 + --enable-threads
113 + # Newer versions (>=2.24) make this an explicit option. #497268
114 + --enable-install-libiberty
115 + --disable-werror
116 + --with-bugurl="https://bugs.gentoo.org/"
117 + --with-pkgversion="$(pkgversion)"
118 + $(use_enable static-libs static)
119 + # The binutils eclass enables this flag for all bi-arch builds,
120 + # but other tools often don't care about that support. Put it
121 + # beyond a flag if people really want it, but otherwise leave
122 + # it disabled as it can slow things down on 32bit arches. #438522
123 + $(use_enable 64-bit-bfd)
124 + # This only disables building in the zlib subdir.
125 + # For binutils itself, it'll use the system version. #591516
126 + --without-zlib
127 + --with-system-zlib
128 + # We only care about the libs, so disable programs. #528088
129 + --disable-{binutils,etc,ld,gas,gold,gprof}
130 + # Disable modules that are in a combined binutils/gdb tree. #490566
131 + --disable-{gdb,libdecnumber,readline,sim}
132 + # Strip out broken static link flags.
133 + # https://gcc.gnu.org/PR56750
134 + --without-stage1-ldflags
135 + # We pull in all USE-flags that change ABI in an incompatible
136 + # way. #666100
137 + # USE=multitarget change size of global arrays
138 + # USE=64-bit-bfd changes data structures of exported API
139 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def)
140 + )
141 +
142 + # mips can't do hash-style=gnu ...
143 + if [[ $(tc-arch) != mips ]] ; then
144 + myconf+=( --enable-default-hash-style=gnu )
145 + fi
146 +
147 + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
148 +
149 + use nls \
150 + && myconf+=( --without-included-gettext ) \
151 + || myconf+=( --disable-nls )
152 +
153 + ECONF_SOURCE=${S} \
154 + econf "${myconf[@]}"
155 +}
156 +
157 +multilib_src_install() {
158 + default
159 + # Provide libiberty.h directly.
160 + dosym libiberty/libiberty.h /usr/include/libiberty.h
161 +}
162 +
163 +multilib_src_install_all() {
164 + use static-libs || find "${ED}"/usr -name '*.la' -delete
165 +}