summaryrefslogtreecommitdiff
path: root/net-irc/anope
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/anope')
-rw-r--r--net-irc/anope/Manifest2
-rw-r--r--net-irc/anope/anope-2.0.10.ebuild150
2 files changed, 152 insertions, 0 deletions
diff --git a/net-irc/anope/Manifest b/net-irc/anope/Manifest
index 37c70442e646..6081879d1bab 100644
--- a/net-irc/anope/Manifest
+++ b/net-irc/anope/Manifest
@@ -2,6 +2,8 @@ AUX anope-2.0.6-example.conf-pid-path.patch 521 BLAKE2B 4fb40f4913c41a2fa1925707
AUX anope-2.0.7-example.conf-user.patch 391 BLAKE2B 781e413ef79a7ca601710957b519fb3038bb71e45960cf000afa837a8a8a3f71458390bab1323ae85fc601f143725a45d3a0a7b9c9aca8b530805c459d70b39c SHA512 13f0eb0dfc5f18a4621e2812aad418cab1f5a0cb70ff2f915bd4df2ac896b441f24e64014e218d473c5be92d4be7a5f83e4804e92610c2ef35e46ded229bd6a4
AUX anope-conf.d-v2 344 BLAKE2B 8817bba9938aa03abf79e61b86ddde537c6ec68b6584074e1f9bc50fe8334c5d0135ca17551390618f60b26d93f0209789b9337879dbecdcb4fced3d2bb88b3b SHA512 ae1851ccaa128404f3a721c92571ae3c4e0efd18c318485594f87da565b2de505ee9ace580b5d1c4ce4a7b53a4eba8338874195ca3a2cbc415ab6facdb3c9d7a
AUX anope-init.d 724 BLAKE2B afe0abfaebf66408ecc1a3c99fdb5795898559551700073078f9352f2ada8ba5bc90fc1a8b5e4779bd132606d9297c19fd418db02d8a26b6629da675f6fc0d8c SHA512 e058ccfb4a44238cd1540704f130207236be71799d0a5f4678638d313d958b10dfc5de9cd515f18ccdd9faf41dc93eaf33b5f4013f534efec00adc401a2cb97c
+DIST anope-2.0.10.tar.gz 1809378 BLAKE2B d10323ace767aff19194f7cff353aecbced6122ef72d379d050c8dab3c7013adf6b3e649ffd95edc03bc8ca4873f60ad84991ef0f5c9c454b27ec0eda29edc6d SHA512 2a0e4f14a275a6b986fd224449dddd66584de92509770311262076bd659ba0bbd6e2726fc7a22a6edef57ade5268756ac0c56e6f220fb953ed83e72017d1c67b
DIST anope-2.0.9.tar.gz 1808866 BLAKE2B db5755dbb88edb9fcc2f00c1dc324894f22b9e6bc97c9cf57b40d2296014341fe3ade8a8e1b64879b852aef6637e1bb89947deb7a41e009e25101a0a992515e7 SHA512 0ce2caa5ede2831215781a333d896f1169f90bbb515078912f32beaff1699b7957384974cca7c86f1d584d624cb43c76769299ce245ee1fb6836ce7f14ada3e0
+EBUILD anope-2.0.10.ebuild 4192 BLAKE2B 8f671a4adf8484efb63864dc5aa63ed72a3994fbdc553fa9887a2de2eddb223a599e11884717a71878abdd2cad1d385029f77940855e129ec07a41019f85a934 SHA512 6a72ea93935be5cd6e259a60ccbdf9856bfa18e2c55a196e22b6517bffc3e88b3f5a5140b8d3af41380c92ef0c82ba2c63bae97726ca363695ce03e652cf7c1e
EBUILD anope-2.0.9.ebuild 4208 BLAKE2B 2151b5481c62b9e5f82c77e3bbc43311822769dfc669a8486c94bc653b344bf6254d6be6121c39202d83de9743a406be26780b0a1406a1bc8c8bea8c93172aec SHA512 d2a54a36e19fe66a8e0d67a223822c7a40c85ec60f95563f6674d0a03b65ee394a9ca63c9d0301ba5c3481e363dcc49e206688af493fff9bedd951843ba68af2
MISC metadata.xml 901 BLAKE2B 0051a2f196c30f3fddfaae55dc660140a77d8b636454230473107af38f9e54cc059fa012516b07b86d1667bcfaf6fdeec6005de95c48b1b832ebd22826c03210 SHA512 f8271f6ece0d7f9488f317d8f4f8bdc8813521d15a603ea81445e109792ed5720319529f5c5527a902ff323151f4a58fbf62a83110104ce270ae5d96ec154ef6
diff --git a/net-irc/anope/anope-2.0.10.ebuild b/net-irc/anope/anope-2.0.10.ebuild
new file mode 100644
index 000000000000..b9938645cb92
--- /dev/null
+++ b/net-irc/anope/anope-2.0.10.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Anope IRC Services"
+HOMEPAGE="https://anope.org/ https://github.com/anope/anope/"
+SRC_URI="https://github.com/anope/anope/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="gnutls ldap mysql pcre sql sqlite ssl tre"
+REQUIRED_USE="sql? ( || ( mysql sqlite ) )"
+
+DEPEND="
+ acct-group/anope
+ acct-user/anope
+ mysql? ( dev-db/mysql-connector-c:0= )
+ ssl? ( dev-libs/openssl:0= )
+ gnutls? (
+ net-libs/gnutls:0=
+ dev-libs/libgcrypt:0=
+ )
+ ldap? ( net-nds/openldap )
+ pcre? ( dev-libs/libpcre )
+ sqlite? ( dev-db/sqlite:3 )
+ tre? ( dev-libs/tre )
+ virtual/libintl
+"
+RDEPEND="${DEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.6-example.conf-pid-path.patch"
+ "${FILESDIR}/${PN}-2.0.7-example.conf-user.patch"
+)
+
+src_prepare() {
+ anope_enable_mod() {
+ local modulefile=${1}
+ ln -s "extra/${modulefile}" "modules/" || \
+ die "Failed to use ${modulefile}"
+ }
+
+ # These all require MySQL specifically
+ if use mysql ; then
+ anope_enable_mod "m_mysql.cpp"
+ anope_enable_mod "stats/irc2sql/irc2sql.cpp"
+ anope_enable_mod "stats/irc2sql/irc2sql.h"
+ anope_enable_mod "stats/irc2sql/tables.cpp"
+ anope_enable_mod "stats/irc2sql/utils.cpp"
+ anope_enable_mod "stats/m_chanstats.cpp"
+ anope_enable_mod "stats/cs_fantasy_top.cpp"
+ anope_enable_mod "stats/cs_fantasy_stats.cpp"
+ anope_enable_mod "m_sql_log.cpp"
+ anope_enable_mod "m_sql_oper.cpp"
+ fi
+
+ use sqlite && anope_enable_mod "m_sqlite.cpp"
+
+ # Any SQL implementation
+ if use sql ; then
+ anope_enable_mod "m_sql_authentication.cpp"
+ fi
+
+ if use ldap ; then
+ anope_enable_mod "m_ldap.cpp"
+ anope_enable_mod "m_ldap_authentication.cpp"
+ anope_enable_mod "m_ldap_oper.cpp"
+ fi
+
+ use gnutls && anope_enable_mod "m_ssl_gnutls.cpp"
+ use pcre && anope_enable_mod "m_regex_pcre.cpp"
+ use ssl && anope_enable_mod "m_ssl_openssl.cpp"
+ use tre && anope_enable_mod "m_regex_tre.cpp"
+
+ # Unconditional modules
+ anope_enable_mod "m_regex_posix.cpp"
+
+ # Avoid a silly sandbox error - tries to delete /usr/lib/modules
+ sed -i '/install.*REMOVE_RECURSE.*/d' CMakeLists.txt || die
+
+ # Copy anope.conf for fixup to comply w/ prefix
+ cp "${FILESDIR}"/anope-conf.d-v2 "${T}" || die
+
+ # Look in the right place for modules
+ sed -i "s~%LIBDIR%~${EPREFIX}/usr/$(get_libdir)/anope/~" \
+ "${T}"/anope-conf.d-v2 || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBIN_DIR="libexec/anope"
+ -DDB_DIR="../var/lib/anope"
+ -DDOC_DIR="share/doc/${PF}"
+ -DLIB_DIR="$(get_libdir)/anope"
+ -DLOCALE_DIR="share/locale"
+ -DCONF_DIR="/etc/anope"
+ -DLOGS_DIR="../var/log/anope/"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ newinitd "${FILESDIR}"/anope-init.d ${PN}
+ newconfd "${T}"/anope-conf.d-v2 ${PN}
+
+ dosym ../libexec/anope/services /usr/bin/services
+ dosym ../libexec/anope/anopesmtp /usr/bin/anopesmtp
+
+ keepdir /var/log/anope /var/lib/anope/backups
+ fowners anope:anope /var/{lib,log}/anope /var/lib/anope/backups
+
+ dodoc -r docs/* data/example.conf
+
+ insinto /etc/anope
+ newins data/example.conf services.conf
+
+ fowners anope:anope /var/log/anope
+ fowners anope:anope /var/lib/anope/backups/
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # Only tell them about this on a fresh install.
+ 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."
+ else
+ # We're replacing some versions. Find out which.
+ local ver
+ for ver in "${REPLACING_VERSIONS}" ; do
+ if ver_test ${ver} -lt 2.0.7 ; then
+ # In this version, we introduced correct FHS structure
+ # We need the users to make some changes to their services.conf
+ ewarn "Please modify your services.conf to include the following directive:"
+ ewarn "in options{}, please include user=\"anope\" and group=\"anope\""
+ ewarn "This is needed because Anope now starts as root and drops down."
+ ewarn "Reference: https://wiki.anope.org/index.php/2.0/Configuration#Services_Process_Options"
+ fi
+ done
+ fi
+}