summaryrefslogtreecommitdiff
blob: e7c88cdf8f26c2ff4a722f1df5c8ba11fbc34a39 (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/gnokii/gnokii-0.6.29.ebuild,v 1.11 2014/12/28 14:51:05 titanofold Exp $

EAPI=2

inherit eutils linux-info autotools

DESCRIPTION="user space driver and tools for use with mobile phones"
HOMEPAGE="http://www.gnokii.org/"
if [ "$PV" != "9999" ]; then
	SRC_URI="http://www.gnokii.org/download/${PN}/${P}.tar.bz2"
	KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
else
	SRC_URI=""
	KEYWORDS=""
	EGIT_REPO_URI="git://git.savannah.nongnu.org/gnokii.git"
	inherit git
fi

LICENSE="GPL-2"
SLOT="0"
IUSE="nls bluetooth ical irda sms postgres mysql usb X debug"

RDEPEND="!app-mobilephone/smstools
	sys-apps/pcsc-lite
	X? ( x11-libs/gtk+:2 )
	bluetooth? ( net-wireless/bluez )
	sms? (
		!app-mobilephone/smstools
		dev-libs/glib:2
		postgres? ( >=dev-db/postgresql-8.0 )
		mysql? ( >=virtual/mysql-4.1 )
	)
	ical? ( dev-libs/libical )
	usb? ( =virtual/libusb-0* )"
DEPEND="${RDEPEND}
	irda? ( virtual/os-headers )
	nls? ( sys-devel/gettext )
	dev-util/intltool"

CONFIG_CHECK="~UNIX98_PTYS"

S="${WORKDIR}/${PN}-${PV%.1}"

# Supported languages and translated documentation
# Be sure all languages are prefixed with a single space!
MY_AVAILABLE_LINGUAS=" cs de et fi fr it nl pl pt sk sl sv zh_CN"
IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"

src_prepare() {
	if [ "$PV" != "9999" ]; then
		epatch "${FILESDIR}"/${PN}-0.6.29-pcsc.patch
	else
		epatch "${FILESDIR}"/${P}-icon.patch
		epatch "${FILESDIR}"/${P}-translations.patch
		intltoolize --force --copy --automake || die "intltoolize error"
	fi

	eautoreconf
}

src_configure() {
	strip-linguas ${MY_AVAILABLE_LINGUAS}

	local config_xdebug="--disable-xdebug"
	use X && use debug && config_xdebug="--enable-xdebug"

	econf \
		$(use_enable nls) \
		$(use_enable ical libical) \
		$(use_enable usb libusb) \
		$(use_enable irda) \
		$(use_enable bluetooth) \
		$(use_with X x) \
		$(use_enable sms smsd) \
		$(use_enable mysql) \
		$(use_enable postgres) \
		$(use_enable debug fulldebug) \
		${config_xdebug} \
		$(use_enable debug rlpdebug) \
		--enable-security \
		--disable-unix98test \
		--enable-libpcsclite \
		|| die "configure failed"
}

src_install() {
	einstall || die "make install failed"

	insinto /etc
	doins Docs/sample/gnokiirc
	sed -i -e 's:/usr/local:/usr:' "${D}/etc/gnokiirc"

	# only one file needs suid root to make a pseudo device
	fperms 4755 /usr/sbin/mgnokiidev

	if use X; then
		newicon Docs/sample/logo/gnokii.xpm xgnokii.xpm
	fi

	if use sms; then
		pushd "${S}/smsd"
		insinto /usr/share/doc/${PN}/smsd
		use mysql && doins sms.tables.mysql.sql README.MySQL
		use postgres && doins sms.tables.pq.sql
		doins README ChangeLog README.Tru64 action
		popd
	fi
}

src_test() {
	echo common/phones/fake.c >> "${S}"/po/POTFILES.in
	default
}

pkg_postinst() {
	elog "Make sure the user that runs gnokii has read/write access to the device"
	elog "which your phone is connected to."
	elog "The simple way of doing that is to add your user to the uucp group."
	if [ "$PV" == "9999" ]; then
		elog "This is the GIT version of ${PN}. It is experimental but may have important bug fixes."
		elog "You can keep track of the most recent commits at:"
		elog "    http://git.savannah.gnu.org/cgit/gnokii.git/"
		elog "Whenever there is a change you are interested in, you can re-emerge ${P}."
	fi
}