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