summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-09-26 13:44:00 -0400
committerMike Frysinger <vapier@gentoo.org>2015-09-26 14:15:08 -0400
commit4c2963c4795822d443a0128e5ec47d1418f6b2a1 (patch)
tree8be92497c099c832ac5f36bc55fd5aa36a96100b /sys-libs
parentsys-devel/gdb: move old version to the toolchain overlay (diff)
downloadgentoo-4c2963c4795822d443a0128e5ec47d1418f6b2a1.tar.gz
gentoo-4c2963c4795822d443a0128e5ec47d1418f6b2a1.tar.bz2
gentoo-4c2963c4795822d443a0128e5ec47d1418f6b2a1.zip
sys-libs/binutils-libs: new package #528088
Since packages want to link against binutils libs (bfd/opcodes) and properly track updates when the binutils SONAMEs change, split the libs out into a dedicated package. This way we can continue with the multi-SLOT-ed binutils package w/out making the library users go crazy.
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/binutils-libs/Manifest2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild77
-rw-r--r--sys-libs/binutils-libs/metadata.xml8
3 files changed, 87 insertions, 0 deletions
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
new file mode 100644
index 000000000000..6dc0601af524
--- /dev/null
+++ b/sys-libs/binutils-libs/Manifest
@@ -0,0 +1,2 @@
+DIST binutils-2.25.1-patches-1.1.tar.xz 18724 SHA256 3d4c0ab2d45d3a952f60246fa5a4353f057c03110130b50e3b2103bd49c345fa SHA512 209c55bf26b51d8c513b40abd2d95f687159c4e964a6c732924f277d04c97323c427fe452c63d5ec6962dcd8892d6d5d807ba88826739425bce6812a31f573dd WHIRLPOOL 2b650af352183d2b58abaee955b223606d63bd5f22a73360e79af1d3b575c5ea385f90be92348ec850534d96f7b6632b1e494f314ec1655eedc26108e849aab7
+DIST binutils-2.25.1.tar.bz2 24163561 SHA256 b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 SHA512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d WHIRLPOOL daa804331ee880296c2fe29fd9b8a52cc695629d4bbe0b9889d96ffc54d330f00fac3f3cb12b3aaf6b7505521ef499c53760912cd7c9bb54f2d5e288224bd1eb
diff --git a/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild
new file mode 100644
index 000000000000..9faa28dd251d
--- /dev/null
+++ b/sys-libs/binutils-libs/binutils-libs-2.25.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PATCHVER="1.1"
+
+inherit eutils
+
+MY_PN="binutils"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/${MY_P}.tar.bz2
+ mirror://gentoo/${MY_P}-patches-${PATCHVER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+# The shared lib SONAMEs use the ${PV} in them.
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd"
+IUSE="nls static-libs zlib"
+
+COMMON_DEPEND="zlib? ( sys-libs/zlib )"
+DEPEND="${COMMON_DEPEND}
+ nls? ( sys-devel/gettext )"
+# Need a newer binutils-config that'll reset include/lib symlinks for us.
+RDEPEND="${COMMON_DEPEND}
+ >=sys-devel/binutils-config-5
+ nls? ( !<sys-devel/gdb-7.10-r1[nls] )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
+}
+
+pkgversion() {
+ printf "Gentoo ${PVR}"
+ [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with zlib)
+ --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)
+ # We only care about the libs, so disable programs. #528088
+ --disable-{binutils,etc,ld,gas,gold,gprof}
+ # 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
+ )
+
+ use nls \
+ && myconf+=( --without-included-gettext ) \
+ || myconf+=( --disable-nls )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+ # Provide libiberty.h directly.
+ dosym libiberty/libiberty.h /usr/include/libiberty.h
+}
diff --git a/sys-libs/binutils-libs/metadata.xml b/sys-libs/binutils-libs/metadata.xml
new file mode 100644
index 000000000000..e9755a1deae1
--- /dev/null
+++ b/sys-libs/binutils-libs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+<upstream>
+ <remote-id type="cpe">cpe:/a:gnu:binutils</remote-id>
+</upstream>
+</pkgmetadata>