net-irc/atheme-services: New package.
authorWade Cline <wadecline@hotmail.com>
Fri, 23 Jun 2017 02:56:55 +0000 (19:56 -0700)
committerMichał Górny <mgorny@gentoo.org>
Sat, 2 Sep 2017 08:45:21 +0000 (10:45 +0200)
Bug: https://bugs.gentoo.org/454840
Bug: https://bugs.gentoo.org/520490
Bug: https://bugs.gentoo.org/574062
Bug: https://bugs.gentoo.org/581960
Closes: https://github.com/gentoo/gentoo/pull/5014

net-irc/atheme-services/Manifest [new file with mode: 0644]
net-irc/atheme-services/atheme-services-7.2.9.ebuild [new file with mode: 0644]
net-irc/atheme-services/files/atheme-services-7.2.9-configure-logdir.patch [new file with mode: 0644]
net-irc/atheme-services/files/atheme-services-7.2.9-fix-docdir.patch [new file with mode: 0644]
net-irc/atheme-services/files/atheme-services.initd [new file with mode: 0644]
net-irc/atheme-services/metadata.xml [new file with mode: 0644]

diff --git a/net-irc/atheme-services/Manifest b/net-irc/atheme-services/Manifest
new file mode 100644 (file)
index 0000000..bb730b1
--- /dev/null
@@ -0,0 +1 @@
+DIST atheme-services-7.2.9.tar.bz2 1179582 SHA256 a87a046aa73fc4a97a11d41cc08c60b835135ba20bb173ca888b40e0d6b54b27 SHA512 8852bcf4746ad3b8814e2e7ae8b435c538b442f26f6cf8479087d115c0c4d6877ea864f9e19ccaa9ae93ea8a116cfa53d1f22846fffb783f78bfad8e95fd26f7 WHIRLPOOL 2b5ceb38b196567eb64ac11d0866b209b5f0ed00f1ee4c387dde2214bb3ff540996822d9843d7b32c6f0d908b80ca4c5edab7d1ee96e89a0ed59ab9333baf84b
diff --git a/net-irc/atheme-services/atheme-services-7.2.9.ebuild b/net-irc/atheme-services/atheme-services-7.2.9.ebuild
new file mode 100644 (file)
index 0000000..70684a5
--- /dev/null
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic perl-functions user
+
+DESCRIPTION="A portable and secure set of open-source and modular IRC services"
+HOMEPAGE="https://github.com/atheme/atheme"
+SRC_URI="https://github.com/atheme/atheme/releases/download/v${PV}/atheme-${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cracklib largenet ldap nls +pcre perl profile ssl"
+S="${WORKDIR}/atheme-${PV}"
+
+RDEPEND=">=dev-libs/libmowgli-2.1.0:0
+       cracklib? ( sys-libs/cracklib )
+       ldap? ( net-nds/openldap )
+       perl? ( dev-lang/perl )
+       pcre? ( dev-libs/libpcre )
+       ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-docdir.patch
+       "${FILESDIR}"/${P}-configure-logdir.patch)
+
+pkg_setup() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 /var/lib/atheme ${PN}
+}
+
+src_configure() {
+       # perl scriping module support is also broken in 7.0.0. Yay for QA failures.
+       econf \
+               --sysconfdir="${EPREFIX}"/etc/${PN} \
+               --localstatedir="${EPREFIX}"/var \
+               --enable-fhs-paths \
+               --disable-warnings \
+               --enable-contrib \
+               $(use_enable largenet large-net) \
+               $(use_with cracklib) \
+               $(use_with ldap) \
+               $(use_enable nls) \
+               $(use_enable profile) \
+               $(use_with pcre) \
+               $(use_with perl) \
+               $(use_enable ssl)
+}
+
+src_compile() {
+       emake V=1
+}
+
+src_install() {
+       default
+
+       insinto /etc/${PN}
+       for conf in dist/*.example; do
+               # The .cron file isn't meant to live in /etc/${PN}, so only
+               # install a .example version.
+               [[ ${conf} == *cron* ]] && continue
+
+               local confdest=${conf##*/}
+               newins ${conf} ${confdest%.example}
+       done
+
+       fowners -R 0:${PN} /etc/${PN}
+       keepdir /var/{lib,log}/atheme
+       fowners ${PN}:${PN} /var/{lib,log}/atheme
+       fperms -R go-w,o-rx /etc/${PN}
+       fperms 750 /etc/${PN} /var/{lib,log}/atheme
+
+       newinitd "${FILESDIR}"/${PN}.initd ${PN}
+       mv "${ED}"/usr/bin/{,atheme-}dbverify || die
+
+       # contributed scripts and such:
+       docinto contrib
+       dodoc contrib/*.{c,pl,php,py,rb}
+
+       use perl && perl_domodule -r contrib/Atheme{,.pm}
+
+       rm "${ED%/}/usr/share/doc/${PF}/WINDOWS" || die
+
+       # Bug #454840 #520490
+       rm -rf "${ED%/}/var/run" || die
+}
diff --git a/net-irc/atheme-services/files/atheme-services-7.2.9-configure-logdir.patch b/net-irc/atheme-services/files/atheme-services-7.2.9-configure-logdir.patch
new file mode 100644 (file)
index 0000000..d57af2d
--- /dev/null
@@ -0,0 +1,25 @@
+diff --git a/dist/atheme.conf.example b/dist/atheme.conf.example
+index ac3ed54dd..be1c2db50 100644
+--- a/dist/atheme.conf.example
++++ b/dist/atheme.conf.example
+@@ -1909,17 +1909,17 @@ ldap {
+  * This block logs all account and channel registrations and drops,
+  * and account and channel setting changes to var/account.log.
+  */
+-logfile "var/account.log" { register; set; };
++logfile "/var/log/atheme/account.log" { register; set; };
+ 
+ /*
+  * This block logs all command use to var/commands.log.
+  */
+-logfile "var/commands.log" { commands; };
++logfile "/var/log/atheme/commands.log" { commands; };
+ 
+ /*
+  * This block logs all security auditing information.
+  */
+-logfile "var/audit.log" { denycmd; };
++logfile "/var/log/atheme/audit.log" { denycmd; };
+ 
+ /*
+  * You can log to IRC channels, and even split it by category, too.
diff --git a/net-irc/atheme-services/files/atheme-services-7.2.9-fix-docdir.patch b/net-irc/atheme-services/files/atheme-services-7.2.9-fix-docdir.patch
new file mode 100644 (file)
index 0000000..e7d4bb2
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/extra.mk.in b/extra.mk.in
+index 39053e48a..e47b27246 100644
+--- a/extra.mk.in
++++ b/extra.mk.in
+@@ -82,7 +82,7 @@ libdir ?= @libdir@
+ CFLAGS ?= @CFLAGS@
+ INSTALL_LIB ?= @INSTALL_LIB@
+ RUNDIR ?= @RUNDIR@
+-DOCDIR ?= @DOCDIR@
++DOCDIR ?= @docdir@
+ localstatedir ?= @localstatedir@
+ docdir ?= @docdir@
+ GREP ?= @GREP@
diff --git a/net-irc/atheme-services/files/atheme-services.initd b/net-irc/atheme-services/files/atheme-services.initd
new file mode 100644 (file)
index 0000000..46a8683
--- /dev/null
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+command="/usr/bin/atheme-services"
+command_user="atheme-services"
+pidfile="/var/run/atheme/atheme.pid"
+
+name="Atheme IRC Services"
+
+depend() {
+       need net
+       use ircd
+       provide irc-services
+}
+
+start_pre() {
+       checkpath -d "/var/run/atheme" -o atheme-services
+}
+
+reload() {
+       ebegin "Reloading ${SVCNAME}"
+       start-stop-daemon --signal HUP --pidfile "${pidfile}"
+       eend $?
+}
diff --git a/net-irc/atheme-services/metadata.xml b/net-irc/atheme-services/metadata.xml
new file mode 100644 (file)
index 0000000..1056f0f
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <use>
+               <flag name="cracklib">Enable nickserv/cracklib module for enforcing strong account passwords</flag>
+               <flag name="largenet">Enable support/tweaks for large networks</flag>
+               <flag name="ldap">Enable ldap-backed authentication module</flag>
+               <flag name="perl">Install a perl module which wraps around the services' XML-RPC interface</flag>
+       </use>
+       <maintainer type="person">
+               <email>wadecline@hotmail.com</email>
+               <name>Wade Cline</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+</pkgmetadata>