diff options
Diffstat (limited to 'net-irc/anope')
-rw-r--r-- | net-irc/anope/Manifest | 2 | ||||
-rw-r--r-- | net-irc/anope/anope-2.0.9.ebuild | 152 |
2 files changed, 154 insertions, 0 deletions
diff --git a/net-irc/anope/Manifest b/net-irc/anope/Manifest index d52055042450..2eeb2fb2fd21 100644 --- a/net-irc/anope/Manifest +++ b/net-irc/anope/Manifest @@ -4,5 +4,7 @@ AUX anope-2.0.7-musl-libintl.patch 566 BLAKE2B 7deb854a68c259c9055a086fbb33a63d0 AUX anope-conf.d-v2 344 BLAKE2B 8817bba9938aa03abf79e61b86ddde537c6ec68b6584074e1f9bc50fe8334c5d0135ca17551390618f60b26d93f0209789b9337879dbecdcb4fced3d2bb88b3b SHA512 ae1851ccaa128404f3a721c92571ae3c4e0efd18c318485594f87da565b2de505ee9ace580b5d1c4ce4a7b53a4eba8338874195ca3a2cbc415ab6facdb3c9d7a AUX anope-init.d 724 BLAKE2B afe0abfaebf66408ecc1a3c99fdb5795898559551700073078f9352f2ada8ba5bc90fc1a8b5e4779bd132606d9297c19fd418db02d8a26b6629da675f6fc0d8c SHA512 e058ccfb4a44238cd1540704f130207236be71799d0a5f4678638d313d958b10dfc5de9cd515f18ccdd9faf41dc93eaf33b5f4013f534efec00adc401a2cb97c DIST anope-2.0.7-source.tar.gz 1817484 BLAKE2B 13a4628db8cb885d4636ab1897aab322f7846740e4a3fccd02a417d84a8eb3c942aebf5e0a51f8ca1108f455b44b4e280e7386b42e03f640c9b0e68943252814 SHA512 22a9f3e0d9fe7f68304062829a19b693a3414f94c90f8da601ab98995cbff7310dc22ca40749d50d6722dfb4649817d2f4b1dbe4afa3254b28980f03a491de65 +DIST anope-2.0.9.tar.gz 1808866 BLAKE2B db5755dbb88edb9fcc2f00c1dc324894f22b9e6bc97c9cf57b40d2296014341fe3ade8a8e1b64879b852aef6637e1bb89947deb7a41e009e25101a0a992515e7 SHA512 0ce2caa5ede2831215781a333d896f1169f90bbb515078912f32beaff1699b7957384974cca7c86f1d584d624cb43c76769299ce245ee1fb6836ce7f14ada3e0 EBUILD anope-2.0.7.ebuild 4305 BLAKE2B 0bfc78a17737d333768066bb5182f2a426f62c5e4de7559226b76aa81a7d7bf6ed1e4ec7748832569d4725f6d0107d4dabfa8ce2110d263fcc4996c850683808 SHA512 d2134d165f68f718c1e60a0056a89dfb346c12e6c2ebb363cd688d50e792860c8292008b2e6020350cac769a3ac0cea51e22a5dffdcedf95a1e735b4857a038a +EBUILD anope-2.0.9.ebuild 4210 BLAKE2B 8f554e429a39b4fb172f019ab40c358291f853643721c08e9b5f8f65404e1045e7ceafcfec4c255e06a98babfa93feccb09a4fae5302d850e2ef56d4745114ff SHA512 6cc30d1d3d2aab3dfaa0260e866ccb99adcff5807ad0f1a7e119e08b43bb515870c76c6382a17d93df788f4b688dffe8e30e2fd3dbbe16274e7b40829df276bf MISC metadata.xml 901 BLAKE2B 0051a2f196c30f3fddfaae55dc660140a77d8b636454230473107af38f9e54cc059fa012516b07b86d1667bcfaf6fdeec6005de95c48b1b832ebd22826c03210 SHA512 f8271f6ece0d7f9488f317d8f4f8bdc8813521d15a603ea81445e109792ed5720319529f5c5527a902ff323151f4a58fbf62a83110104ce270ae5d96ec154ef6 diff --git a/net-irc/anope/anope-2.0.9.ebuild b/net-irc/anope/anope-2.0.9.ebuild new file mode 100644 index 000000000000..d7c7c0caf699 --- /dev/null +++ b/net-irc/anope/anope-2.0.9.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2020 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 ) )" + +BDEPEND="sys-devel/gettext" +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}" + +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. + elog + 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." + elog + 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 +} |