Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/toolchain:master commit in: sys-devel/gdb/
Date: Fri, 28 Aug 2015 01:04:07
Message-Id: 1440723825.602541f70d4396a569c5877cb1855041b35ea865.vapier@gentoo
1 commit: 602541f70d4396a569c5877cb1855041b35ea865
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 28 01:03:45 2015 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 28 01:03:45 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/toolchain.git/commit/?id=602541f7
7
8 gdb: import old versions from the main tree
9
10 sys-devel/gdb/Manifest | 13 +++
11 sys-devel/gdb/gdb-7.5.1.ebuild | 178 ++++++++++++++++++++++++++++++++
12 sys-devel/gdb/gdb-7.5.ebuild | 178 ++++++++++++++++++++++++++++++++
13 sys-devel/gdb/gdb-7.6.1.ebuild | 192 +++++++++++++++++++++++++++++++++++
14 sys-devel/gdb/gdb-7.6.ebuild | 181 +++++++++++++++++++++++++++++++++
15 sys-devel/gdb/gdb-7.7-r1.ebuild | 192 +++++++++++++++++++++++++++++++++++
16 sys-devel/gdb/gdb-7.8.1.ebuild | 206 +++++++++++++++++++++++++++++++++++++
17 sys-devel/gdb/gdb-7.8.ebuild | 199 ++++++++++++++++++++++++++++++++++++
18 sys-devel/gdb/gdb-7.9.ebuild | 220 ++++++++++++++++++++++++++++++++++++++++
19 9 files changed, 1559 insertions(+)
20
21 diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
22 index a2a0e77..ddeef03 100644
23 --- a/sys-devel/gdb/Manifest
24 +++ b/sys-devel/gdb/Manifest
25 @@ -18,6 +18,19 @@ DIST gdb-7.4-patches-1.tar.xz 8192 SHA256 c4349847c80f314c603dd9465b90cda2b3565c
26 DIST gdb-7.4.1-patches-2.tar.xz 10944 SHA256 2c57b6edcc3f1cb3915e0bd88f2789eec2a773bb7d115abfc98aa8d55ca03b02 SHA512 4455f68aa345ac04a61547a10f87f11874912227a4e46d836fe1e78bb7754d6bf778b3f52c8bce15492625aac0b238996234fcbff4549c523354187b2729def2 WHIRLPOOL 9b24f6af94266747eb8711fd4b189d9b7a4990a3a19b68561b00c38704a9cb8e7e76ac47d40131619e466cb67cde06f2cee9da248bbfafc53adbeb285464b781
27 DIST gdb-7.4.1.tar.bz2 20619200 SHA256 a081343c017732ab4dd30a4730da83667aa01b0b37d1ad3700c3f05a5da0f9f6 SHA512 86a2f19f161da558afdb5b6179ba11e9124651b5e10915dd3e703fc8e54cf68dba5ffa86f5c3c3c595bc8841728e220741c9fa20889f548725dbd034f3456114 WHIRLPOOL 3de6e0b4e3d17a7d97cb804a6ca49761197d9e1230fb686ec84b8c5d68b6bc578ade873493cc8545d2f96f0f7061fedd9cdc7c42dc5d1cd279025dc4f4cb2069
28 DIST gdb-7.4.tar.bz2 20614020 SHA256 de7e2db7f0475eca7f9ffa9251abaddd3d37e0eed0b3759f71abfd810a3fd20f SHA512 9a5e8b04be6e8a746cb0e6a8b524ec0fa1fa3a971633c54646d722d2ff9200304e36f80cdf30d5a8ba69b5d188f7c1b2baad40d11881c416a3a54e7dee8cc724 WHIRLPOOL f8b0a046071da405194d2bd07007b044e2fd037852493ba6ab6f9fc81400b85583f36b6d6c13d4f1f04e5dafc7d324404606b235e1b962ea7f80b955141cd6c2
29 +DIST gdb-7.5-patches-1.tar.xz 9208 SHA256 07d2e5cd96c3acf64710d3cd1098684aa7db7e9e448b5a49775650c2abcb9daf SHA512 775c4b5953e7f02a0bfdc1801fa220e3446bf5cc2153e49cbba7dc883740e64604fde1bd04b6916f47530c94ab6a5351e4d4151a5b1f6f3f3d15f42e9210c196 WHIRLPOOL 69d4079327dce6e8fa8522c155b1a55687a1e14949d6812700512efcc99b51bb1a2becb4c0562b0b5bbc2ee87718d89ea278fa7f7166fa8c88b346cd5968f636
30 +DIST gdb-7.5.1-patches-2.tar.xz 8720 SHA256 7b93f737eb90c981685b6eab8ab7cda7ee0a3637b0110450efa5900486cca9dc SHA512 ab04daff6c83738fb7dc96f3444d8b6ab0bc52dd380ee6079676ba9507201c4e19bf8a8dd092705c968e4109d0080216020ad4a03c963b15cd37c6da3e8804ac WHIRLPOOL 8c520dbfb3288ff19a8978f2c1e7687467e2362fa0385d1f62beb1b2081264b597b4ca45b16d0d658cfba7bd754e10f219d84bedcb8acd0c2be4d5c64b201aca
31 +DIST gdb-7.5.1.tar.bz2 21349391 SHA256 070b808d289fa8f0291738eeaccc0cd7700d476998781f572856155240d29d20 SHA512 23b240f0ca9376dfc2fdeb79e725a3784841d1f787db9f7ca62a5e2f824ddd8b2d5fb3450e19dd8fee79589e3b0a5fe638eaa35966363c78c82711731c26dc47 WHIRLPOOL b1bb3d5133efcdd3e842ba03bf2f8ebcd01f4cbda8333a6725cd4160604b592fb991c02c17b725ffbcea0b7e37de9ade380079d903541124b4b76fcbd5f9e754
32 +DIST gdb-7.5.tar.bz2 21327195 SHA256 d178c45c328369ae4f24f9a0ec53b7d009e2bfa1d41b7027280b24f58ae61932 SHA512 fcedba8a8ba50470e8c032801e99a43dae7fcaf7885b55beaf2d47bfb7b0b666cb5e3bb40d0b67e9a3ba50bd88faba0a255474ab38c2a0272e880d5c668e0506 WHIRLPOOL fa2d238380508cfe8c1ca9a0906e87d539b0470230da407c5c6a02cd9f2b63c727586a9651943ee9328bb44d782a66bb9fae7dd27e9bd31fd5cbd0161cc3514d
33 +DIST gdb-7.6-patches-3.tar.xz 13644 SHA256 5ec83531a6bab75d9e3a67431d724b936cadb06862810b3182ac13f8d9b0cd22 SHA512 23a6e597629ecc544f8646eda5a637752b04cb5ecb7797f88d342e0c38f0680419a3656d8718722e8eeb7165e9aa7696c2e5b889049e5b405415bb7c391fa350 WHIRLPOOL 5a9f5cc513768c3218353ee74605ae224d556a72b557763370cc059e75fc31d438b57521df2e9d8eb5d713bbfb8d308d6b2cdf7dbdb7838343b12afc9d81e619
34 +DIST gdb-7.6.1-patches-2.tar.xz 14136 SHA256 327948403616d1376cca2bfb0ff174b93bf0494390708864ef54bdd98bc4729f SHA512 f1364d5cc70ea3c131e48ec5cc7275bcf0f875b0dcbe663f507b0f5d082e7db38636fd9036db3da7b2e9794dbc7d42b24126d91fde9447f6f10fcc8b3aea7817 WHIRLPOOL aa738854e26da8469ae98fb681552a7f25777809027761bb788a42db73bfd7852a09e82a8bacb2870ffc52a5953bc398adc4e098c6d36f331cd23a9a9a75c6ed
35 +DIST gdb-7.6.1.tar.bz2 24338919 SHA256 e3dfa38a14a5457f9b8b26f7b5080ba5491bd10ae4d69bfe357cea87b7d162e4 SHA512 ca42f003073d35cde42b43efe12f42888b39f2fc4b55f7df9faca2c8381a9329f19bf9366fff0af3ae59711aafaf9b4a33a15cb73a531c0c046b8ada98ed774b WHIRLPOOL 0489854f52e5d3e8fa36f4deb629e9aa7e83fd0ce80fe9aef6a9284e348e52e5d71e655d403a856911b868891ee2ba07bacc707326ef68d68052b557d5aef963
36 +DIST gdb-7.6.tar.bz2 24333590 SHA256 a410e8f35ee70cce83dbbf1da9e2a8373f271ac0e4b71db4336ae293fc7bdf1b SHA512 3b4f7f25ab8a8014a339966fd165dac6ac63df7d6403c338bbd38737bc0033d7e6461cdea2cd6dd095335a9d2a0ecd9d694e862b8d54d269dae577402e2b3ffe WHIRLPOOL c519955a9b6246e90b979783e5745e49de36b6fcd5b17360ae8db92283efb63117a592a03b92e173a11f986dfcc587e2d5c26f3aea49634f317f554ffe2f0e72
37 +DIST gdb-7.7-patches-1.tar.xz 9368 SHA256 89fd4da18dec37773121d8f0cb5403c7edb1b9ad81ccaa5bcf9cfc389e60ed83 SHA512 1afac04f426e8bda4def8694bf9aee7783a55681c06c823527ae6c2b9237fc9a20d4854a1fc2452b4c72bd8eb0e7b991d66167bbad76bb36334bda76d6d7d5d1 WHIRLPOOL 93766c32540223e81b54573aede9cd7995a28f80d2ded70fac519c310b3a9e7413028942d3a70bcd3ea831e4ee2c00da8547def64accf890b651d89c712068ce
38 +DIST gdb-7.7.tar.bz2 24846320 SHA256 0404d1c6ee6b3ddd811722b5197944758d37b4591c216030effbac204f5a6c23 SHA512 42c8d312c0ca1042d1df7e115c541abc7453c20813b3f4f1fe52c62bc04b85d9116539d245e6404fa556260ba13f78f9a2ac35424eb7fd8ef9954cdbfc9581e0 WHIRLPOOL 8f1610e7f2023a5f273c15cdca6da40e22527d61f694e841c55c696d14e55d6abc3aa4144ffb995fe78448e69c50ea7ac9854aaab1ef2e2b8d551b975d35e8b7
39 +DIST gdb-7.8.1.tar.xz 17669136 SHA256 497722b58386f4428c3474281eb3ef1c872404998b6ace907edb3bba1fabdc35 SHA512 c40775e727a665300b45ec5d375424565671768cb73eee6793285a5b9a29db66072fc55d56bc1b4189cd38e0590573554e283661e4fbec23e4ad3d5b90542a87 WHIRLPOOL 845988be5a667eae2ca2f433399d51af3bf8219a692385477f6f7f37bae000a017f39db271f28cf101a0b92eb4b48fe79c7edd1da1b84a83f3a612e49b96e265
40 +DIST gdb-7.8.tar.xz 17664316 SHA256 49c4abe174f79f54e1f9e75210ffb590d9b497d5b5200b5398c0e073a4ecb875 SHA512 e3977393c3a9bc2860d845928f457f4696a87106ccf30569cb69a82893deeab9b05fd1cffa4316cc5cfdfd3ad11a2d5660ed07a9965fa3d696a0ec604702557f WHIRLPOOL fb97f1fbee170fccf462d25fd6b4a218a8126b75465b59e21322ff2cacf2707d6b037d593663a4f52ae293c72d012a69a65377ee6827de18da80159c829b672d
41 +DIST gdb-7.9.tar.xz 17859428 SHA256 9b315651a16528f7af8c7d8284699fb0c965df316cc7339bb0b7bae335848392 SHA512 850202a477b486a75dc8196efead79c95bc675e348064a5eefee2a50215d40f62e9e052e9b8df29f997f91430f6e7454883652c701f5b1e688d9e2c575876c83 WHIRLPOOL 597cbe8b8c9da7e2188f6d207738fd9679c3a841fec9483f67ff91156d7886636b1da61bf1255155115655d87648278a0670ad381afde931c7c6ab6e762a9ecd
42 DIST gdb-weekly-7.10.50.20150713.tar.xz 19958112 SHA256 285adfe9879396fcf9c8447e353d1f2d821c97d04af4a9d310ebac601ccc0c23 SHA512 7eb38fda72e71bdcc2dfdf8a47d1089ef18ff7de6af25f5418de1bfb7972a3425fde1212cd9b76b3dd6c6fc34f2b21fface3e99309123952b9c6613cf7129382 WHIRLPOOL edc1c4c12577b51e94e9eaf2f36dbf0e68992f1fc4b5dfa78abad3f40538fa2fb2e97a4fd8fa6fc6f9921f8ac3501ef0e360cb1d1b3085c30d223912a9f096e2
43 DIST gdb-weekly-7.10.50.20150714.tar.xz 19963848 SHA256 67a448247f3d7e185b279a9553730541cfaf06573c5638ab2a4268ad8c624020 SHA512 49f84b2cee26a44393c0d255b2e6e7c03b7f08a34db4f174eee946e16902043b0f678490f3a089de532e6b169790e0518c219158e8d739bfb0341655691901a4 WHIRLPOOL 6591e97b4a7c7ffb12918d461533ce4d2184bb94f6fbdbeb7886d07d47e3eb61188ae5f3c19dbaddd34904e3f4269d8dd3c91eee93750c21f1e5a2ebd81bb577
44 DIST gdb-weekly-7.10.50.20150715.tar.xz 19962244 SHA256 d438bcd1f15d7ecfbfb145df355e682e6146a97cc3289dfbb923354dbc0791b0 SHA512 2ce6d9cd4023dfc44c427cff30e72a971ce43a07463f7ac667a0867ef1ee1e940ef0c693879266a472d30cc56f29e978a84358aecf109bf06e1d20d23ac32a1e WHIRLPOOL e6bf92e1fa884e38dac6e7cc051b50e0aaf31386f2033baf7968a9a44875613539502c63d798ff3de2b04560d8fb531910008b1ff7f19bd2cb04f3be07e49b58
45
46 diff --git a/sys-devel/gdb/gdb-7.5.1.ebuild b/sys-devel/gdb/gdb-7.5.1.ebuild
47 new file mode 100644
48 index 0000000..e1d16e7
49 --- /dev/null
50 +++ b/sys-devel/gdb/gdb-7.5.1.ebuild
51 @@ -0,0 +1,178 @@
52 +# Copyright 1999-2015 Gentoo Foundation
53 +# Distributed under the terms of the GNU General Public License v2
54 +# $Id$
55 +
56 +EAPI="3"
57 +
58 +inherit flag-o-matic eutils
59 +
60 +export CTARGET=${CTARGET:-${CHOST}}
61 +if [[ ${CTARGET} == ${CHOST} ]] ; then
62 + if [[ ${CATEGORY} == cross-* ]] ; then
63 + export CTARGET=${CATEGORY#cross-}
64 + fi
65 +fi
66 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
67 +
68 +RPM=
69 +MY_PV=${PV}
70 +case ${PV} in
71 +*.*.50.*)
72 + # weekly snapshots
73 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
74 + ;;
75 +9999*)
76 + # live git tree
77 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
78 + inherit git-2
79 + SRC_URI=""
80 + ;;
81 +*)
82 + # Normal upstream release
83 + SRC_URI="mirror://gnu/gdb/${P}.tar.bz2
84 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.bz2"
85 + ;;
86 +esac
87 +
88 +PATCH_VER="2"
89 +DESCRIPTION="GNU debugger"
90 +HOMEPAGE="http://sourceware.org/gdb/"
91 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
92 +
93 +LICENSE="GPL-2 LGPL-2"
94 +SLOT="0"
95 +if [[ ${PV} != 9999* ]] ; then
96 + KEYWORDS="alpha amd64 arm 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"
97 +fi
98 +IUSE="+client expat multitarget nls +python +server test vanilla zlib"
99 +
100 +RDEPEND="!dev-util/gdbserver
101 + >=sys-libs/ncurses-5.2-r2
102 + sys-libs/readline
103 + expat? ( dev-libs/expat )
104 + python? ( =dev-lang/python-2* )
105 + zlib? ( sys-libs/zlib )"
106 +DEPEND="${RDEPEND}
107 + app-arch/xz-utils
108 + virtual/yacc
109 + test? ( dev-util/dejagnu )
110 + nls? ( sys-devel/gettext )"
111 +
112 +S=${WORKDIR}/${PN}-${MY_PV}
113 +
114 +src_prepare() {
115 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
116 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
117 + strip-linguas -u bfd/po opcodes/po
118 +}
119 +
120 +gdb_branding() {
121 + printf "Gentoo ${PV} "
122 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
123 + printf "p${PATCH_VER}"
124 + else
125 + printf "vanilla"
126 + fi
127 +}
128 +
129 +src_configure() {
130 + strip-unsupported-flags
131 +
132 + local sysroot="${EPREFIX}"/usr/${CTARGET}
133 + local myconf=(
134 + --with-pkgversion="$(gdb_branding)"
135 + --with-bugurl='https://bugs.gentoo.org/'
136 + --disable-werror
137 + $(is_cross && echo \
138 + --with-sysroot="${sysroot}" \
139 + --includedir="${sysroot}/usr/include")
140 + )
141 +
142 + if use server && ! use client ; then
143 + # just configure+build in the gdbserver subdir to speed things up
144 + cd gdb/gdbserver
145 + myconf+=( --program-transform-name='' )
146 + else
147 + # gdbserver only works for native targets (CHOST==CTARGET).
148 + # it also doesn't support all targets, so rather than duplicate
149 + # the target list (which changes between versions), use the
150 + # "auto" value when things are turned on.
151 + is_cross \
152 + && myconf+=( --disable-gdbserver ) \
153 + || myconf+=( $(use_enable server gdbserver auto) )
154 + fi
155 +
156 + if ! ( use server && ! use client ) ; then
157 + # if we are configuring in the top level, then use all
158 + # the additional global options
159 + myconf+=(
160 + --enable-64-bit-bfd
161 + --disable-install-libbfd
162 + --disable-install-libiberty
163 + --with-system-readline
164 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
165 + $(use_with expat)
166 + $(use_enable nls)
167 + $(use multitarget && echo --enable-targets=all)
168 + $(use_with python python "${EPREFIX}/usr/bin/python2")
169 + $(use_with zlib)
170 + )
171 + fi
172 +
173 + econf "${myconf[@]}"
174 +}
175 +
176 +src_test() {
177 + emake check || ewarn "tests failed"
178 +}
179 +
180 +src_install() {
181 + use server && ! use client && cd gdb/gdbserver
182 + emake DESTDIR="${D}" install || die
183 + use client && { find "${ED}"/usr -name libiberty.a -delete || die ; }
184 + cd "${S}"
185 +
186 + # Don't install docs when building a cross-gdb
187 + if [[ ${CTARGET} != ${CHOST} ]] ; then
188 + rm -r "${ED}"/usr/share
189 + return 0
190 + fi
191 + # Install it by hand for now:
192 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
193 + # Only install if it exists due to the twisted behavior (see
194 + # notes in src_configure above).
195 + [[ -e gdb/gdbserver/gdbreplay ]] && { dobin gdb/gdbserver/gdbreplay || die ; }
196 +
197 + dodoc README
198 + if use client ; then
199 + docinto gdb
200 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
201 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
202 + fi
203 + docinto sim
204 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
205 + if use server ; then
206 + docinto gdbserver
207 + dodoc gdb/gdbserver/{ChangeLog,README}
208 + fi
209 +
210 + if [[ -n ${PATCH_VER} ]] ; then
211 + dodoc "${WORKDIR}"/extra/gdbinit.sample
212 + fi
213 +
214 + # Remove shared info pages
215 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
216 +}
217 +
218 +pkg_postinst() {
219 + # portage sucks and doesnt unmerge files in /etc
220 + rm -vf "${EROOT}"/etc/skel/.gdbinit
221 +
222 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
223 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
224 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
225 + ewarn "have to perform the following steps:"
226 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
227 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
228 + fi
229 +}
230
231 diff --git a/sys-devel/gdb/gdb-7.5.ebuild b/sys-devel/gdb/gdb-7.5.ebuild
232 new file mode 100644
233 index 0000000..f0d9a57
234 --- /dev/null
235 +++ b/sys-devel/gdb/gdb-7.5.ebuild
236 @@ -0,0 +1,178 @@
237 +# Copyright 1999-2015 Gentoo Foundation
238 +# Distributed under the terms of the GNU General Public License v2
239 +# $Id$
240 +
241 +EAPI="3"
242 +
243 +inherit flag-o-matic eutils
244 +
245 +export CTARGET=${CTARGET:-${CHOST}}
246 +if [[ ${CTARGET} == ${CHOST} ]] ; then
247 + if [[ ${CATEGORY} == cross-* ]] ; then
248 + export CTARGET=${CATEGORY#cross-}
249 + fi
250 +fi
251 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
252 +
253 +RPM=
254 +MY_PV=${PV}
255 +case ${PV} in
256 +*.*.50.*)
257 + # weekly snapshots
258 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
259 + ;;
260 +9999*)
261 + # live git tree
262 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
263 + inherit git-2
264 + SRC_URI=""
265 + ;;
266 +*)
267 + # Normal upstream release
268 + SRC_URI="mirror://gnu/gdb/${P}.tar.bz2
269 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.bz2"
270 + ;;
271 +esac
272 +
273 +PATCH_VER="1"
274 +DESCRIPTION="GNU debugger"
275 +HOMEPAGE="http://sourceware.org/gdb/"
276 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
277 +
278 +LICENSE="GPL-2 LGPL-2"
279 +SLOT="0"
280 +if [[ ${PV} != 9999* ]] ; then
281 + KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
282 +fi
283 +IUSE="+client expat multitarget nls +python +server test vanilla zlib"
284 +
285 +RDEPEND="!dev-util/gdbserver
286 + >=sys-libs/ncurses-5.2-r2
287 + sys-libs/readline
288 + expat? ( dev-libs/expat )
289 + python? ( =dev-lang/python-2* )
290 + zlib? ( sys-libs/zlib )"
291 +DEPEND="${RDEPEND}
292 + app-arch/xz-utils
293 + virtual/yacc
294 + test? ( dev-util/dejagnu )
295 + nls? ( sys-devel/gettext )"
296 +
297 +S=${WORKDIR}/${PN}-${MY_PV}
298 +
299 +src_prepare() {
300 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
301 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
302 + strip-linguas -u bfd/po opcodes/po
303 +}
304 +
305 +gdb_branding() {
306 + printf "Gentoo ${PV} "
307 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
308 + printf "p${PATCH_VER}"
309 + else
310 + printf "vanilla"
311 + fi
312 +}
313 +
314 +src_configure() {
315 + strip-unsupported-flags
316 +
317 + local sysroot="${EPREFIX}"/usr/${CTARGET}
318 + local myconf=(
319 + --with-pkgversion="$(gdb_branding)"
320 + --with-bugurl='https://bugs.gentoo.org/'
321 + --disable-werror
322 + $(is_cross && echo \
323 + --with-sysroot="${sysroot}" \
324 + --includedir="${sysroot}/usr/include")
325 + )
326 +
327 + if use server && ! use client ; then
328 + # just configure+build in the gdbserver subdir to speed things up
329 + cd gdb/gdbserver
330 + myconf+=( --program-transform-name='' )
331 + else
332 + # gdbserver only works for native targets (CHOST==CTARGET).
333 + # it also doesn't support all targets, so rather than duplicate
334 + # the target list (which changes between versions), use the
335 + # "auto" value when things are turned on.
336 + is_cross \
337 + && myconf+=( --disable-gdbserver ) \
338 + || myconf+=( $(use_enable server gdbserver auto) )
339 + fi
340 +
341 + if ! ( use server && ! use client ) ; then
342 + # if we are configuring in the top level, then use all
343 + # the additional global options
344 + myconf+=(
345 + --enable-64-bit-bfd
346 + --disable-install-libbfd
347 + --disable-install-libiberty
348 + --with-system-readline
349 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
350 + $(use_with expat)
351 + $(use_enable nls)
352 + $(use multitarget && echo --enable-targets=all)
353 + $(use_with python python "${EPREFIX}/usr/bin/python2")
354 + $(use_with zlib)
355 + )
356 + fi
357 +
358 + econf "${myconf[@]}"
359 +}
360 +
361 +src_test() {
362 + emake check || ewarn "tests failed"
363 +}
364 +
365 +src_install() {
366 + use server && ! use client && cd gdb/gdbserver
367 + emake DESTDIR="${D}" install || die
368 + use client && { find "${ED}"/usr -name libiberty.a -delete || die ; }
369 + cd "${S}"
370 +
371 + # Don't install docs when building a cross-gdb
372 + if [[ ${CTARGET} != ${CHOST} ]] ; then
373 + rm -r "${ED}"/usr/share
374 + return 0
375 + fi
376 + # Install it by hand for now:
377 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
378 + # Only install if it exists due to the twisted behavior (see
379 + # notes in src_configure above).
380 + [[ -e gdb/gdbserver/gdbreplay ]] && { dobin gdb/gdbserver/gdbreplay || die ; }
381 +
382 + dodoc README
383 + if use client ; then
384 + docinto gdb
385 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
386 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
387 + fi
388 + docinto sim
389 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
390 + if use server ; then
391 + docinto gdbserver
392 + dodoc gdb/gdbserver/{ChangeLog,README}
393 + fi
394 +
395 + if [[ -n ${PATCH_VER} ]] ; then
396 + dodoc "${WORKDIR}"/extra/gdbinit.sample
397 + fi
398 +
399 + # Remove shared info pages
400 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
401 +}
402 +
403 +pkg_postinst() {
404 + # portage sucks and doesnt unmerge files in /etc
405 + rm -vf "${EROOT}"/etc/skel/.gdbinit
406 +
407 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
408 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
409 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
410 + ewarn "have to perform the following steps:"
411 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
412 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
413 + fi
414 +}
415
416 diff --git a/sys-devel/gdb/gdb-7.6.1.ebuild b/sys-devel/gdb/gdb-7.6.1.ebuild
417 new file mode 100644
418 index 0000000..3df6b72
419 --- /dev/null
420 +++ b/sys-devel/gdb/gdb-7.6.1.ebuild
421 @@ -0,0 +1,192 @@
422 +# Copyright 1999-2015 Gentoo Foundation
423 +# Distributed under the terms of the GNU General Public License v2
424 +# $Id$
425 +
426 +EAPI="3"
427 +
428 +inherit flag-o-matic eutils
429 +
430 +export CTARGET=${CTARGET:-${CHOST}}
431 +if [[ ${CTARGET} == ${CHOST} ]] ; then
432 + if [[ ${CATEGORY} == cross-* ]] ; then
433 + export CTARGET=${CATEGORY#cross-}
434 + fi
435 +fi
436 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
437 +
438 +RPM=
439 +MY_PV=${PV}
440 +case ${PV} in
441 +*.*.50.*)
442 + # weekly snapshots
443 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
444 + ;;
445 +9999*)
446 + # live git tree
447 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
448 + inherit git-2
449 + SRC_URI=""
450 + ;;
451 +*)
452 + # Normal upstream release
453 + SRC_URI="mirror://gnu/gdb/${P}.tar.bz2
454 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.bz2"
455 + ;;
456 +esac
457 +
458 +PATCH_VER="2"
459 +DESCRIPTION="GNU debugger"
460 +HOMEPAGE="http://sourceware.org/gdb/"
461 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
462 +
463 +LICENSE="GPL-2 LGPL-2"
464 +SLOT="0"
465 +if [[ ${PV} != 9999* ]] ; then
466 + KEYWORDS="~alpha ~amd64 ~arm ~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"
467 +fi
468 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
469 +
470 +RDEPEND="!dev-util/gdbserver
471 + >=sys-libs/ncurses-5.2-r2
472 + sys-libs/readline
473 + expat? ( dev-libs/expat )
474 + lzma? ( app-arch/xz-utils )
475 + python? ( =dev-lang/python-2* )
476 + zlib? ( sys-libs/zlib )"
477 +DEPEND="${RDEPEND}
478 + app-arch/xz-utils
479 + virtual/yacc
480 + test? ( dev-util/dejagnu )
481 + nls? ( sys-devel/gettext )"
482 +
483 +S=${WORKDIR}/${PN}-${MY_PV}
484 +
485 +src_prepare() {
486 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
487 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
488 + strip-linguas -u bfd/po opcodes/po
489 + if [[ ${CHOST} == *-darwin* ]] ; then
490 + # make sure we have a python-config that matches our install,
491 + # such that the python check doesn't fail just because the
492 + # gdb-provided copy isn't quite what our python installed
493 + # version is
494 + rm -f "${S}"/gdb/python/python-config.py || die
495 + pushd "${S}"/gdb/python > /dev/null || die
496 + ln -s "${EROOT}"/usr/bin/$(eselect python show --python2)-config \
497 + python-config.py || die
498 + popd > /dev/null || die
499 + fi
500 +}
501 +
502 +gdb_branding() {
503 + printf "Gentoo ${PV} "
504 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
505 + printf "p${PATCH_VER}"
506 + else
507 + printf "vanilla"
508 + fi
509 +}
510 +
511 +src_configure() {
512 + strip-unsupported-flags
513 +
514 + local myconf=(
515 + --with-pkgversion="$(gdb_branding)"
516 + --with-bugurl='https://bugs.gentoo.org/'
517 + --disable-werror
518 + )
519 + local sysroot="${EPREFIX}/usr/${CTARGET}"
520 + is_cross && myconf+=(
521 + --with-sysroot="${sysroot}"
522 + --includedir="${sysroot}/usr/include"
523 + )
524 +
525 + if use server && ! use client ; then
526 + # just configure+build in the gdbserver subdir to speed things up
527 + cd gdb/gdbserver
528 + myconf+=( --program-transform-name='' )
529 + else
530 + # gdbserver only works for native targets (CHOST==CTARGET).
531 + # it also doesn't support all targets, so rather than duplicate
532 + # the target list (which changes between versions), use the
533 + # "auto" value when things are turned on.
534 + is_cross \
535 + && myconf+=( --disable-gdbserver ) \
536 + || myconf+=( $(use_enable server gdbserver auto) )
537 + fi
538 +
539 + if ! ( use server && ! use client ) ; then
540 + # if we are configuring in the top level, then use all
541 + # the additional global options
542 + myconf+=(
543 + --enable-64-bit-bfd
544 + --disable-install-libbfd
545 + --disable-install-libiberty
546 + --with-system-readline
547 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
548 + $(use_with expat)
549 + $(use_with lzma)
550 + $(use_enable nls)
551 + $(use multitarget && echo --enable-targets=all)
552 + $(use_with python python "${EPREFIX}/usr/bin/python2")
553 + $(use_with zlib)
554 + )
555 + fi
556 +
557 + econf "${myconf[@]}"
558 +}
559 +
560 +src_test() {
561 + emake check || ewarn "tests failed"
562 +}
563 +
564 +src_install() {
565 + use server && ! use client && cd gdb/gdbserver
566 + emake DESTDIR="${D}" install || die
567 + use client && { find "${ED}"/usr -name libiberty.a -delete || die ; }
568 + cd "${S}"
569 +
570 + # Don't install docs when building a cross-gdb
571 + if [[ ${CTARGET} != ${CHOST} ]] ; then
572 + rm -r "${ED}"/usr/share
573 + return 0
574 + fi
575 + # Install it by hand for now:
576 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
577 + # Only install if it exists due to the twisted behavior (see
578 + # notes in src_configure above).
579 + [[ -e gdb/gdbserver/gdbreplay ]] && { dobin gdb/gdbserver/gdbreplay || die ; }
580 +
581 + dodoc README
582 + if use client ; then
583 + docinto gdb
584 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
585 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
586 + fi
587 + docinto sim
588 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
589 + if use server ; then
590 + docinto gdbserver
591 + dodoc gdb/gdbserver/{ChangeLog,README}
592 + fi
593 +
594 + if [[ -n ${PATCH_VER} ]] ; then
595 + dodoc "${WORKDIR}"/extra/gdbinit.sample
596 + fi
597 +
598 + # Remove shared info pages
599 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
600 +}
601 +
602 +pkg_postinst() {
603 + # portage sucks and doesnt unmerge files in /etc
604 + rm -vf "${EROOT}"/etc/skel/.gdbinit
605 +
606 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
607 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
608 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
609 + ewarn "have to perform the following steps:"
610 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
611 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
612 + fi
613 +}
614
615 diff --git a/sys-devel/gdb/gdb-7.6.ebuild b/sys-devel/gdb/gdb-7.6.ebuild
616 new file mode 100644
617 index 0000000..b28258f
618 --- /dev/null
619 +++ b/sys-devel/gdb/gdb-7.6.ebuild
620 @@ -0,0 +1,181 @@
621 +# Copyright 1999-2015 Gentoo Foundation
622 +# Distributed under the terms of the GNU General Public License v2
623 +# $Id$
624 +
625 +EAPI="3"
626 +
627 +inherit flag-o-matic eutils
628 +
629 +export CTARGET=${CTARGET:-${CHOST}}
630 +if [[ ${CTARGET} == ${CHOST} ]] ; then
631 + if [[ ${CATEGORY} == cross-* ]] ; then
632 + export CTARGET=${CATEGORY#cross-}
633 + fi
634 +fi
635 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
636 +
637 +RPM=
638 +MY_PV=${PV}
639 +case ${PV} in
640 +*.*.50.*)
641 + # weekly snapshots
642 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
643 + ;;
644 +9999*)
645 + # live git tree
646 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
647 + inherit git-2
648 + SRC_URI=""
649 + ;;
650 +*)
651 + # Normal upstream release
652 + SRC_URI="mirror://gnu/gdb/${P}.tar.bz2
653 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.bz2"
654 + ;;
655 +esac
656 +
657 +PATCH_VER="3"
658 +DESCRIPTION="GNU debugger"
659 +HOMEPAGE="http://sourceware.org/gdb/"
660 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
661 +
662 +LICENSE="GPL-2 LGPL-2"
663 +SLOT="0"
664 +if [[ ${PV} != 9999* ]] ; then
665 + KEYWORDS="~alpha ~amd64 ~arm ~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"
666 +fi
667 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
668 +
669 +RDEPEND="!dev-util/gdbserver
670 + >=sys-libs/ncurses-5.2-r2
671 + sys-libs/readline
672 + expat? ( dev-libs/expat )
673 + lzma? ( app-arch/xz-utils )
674 + python? ( =dev-lang/python-2* )
675 + zlib? ( sys-libs/zlib )"
676 +DEPEND="${RDEPEND}
677 + app-arch/xz-utils
678 + virtual/yacc
679 + test? ( dev-util/dejagnu )
680 + nls? ( sys-devel/gettext )"
681 +
682 +S=${WORKDIR}/${PN}-${MY_PV}
683 +
684 +src_prepare() {
685 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
686 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
687 + strip-linguas -u bfd/po opcodes/po
688 +}
689 +
690 +gdb_branding() {
691 + printf "Gentoo ${PV} "
692 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
693 + printf "p${PATCH_VER}"
694 + else
695 + printf "vanilla"
696 + fi
697 +}
698 +
699 +src_configure() {
700 + strip-unsupported-flags
701 +
702 + local myconf=(
703 + --with-pkgversion="$(gdb_branding)"
704 + --with-bugurl='https://bugs.gentoo.org/'
705 + --disable-werror
706 + )
707 + local sysroot="${EPREFIX}/usr/${CTARGET}"
708 + is_cross && myconf+=(
709 + --with-sysroot="${sysroot}"
710 + --includedir="${sysroot}/usr/include"
711 + )
712 +
713 + if use server && ! use client ; then
714 + # just configure+build in the gdbserver subdir to speed things up
715 + cd gdb/gdbserver
716 + myconf+=( --program-transform-name='' )
717 + else
718 + # gdbserver only works for native targets (CHOST==CTARGET).
719 + # it also doesn't support all targets, so rather than duplicate
720 + # the target list (which changes between versions), use the
721 + # "auto" value when things are turned on.
722 + is_cross \
723 + && myconf+=( --disable-gdbserver ) \
724 + || myconf+=( $(use_enable server gdbserver auto) )
725 + fi
726 +
727 + if ! ( use server && ! use client ) ; then
728 + # if we are configuring in the top level, then use all
729 + # the additional global options
730 + myconf+=(
731 + --enable-64-bit-bfd
732 + --disable-install-libbfd
733 + --disable-install-libiberty
734 + --with-system-readline
735 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
736 + $(use_with expat)
737 + $(use_with lzma)
738 + $(use_enable nls)
739 + $(use multitarget && echo --enable-targets=all)
740 + $(use_with python python "${EPREFIX}/usr/bin/python2")
741 + $(use_with zlib)
742 + )
743 + fi
744 +
745 + econf "${myconf[@]}"
746 +}
747 +
748 +src_test() {
749 + emake check || ewarn "tests failed"
750 +}
751 +
752 +src_install() {
753 + use server && ! use client && cd gdb/gdbserver
754 + emake DESTDIR="${D}" install || die
755 + use client && { find "${ED}"/usr -name libiberty.a -delete || die ; }
756 + cd "${S}"
757 +
758 + # Don't install docs when building a cross-gdb
759 + if [[ ${CTARGET} != ${CHOST} ]] ; then
760 + rm -r "${ED}"/usr/share
761 + return 0
762 + fi
763 + # Install it by hand for now:
764 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
765 + # Only install if it exists due to the twisted behavior (see
766 + # notes in src_configure above).
767 + [[ -e gdb/gdbserver/gdbreplay ]] && { dobin gdb/gdbserver/gdbreplay || die ; }
768 +
769 + dodoc README
770 + if use client ; then
771 + docinto gdb
772 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
773 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
774 + fi
775 + docinto sim
776 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
777 + if use server ; then
778 + docinto gdbserver
779 + dodoc gdb/gdbserver/{ChangeLog,README}
780 + fi
781 +
782 + if [[ -n ${PATCH_VER} ]] ; then
783 + dodoc "${WORKDIR}"/extra/gdbinit.sample
784 + fi
785 +
786 + # Remove shared info pages
787 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
788 +}
789 +
790 +pkg_postinst() {
791 + # portage sucks and doesnt unmerge files in /etc
792 + rm -vf "${EROOT}"/etc/skel/.gdbinit
793 +
794 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
795 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
796 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
797 + ewarn "have to perform the following steps:"
798 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
799 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
800 + fi
801 +}
802
803 diff --git a/sys-devel/gdb/gdb-7.7-r1.ebuild b/sys-devel/gdb/gdb-7.7-r1.ebuild
804 new file mode 100644
805 index 0000000..88d5599
806 --- /dev/null
807 +++ b/sys-devel/gdb/gdb-7.7-r1.ebuild
808 @@ -0,0 +1,192 @@
809 +# Copyright 1999-2015 Gentoo Foundation
810 +# Distributed under the terms of the GNU General Public License v2
811 +# $Id$
812 +
813 +EAPI="5"
814 +PYTHON_COMPAT=( python{2_7,3_3,3_4} )
815 +
816 +inherit flag-o-matic eutils python-single-r1
817 +
818 +export CTARGET=${CTARGET:-${CHOST}}
819 +if [[ ${CTARGET} == ${CHOST} ]] ; then
820 + if [[ ${CATEGORY} == cross-* ]] ; then
821 + export CTARGET=${CATEGORY#cross-}
822 + fi
823 +fi
824 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
825 +
826 +RPM=
827 +MY_PV=${PV}
828 +case ${PV} in
829 +*.*.50.*)
830 + # weekly snapshots
831 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
832 + ;;
833 +9999*)
834 + # live git tree
835 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
836 + inherit git-2
837 + SRC_URI=""
838 + ;;
839 +*)
840 + # Normal upstream release
841 + SRC_URI="mirror://gnu/gdb/${P}.tar.bz2
842 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.bz2"
843 + ;;
844 +esac
845 +
846 +PATCH_VER="1"
847 +DESCRIPTION="GNU debugger"
848 +HOMEPAGE="http://sourceware.org/gdb/"
849 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
850 +
851 +LICENSE="GPL-2 LGPL-2"
852 +SLOT="0"
853 +if [[ ${PV} != 9999* ]] ; then
854 + 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"
855 +fi
856 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
857 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
858 +
859 +RDEPEND="!dev-util/gdbserver
860 + >=sys-libs/ncurses-5.2-r2:0=
861 + sys-libs/readline:0=
862 + expat? ( dev-libs/expat )
863 + lzma? ( app-arch/xz-utils )
864 + python? ( ${PYTHON_DEPS} )
865 + zlib? ( sys-libs/zlib )"
866 +DEPEND="${RDEPEND}
867 + app-arch/xz-utils
868 + virtual/yacc
869 + test? ( dev-util/dejagnu )
870 + nls? ( sys-devel/gettext )"
871 +
872 +S=${WORKDIR}/${PN}-${MY_PV}
873 +
874 +pkg_setup() {
875 + use python && python-single-r1_pkg_setup
876 +}
877 +
878 +src_prepare() {
879 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
880 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
881 + epatch_user
882 + strip-linguas -u bfd/po opcodes/po
883 +}
884 +
885 +gdb_branding() {
886 + printf "Gentoo ${PV} "
887 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
888 + printf "p${PATCH_VER}"
889 + else
890 + printf "vanilla"
891 + fi
892 +}
893 +
894 +src_configure() {
895 + strip-unsupported-flags
896 +
897 + local myconf=(
898 + --with-pkgversion="$(gdb_branding)"
899 + --with-bugurl='https://bugs.gentoo.org/'
900 + --disable-werror
901 + # Disable modules that are in a combined binutils/gdb tree. #490566
902 + --disable-{binutils,etc,gas,gold,gprof,ld}
903 + )
904 + local sysroot="${EPREFIX}/usr/${CTARGET}"
905 + is_cross && myconf+=(
906 + --with-sysroot="${sysroot}"
907 + --includedir="${sysroot}/usr/include"
908 + )
909 +
910 + if use server && ! use client ; then
911 + # just configure+build in the gdbserver subdir to speed things up
912 + cd gdb/gdbserver
913 + myconf+=( --program-transform-name='' )
914 + else
915 + # gdbserver only works for native targets (CHOST==CTARGET).
916 + # it also doesn't support all targets, so rather than duplicate
917 + # the target list (which changes between versions), use the
918 + # "auto" value when things are turned on.
919 + is_cross \
920 + && myconf+=( --disable-gdbserver ) \
921 + || myconf+=( $(use_enable server gdbserver auto) )
922 + fi
923 +
924 + if ! ( use server && ! use client ) ; then
925 + # if we are configuring in the top level, then use all
926 + # the additional global options
927 + myconf+=(
928 + --enable-64-bit-bfd
929 + --disable-install-libbfd
930 + --disable-install-libiberty
931 + # This only disables building in the readline subdir.
932 + # For gdb itself, it'll use the system version.
933 + --disable-readline
934 + --with-system-readline
935 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
936 + $(use_with expat)
937 + $(use_with lzma)
938 + $(use_enable nls)
939 + $(use multitarget && echo --enable-targets=all)
940 + $(use_with python python "${EPYTHON}")
941 + $(use_with zlib)
942 + )
943 + fi
944 +
945 + econf "${myconf[@]}"
946 +}
947 +
948 +src_test() {
949 + nonfatal emake check || ewarn "tests failed"
950 +}
951 +
952 +src_install() {
953 + use server && ! use client && cd gdb/gdbserver
954 + default
955 + use client && find "${ED}"/usr -name libiberty.a -delete
956 + cd "${S}"
957 +
958 + # Don't install docs when building a cross-gdb
959 + if [[ ${CTARGET} != ${CHOST} ]] ; then
960 + rm -r "${ED}"/usr/share
961 + return 0
962 + fi
963 + # Install it by hand for now:
964 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
965 + # Only install if it exists due to the twisted behavior (see
966 + # notes in src_configure above).
967 + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
968 +
969 + if use client ; then
970 + docinto gdb
971 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
972 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
973 + fi
974 + docinto sim
975 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
976 + if use server ; then
977 + docinto gdbserver
978 + dodoc gdb/gdbserver/{ChangeLog,README}
979 + fi
980 +
981 + if [[ -n ${PATCH_VER} ]] ; then
982 + dodoc "${WORKDIR}"/extra/gdbinit.sample
983 + fi
984 +
985 + # Remove shared info pages
986 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
987 +}
988 +
989 +pkg_postinst() {
990 + # portage sucks and doesnt unmerge files in /etc
991 + rm -vf "${EROOT}"/etc/skel/.gdbinit
992 +
993 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
994 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
995 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
996 + ewarn "have to perform the following steps:"
997 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
998 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
999 + fi
1000 +}
1001
1002 diff --git a/sys-devel/gdb/gdb-7.8.1.ebuild b/sys-devel/gdb/gdb-7.8.1.ebuild
1003 new file mode 100644
1004 index 0000000..4c8d295
1005 --- /dev/null
1006 +++ b/sys-devel/gdb/gdb-7.8.1.ebuild
1007 @@ -0,0 +1,206 @@
1008 +# Copyright 1999-2015 Gentoo Foundation
1009 +# Distributed under the terms of the GNU General Public License v2
1010 +# $Id$
1011 +
1012 +EAPI="5"
1013 +PYTHON_COMPAT=( python{2_7,3_3,3_4} )
1014 +
1015 +inherit flag-o-matic eutils python-single-r1
1016 +
1017 +export CTARGET=${CTARGET:-${CHOST}}
1018 +if [[ ${CTARGET} == ${CHOST} ]] ; then
1019 + if [[ ${CATEGORY} == cross-* ]] ; then
1020 + export CTARGET=${CATEGORY#cross-}
1021 + fi
1022 +fi
1023 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
1024 +
1025 +RPM=
1026 +MY_PV=${PV}
1027 +case ${PV} in
1028 +*.*.50.*)
1029 + # weekly snapshots
1030 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
1031 + ;;
1032 +9999*)
1033 + # live git tree
1034 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
1035 + inherit git-2
1036 + SRC_URI=""
1037 + ;;
1038 +*)
1039 + # Normal upstream release
1040 + SRC_URI="mirror://gnu/gdb/${P}.tar.xz
1041 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
1042 + ;;
1043 +esac
1044 +
1045 +PATCH_VER=""
1046 +DESCRIPTION="GNU debugger"
1047 +HOMEPAGE="http://sourceware.org/gdb/"
1048 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
1049 +
1050 +LICENSE="GPL-2 LGPL-2"
1051 +SLOT="0"
1052 +if [[ ${PV} != 9999* ]] ; then
1053 + 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"
1054 +fi
1055 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
1056 +REQUIRED_USE="
1057 + python? ( ${PYTHON_REQUIRED_USE} )
1058 + || ( client server )
1059 +"
1060 +
1061 +RDEPEND="server? ( !dev-util/gdbserver )
1062 + client? (
1063 + >=sys-libs/ncurses-5.2-r2:0=
1064 + sys-libs/readline:0=
1065 + expat? ( dev-libs/expat )
1066 + lzma? ( app-arch/xz-utils )
1067 + python? ( ${PYTHON_DEPS} )
1068 + zlib? ( sys-libs/zlib )
1069 + )"
1070 +DEPEND="${RDEPEND}
1071 + app-arch/xz-utils
1072 + client? (
1073 + virtual/yacc
1074 + test? ( dev-util/dejagnu )
1075 + nls? ( sys-devel/gettext )
1076 + )"
1077 +
1078 +S=${WORKDIR}/${PN}-${MY_PV}
1079 +
1080 +pkg_setup() {
1081 + use python && python-single-r1_pkg_setup
1082 +}
1083 +
1084 +src_prepare() {
1085 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
1086 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
1087 + epatch_user
1088 + strip-linguas -u bfd/po opcodes/po
1089 +}
1090 +
1091 +gdb_branding() {
1092 + printf "Gentoo ${PV} "
1093 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
1094 + printf "p${PATCH_VER}"
1095 + else
1096 + printf "vanilla"
1097 + fi
1098 +}
1099 +
1100 +src_configure() {
1101 + strip-unsupported-flags
1102 +
1103 + local myconf=(
1104 + --with-pkgversion="$(gdb_branding)"
1105 + --with-bugurl='https://bugs.gentoo.org/'
1106 + --disable-werror
1107 + # Disable modules that are in a combined binutils/gdb tree. #490566
1108 + --disable-{binutils,etc,gas,gold,gprof,ld}
1109 + )
1110 + local sysroot="${EPREFIX}/usr/${CTARGET}"
1111 + is_cross && myconf+=(
1112 + --with-sysroot="${sysroot}"
1113 + --includedir="${sysroot}/usr/include"
1114 + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
1115 + )
1116 +
1117 + if use server && ! use client ; then
1118 + # just configure+build in the gdbserver subdir to speed things up
1119 + cd gdb/gdbserver
1120 + myconf+=( --program-transform-name='' )
1121 + else
1122 + # gdbserver only works for native targets (CHOST==CTARGET).
1123 + # it also doesn't support all targets, so rather than duplicate
1124 + # the target list (which changes between versions), use the
1125 + # "auto" value when things are turned on.
1126 + is_cross \
1127 + && myconf+=( --disable-gdbserver ) \
1128 + || myconf+=( $(use_enable server gdbserver auto) )
1129 + fi
1130 +
1131 + if ! ( use server && ! use client ) ; then
1132 + # if we are configuring in the top level, then use all
1133 + # the additional global options
1134 + myconf+=(
1135 + --enable-64-bit-bfd
1136 + --disable-install-libbfd
1137 + --disable-install-libiberty
1138 + # This only disables building in the readline subdir.
1139 + # For gdb itself, it'll use the system version.
1140 + --disable-readline
1141 + --with-system-readline
1142 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
1143 + $(use_with expat)
1144 + $(use_with lzma)
1145 + $(use_enable nls)
1146 + $(use multitarget && echo --enable-targets=all)
1147 + $(use_with python python "${EPYTHON}")
1148 + $(use_with zlib)
1149 + )
1150 + fi
1151 +
1152 + econf "${myconf[@]}"
1153 +}
1154 +
1155 +src_test() {
1156 + nonfatal emake check || ewarn "tests failed"
1157 +}
1158 +
1159 +src_install() {
1160 + use server && ! use client && cd gdb/gdbserver
1161 + default
1162 + use client && find "${ED}"/usr -name libiberty.a -delete
1163 + cd "${S}"
1164 +
1165 + # Don't install docs when building a cross-gdb
1166 + if [[ ${CTARGET} != ${CHOST} ]] ; then
1167 + rm -r "${ED}"/usr/share/{doc,info,locale}
1168 + local f
1169 + for f in "${ED}"/usr/share/man/*/* ; do
1170 + if [[ ${f##*/} != ${CTARGET}-* ]] ; then
1171 + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
1172 + fi
1173 + done
1174 + return 0
1175 + fi
1176 + # Install it by hand for now:
1177 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
1178 + # Only install if it exists due to the twisted behavior (see
1179 + # notes in src_configure above).
1180 + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
1181 +
1182 + if use client ; then
1183 + docinto gdb
1184 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
1185 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
1186 + fi
1187 + docinto sim
1188 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
1189 + if use server ; then
1190 + docinto gdbserver
1191 + dodoc gdb/gdbserver/{ChangeLog,README}
1192 + fi
1193 +
1194 + if [[ -n ${PATCH_VER} ]] ; then
1195 + dodoc "${WORKDIR}"/extra/gdbinit.sample
1196 + fi
1197 +
1198 + # Remove shared info pages
1199 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
1200 +}
1201 +
1202 +pkg_postinst() {
1203 + # portage sucks and doesnt unmerge files in /etc
1204 + rm -vf "${EROOT}"/etc/skel/.gdbinit
1205 +
1206 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
1207 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
1208 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
1209 + ewarn "have to perform the following steps:"
1210 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
1211 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
1212 + fi
1213 +}
1214
1215 diff --git a/sys-devel/gdb/gdb-7.8.ebuild b/sys-devel/gdb/gdb-7.8.ebuild
1216 new file mode 100644
1217 index 0000000..1174ed8
1218 --- /dev/null
1219 +++ b/sys-devel/gdb/gdb-7.8.ebuild
1220 @@ -0,0 +1,199 @@
1221 +# Copyright 1999-2015 Gentoo Foundation
1222 +# Distributed under the terms of the GNU General Public License v2
1223 +# $Id$
1224 +
1225 +EAPI="5"
1226 +PYTHON_COMPAT=( python{2_7,3_3,3_4} )
1227 +
1228 +inherit flag-o-matic eutils python-single-r1
1229 +
1230 +export CTARGET=${CTARGET:-${CHOST}}
1231 +if [[ ${CTARGET} == ${CHOST} ]] ; then
1232 + if [[ ${CATEGORY} == cross-* ]] ; then
1233 + export CTARGET=${CATEGORY#cross-}
1234 + fi
1235 +fi
1236 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
1237 +
1238 +RPM=
1239 +MY_PV=${PV}
1240 +case ${PV} in
1241 +*.*.50.*)
1242 + # weekly snapshots
1243 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
1244 + ;;
1245 +9999*)
1246 + # live git tree
1247 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
1248 + inherit git-2
1249 + SRC_URI=""
1250 + ;;
1251 +*)
1252 + # Normal upstream release
1253 + SRC_URI="mirror://gnu/gdb/${P}.tar.xz
1254 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
1255 + ;;
1256 +esac
1257 +
1258 +PATCH_VER=""
1259 +DESCRIPTION="GNU debugger"
1260 +HOMEPAGE="http://sourceware.org/gdb/"
1261 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
1262 +
1263 +LICENSE="GPL-2 LGPL-2"
1264 +SLOT="0"
1265 +if [[ ${PV} != 9999* ]] ; then
1266 + 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"
1267 +fi
1268 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
1269 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
1270 +
1271 +RDEPEND="!dev-util/gdbserver
1272 + >=sys-libs/ncurses-5.2-r2:0=
1273 + sys-libs/readline:0=
1274 + expat? ( dev-libs/expat )
1275 + lzma? ( app-arch/xz-utils )
1276 + python? ( ${PYTHON_DEPS} )
1277 + zlib? ( sys-libs/zlib )"
1278 +DEPEND="${RDEPEND}
1279 + app-arch/xz-utils
1280 + virtual/yacc
1281 + test? ( dev-util/dejagnu )
1282 + nls? ( sys-devel/gettext )"
1283 +
1284 +S=${WORKDIR}/${PN}-${MY_PV}
1285 +
1286 +pkg_setup() {
1287 + use python && python-single-r1_pkg_setup
1288 +}
1289 +
1290 +src_prepare() {
1291 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
1292 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
1293 + epatch_user
1294 + strip-linguas -u bfd/po opcodes/po
1295 +}
1296 +
1297 +gdb_branding() {
1298 + printf "Gentoo ${PV} "
1299 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
1300 + printf "p${PATCH_VER}"
1301 + else
1302 + printf "vanilla"
1303 + fi
1304 +}
1305 +
1306 +src_configure() {
1307 + strip-unsupported-flags
1308 +
1309 + local myconf=(
1310 + --with-pkgversion="$(gdb_branding)"
1311 + --with-bugurl='https://bugs.gentoo.org/'
1312 + --disable-werror
1313 + # Disable modules that are in a combined binutils/gdb tree. #490566
1314 + --disable-{binutils,etc,gas,gold,gprof,ld}
1315 + )
1316 + local sysroot="${EPREFIX}/usr/${CTARGET}"
1317 + is_cross && myconf+=(
1318 + --with-sysroot="${sysroot}"
1319 + --includedir="${sysroot}/usr/include"
1320 + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
1321 + )
1322 +
1323 + if use server && ! use client ; then
1324 + # just configure+build in the gdbserver subdir to speed things up
1325 + cd gdb/gdbserver
1326 + myconf+=( --program-transform-name='' )
1327 + else
1328 + # gdbserver only works for native targets (CHOST==CTARGET).
1329 + # it also doesn't support all targets, so rather than duplicate
1330 + # the target list (which changes between versions), use the
1331 + # "auto" value when things are turned on.
1332 + is_cross \
1333 + && myconf+=( --disable-gdbserver ) \
1334 + || myconf+=( $(use_enable server gdbserver auto) )
1335 + fi
1336 +
1337 + if ! ( use server && ! use client ) ; then
1338 + # if we are configuring in the top level, then use all
1339 + # the additional global options
1340 + myconf+=(
1341 + --enable-64-bit-bfd
1342 + --disable-install-libbfd
1343 + --disable-install-libiberty
1344 + # This only disables building in the readline subdir.
1345 + # For gdb itself, it'll use the system version.
1346 + --disable-readline
1347 + --with-system-readline
1348 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
1349 + $(use_with expat)
1350 + $(use_with lzma)
1351 + $(use_enable nls)
1352 + $(use multitarget && echo --enable-targets=all)
1353 + $(use_with python python "${EPYTHON}")
1354 + $(use_with zlib)
1355 + )
1356 + fi
1357 +
1358 + econf "${myconf[@]}"
1359 +}
1360 +
1361 +src_test() {
1362 + nonfatal emake check || ewarn "tests failed"
1363 +}
1364 +
1365 +src_install() {
1366 + use server && ! use client && cd gdb/gdbserver
1367 + default
1368 + use client && find "${ED}"/usr -name libiberty.a -delete
1369 + cd "${S}"
1370 +
1371 + # Don't install docs when building a cross-gdb
1372 + if [[ ${CTARGET} != ${CHOST} ]] ; then
1373 + rm -r "${ED}"/usr/share/{doc,info,locale}
1374 + local f
1375 + for f in "${ED}"/usr/share/man/*/* ; do
1376 + if [[ ${f##*/} != ${CTARGET}-* ]] ; then
1377 + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
1378 + fi
1379 + done
1380 + return 0
1381 + fi
1382 + # Install it by hand for now:
1383 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
1384 + # Only install if it exists due to the twisted behavior (see
1385 + # notes in src_configure above).
1386 + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
1387 +
1388 + if use client ; then
1389 + docinto gdb
1390 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
1391 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
1392 + fi
1393 + docinto sim
1394 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
1395 + if use server ; then
1396 + docinto gdbserver
1397 + dodoc gdb/gdbserver/{ChangeLog,README}
1398 + fi
1399 +
1400 + if [[ -n ${PATCH_VER} ]] ; then
1401 + dodoc "${WORKDIR}"/extra/gdbinit.sample
1402 + fi
1403 +
1404 + # Remove shared info pages
1405 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
1406 +}
1407 +
1408 +pkg_postinst() {
1409 + # portage sucks and doesnt unmerge files in /etc
1410 + rm -vf "${EROOT}"/etc/skel/.gdbinit
1411 +
1412 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
1413 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
1414 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
1415 + ewarn "have to perform the following steps:"
1416 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
1417 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
1418 + fi
1419 +}
1420
1421 diff --git a/sys-devel/gdb/gdb-7.9.ebuild b/sys-devel/gdb/gdb-7.9.ebuild
1422 new file mode 100644
1423 index 0000000..909d323
1424 --- /dev/null
1425 +++ b/sys-devel/gdb/gdb-7.9.ebuild
1426 @@ -0,0 +1,220 @@
1427 +# Copyright 1999-2015 Gentoo Foundation
1428 +# Distributed under the terms of the GNU General Public License v2
1429 +# $Id$
1430 +
1431 +EAPI="5"
1432 +PYTHON_COMPAT=( python{2_7,3_3,3_4} )
1433 +
1434 +inherit flag-o-matic eutils python-single-r1
1435 +
1436 +export CTARGET=${CTARGET:-${CHOST}}
1437 +if [[ ${CTARGET} == ${CHOST} ]] ; then
1438 + if [[ ${CATEGORY} == cross-* ]] ; then
1439 + export CTARGET=${CATEGORY#cross-}
1440 + fi
1441 +fi
1442 +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
1443 +
1444 +RPM=
1445 +MY_PV=${PV}
1446 +case ${PV} in
1447 +9999*)
1448 + # live git tree
1449 + EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
1450 + inherit git-2
1451 + SRC_URI=""
1452 + ;;
1453 +*.*.50.2???????)
1454 + # weekly snapshots
1455 + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
1456 + ;;
1457 +*.*.*.*.*.*)
1458 + # fedora versions; note we swap the rpm & fedora core versions.
1459 + # gdb-6.8.50.20090302-8.fc11.src.rpm -> gdb-6.8.50.20090302.11.8.ebuild
1460 + # gdb-7.9-11.fc23.src.rpm -> gdb-7.9.23.11.ebuild
1461 + inherit versionator rpm
1462 + gvcr() { get_version_component_range "$@"; }
1463 + parse_fedora_ver() {
1464 + set -- $(get_version_components)
1465 + MY_PV=$(gvcr 1-$(( $# - 2 )))
1466 + RPM="${PN}-${MY_PV}-$(gvcr $#).fc$(gvcr $(( $# - 1 ))).src.rpm"
1467 + }
1468 + parse_fedora_ver
1469 + SRC_URI="mirror://fedora-dev/development/rawhide/source/SRPMS/g/${RPM}"
1470 + ;;
1471 +*)
1472 + # Normal upstream release
1473 + SRC_URI="mirror://gnu/gdb/${P}.tar.xz
1474 + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
1475 + ;;
1476 +esac
1477 +
1478 +PATCH_VER=""
1479 +DESCRIPTION="GNU debugger"
1480 +HOMEPAGE="http://sourceware.org/gdb/"
1481 +SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
1482 +
1483 +LICENSE="GPL-2 LGPL-2"
1484 +SLOT="0"
1485 +if [[ ${PV} != 9999* ]] ; then
1486 + 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"
1487 +fi
1488 +IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
1489 +REQUIRED_USE="
1490 + python? ( ${PYTHON_REQUIRED_USE} )
1491 + || ( client server )
1492 +"
1493 +
1494 +RDEPEND="server? ( !dev-util/gdbserver )
1495 + client? (
1496 + >=sys-libs/ncurses-5.2-r2:0=
1497 + sys-libs/readline:0=
1498 + expat? ( dev-libs/expat )
1499 + lzma? ( app-arch/xz-utils )
1500 + python? ( ${PYTHON_DEPS} )
1501 + zlib? ( sys-libs/zlib )
1502 + )"
1503 +DEPEND="${RDEPEND}
1504 + app-arch/xz-utils
1505 + client? (
1506 + virtual/yacc
1507 + test? ( dev-util/dejagnu )
1508 + nls? ( sys-devel/gettext )
1509 + )"
1510 +
1511 +S=${WORKDIR}/${PN}-${MY_PV}
1512 +
1513 +pkg_setup() {
1514 + use python && python-single-r1_pkg_setup
1515 +}
1516 +
1517 +src_prepare() {
1518 + [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
1519 + ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
1520 + epatch_user
1521 + strip-linguas -u bfd/po opcodes/po
1522 +}
1523 +
1524 +gdb_branding() {
1525 + printf "Gentoo ${PV} "
1526 + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
1527 + printf "p${PATCH_VER}"
1528 + else
1529 + printf "vanilla"
1530 + fi
1531 +}
1532 +
1533 +src_configure() {
1534 + strip-unsupported-flags
1535 +
1536 + local myconf=(
1537 + --with-pkgversion="$(gdb_branding)"
1538 + --with-bugurl='https://bugs.gentoo.org/'
1539 + --disable-werror
1540 + # Disable modules that are in a combined binutils/gdb tree. #490566
1541 + --disable-{binutils,etc,gas,gold,gprof,ld}
1542 + )
1543 + local sysroot="${EPREFIX}/usr/${CTARGET}"
1544 + is_cross && myconf+=(
1545 + --with-sysroot="${sysroot}"
1546 + --includedir="${sysroot}/usr/include"
1547 + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
1548 + )
1549 +
1550 + if use server && ! use client ; then
1551 + # just configure+build in the gdbserver subdir to speed things up
1552 + cd gdb/gdbserver
1553 + myconf+=( --program-transform-name='' )
1554 + else
1555 + # gdbserver only works for native targets (CHOST==CTARGET).
1556 + # it also doesn't support all targets, so rather than duplicate
1557 + # the target list (which changes between versions), use the
1558 + # "auto" value when things are turned on.
1559 + is_cross \
1560 + && myconf+=( --disable-gdbserver ) \
1561 + || myconf+=( $(use_enable server gdbserver auto) )
1562 + fi
1563 +
1564 + if ! ( use server && ! use client ) ; then
1565 + # if we are configuring in the top level, then use all
1566 + # the additional global options
1567 + myconf+=(
1568 + --enable-64-bit-bfd
1569 + --disable-install-libbfd
1570 + --disable-install-libiberty
1571 + # This only disables building in the readline subdir.
1572 + # For gdb itself, it'll use the system version.
1573 + --disable-readline
1574 + --with-system-readline
1575 + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
1576 + $(use_with expat)
1577 + $(use_with lzma)
1578 + $(use_enable nls)
1579 + $(use multitarget && echo --enable-targets=all)
1580 + $(use_with python python "${EPYTHON}")
1581 + $(use_with zlib)
1582 + )
1583 + fi
1584 +
1585 + econf "${myconf[@]}"
1586 +}
1587 +
1588 +src_test() {
1589 + nonfatal emake check || ewarn "tests failed"
1590 +}
1591 +
1592 +src_install() {
1593 + use server && ! use client && cd gdb/gdbserver
1594 + default
1595 + use client && find "${ED}"/usr -name libiberty.a -delete
1596 + cd "${S}"
1597 +
1598 + # Don't install docs when building a cross-gdb
1599 + if [[ ${CTARGET} != ${CHOST} ]] ; then
1600 + rm -r "${ED}"/usr/share/{doc,info,locale}
1601 + local f
1602 + for f in "${ED}"/usr/share/man/*/* ; do
1603 + if [[ ${f##*/} != ${CTARGET}-* ]] ; then
1604 + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
1605 + fi
1606 + done
1607 + return 0
1608 + fi
1609 + # Install it by hand for now:
1610 + # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
1611 + # Only install if it exists due to the twisted behavior (see
1612 + # notes in src_configure above).
1613 + [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
1614 +
1615 + if use client ; then
1616 + docinto gdb
1617 + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
1618 + gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
1619 + fi
1620 + docinto sim
1621 + dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
1622 + if use server ; then
1623 + docinto gdbserver
1624 + dodoc gdb/gdbserver/{ChangeLog,README}
1625 + fi
1626 +
1627 + if [[ -n ${PATCH_VER} ]] ; then
1628 + dodoc "${WORKDIR}"/extra/gdbinit.sample
1629 + fi
1630 +
1631 + # Remove shared info pages
1632 + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
1633 +}
1634 +
1635 +pkg_postinst() {
1636 + # portage sucks and doesnt unmerge files in /etc
1637 + rm -vf "${EROOT}"/etc/skel/.gdbinit
1638 +
1639 + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
1640 + ewarn "gdb is unable to get a mach task port when installed by Prefix"
1641 + ewarn "Portage, unprivileged. To make gdb fully functional you'll"
1642 + ewarn "have to perform the following steps:"
1643 + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
1644 + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
1645 + fi
1646 +}