Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/
Date: Wed, 24 Feb 2016 16:01:53
Message-Id: 1456329668.7075e7ea2b2d37024c5d89fec7e17a07a9a8703c.vapier@gentoo
1 commit: 7075e7ea2b2d37024c5d89fec7e17a07a9a8703c
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 24 15:17:48 2016 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 24 16:01:08 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7075e7ea
7
8 sys-devel/gdb: move <7.10.1 versions to toolchain overlay
9
10 sys-devel/gdb/Manifest | 3 -
11 sys-devel/gdb/gdb-7.10-r1.ebuild | 234 ---------------------------------------
12 sys-devel/gdb/gdb-7.8.2.ebuild | 208 ----------------------------------
13 sys-devel/gdb/gdb-7.9.1.ebuild | 222 -------------------------------------
14 4 files changed, 667 deletions(-)
15
16 diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
17 index a56f535..82126f0 100644
18 --- a/sys-devel/gdb/Manifest
19 +++ b/sys-devel/gdb/Manifest
20 @@ -1,4 +1 @@
21 DIST gdb-7.10.1.tar.xz 18531436 SHA256 25c72f3d41c7c8554d61cacbeacd5f40993276d2ccdec43279ac546e3993d6d5 SHA512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 WHIRLPOOL 02936f59d3f3f8a57966c72402f1da128dd8e10e686097ffdb3a2741cc0c1831ef27f97daa047fa006ff2ae9f79ae0480f6f0dc2d3f5904190a1dade0590c837
22 -DIST gdb-7.10.tar.xz 18540820 SHA256 7ebdaa44f9786ce0c142da4e36797d2020c55fa091905ac5af1846b5756208a8 SHA512 4d9d7b536ad46f881689fca9f3f0b60268ff413c7900115fed5030d81d1d794793cc51d51510584ea1a63fe5891d006a9867ba36981b86b50806d469b717457d WHIRLPOOL b245ab66171c5bc04fc828a94a7c532ab18c358ee865993cd6e934aba22a45a254ed4b5942a1c5ddb60b5a5fcf81cb493fc275d8a5782d3b32b15b23339b4e43
23 -DIST gdb-7.8.2.tar.xz 17678568 SHA256 605954d5747d5f08ea4b7f48e958d1ebbf39265e18f7f36738deeabb83744485 SHA512 face5bf1b4ce144fc8604fc84620beed956177a11fd632b4e41906fc7f632910b2b43a50e6cfdfd6cbd876ee527c813bddab8df29dc560a6c36694cdb8edc4e4 WHIRLPOOL b0e5adc8e98c8363c25b86a8f47d07863a97f215c74b4fe2fcce4e72ce82867bafea60cb51d26f3814e895a93e047ca962b19fb2557e9c74a0ab3d88b1e6ee1d
24 -DIST gdb-7.9.1.tar.xz 17867692 SHA256 cd9c543a411a05b2b647dd38936034b68c2b5d6f10e0d51dc168c166c973ba40 SHA512 eebdf88b24e52e792b8a4b89ea85790de72b462a7810b44975fdf4232c068f353b15506071f450102a9d4bcecdde8e93dc3748a10699b7f73f3e04fb2d9d8414 WHIRLPOOL fe7afb392f453fa5aab290da3b74118c4e3bbae6f4e276f2efd7f978e3987e031d92ecd90d35e0531901f1cf68b04a313df050b25bb3b632d1b6e62360acd591
25
26 diff --git a/sys-devel/gdb/gdb-7.10-r1.ebuild b/sys-devel/gdb/gdb-7.10-r1.ebuild
27 deleted file mode 100644
28 index 8d9e6c9..0000000
29 --- a/sys-devel/gdb/gdb-7.10-r1.ebuild
30 +++ /dev/null
31 @@ -1,234 +0,0 @@
32 -# Copyright 1999-2015 Gentoo Foundation
33 -# Distributed under the terms of the GNU General Public License v2
34 -# $Id$
35 -
36 -EAPI="5"
37 -PYTHON_COMPAT=( python{2_7,3_3,3_4} )
38 -
39 -inherit flag-o-matic eutils python-single-r1
40 -
41 -export CTARGET=${CTARGET:-${CHOST}}
42 -if [[ ${CTARGET} == ${CHOST} ]] ; then
43 - if [[ ${CATEGORY} == cross-* ]] ; then
44 - export CTARGET=${CATEGORY#cross-}
45 - fi
46 -fi
47 -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
48 -
49 -RPM=
50 -MY_PV=${PV}
51 -case ${PV} in
52 -9999*)
53 - # live git tree
54 - EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
55 - inherit git-2
56 - SRC_URI=""
57 - ;;
58 -*.*.50.2???????)
59 - # weekly snapshots
60 - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
61 - ;;
62 -*.*.*.*.*.*)
63 - # fedora versions; note we swap the rpm & fedora core versions.
64 - # gdb-6.8.50.20090302-8.fc11.src.rpm -> gdb-6.8.50.20090302.11.8.ebuild
65 - # gdb-7.9-11.fc23.src.rpm -> gdb-7.9.23.11.ebuild
66 - inherit versionator rpm
67 - gvcr() { get_version_component_range "$@"; }
68 - parse_fedora_ver() {
69 - set -- $(get_version_components)
70 - MY_PV=$(gvcr 1-$(( $# - 2 )))
71 - RPM="${PN}-${MY_PV}-$(gvcr $#).fc$(gvcr $(( $# - 1 ))).src.rpm"
72 - }
73 - parse_fedora_ver
74 - SRC_URI="mirror://fedora-dev/development/rawhide/source/SRPMS/g/${RPM}"
75 - ;;
76 -*)
77 - # Normal upstream release
78 - SRC_URI="mirror://gnu/gdb/${P}.tar.xz
79 - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
80 - ;;
81 -esac
82 -
83 -PATCH_VER=""
84 -DESCRIPTION="GNU debugger"
85 -HOMEPAGE="http://sourceware.org/gdb/"
86 -SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
87 -
88 -LICENSE="GPL-2 LGPL-2"
89 -SLOT="0"
90 -if [[ ${PV} != 9999* ]] ; then
91 - 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"
92 -fi
93 -IUSE="+client expat lzma multitarget nls +python +server test vanilla"
94 -REQUIRED_USE="
95 - python? ( ${PYTHON_REQUIRED_USE} )
96 - || ( client server )
97 -"
98 -
99 -RDEPEND="server? ( !dev-util/gdbserver )
100 - client? (
101 - >=sys-libs/ncurses-5.2-r2:0=
102 - sys-libs/readline:0=
103 - expat? ( dev-libs/expat )
104 - lzma? ( app-arch/xz-utils )
105 - python? ( ${PYTHON_DEPS} )
106 - sys-libs/zlib
107 - )"
108 -DEPEND="${RDEPEND}
109 - app-arch/xz-utils
110 - client? (
111 - virtual/yacc
112 - test? ( dev-util/dejagnu )
113 - nls? ( sys-devel/gettext )
114 - )"
115 -
116 -S=${WORKDIR}/${PN}-${MY_PV}
117 -
118 -pkg_setup() {
119 - use python && python-single-r1_pkg_setup
120 -}
121 -
122 -src_prepare() {
123 - [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
124 - ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
125 - epatch_user
126 - strip-linguas -u bfd/po opcodes/po
127 -}
128 -
129 -gdb_branding() {
130 - printf "Gentoo ${PV} "
131 - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
132 - printf "p${PATCH_VER}"
133 - else
134 - printf "vanilla"
135 - fi
136 - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
137 -}
138 -
139 -src_configure() {
140 - strip-unsupported-flags
141 -
142 - local myconf=(
143 - --with-pkgversion="$(gdb_branding)"
144 - --with-bugurl='https://bugs.gentoo.org/'
145 - --disable-werror
146 - # Disable modules that are in a combined binutils/gdb tree. #490566
147 - --disable-{binutils,etc,gas,gold,gprof,ld}
148 - )
149 - local sysroot="${EPREFIX}/usr/${CTARGET}"
150 - is_cross && myconf+=(
151 - --with-sysroot="${sysroot}"
152 - --includedir="${sysroot}/usr/include"
153 - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
154 - )
155 -
156 - if use server && ! use client ; then
157 - # just configure+build in the gdbserver subdir to speed things up
158 - cd gdb/gdbserver
159 - myconf+=( --program-transform-name='' )
160 - else
161 - # gdbserver only works for native targets (CHOST==CTARGET).
162 - # it also doesn't support all targets, so rather than duplicate
163 - # the target list (which changes between versions), use the
164 - # "auto" value when things are turned on.
165 - is_cross \
166 - && myconf+=( --disable-gdbserver ) \
167 - || myconf+=( $(use_enable server gdbserver auto) )
168 - fi
169 -
170 - if ! ( use server && ! use client ) ; then
171 - # if we are configuring in the top level, then use all
172 - # the additional global options
173 - myconf+=(
174 - --enable-64-bit-bfd
175 - --disable-install-libbfd
176 - --disable-install-libiberty
177 - # Disable guile for now as it requires guile-2.x #562902
178 - --without-guile
179 - # This only disables building in the readline subdir.
180 - # For gdb itself, it'll use the system version.
181 - --disable-readline
182 - --with-system-readline
183 - # This only disables building in the zlib subdir.
184 - # For gdb itself, it'll use the system version.
185 - --without-zlib
186 - --with-system-zlib
187 - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
188 - $(use_with expat)
189 - $(use_with lzma)
190 - $(use_enable nls)
191 - $(use multitarget && echo --enable-targets=all)
192 - $(use_with python python "${EPYTHON}")
193 - )
194 - fi
195 -
196 - econf "${myconf[@]}"
197 -}
198 -
199 -src_test() {
200 - nonfatal emake check || ewarn "tests failed"
201 -}
202 -
203 -src_install() {
204 - use server && ! use client && cd gdb/gdbserver
205 - default
206 - use client && find "${ED}"/usr -name libiberty.a -delete
207 - cd "${S}"
208 -
209 - # Delete translations that conflict with binutils-libs. #528088
210 - # Note: Should figure out how to store these in an internal gdb dir.
211 - if use nls ; then
212 - find "${ED}" \
213 - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
214 - -delete
215 - fi
216 -
217 - # Don't install docs when building a cross-gdb
218 - if [[ ${CTARGET} != ${CHOST} ]] ; then
219 - rm -r "${ED}"/usr/share/{doc,info,locale}
220 - local f
221 - for f in "${ED}"/usr/share/man/*/* ; do
222 - if [[ ${f##*/} != ${CTARGET}-* ]] ; then
223 - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
224 - fi
225 - done
226 - return 0
227 - fi
228 - # Install it by hand for now:
229 - # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
230 - # Only install if it exists due to the twisted behavior (see
231 - # notes in src_configure above).
232 - [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
233 -
234 - if use client ; then
235 - docinto gdb
236 - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
237 - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
238 - fi
239 - docinto sim
240 - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
241 - if use server ; then
242 - docinto gdbserver
243 - dodoc gdb/gdbserver/{ChangeLog,README}
244 - fi
245 -
246 - if [[ -n ${PATCH_VER} ]] ; then
247 - dodoc "${WORKDIR}"/extra/gdbinit.sample
248 - fi
249 -
250 - # Remove shared info pages
251 - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
252 -}
253 -
254 -pkg_postinst() {
255 - # portage sucks and doesnt unmerge files in /etc
256 - rm -vf "${EROOT}"/etc/skel/.gdbinit
257 -
258 - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
259 - ewarn "gdb is unable to get a mach task port when installed by Prefix"
260 - ewarn "Portage, unprivileged. To make gdb fully functional you'll"
261 - ewarn "have to perform the following steps:"
262 - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
263 - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
264 - fi
265 -}
266
267 diff --git a/sys-devel/gdb/gdb-7.8.2.ebuild b/sys-devel/gdb/gdb-7.8.2.ebuild
268 deleted file mode 100644
269 index 8fe989b..0000000
270 --- a/sys-devel/gdb/gdb-7.8.2.ebuild
271 +++ /dev/null
272 @@ -1,208 +0,0 @@
273 -# Copyright 1999-2015 Gentoo Foundation
274 -# Distributed under the terms of the GNU General Public License v2
275 -# $Id$
276 -
277 -EAPI="5"
278 -PYTHON_COMPAT=( python{2_7,3_3,3_4} )
279 -
280 -inherit flag-o-matic eutils python-single-r1
281 -
282 -export CTARGET=${CTARGET:-${CHOST}}
283 -if [[ ${CTARGET} == ${CHOST} ]] ; then
284 - if [[ ${CATEGORY} == cross-* ]] ; then
285 - export CTARGET=${CATEGORY#cross-}
286 - fi
287 -fi
288 -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
289 -
290 -RPM=
291 -MY_PV=${PV}
292 -case ${PV} in
293 -*.*.50.*)
294 - # weekly snapshots
295 - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
296 - ;;
297 -9999*)
298 - # live git tree
299 - EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
300 - inherit git-2
301 - SRC_URI=""
302 - ;;
303 -*)
304 - # Normal upstream release
305 - SRC_URI="mirror://gnu/gdb/${P}.tar.xz
306 - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
307 - ;;
308 -esac
309 -
310 -PATCH_VER=""
311 -DESCRIPTION="GNU debugger"
312 -HOMEPAGE="http://sourceware.org/gdb/"
313 -SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
314 -
315 -LICENSE="GPL-2 LGPL-2"
316 -SLOT="0"
317 -if [[ ${PV} != 9999* ]] ; then
318 - 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"
319 -fi
320 -IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
321 -REQUIRED_USE="
322 - python? ( ${PYTHON_REQUIRED_USE} )
323 - || ( client server )
324 -"
325 -
326 -RDEPEND="server? ( !dev-util/gdbserver )
327 - client? (
328 - >=sys-libs/ncurses-5.2-r2:0=
329 - sys-libs/readline:0=
330 - expat? ( dev-libs/expat )
331 - lzma? ( app-arch/xz-utils )
332 - python? ( ${PYTHON_DEPS} )
333 - zlib? ( sys-libs/zlib )
334 - )"
335 -DEPEND="${RDEPEND}
336 - app-arch/xz-utils
337 - client? (
338 - virtual/yacc
339 - test? ( dev-util/dejagnu )
340 - nls? ( sys-devel/gettext )
341 - )"
342 -
343 -S=${WORKDIR}/${PN}-${MY_PV}
344 -
345 -pkg_setup() {
346 - use python && python-single-r1_pkg_setup
347 -}
348 -
349 -src_prepare() {
350 - [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
351 - ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
352 - epatch_user
353 - strip-linguas -u bfd/po opcodes/po
354 -}
355 -
356 -gdb_branding() {
357 - printf "Gentoo ${PV} "
358 - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
359 - printf "p${PATCH_VER}"
360 - else
361 - printf "vanilla"
362 - fi
363 -}
364 -
365 -src_configure() {
366 - strip-unsupported-flags
367 -
368 - local myconf=(
369 - --with-pkgversion="$(gdb_branding)"
370 - --with-bugurl='https://bugs.gentoo.org/'
371 - --disable-werror
372 - # Disable modules that are in a combined binutils/gdb tree. #490566
373 - --disable-{binutils,etc,gas,gold,gprof,ld}
374 - )
375 - local sysroot="${EPREFIX}/usr/${CTARGET}"
376 - is_cross && myconf+=(
377 - --with-sysroot="${sysroot}"
378 - --includedir="${sysroot}/usr/include"
379 - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
380 - )
381 -
382 - if use server && ! use client ; then
383 - # just configure+build in the gdbserver subdir to speed things up
384 - cd gdb/gdbserver
385 - myconf+=( --program-transform-name='' )
386 - else
387 - # gdbserver only works for native targets (CHOST==CTARGET).
388 - # it also doesn't support all targets, so rather than duplicate
389 - # the target list (which changes between versions), use the
390 - # "auto" value when things are turned on.
391 - is_cross \
392 - && myconf+=( --disable-gdbserver ) \
393 - || myconf+=( $(use_enable server gdbserver auto) )
394 - fi
395 -
396 - if ! ( use server && ! use client ) ; then
397 - # if we are configuring in the top level, then use all
398 - # the additional global options
399 - myconf+=(
400 - --enable-64-bit-bfd
401 - --disable-install-libbfd
402 - --disable-install-libiberty
403 - # Disable guile for now as it requires guile-2.x #562902
404 - --without-guile
405 - # This only disables building in the readline subdir.
406 - # For gdb itself, it'll use the system version.
407 - --disable-readline
408 - --with-system-readline
409 - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
410 - $(use_with expat)
411 - $(use_with lzma)
412 - $(use_enable nls)
413 - $(use multitarget && echo --enable-targets=all)
414 - $(use_with python python "${EPYTHON}")
415 - $(use_with zlib)
416 - )
417 - fi
418 -
419 - econf "${myconf[@]}"
420 -}
421 -
422 -src_test() {
423 - nonfatal emake check || ewarn "tests failed"
424 -}
425 -
426 -src_install() {
427 - use server && ! use client && cd gdb/gdbserver
428 - default
429 - use client && find "${ED}"/usr -name libiberty.a -delete
430 - cd "${S}"
431 -
432 - # Don't install docs when building a cross-gdb
433 - if [[ ${CTARGET} != ${CHOST} ]] ; then
434 - rm -r "${ED}"/usr/share/{doc,info,locale}
435 - local f
436 - for f in "${ED}"/usr/share/man/*/* ; do
437 - if [[ ${f##*/} != ${CTARGET}-* ]] ; then
438 - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
439 - fi
440 - done
441 - return 0
442 - fi
443 - # Install it by hand for now:
444 - # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
445 - # Only install if it exists due to the twisted behavior (see
446 - # notes in src_configure above).
447 - [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
448 -
449 - if use client ; then
450 - docinto gdb
451 - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
452 - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
453 - fi
454 - docinto sim
455 - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
456 - if use server ; then
457 - docinto gdbserver
458 - dodoc gdb/gdbserver/{ChangeLog,README}
459 - fi
460 -
461 - if [[ -n ${PATCH_VER} ]] ; then
462 - dodoc "${WORKDIR}"/extra/gdbinit.sample
463 - fi
464 -
465 - # Remove shared info pages
466 - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
467 -}
468 -
469 -pkg_postinst() {
470 - # portage sucks and doesnt unmerge files in /etc
471 - rm -vf "${EROOT}"/etc/skel/.gdbinit
472 -
473 - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
474 - ewarn "gdb is unable to get a mach task port when installed by Prefix"
475 - ewarn "Portage, unprivileged. To make gdb fully functional you'll"
476 - ewarn "have to perform the following steps:"
477 - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
478 - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
479 - fi
480 -}
481
482 diff --git a/sys-devel/gdb/gdb-7.9.1.ebuild b/sys-devel/gdb/gdb-7.9.1.ebuild
483 deleted file mode 100644
484 index 965d89b..0000000
485 --- a/sys-devel/gdb/gdb-7.9.1.ebuild
486 +++ /dev/null
487 @@ -1,222 +0,0 @@
488 -# Copyright 1999-2015 Gentoo Foundation
489 -# Distributed under the terms of the GNU General Public License v2
490 -# $Id$
491 -
492 -EAPI="5"
493 -PYTHON_COMPAT=( python{2_7,3_3,3_4} )
494 -
495 -inherit flag-o-matic eutils python-single-r1
496 -
497 -export CTARGET=${CTARGET:-${CHOST}}
498 -if [[ ${CTARGET} == ${CHOST} ]] ; then
499 - if [[ ${CATEGORY} == cross-* ]] ; then
500 - export CTARGET=${CATEGORY#cross-}
501 - fi
502 -fi
503 -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
504 -
505 -RPM=
506 -MY_PV=${PV}
507 -case ${PV} in
508 -9999*)
509 - # live git tree
510 - EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
511 - inherit git-2
512 - SRC_URI=""
513 - ;;
514 -*.*.50.2???????)
515 - # weekly snapshots
516 - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
517 - ;;
518 -*.*.*.*.*.*)
519 - # fedora versions; note we swap the rpm & fedora core versions.
520 - # gdb-6.8.50.20090302-8.fc11.src.rpm -> gdb-6.8.50.20090302.11.8.ebuild
521 - # gdb-7.9-11.fc23.src.rpm -> gdb-7.9.23.11.ebuild
522 - inherit versionator rpm
523 - gvcr() { get_version_component_range "$@"; }
524 - parse_fedora_ver() {
525 - set -- $(get_version_components)
526 - MY_PV=$(gvcr 1-$(( $# - 2 )))
527 - RPM="${PN}-${MY_PV}-$(gvcr $#).fc$(gvcr $(( $# - 1 ))).src.rpm"
528 - }
529 - parse_fedora_ver
530 - SRC_URI="mirror://fedora-dev/development/rawhide/source/SRPMS/g/${RPM}"
531 - ;;
532 -*)
533 - # Normal upstream release
534 - SRC_URI="mirror://gnu/gdb/${P}.tar.xz
535 - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
536 - ;;
537 -esac
538 -
539 -PATCH_VER=""
540 -DESCRIPTION="GNU debugger"
541 -HOMEPAGE="http://sourceware.org/gdb/"
542 -SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}"
543 -
544 -LICENSE="GPL-2 LGPL-2"
545 -SLOT="0"
546 -if [[ ${PV} != 9999* ]] ; then
547 - 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"
548 -fi
549 -IUSE="+client expat lzma multitarget nls +python +server test vanilla zlib"
550 -REQUIRED_USE="
551 - python? ( ${PYTHON_REQUIRED_USE} )
552 - || ( client server )
553 -"
554 -
555 -RDEPEND="server? ( !dev-util/gdbserver )
556 - client? (
557 - >=sys-libs/ncurses-5.2-r2:0=
558 - sys-libs/readline:0=
559 - expat? ( dev-libs/expat )
560 - lzma? ( app-arch/xz-utils )
561 - python? ( ${PYTHON_DEPS} )
562 - zlib? ( sys-libs/zlib )
563 - )"
564 -DEPEND="${RDEPEND}
565 - app-arch/xz-utils
566 - client? (
567 - virtual/yacc
568 - test? ( dev-util/dejagnu )
569 - nls? ( sys-devel/gettext )
570 - )"
571 -
572 -S=${WORKDIR}/${PN}-${MY_PV}
573 -
574 -pkg_setup() {
575 - use python && python-single-r1_pkg_setup
576 -}
577 -
578 -src_prepare() {
579 - [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
580 - ! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
581 - epatch_user
582 - strip-linguas -u bfd/po opcodes/po
583 -}
584 -
585 -gdb_branding() {
586 - printf "Gentoo ${PV} "
587 - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
588 - printf "p${PATCH_VER}"
589 - else
590 - printf "vanilla"
591 - fi
592 -}
593 -
594 -src_configure() {
595 - strip-unsupported-flags
596 -
597 - local myconf=(
598 - --with-pkgversion="$(gdb_branding)"
599 - --with-bugurl='https://bugs.gentoo.org/'
600 - --disable-werror
601 - # Disable modules that are in a combined binutils/gdb tree. #490566
602 - --disable-{binutils,etc,gas,gold,gprof,ld}
603 - )
604 - local sysroot="${EPREFIX}/usr/${CTARGET}"
605 - is_cross && myconf+=(
606 - --with-sysroot="${sysroot}"
607 - --includedir="${sysroot}/usr/include"
608 - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
609 - )
610 -
611 - if use server && ! use client ; then
612 - # just configure+build in the gdbserver subdir to speed things up
613 - cd gdb/gdbserver
614 - myconf+=( --program-transform-name='' )
615 - else
616 - # gdbserver only works for native targets (CHOST==CTARGET).
617 - # it also doesn't support all targets, so rather than duplicate
618 - # the target list (which changes between versions), use the
619 - # "auto" value when things are turned on.
620 - is_cross \
621 - && myconf+=( --disable-gdbserver ) \
622 - || myconf+=( $(use_enable server gdbserver auto) )
623 - fi
624 -
625 - if ! ( use server && ! use client ) ; then
626 - # if we are configuring in the top level, then use all
627 - # the additional global options
628 - myconf+=(
629 - --enable-64-bit-bfd
630 - --disable-install-libbfd
631 - --disable-install-libiberty
632 - # Disable guile for now as it requires guile-2.x #562902
633 - --without-guile
634 - # This only disables building in the readline subdir.
635 - # For gdb itself, it'll use the system version.
636 - --disable-readline
637 - --with-system-readline
638 - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
639 - $(use_with expat)
640 - $(use_with lzma)
641 - $(use_enable nls)
642 - $(use multitarget && echo --enable-targets=all)
643 - $(use_with python python "${EPYTHON}")
644 - $(use_with zlib)
645 - )
646 - fi
647 -
648 - econf "${myconf[@]}"
649 -}
650 -
651 -src_test() {
652 - nonfatal emake check || ewarn "tests failed"
653 -}
654 -
655 -src_install() {
656 - use server && ! use client && cd gdb/gdbserver
657 - default
658 - use client && find "${ED}"/usr -name libiberty.a -delete
659 - cd "${S}"
660 -
661 - # Don't install docs when building a cross-gdb
662 - if [[ ${CTARGET} != ${CHOST} ]] ; then
663 - rm -r "${ED}"/usr/share/{doc,info,locale}
664 - local f
665 - for f in "${ED}"/usr/share/man/*/* ; do
666 - if [[ ${f##*/} != ${CTARGET}-* ]] ; then
667 - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
668 - fi
669 - done
670 - return 0
671 - fi
672 - # Install it by hand for now:
673 - # http://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
674 - # Only install if it exists due to the twisted behavior (see
675 - # notes in src_configure above).
676 - [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
677 -
678 - if use client ; then
679 - docinto gdb
680 - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
681 - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
682 - fi
683 - docinto sim
684 - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
685 - if use server ; then
686 - docinto gdbserver
687 - dodoc gdb/gdbserver/{ChangeLog,README}
688 - fi
689 -
690 - if [[ -n ${PATCH_VER} ]] ; then
691 - dodoc "${WORKDIR}"/extra/gdbinit.sample
692 - fi
693 -
694 - # Remove shared info pages
695 - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
696 -}
697 -
698 -pkg_postinst() {
699 - # portage sucks and doesnt unmerge files in /etc
700 - rm -vf "${EROOT}"/etc/skel/.gdbinit
701 -
702 - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
703 - ewarn "gdb is unable to get a mach task port when installed by Prefix"
704 - ewarn "Portage, unprivileged. To make gdb fully functional you'll"
705 - ewarn "have to perform the following steps:"
706 - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
707 - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
708 - fi
709 -}