Files @ d86a182eea04
Branch filter:

Location: ohnobinki_overlay/net-irc/anope/anope-1.8.0.ebuild

d86a182eea04 4.2 KiB application/vnd.gentoo.ebuild Show Annotation Show as Raw Download as Raw
binki
sys-devel/boost-m4: Add ebuild sys-devel/boost-m4-0.1.

(Portage version: 2.2.0_alpha17-r1/hg/Linux x86_64, signed Manifest commit with key 6BA81050)
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/anope/anope-1.8.0.ebuild,v 1.1 2009/06/27 11:04:34 patrick Exp $

EAPI="2"

inherit eutils versionator

MY_PV=$(replace_version_separator 3 '-')
S="${WORKDIR}/${PN}-${MY_PV}"

DESCRIPTION="Anope IRC Services"
HOMEPAGE="http://www.anope.org"
SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="mysql atheme"

DEPEND="atheme? ( >=net-irc/atheme-5.0.1 )
	mysql? ( virtual/mysql )"

INSTALL_DIR="/opt/anope"

pkg_setup() {
	enewgroup anope
	enewuser anope -1 -1 "${INSTALL_DIR}" anope
	if has_version net-irc/anope ; then
		ewarn
		ewarn "Make backups before updating as they will be overwritten"
		ewarn
		ebeep 10
	fi
}

src_prepare() {
	epatch "${FILESDIR}"/pid-patch.diff

	if use atheme; then
		cp /usr/share/doc/atheme*/contrib/anope_convert.c src/modules/ || die
	fi
}

src_configure() {
	local myconf
	if ! use mysql; then
		myconf="${myconf} --without-mysql"
	fi

	econf \
		${myconf} \
		--bindir ${INSTALL_DIR} \
		--with-bindir=${INSTALL_DIR} \
		--with-datadir=${INSTALL_DIR}/data \
		--with-modules=${INSTALL_DIR}/modules \
		--with-encryption \
		--with-rungroup=anope \
		--with-permissions=077 \
	|| die "Configuration failed."

	sed -i -e "/^build:/s:$: language:g" "${S}"/Makefile || die "sed failed"
}

src_install() {
	dodir ${INSTALL_DIR}
	dodir ${INSTALL_DIR}/data
	dodir ${INSTALL_DIR}/data/logs
	dodir ${INSTALL_DIR}/data/languages
	dodir ${INSTALL_DIR}/data/modules
	dodir ${INSTALL_DIR}/data/modules/runtime
	dodir ${INSTALL_DIR}/modules

	dodir /var/run/anope
	fowners anope:anope /var/run/anope
	keepdir /var/run/anope

	fowners anope:anope ${INSTALL_DIR}
	fowners anope:anope ${INSTALL_DIR}/data
	fowners anope:anope ${INSTALL_DIR}/data/logs
	fowners anope:anope ${INSTALL_DIR}/data/languages
	fowners anope:anope ${INSTALL_DIR}/data/modules
	fowners anope:anope ${INSTALL_DIR}/data/modules/runtime
	fowners anope:anope ${INSTALL_DIR}/modules

	exeinto ${INSTALL_DIR}
	doexe src/services
	insinto ${INSTALL_DIR}/data
	newins data/example.conf services.conf.example

	newinitd "${FILESDIR}"/anope.initd anope
	newconfd "${FILESDIR}"/anope.confd anope

	insinto ${INSTALL_DIR}/modules
	doins src/modules/*.so

	keepdir ${INSTALL_DIR}/data/logs

	insinto ${INSTALL_DIR}/data/languages
	doins lang/cat
	doins lang/de
	doins lang/en_us
	doins lang/es
	doins lang/fr
	doins lang/gr
	doins lang/hun
	doins lang/it
	doins lang/nl
	doins lang/pl
	doins lang/pt
	doins lang/ru
	doins lang/tr

	keepdir ${INSTALL_DIR}/data/modules/runtime

	insinto ${INSTALL_DIR}/data/modules
	doins src/protocol/*.so
	doins src/core/*.so

	fowners anope:anope ${INSTALL_DIR}/services
	fowners anope:anope ${INSTALL_DIR}/data/languages/cat
	fowners anope:anope ${INSTALL_DIR}/data/languages/de
	fowners anope:anope ${INSTALL_DIR}/data/languages/en_us
	fowners anope:anope ${INSTALL_DIR}/data/languages/fr
	fowners anope:anope ${INSTALL_DIR}/data/languages/gr
	fowners anope:anope ${INSTALL_DIR}/data/languages/hun
	fowners anope:anope ${INSTALL_DIR}/data/languages/it
	fowners anope:anope ${INSTALL_DIR}/data/languages/nl
	fowners anope:anope ${INSTALL_DIR}/data/languages/pl
	fowners anope:anope ${INSTALL_DIR}/data/languages/pt
	fowners anope:anope ${INSTALL_DIR}/data/languages/ru
	fowners anope:anope ${INSTALL_DIR}/data/languages/tr

	dodoc Changes Changes.conf Changes.lang Changes.mysql docs/*

	use mysql && dodoc data/tables.sql
}

pkg_preinst() {
	if has_version net-irc/anope ; then
		elog "Making a backup of your config to data/pre-update"
		mkdir "${ROOT}"opt/anope/data/pre-update
		cp "${ROOT}"opt/anope/data/* "${ROOT}"opt/anope/data/pre-update
	fi
}

pkg_postinst() {
	echo
	ewarn "Anope won't run out of the box, you still have to configure it to match your IRCDs configuration."
	ewarn "Edit ${INSTALL_DIR}/data/services.conf to configure Anope."
	echo
	ewarn "!!! ATTENTION !!!"
	ewarn "Be sure to read Changes.mysql to update your MySQL"
	ewarn "tables or anope will break after restart"
	ewarn "!!! ATTENTION !!!"

	if use mysql; then
		einfo "The mysql script for updating the tables is located in the"
		einfo "/usr/share/doc/${P} directory"
	fi
}