summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/anope/anope-1.8.7-r2.ebuild')
-rw-r--r--net-irc/anope/anope-1.8.7-r2.ebuild120
1 files changed, 120 insertions, 0 deletions
diff --git a/net-irc/anope/anope-1.8.7-r2.ebuild b/net-irc/anope/anope-1.8.7-r2.ebuild
new file mode 100644
index 000000000000..9f0afbc2cc90
--- /dev/null
+++ b/net-irc/anope/anope-1.8.7-r2.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils multilib versionator user
+
+DESCRIPTION="Anope IRC Services"
+HOMEPAGE="http://www.anope.org"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mysql"
+
+DEPEND="mysql? ( virtual/mysql )"
+RDEPEND="${DEPEND}"
+
+pkg_pretend() {
+ local replaced_version
+ for replaced_version in ${REPLACING_VERSIONS} ; do
+ if ! version_is_at_least 1.8.7 ${replaced_version} && [[ -f ${ROOT}opt/anope/data/nick.db ]]; then
+ eerror "It looks like you have an older version of Anope installed."
+ eerror "To upgrade, shut down Anope and copy your databases to"
+ eerror "${ROOT}var/lib/anope and your configuration to ${ROOT}etc/anope"
+ eerror "You can do this by:"
+ eerror "# mkdir -p ${ROOT}var/lib/anope ${ROOT}etc/anope"
+ eerror "# chown anope:anope ${ROOT}var/lib/anope"
+ eerror "# mv ${ROOT}opt/anope/data/*.db ${ROOT}var/lib/anope"
+ eerror "# mv ${ROOT}opt/anope/data/services.conf ${ROOT}etc/anope"
+ die "Please move your anope database files from /opt/anope/data"
+ fi
+ done
+}
+
+pkg_setup() {
+ enewgroup anope
+ enewuser anope -1 -1 -1 anope
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/pid-patch.diff"
+ epatch "${FILESDIR}/${P}-ldflags-fix.patch"
+ epatch "${FILESDIR}/${P}-libdir-gentoo.patch"
+ epatch "${FILESDIR}"/${P}-mariadb.patch # bug 381119
+ eautoconf
+}
+
+src_configure() {
+ local myconf
+ if ! use mysql; then
+ myconf="${myconf} --without-mysql"
+ fi
+
+ econf \
+ ${myconf} \
+ --with-bindir=/usr/bin/ \
+ --with-datadir=/var/lib/anope \
+ --with-libdir=/usr/$(get_libdir)/anope/ \
+ --with-rungroup=anope \
+ --with-permissions=077
+
+ sed -i -e "/^build:/s:$: language:g" "${S}"/Makefile || die "sed failed"
+}
+
+src_install() {
+ keepdir /var/log/anope /var/lib/anope/backups
+ fowners anope:anope /var/{lib,log}/anope /var/lib/anope/backups
+
+ local baselibdir
+ baselibdir="${D}/usr/$(get_libdir)/anope"
+
+ dodir /usr/$(get_libdir)/anope/{lang,modules}
+ emake DATDEST="${baselibdir}" \
+ BINDEST="${D}/usr/bin" \
+ MODULE_PATH="${baselibdir}/modules" \
+ install
+
+ newinitd "${FILESDIR}/anope-init.d" anope
+ newconfd "${FILESDIR}/anope-conf.d" anope
+
+ dodoc Changes Changes.conf Changes.lang Changes.mysql docs/* data/example.conf
+ use mysql && dodoc data/tables.sql
+
+ insinto /etc/anope
+ newins data/example.conf services.conf
+}
+
+pkg_preinst() {
+ if has_version net-irc/anope ; then
+ local directory
+ directory="${ROOT}"var/lib/anope/pre-update
+ elog "Making a backup of your databases to ${directory}"
+ if [ ! -d "${directory}" ]; then
+ mkdir -p "${directory}" || die "failed to create backup directory"
+ chown anope:anope "${directory}"/../ || die "failed to chown data directory"
+ fi
+ # don't die otherwise merge will fail if there are no existing databases
+ cp "${ROOT}"/var/lib/anope/*.db "${directory}"
+ fi
+}
+
+pkg_postinst() {
+ echo
+ ewarn "Anope won't run out of the box, you still have to configure it to match your IRCD's configuration."
+ ewarn "Edit /etc/anope/services.conf to configure Anope."
+
+ if use mysql; then
+ echo
+ ewarn "!!! ATTENTION !!!"
+ ewarn "Be sure to read Changes.mysql to update your MySQL"
+ ewarn "tables or anope will break after restart"
+ ewarn "!!! ATTENTION !!!"
+ echo
+ einfo "The mysql script for updating the tables is located in the"
+ einfo "/usr/share/doc/${PF} directory"
+ fi
+}