blob: 3f04ae7f3c7ffc4c9dfd2acb30bd3d47dd0f8a86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Copyright 1999-2011 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.1 2011/08/13 18:02:18 vapier Exp $
EAPI="3"
inherit flag-o-matic eutils
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://sources.redhat.com/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.bz2"
;;
9999*)
# live git tree
inherit git-2
EGIT_REPO_URI="git://sourceware.org/git/gdb.git"
SRC_URI=""
;;
*)
# Normal upstream release
SRC_URI="http://ftp.gnu.org/gnu/gdb/${P}.tar.bz2
ftp://sources.redhat.com/pub/gdb/releases/${P}.tar.bz2"
;;
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"
is_cross \
&& SLOT="${CTARGET}" \
|| SLOT="0"
if [[ ${PV} != 9999* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd"
fi
IUSE="expat multitarget nls python test vanilla"
RDEPEND=">=sys-libs/ncurses-5.2-r2
sys-libs/readline
expat? ( dev-libs/expat )
python? ( =dev-lang/python-2* )"
DEPEND="${RDEPEND}
app-arch/xz-utils
virtual/yacc
test? ( dev-util/dejagnu )
nls? ( sys-devel/gettext )"
S=${WORKDIR}/${PN}-${MY_PV}
src_prepare() {
[[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
use vanilla || [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
strip-linguas -u bfd/po opcodes/po
}
gdb_branding() {
printf "Gentoo ${PV} "
if [[ -n ${PATCH_VER} ]] ; then
printf "p${PATCH_VER}"
else
printf "vanilla"
fi
}
src_configure() {
strip-unsupported-flags
econf \
--with-pkgversion="$(gdb_branding)" \
--with-bugurl='http://bugs.gentoo.org/' \
--disable-werror \
--enable-64-bit-bfd \
--with-system-readline \
$(is_cross && echo --with-sysroot=/usr/${CTARGET}) \
$(use_with expat) \
$(use_enable nls) \
$(use multitarget && echo --enable-targets=all) \
$(use_with python python "${EPREFIX}/usr/bin/python2")
}
src_test() {
emake check || ewarn "tests failed"
}
src_install() {
emake \
DESTDIR="${D}" \
{include,lib}dir=/nukeme/pretty/pretty/please \
install || die
rm -r "${D}"/nukeme || die
# Don't install docs when building a cross-gdb
if [[ ${CTARGET} != ${CHOST} ]] ; then
rm -r "${D}"/usr/share
return 0
fi
dodoc README
docinto gdb
dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
docinto sim
dodoc sim/ChangeLog sim/MAINTAINERS sim/README-HACKING
if [[ -n ${PATCH_VER} ]] ; then
dodoc "${WORKDIR}"/extra/gdbinit.sample
fi
# Remove shared info pages
rm -f "${D}"/usr/share/info/{annotate,bfd,configure,standards}.info*
}
pkg_postinst() {
# portage sucks and doesnt unmerge files in /etc
rm -vf "${ROOT}"/etc/skel/.gdbinit
}
|