diff options
-rw-r--r-- | net-irc/inspircd/Manifest | 2 | ||||
-rw-r--r-- | net-irc/inspircd/inspircd-4.2.0.ebuild | 112 |
2 files changed, 114 insertions, 0 deletions
diff --git a/net-irc/inspircd/Manifest b/net-irc/inspircd/Manifest index 30fdf453a438..4e59c68c3ee0 100644 --- a/net-irc/inspircd/Manifest +++ b/net-irc/inspircd/Manifest @@ -4,3 +4,5 @@ DIST inspircd-3.17.1-fix-build-paths.patch.bz2 4689 BLAKE2B ca479cde2278e3605d31 DIST inspircd-3.17.1.tar.gz 881389 BLAKE2B 30e6dc24e8e517a71b3a582c3e2c92ef1e52f8a52e1b4acace79537bbf6ae04f904be0f55a96bc65acdbb386d5fbf80c5fcec88cbbb5f74f4f5f15bdb0ca701c SHA512 ae8699506d32e7c09c1b982baeea36eca520d6be65732976e77695f1ca1768aa070f0ae3b9abf9fd390201021a679ef5478114b66f40e996de6873f3fb83836b DIST inspircd-4.1.0-fix-build-paths.patch.bz2 4814 BLAKE2B baa782ca8b63fb38bc4321057853d608f86da3fbee64f294f5026d147d6605b39d3c1facaf6c772ee1d4996fe3693551355dbe9a2810d8ad46c7762dd1c5181a SHA512 c5ca357e382f68cec2218306c298a20fcf2fca2829087b68150cb67177957c18262cae2ed49a49a52131c3c9bbcd29adefe1cc419f6bc9841f4d4a69044834ec DIST inspircd-4.1.0.tar.gz 1018369 BLAKE2B 07664ac6e1e55d415e495a197549ac54eadfbfe3a62ac74403e661160b8600e16a537a13c3964eaedaf16367d2aefe8ef432aa3f150be07815bd1df229caf045 SHA512 6c7929a7260e13adad6e6646b212b5af070ce0c75f7600d43ccf75e93232e3fbdcf485d14a1debf1581a0508a14a22692d5ea96c7c6cc975b140c2f8b99df7cf +DIST inspircd-4.2.0-fix-build-paths.patch.bz2 4808 BLAKE2B edd76fd6bc27e23fc3a9cb44cd369dd54c88eb9c3eeabd9a5cecd67d6403f75be0a27c931b513aba0f8a32c3927beee87442167a5e176e53308d4def7fc2565a SHA512 afd90a47cdca28c449f1ca04473a3724030edc66a67f1287b9ff6105c34a7e1a38c1938cf53d92246c351d6c7e6e213cd8743c62e23f492a10389d13fe0667f4 +DIST inspircd-4.2.0.tar.gz 1019366 BLAKE2B a41499d0a99b0dfd8bce5d5ccc37b6e680418483256368c59466c05b7bc7d1be868e61817825ad5961558d0b9bd312fd99e6c02c01036ac2af3b323b15d038b9 SHA512 cac23ed23ff29e0116dc42afcb12002a2bbeb663d0ffe07d0e3214b64e9b18dea4ead8abcb2402885f984b4b675f037f1f41719249be22e99bb8f4f628e1981c diff --git a/net-irc/inspircd/inspircd-4.2.0.ebuild b/net-irc/inspircd/inspircd-4.2.0.ebuild new file mode 100644 index 000000000000..52277b7b14ba --- /dev/null +++ b/net-irc/inspircd/inspircd-4.2.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit readme.gentoo-r1 systemd toolchain-funcs + +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd" +HOMEPAGE="https://www.inspircd.org/" +SRC_URI=" + https://github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/clinew/gentoo-distfiles/raw/master/inspircd-${PV}-fix-build-paths.patch.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="argon2 debug gnutls ldap log-json maxminddb mysql pcre2 postgres re2 regex-posix sqlite ssl sslrehashsignal syslog" + +RDEPEND=" + acct-group/inspircd + acct-user/inspircd + dev-lang/perl + argon2? ( app-crypt/argon2 ) + gnutls? ( net-libs/gnutls:= dev-libs/libgcrypt:0 ) + ldap? ( net-nds/openldap:= ) + log-json? ( dev-libs/rapidjson ) + maxminddb? ( dev-libs/libmaxminddb:= ) + mysql? ( dev-db/mysql-connector-c:= ) + pcre2? ( dev-libs/libpcre2 ) + postgres? ( dev-db/postgresql:= ) + re2? ( dev-libs/re2:= ) + sqlite? ( >=dev-db/sqlite-3.0 ) + ssl? ( dev-libs/openssl:= )" +DEPEND="${RDEPEND}" + +DOC_CONTENTS=" + You will find example configuration files under /usr/share/doc/${PN}.\n + Read the ${PN}.conf file carefully before starting the service." +DOCS=( docs/. .configure/apparmor ) +PATCHES=( "${WORKDIR}"/${P}-fix-build-paths.patch ) + +src_configure() { + local extras="" + + use argon2 && extras+="argon2," + use gnutls && extras+="ssl_gnutls," + use ldap && extras+="ldap," + use log-json && extras+="log_json," + use maxminddb && extras+="geo_maxmind," + use mysql && extras+="mysql," + use pcre2 && extras+="regex_pcre2," + use postgres && extras+="pgsql," + use re2 && extras+="regex_re2," + use regex-posix && extras+="regex_posix," + use sqlite && extras+="sqlite3," + use ssl && extras+="ssl_openssl," + use sslrehashsignal && extras+="sslrehashsignal," + use syslog && extras+="log_syslog," + + # The first configuration run enables certain "extra" InspIRCd + # modules, the second run generates the actual makefile. + if [[ -n ${extras} ]]; then + ./configure --enable-extras=${extras%,} || die + fi + + local myconf=( + --disable-auto-extras + --disable-ownership + --system + --uid ${PN} + --gid ${PN} + --binary-dir="/usr/bin" + --data-dir="/var/lib/${PN}/data" + --example-dir="/usr/share/doc/${PV}" + --manual-dir="/usr/share/man" + --module-dir="/usr/$(get_libdir)/${PN}/modules") + CXX="$(tc-getCXX)" ./configure "${myconf[@]}" || die +} + +src_compile() { + emake LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" $(usev debug INSPIRCD_DEBUG=2) INSPIRCD_VERBOSE=1 +} + +src_install() { + default + + insinto "/usr/include/${PN}" + doins -r include/. + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" + systemd_dounit .configure/inspircd.service + + keepdir "/var/log/${PN}" + insinto "/etc/logrotate.d" + newins .configure/logrotate "${PN}" + + diropts -o"${PN}" -g"${PN}" -m0700 + keepdir "/var/lib/${PN}/data" + + readme.gentoo_create_doc + + rmdir "${ED}"/run{/inspircd,} || die +} + +pkg_postinst() { + readme.gentoo_print_elog + if has_version "net-irc/atheme-services"; then + ewarn "Atheme does not work with InspIRCd version 4" + ewarn "See: https://github.com/atheme/atheme/issues/904" + fi +} |