# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils

MY_P="${PN}-${PV/_/-}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/old-releases/${MY_P}.tar.gz
		http://downloads.digium.com/pub/asterisk/old-releases/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"

IUSE="alsa curl debug freetds h323 imap jabber kde keepsrc ljr misdn mmx mysql newt nosamples odbc oss pic postgres radius snmp speex ssl sqlite static vorbis zaptel"

RDEPEND="virtual/libc
	sys-libs/ncurses
	dev-libs/popt
	sys-libs/zlib
	ssl? ( dev-libs/openssl )
	alsa? ( media-libs/alsa-lib )
	curl? ( net-misc/curl )
	newt? ( dev-libs/newt )
	h323? ( dev-libs/pwlib
		net-libs/openh323 )
	imap? ( virtual/imap-c-client )
	odbc? ( dev-db/unixODBC )
	snmp? ( net-analyzer/net-snmp )
	misdn? ( net-dialup/misdnuser )
	mysql? ( dev-db/mysql )
	speex? ( media-libs/speex )
	jabber? ( dev-libs/iksemel )
	radius? ( net-dialup/radiusclient-ng )
	sqlite? ( dev-db/sqlite )
	vorbis? ( media-libs/libvorbis )
	zaptel? ( >=net-libs/libpri-1.4.0
		>=net-misc/zaptel-1.4.1 )
	freetds? ( dev-db/freetds )
	postgres? ( dev-db/libpq )"

DEPEND="${RDEPEND}"
#	sys-devel/flex
#	sys-devel/bison"

S="${WORKDIR}/${MY_P}"

#
# shortcuts
#

# update from asterisk-1.0.x
is_ast10update() {
	return $(has_version "=net-misc/asterisk-1.0*")
}

# update from asterisk-1.2.x
is_ast12update() {
	return $(has_version "=net-misc/asterisk-1.2*")
}

# update in the asterisk-1.4.x line
is_astupdate() {
	if ! is_ast10update && ! is_ast12update; then
		return $(has_version "/dev/null || die "make clean failed"
		eend $?

		einfo "Source files have been saved to ${ROOT}usr/src/${PF}"
	fi
}

pkg_preinst() {
	enewgroup asterisk
	enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
	einfo "Fixing permissions"
	for x in spool run lib log; do
		chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
		chmod -R u=rwX,g=rX,o=     "${ROOT}"var/${x}/asterisk
	done

	chown -R root:asterisk "${ROOT}"etc/asterisk
	chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
	echo

	#
	# Announcements, warnings, reminders...
	#
	einfo "Asterisk has been installed"
	einfo ""
	einfo "If you want to know more about asterisk, visit these sites:"
	einfo "http://www.asteriskdocs.org/"
	einfo "http://www.voip-info.org/wiki-Asterisk"
	elog
	einfo "http://www.automated.it/guidetoasterisk.htm"
	elog
	einfo "Gentoo VoIP IRC Channel:"
	einfo "#gentoo-voip @ irc.freenode.net"
	echo
	echo

	#
	# Warning about 1.x -> 1.4 changes...
	#
	if is_ast10update || is_ast12update; then
		ewarn ""
		ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
		ewarn ""
	fi

	ewarn "************************ Work-In-Progress ebuild **********************"
	ewarn ""
	ewarn "Comments, bugs, feature requests go here:"
	ewarn ""
	ewarn "http://bugs.gentoo.org/show_bug.cgi?id=159013"
	ewarn ""
}

pkg_config() {
	einfo "Do you want to reset file permissions and ownerships (y/N)?"

	read tmp
	tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"

	if [[ "$tmp" = "y" ]] ||\
		[[ "$tmp" = "yes" ]]
	then
		einfo "Resetting permissions to defaults..."

		for x in spool run lib log; do
			chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
			chmod -R u=rwX,g=rX,o=     "${ROOT}"var/${x}/asterisk
		done

		chown -R root:asterisk "${ROOT}"etc/asterisk
		chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk

		einfo "done"
	else
		einfo "skipping"
	fi
}