summaryrefslogtreecommitdiff
blob: c46b6fbd0adbbc6749eebb4733687523313783d2 (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
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-radio/unixcw/unixcw-3.0.2.ebuild,v 1.1 2012/06/21 06:11:00 tomjbe Exp $

EAPI=4

inherit autotools eutils flag-o-matic multilib

DESCRIPTION="A package of programs that fit together to form a morse code tutor program."
HOMEPAGE="http://unixcw.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ppc ~x86"
IUSE="ncurses suid qt4"

RDEPEND="ncurses? ( sys-libs/ncurses )
	qt4? ( x11-libs/qt-gui:4[qt3support] )"
DEPEND="${RDEPEND}
	virtual/pkgconfig
	!<=app-misc/cw-1.0.16-r1"

src_prepare() {
	append-cflags -std=gnu99
	epatch \
		"${FILESDIR}"/${P}-config.patch \
 		"${FILESDIR}"/${P}-destdir.patch \
		"${FILESDIR}"/${P}-parallel-make.patch \
		"${FILESDIR}"/${P}-qt4.patch
	eautoreconf
}

src_configure() {
	econf --libdir=/usr/$(get_libdir) \
		$(use_enable ncurses) \
		$(use_enable qt4)
}

src_install() {
	emake DESTDIR="${D}" install
	dodoc README
	if ! use suid ; then
		fperms 711 /usr/bin/cw
		if use ncurses ; then
			fperms 711 /usr/bin/cwcp
		fi
		if use qt4 ; then
			fperms 711 /usr/bin/xcwcp
		fi
	fi
}

pkg_postinst() {
	if use suid ; then
		ewarn "You have choosen to install 'cw', 'cwcp' and 'xcwcp' setuid"
		ewarn "by setting USE=suid."
		ewarn "Be aware that this is a security risk and not recommended."
		ewarn ""
		ewarn "These files do only need root access if you want to use the"
		ewarn "PC speaker for morse sidetone output. You can alternativly"
		ewarn "drop USE=suid and use sudo."
	else
		elog "Be aware that 'cw', 'cwcp' and 'xcwcp' needs root access if"
		elog "you want to use the PC speaker for morse sidetone output."
		elog "You can call the programs via sudo for that (see 'man sudo')."
	fi
}