diff options
-rwxr-xr-x | scripts/update-gdb | 4 | ||||
-rw-r--r-- | sys-devel/gdb/Manifest | 12 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20141209.ebuild (renamed from sys-devel/gdb/gdb-7.8.50.20141007.ebuild) | 0 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20141216.ebuild (renamed from sys-devel/gdb/gdb-7.8.50.20141014.ebuild) | 0 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20141223.ebuild (renamed from sys-devel/gdb/gdb-7.8.50.20141021.ebuild) | 0 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20141231.ebuild | 214 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20150106.ebuild | 214 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.8.50.20150113.ebuild | 214 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.9.50.20150203.ebuild | 214 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.9.50.20150210.ebuild | 214 | ||||
-rw-r--r-- | sys-devel/gdb/gdb-7.9.50.20150217.ebuild | 214 |
11 files changed, 1295 insertions, 5 deletions
diff --git a/scripts/update-gdb b/scripts/update-gdb index 8ade88a..a6d64c2 100755 --- a/scripts/update-gdb +++ b/scripts/update-gdb @@ -29,8 +29,8 @@ sed -i 's/\r$//' ${l} # First unload ones that no longer exist. ebuilds=$(echo ${PN}-?.?.50.*.ebuild) for e in ${ebuilds} ; do - f=$(echo "${e}" | sed -e 's:^gdb-:gdb-weekly-:g' -e 's:.ebuild:.tar.bz2:g') - if grep -q "\<${f}$" ${l} ; then + f=$(echo "${e}" | sed -e 's:^gdb-:gdb-weekly-:g' -e 's:.ebuild:.tar.(bz2|xz):g') + if grep -qE "\<${f}$" ${l} ; then continue fi git rm -f ${e} diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 0de9a44..e99b8b5 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -13,6 +13,12 @@ DIST gdb-weekly-7.6.50.20140107.tar.bz2 24988218 SHA256 d4749c5d9de5aa77cc627278 DIST gdb-weekly-7.7.50.20140527.tar.bz2 25414486 SHA256 290cef1bc94c12b12d60316560551347d55fcbb743ba7d721c097351ebece6aa SHA512 8f1d8c801b156f8cd2e686eefcddd580ec8d272bfe970e9bf1756299aabfdda1adb44311b80b2f3edb763fda37fd9402be1acac20c827b4c4c66c8dadf3ad895 WHIRLPOOL 158e1c65dd9dcddf2b6d144e5d653d883f95ff0825a9a73d86d8993b35ae73a293d8053f6488e45e4ba6eebe159ac7f660bf77a2dc8e3d890ed1cce6a01e24c7 DIST gdb-weekly-7.7.50.20140603.tar.bz2 25411073 SHA256 0b3c9baa22ca5aa627e91d0108072b800b3f8d5f6f2fe596ae5cf92837c79693 SHA512 f5fcb51a1d1af2d2b7ff4c308e122a2a73bfb4833f8878d7cb4d0cf21acea47bafcfe0b541760a468e2f5e9887c7522c89bf62d413c124619f239300224f4ad3 WHIRLPOOL 35469c381ac7e6725e6dd8b8807c980d49cdb795b9519ae4f67f53774a6cfb6c85d77cbf33b0d1817dfddffddb4d19ccca79fd12e098e58f2705ffaf4fc6f05e DIST gdb-weekly-7.7.50.20140610.tar.bz2 25454190 SHA256 cda14be3d8375a89d118c648be9a816c6c37813d5670d82b42c0eaefa523ace8 SHA512 144c7dbc7af7cde4c5d65c51c3ee7160a1f99fcccc64f68fcdcf4df73faa5ca27bcaa067d0dd9c749a520f05f404a1a2ce9fb4b7031562dadb935fd94fc4459c WHIRLPOOL 3b6e2499f75f0e51a9328b55cc4035ba3abe07b525ccc2639da4ada447bbf6380c4c8ee5486a2ccbd6090c1920699403b47947aadfc7665d4172f1125d0333cc -DIST gdb-weekly-7.8.50.20141007.tar.bz2 25509031 SHA256 9f40842e7f2213674666eb601f219561c730676da6e8eb7e41406918865b32c2 SHA512 eba27916bf0bd0ba3faad7a669c0525269251da51cc25b00345070e7a67683cb7fa83496e248dbc239ad71fa8c5987b8549d6eb776e76fec20e90df906f8a68d WHIRLPOOL f7c49cfd333b3e67d8291233145e992a1ff8bfabf7cd8f3d18d694f7900c8d705708e3f2fd6b5b9322bd21b52d0e455d0c2f7e26e2ec7a3782e387a95d4625be -DIST gdb-weekly-7.8.50.20141014.tar.bz2 25510531 SHA256 09169aadc334abdd1b487a6af37e02bf6d4d35194983e9d7344bb7508b19c572 SHA512 60aac6ffd8b8612ee2f04e3e44777b0b2d428c3dffc44b0ceae94cd461221a6ecb2f928ef6d74b94e7a1730ad711ad7bb54b8f39d3a78db5cc594cd4e44d1c2f WHIRLPOOL a5f2a0851dbd66069ff9ef547c83e15fcfd88469ab56481c7f36424f89816e0579f98fc9737f47046b1d4952a16d8062be90edd614246dc3d34670593836d868 -DIST gdb-weekly-7.8.50.20141021.tar.bz2 25497446 SHA256 cd1483a01f1278955bcb8e9a6dfe204156622e4b757f0212bdf6bfac31579fce SHA512 0e20f0554086ad0bfa21db615c17f4d57e58cdc0986a451d7d651659f0df82b7d5eaf6bb952ee49df7c4fbe502dc1274592314d58e74ced3335f5ae28bcbd29f WHIRLPOOL 5b7232b6a149dc276d43f413711be8d3bb0b437158e0982290a53073c112a88866751265ad313d1996e64e4510b324c67ea79741c930cf63c5cd9d93d2758608 +DIST gdb-weekly-7.8.50.20141209.tar.bz2 25616983 SHA256 20d6294fba1785341161aa9df1df5081f39c6a36c6951a73d83d012593bf364e SHA512 3631134753500d1628166cb097aa552385ed7e2967668842fa7dca180138b96f45a490439101441d4ccf76d10fe723eda42042ba902951f56be410004fbc0934 WHIRLPOOL ef03d7ba18f83cfbae0c29aed0da61f352dc75f83a2c8b8fb672c74ba7ba2786a706b622869fdf0e9c4f8331896d98d1b6502be5247b8257f8641b27cf98ec2a +DIST gdb-weekly-7.8.50.20141216.tar.bz2 25691936 SHA256 a60d9036f422c66bd02e7393fc657875393f7cf91e6abb5ccb8c24ffb73afaf9 SHA512 3e5c90b98534bef5ea3cd41dab5ca5f01f0971ea8aad7c2358847276e62e11736bda1d7395a9aff210c76e4a8e0f13326776a5984b842dc9f4f16888b53ecdda WHIRLPOOL 684eca2bbf7b10bb4b67214260a308b598de4d74254598f627ee0e655c885a7a47a6d765391959856572cece95ee65faccf33cc22e176c186c06926bbab7f24b +DIST gdb-weekly-7.8.50.20141223.tar.bz2 25724381 SHA256 f7850045a64a44681888ddd514a42c5ee2c64caa1abf03c3ef52ce4a72867ba6 SHA512 389194b3bd576a4269bf84c93249bc856dc8dcab1e5d4f3734ef7f7b9fe0f19c3e1b955824a3bed0e86c92004ec463cda271bdb8d7bfcb8275ac4526a7daf056 WHIRLPOOL 1205f08f9dce1aa3f235a8b1d257c96b44506f9b10a5ec262212f330092178473f89556cf2033e8296973ce7d374590d256d391bf788243e5465dd2c56a69c01 +DIST gdb-weekly-7.8.50.20141231.tar.xz 19194688 SHA256 9a128691b7eb1819fd5419b29ddf24917d6c1d69cb7408e87b9873b52eb27477 SHA512 7e1130f5a100e5d161f6d7abb5ba3ba6b9911a90652ea4aea00e32e846f6fad5e78b6a4ed5002b2d9c7466d1d2563c452a7b9a73afac7dbd30b1df05884ed351 WHIRLPOOL ebc5d29a6382224fa04dd15eb0e16c4cf9e8754e62cb68cdc2e098fb351463ca58dc60ef05f2ed4183433d46d65132297e409bc9c15c018c66027214757340fc +DIST gdb-weekly-7.8.50.20150106.tar.xz 19198676 SHA256 3bbfe217aee3472a09f1a8f81747555e185147a3569e3eeeb0cc0c9b44ad191a SHA512 676e73cd9470d0bf132d3ccf6979a2af6170031abb5f5482d1f4972f9082039337aaa35da48299f99196f08117c1f07d809e5a6b4213986abf08b760625432d5 WHIRLPOOL 3f195efd5a2c583fddee33b471e7afa649ae14a67daa7167e78946b57871ea63819c790add01edcc80a89b21d0f6fd8d937a9a0fc54238895853f1d73f94fb9c +DIST gdb-weekly-7.8.50.20150113.tar.xz 19204140 SHA256 e40e207516cb30aa35161c87742581fa87e4ad08d5f328c0084905309efa5a44 SHA512 4432a53f8780272786490ee36fac9d2aaf3d23a46ca75f918ea5d4c17ac5b13341e795f6f09ba614006172208344e8319e1a34cb543592644acb3770580f0ea1 WHIRLPOOL 67854fc683a4f56b00d44af9698a3a83a46fcfb4271a4d15e15da474039d1e0bc575dbe0bbce490a0803aea1ad54e24440e7afa11de9be032c443b7101c8acc1 +DIST gdb-weekly-7.9.50.20150203.tar.xz 19270656 SHA256 1dba1014ea5bb58d4496331654ca4ced6d9652821955c43caa847b7a8a49cd00 SHA512 c0c8d761f48582074343866e291f550dfb21fce79c914f9024bd7b5bbc2eec6414580f6e5816aaa4279113e153c503a16b19961317817509399f644269d395cd WHIRLPOOL fe94b7d9c784a456a2c8b39f81d0745abab7d5afd4a521209a865cb55da3871b6a2b592721b9a843e25877d2d1109e718ed1f414d4a2485ee9590ce8b03788a1 +DIST gdb-weekly-7.9.50.20150210.tar.xz 19280660 SHA256 abb1d2300f4f49c024e090d68da17e3c04f9e4faf820aebd3a6d36ec91ea484f SHA512 2781019ae12c3eb3fd7dc04bf88b583e307fdbe8e6b1d9021fca5704f19330afa54e1a497830ace9513efa2b282db1ff79ad29255aa3e1241dfaf886fbec5278 WHIRLPOOL fc3d0106434ff34e55d2aca420cc61e027fdc8274e17c104f8f2671e019d57e6dca5790088feaf670b41c371841d858899d49772db0ed224e5c35cf99f705651 +DIST gdb-weekly-7.9.50.20150217.tar.xz 19289188 SHA256 e26a714a540d0328c878f70547a8b9e75a6558bfb54539baab0f9e82a5466e09 SHA512 7267e7a6c3d515900bf4e3ac511ca6fa4d14b2011c6e69b8b1a32f9ad5e9e092a8385276d611c487a356b812f3266a16d3af089b04dbb24f5cc78e1d79df79c9 WHIRLPOOL f896bcce27f0e79dae229d64da6982d8d55e98b9233b681c8089a1d7613db06e357c951774436cdf6e2797a3c64381741555f1b63dd1fc529e3e12b2e147cb05 diff --git a/sys-devel/gdb/gdb-7.8.50.20141007.ebuild b/sys-devel/gdb/gdb-7.8.50.20141209.ebuild index d3cad2c..d3cad2c 100644 --- a/sys-devel/gdb/gdb-7.8.50.20141007.ebuild +++ b/sys-devel/gdb/gdb-7.8.50.20141209.ebuild diff --git a/sys-devel/gdb/gdb-7.8.50.20141014.ebuild b/sys-devel/gdb/gdb-7.8.50.20141216.ebuild index d3cad2c..d3cad2c 100644 --- a/sys-devel/gdb/gdb-7.8.50.20141014.ebuild +++ b/sys-devel/gdb/gdb-7.8.50.20141216.ebuild diff --git a/sys-devel/gdb/gdb-7.8.50.20141021.ebuild b/sys-devel/gdb/gdb-7.8.50.20141223.ebuild index d3cad2c..d3cad2c 100644 --- a/sys-devel/gdb/gdb-7.8.50.20141021.ebuild +++ b/sys-devel/gdb/gdb-7.8.50.20141223.ebuild diff --git a/sys-devel/gdb/gdb-7.8.50.20141231.ebuild b/sys-devel/gdb/gdb-7.8.50.20141231.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.8.50.20141231.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-7.8.50.20150106.ebuild b/sys-devel/gdb/gdb-7.8.50.20150106.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.8.50.20150106.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-7.8.50.20150113.ebuild b/sys-devel/gdb/gdb-7.8.50.20150113.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.8.50.20150113.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-7.9.50.20150203.ebuild b/sys-devel/gdb/gdb-7.9.50.20150203.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.9.50.20150203.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-7.9.50.20150210.ebuild b/sys-devel/gdb/gdb-7.9.50.20150210.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.9.50.20150210.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-7.9.50.20150217.ebuild b/sys-devel/gdb/gdb-7.9.50.20150217.ebuild new file mode 100644 index 0000000..d1e1fcd --- /dev/null +++ b/sys-devel/gdb/gdb-7.9.50.20150217.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-9999.ebuild,v 1.32 2015/02/17 10:44:28 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit flag-o-matic eutils python-single-r1 + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +RPM= +MY_PV=${PV} +case ${PV} in +*.*.*.*.*.*) + # fedora version: gdb-6.8.50.20090302-8.fc11.src.rpm + inherit versionator rpm + gvcr() { get_version_component_range "$@"; } + MY_PV=$(gvcr 1-4) + RPM="${PN}-${MY_PV}-$(gvcr 5).fc$(gvcr 6).src.rpm" + SRC_URI="mirror://fedora/development/source/SRPMS/${RPM}" + ;; +*.*.50.*) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; +9999*) + # live git tree + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git" + inherit git-2 + SRC_URI="" + ;; +*) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="http://sourceware.org/gdb/" +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + || ( client server ) +" + +RDEPEND="server? ( !dev-util/gdbserver ) + client? ( + >=sys-libs/ncurses-5.2-r2 + sys-libs/readline + expat? ( dev-libs/expat ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + app-arch/xz-utils + client? ( + virtual/yacc + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + )" + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec + use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + epatch_user + strip-linguas -u bfd/po opcodes/po +} + +gdb_branding() { + printf "Gentoo ${PV} " + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + --with-pkgversion="$(gdb_branding)" + --with-bugurl='http://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + ) + local sysroot="${EPREFIX}/usr/${CTARGET}" + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + if use server && ! use client ; then + # just configure+build in the gdbserver subdir to speed things up + cd gdb/gdbserver + myconf+=( --program-transform-name='' ) + else + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on. + is_cross \ + && myconf+=( --disable-gdbserver ) \ + || myconf+=( $(use_enable server gdbserver auto) ) + fi + + if ! ( use server && ! use client ) ; then + # if we are configuring in the top level, then use all + # the additional global options + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with expat) + $(use_with lzma) + $(use_enable nls) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with zlib) + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + nonfatal emake check || ewarn "tests failed" +} + +src_install() { + use server && ! use client && cd gdb/gdbserver + default + use client && find "${ED}"/usr -name libiberty.a -delete + cd "${S}" + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -r "${ED}"/usr/share/{doc,info,locale} + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + # Install it by hand for now: + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay + + if use client ; then + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + fi + docinto sim + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + if use server ; then + docinto gdbserver + dodoc gdb/gdbserver/{ChangeLog,README} + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* +} + +pkg_postinst() { + # portage sucks and doesnt unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} |