summaryrefslogtreecommitdiff
blob: cc40b4433455fa03752d70e13568206893e9432c (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
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

if [[ ${PV} = *9999* ]]; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/cgdb/cgdb.git"
else
	SRC_URI="https://github.com/cgdb/cgdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
fi

inherit autotools multilib-minimal

DESCRIPTION="A curses front-end for GDB, the GNU debugger"
HOMEPAGE="https://cgdb.github.io/"

LICENSE="GPL-2"
SLOT="0"
IUSE="test"
# Tests are broken, need additional research to figure out the cause
# Bug: https://bugs.gentoo.org/831899
RESTRICT="test"

DEPEND="
	sys-libs/ncurses:0=
	sys-libs/readline:0="

BDEPEND="
	test? (
		dev-util/dejagnu
		app-misc/dtach
	)"

RDEPEND="
	${DEPEND}
	dev-debug/gdb"

DOCS=( AUTHORS ChangeLog FAQ INSTALL NEWS README.md )

PATCHES=(
	"${FILESDIR}"/${P}-ar.patch
)

src_prepare() {
	default
	AT_M4DIR="config" eautoreconf
}

multilib_src_test() {
	# Tests need an interactive shell, #654986

	# real-time output of the log ;-)
	touch "${T}/dtach-test.log" || die
	tail -f "${T}/dtach-test.log" &
	local tail_pid=${!}

	nonfatal dtach -N "${T}/dtach.sock" \
		bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out'

	kill "${tail_pid}"
	[[ -f ${T}/dtach-test.out ]] || die "Unable to run tests"
	[[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed"
}

multilib_src_configure() {
	ECONF_SOURCE="${S}" econf
}