commit:     9279c342dd00309f583aeca078f3aa34124818eb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May 22 21:56:13 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May 22 22:05:36 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9279c342

net-irc/anope: add 2.0.18

Closes: https://bugs.gentoo.org/946191
Closes: https://bugs.gentoo.org/954016
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-irc/anope/Manifest            |   1 +
 net-irc/anope/anope-2.0.18.ebuild | 148 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 149 insertions(+)

diff --git a/net-irc/anope/Manifest b/net-irc/anope/Manifest
index f7f68281ee74..94a360116e97 100644
--- a/net-irc/anope/Manifest
+++ b/net-irc/anope/Manifest
@@ -1 +1,2 @@
 DIST anope-2.0.14.tar.gz 1642605 BLAKE2B 
0c741a0f214a3807dcfaa1a90f63d922549c92904cb632432129ca1f252f182037882b954d4ef3d8d1417d00ebd96de58528a3916aac24a556507872df326408
 SHA512 
0dfa71a8ecd164fb8bf2864ac13969610b8fcd0ec9dea2e65dabc2d8808fe392f966d08dfffce31410344ea5a1ab88d85e9083b4ce25003a699adf0f3649b08d
+DIST anope-2.0.18.tar.gz 1656281 BLAKE2B 
1f2198262344400fc28099623c88f30aebe64c079b89c0819bdf14f14114e4970a3dc380da0c8bda2fd9d516590334c25055703a6f6dd4e4dd325f78ffa9670e
 SHA512 
d3244e2bea305ba94bcd7f9c9c4f571251069e6554678cc0285668e690c6bfb1a314e9a9e405e2a4ed2652373fda1ed863d51b95ca60fc2c97ff0a6a4ebfecc6

diff --git a/net-irc/anope/anope-2.0.18.ebuild 
b/net-irc/anope/anope-2.0.18.ebuild
new file mode 100644
index 000000000000..024185f511e4
--- /dev/null
+++ b/net-irc/anope/anope-2.0.18.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake eapi9-ver
+
+DESCRIPTION="Anope IRC Services"
+HOMEPAGE="https://www.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:= )
+       ssl? ( dev-libs/openssl:= )
+       gnutls? (
+               net-libs/gnutls:=
+               dev-libs/libgcrypt:=
+       )
+       ldap? ( net-nds/openldap:= )
+       pcre? ( dev-libs/libpcre2 )
+       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_pcre2.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/"
+       )
+
+       # https://gitlab.kitware.com/cmake/cmake/-/issues/24237
+       # https://bugs.anope.org/view.php?id=1753
+       unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS 
CMAKE_COLOR_DIAGNOSTICS
+
+       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."
+       elif ver_replacing -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
+}

Reply via email to