Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/binutils-libs/
Date: Sat, 26 Sep 2015 18:15:20
Message-Id: 1443291308.4c2963c4795822d443a0128e5ec47d1418f6b2a1.vapier@gentoo
1 commit: 4c2963c4795822d443a0128e5ec47d1418f6b2a1
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 26 17:44:00 2015 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 26 18:15:08 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c2963c4
7
8 sys-libs/binutils-libs: new package #528088
9
10 Since packages want to link against binutils libs (bfd/opcodes) and
11 properly track updates when the binutils SONAMEs change, split the
12 libs out into a dedicated package. This way we can continue with
13 the multi-SLOT-ed binutils package w/out making the library users
14 go crazy.
15
16 sys-libs/binutils-libs/Manifest | 2 +
17 sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild | 77 ++++++++++++++++++++++
18 sys-libs/binutils-libs/metadata.xml | 8 +++
19 3 files changed, 87 insertions(+)
20
21 diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
22 new file mode 100644
23 index 0000000..6dc0601
24 --- /dev/null
25 +++ b/sys-libs/binutils-libs/Manifest
26 @@ -0,0 +1,2 @@
27 +DIST binutils-2.25.1-patches-1.1.tar.xz 18724 SHA256 3d4c0ab2d45d3a952f60246fa5a4353f057c03110130b50e3b2103bd49c345fa SHA512 209c55bf26b51d8c513b40abd2d95f687159c4e964a6c732924f277d04c97323c427fe452c63d5ec6962dcd8892d6d5d807ba88826739425bce6812a31f573dd WHIRLPOOL 2b650af352183d2b58abaee955b223606d63bd5f22a73360e79af1d3b575c5ea385f90be92348ec850534d96f7b6632b1e494f314ec1655eedc26108e849aab7
28 +DIST binutils-2.25.1.tar.bz2 24163561 SHA256 b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 SHA512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d WHIRLPOOL daa804331ee880296c2fe29fd9b8a52cc695629d4bbe0b9889d96ffc54d330f00fac3f3cb12b3aaf6b7505521ef499c53760912cd7c9bb54f2d5e288224bd1eb
29
30 diff --git a/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild
31 new file mode 100644
32 index 0000000..9faa28d
33 --- /dev/null
34 +++ b/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild
35 @@ -0,0 +1,77 @@
36 +# Copyright 1999-2015 Gentoo Foundation
37 +# Distributed under the terms of the GNU General Public License v2
38 +# $Id$
39 +
40 +EAPI="5"
41 +
42 +PATCHVER="1.1"
43 +
44 +inherit eutils
45 +
46 +MY_PN="binutils"
47 +MY_P="${MY_PN}-${PV}"
48 +
49 +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
50 +HOMEPAGE="https://sourceware.org/binutils/"
51 +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.bz2
52 + mirror://gentoo/${MY_P}-patches-${PATCHVER}.tar.xz"
53 +
54 +LICENSE="|| ( GPL-3 LGPL-3 )"
55 +# The shared lib SONAMEs use the ${PV} in them.
56 +SLOT="0/${PV}"
57 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd"
58 +IUSE="nls static-libs zlib"
59 +
60 +COMMON_DEPEND="zlib? ( sys-libs/zlib )"
61 +DEPEND="${COMMON_DEPEND}
62 + nls? ( sys-devel/gettext )"
63 +# Need a newer binutils-config that'll reset include/lib symlinks for us.
64 +RDEPEND="${COMMON_DEPEND}
65 + >=sys-devel/binutils-config-5
66 + nls? ( !<sys-devel/gdb-7.10-r1[nls] )"
67 +
68 +S="${WORKDIR}/${MY_P}"
69 +
70 +src_prepare() {
71 + EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
72 +}
73 +
74 +pkgversion() {
75 + printf "Gentoo ${PVR}"
76 + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
77 +}
78 +
79 +src_configure() {
80 + local myconf=(
81 + $(use_with zlib)
82 + --enable-obsolete
83 + --enable-shared
84 + --enable-threads
85 + # Newer versions (>=2.24) make this an explicit option. #497268
86 + --enable-install-libiberty
87 + --disable-werror
88 + --with-bugurl="https://bugs.gentoo.org/"
89 + --with-pkgversion="$(pkgversion)"
90 + $(use_enable static-libs static)
91 + # We only care about the libs, so disable programs. #528088
92 + --disable-{binutils,etc,ld,gas,gold,gprof}
93 + # Disable modules that are in a combined binutils/gdb tree. #490566
94 + --disable-{gdb,libdecnumber,readline,sim}
95 + # Strip out broken static link flags.
96 + # https://gcc.gnu.org/PR56750
97 + --without-stage1-ldflags
98 + )
99 +
100 + use nls \
101 + && myconf+=( --without-included-gettext ) \
102 + || myconf+=( --disable-nls )
103 +
104 + econf "${myconf[@]}"
105 +}
106 +
107 +src_install() {
108 + default
109 + use static-libs || find "${ED}"/usr -name '*.la' -delete
110 + # Provide libiberty.h directly.
111 + dosym libiberty/libiberty.h /usr/include/libiberty.h
112 +}
113
114 diff --git a/sys-libs/binutils-libs/metadata.xml b/sys-libs/binutils-libs/metadata.xml
115 new file mode 100644
116 index 0000000..e9755a1
117 --- /dev/null
118 +++ b/sys-libs/binutils-libs/metadata.xml
119 @@ -0,0 +1,8 @@
120 +<?xml version="1.0" encoding="UTF-8"?>
121 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
122 +<pkgmetadata>
123 +<herd>toolchain</herd>
124 +<upstream>
125 + <remote-id type="cpe">cpe:/a:gnu:binutils</remote-id>
126 +</upstream>
127 +</pkgmetadata>