summaryrefslogtreecommitdiff
path: root/net-irc/ngircd
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /net-irc/ngircd
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'net-irc/ngircd')
-rw-r--r--net-irc/ngircd/Manifest4
-rw-r--r--net-irc/ngircd/files/ngircd-26.1-configure-getaddrinfo.patch23
-rw-r--r--net-irc/ngircd/files/ngircd-26.1-systemd-unit.patch24
-rw-r--r--net-irc/ngircd/files/ngircd-27-systemd-unit.patch24
-rw-r--r--net-irc/ngircd/files/ngircd.conf1
-rw-r--r--net-irc/ngircd/files/ngircd.conf.d8
-rw-r--r--net-irc/ngircd/files/ngircd.init-r2.d52
-rw-r--r--net-irc/ngircd/metadata.xml22
-rw-r--r--net-irc/ngircd/ngircd-26.1-r5.ebuild124
-rw-r--r--net-irc/ngircd/ngircd-26.1-r6.ebuild131
-rw-r--r--net-irc/ngircd/ngircd-27.ebuild132
11 files changed, 545 insertions, 0 deletions
diff --git a/net-irc/ngircd/Manifest b/net-irc/ngircd/Manifest
new file mode 100644
index 000000000000..8b00622fff05
--- /dev/null
+++ b/net-irc/ngircd/Manifest
@@ -0,0 +1,4 @@
+DIST ngircd-26.1.tar.xz 375812 BLAKE2B 4bd7dae47b579bdfaceee0e3ff1b30ac7c70326cd9d609a128192b1efbec17ac50010cb1bf27f4ca6d921700b7bd8cf3d0e8fb5bc569a84d6a101be10ec5832a SHA512 6333244e3fb2dc00ee9812c8c45990baa95ff473a7037a0a11ca495bed86fa438110ad5151d86b9274b6187d86b7b5712fdca2b74b8cb92f7f66fa10cf1961ee
+DIST ngircd-26.1.tar.xz.sig 310 BLAKE2B 6bf3330387ef01af32c0026e12e5fe5a9a34f5d5fc221a66931312fb70d17832259b94e370ddc49f8834d0d29b9c53b52f11ddec3bfc12655472e046cc569e99 SHA512 c1bbc481dd92e487706fa0b3b18dffd214018946fad8ced77feccc1105a65fcc33c82b0e93529a14ad103ef784da20e3bf86358a8f26cdddeac9f947833d6848
+DIST ngircd-27.tar.xz 377484 BLAKE2B 177bccf689690799cb746934c67c5efac31fbc73aa74d678ce6f542dd1c6651b36ad74b84ae59f06f47f24478a9bfc1a5834fc159e980eced3a50507dbd1898c SHA512 d653e0f430bc27485780c9492038622a850be9b910993d625cec4045f0d9973e448a39949c576450598e2cd923b377304ba987a6330f3fcdc42978e8a30334b8
+DIST ngircd-27.tar.xz.sig 566 BLAKE2B 43c03f65f8ddd40c51390afd27359a3fba379aff529c586ccfc8e5ea434af0e128a199a2a2bc8e64c61979f9adb6921655d72ddbb7837a169385f9dca6b3dfe0 SHA512 e759bb199d001be2dab1b292d8fdaf09fd4f32e8345e35ef4ad0f381141f95b1ef2efb5dbb7958c4aefe758c30dc349d3dffef36c6f4cdb2414a6b958d4c0389
diff --git a/net-irc/ngircd/files/ngircd-26.1-configure-getaddrinfo.patch b/net-irc/ngircd/files/ngircd-26.1-configure-getaddrinfo.patch
new file mode 100644
index 000000000000..3d6bff5bf54b
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd-26.1-configure-getaddrinfo.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/946998
+
+configure report getaddrinfo not works because of stricter compiler check:
+ configure:6303: x86_64-pc-linux-gnu-gcc -o conftest -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -DSYSCONFDIR='"$(sysconfdir)"' -DDOCDIR='"$(docdir)"' conftest.c >&5
+ conftest.c: In function 'main':
+ conftest.c:99:9: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
+
+configure.ac still use de-ANSI-fication (which is only available in old
+automake) in order to support old systems. So we can't patch configure.ac
+and run eautoreconf. see https://github.com/ngircd/ngircd/issues/261
+
+diff --git a/configure b/configure
+index e4023a3..9337a85 100755
+--- a/configure
++++ b/configure
+@@ -6283,6 +6283,7 @@ else
+ /* end confdefs.h. */
+
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netdb.h>
diff --git a/net-irc/ngircd/files/ngircd-26.1-systemd-unit.patch b/net-irc/ngircd/files/ngircd-26.1-systemd-unit.patch
new file mode 100644
index 000000000000..f15025cc4856
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd-26.1-systemd-unit.patch
@@ -0,0 +1,24 @@
+diff --git a/contrib/ngircd.service b/contrib/ngircd.service
+index e4c30e2..ba1b513 100644
+--- a/contrib/ngircd.service
++++ b/contrib/ngircd.service
+@@ -12,8 +12,8 @@ Before=bopm.service
+
+ [Service]
+ Type=forking
+-User=irc
+-Group=irc
++User=ngircd
++Group=ngircd
+ # Settings & limits:
+ CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
+ MemoryDenyWriteExecute=yes
+@@ -27,7 +27,7 @@ ProtectKernelTunables=yes
+ ProtectSystem=full
+ RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
+ RestrictRealtime=yes
+-RuntimeDirectory=ircd
++RuntimeDirectory=ngircd
+ RuntimeDirectoryMode=750
+ # Try to load "default files" from any Debian package variant to keep this
+ # unit generic.
diff --git a/net-irc/ngircd/files/ngircd-27-systemd-unit.patch b/net-irc/ngircd/files/ngircd-27-systemd-unit.patch
new file mode 100644
index 000000000000..22f203f997b9
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd-27-systemd-unit.patch
@@ -0,0 +1,24 @@
+diff --git a/contrib/ngircd.service b/contrib/ngircd.service
+index 311bc0d..0191034 100644
+--- a/contrib/ngircd.service
++++ b/contrib/ngircd.service
+@@ -12,8 +12,8 @@ Before=bopm.service hopm.service
+
+ [Service]
+ Type=notify
+-User=irc
+-Group=irc
++User=ngircd
++Group=ngircd
+ # Settings & limits:
+ CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
+ MemoryDenyWriteExecute=yes
+@@ -27,7 +27,7 @@ ProtectKernelTunables=yes
+ ProtectSystem=full
+ RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
+ RestrictRealtime=yes
+-RuntimeDirectory=ircd
++RuntimeDirectory=ngircd
+ RuntimeDirectoryMode=750
+ StandardError=journal
+ StandardOutput=journal
diff --git a/net-irc/ngircd/files/ngircd.conf b/net-irc/ngircd/files/ngircd.conf
new file mode 100644
index 000000000000..e9993a3430ef
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd.conf
@@ -0,0 +1 @@
+d /run/ngircd 0755 ngircd ngircd -
diff --git a/net-irc/ngircd/files/ngircd.conf.d b/net-irc/ngircd/files/ngircd.conf.d
new file mode 100644
index 000000000000..6088e5dae69a
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd.conf.d
@@ -0,0 +1,8 @@
+# Configuration file
+#NGIRCD_CONFIGFILE="/etc/ngircd/ngircd.conf"
+
+# PID file
+#NGIRCD_PIDFILE="/var/run/ngircd/ngircd.pid"
+
+# Options for ngircd
+#NGIRCD_OPTS="-d -s"
diff --git a/net-irc/ngircd/files/ngircd.init-r2.d b/net-irc/ngircd/files/ngircd.init-r2.d
new file mode 100644
index 000000000000..1a54154ff417
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd.init-r2.d
@@ -0,0 +1,52 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="configtest"
+extra_started_commands="reload"
+
+description="IRC server"
+description_configtest="Run ngircd's internal config check."
+description_reload="Reload the ngircd's configuration."
+
+: ${NGIRCD_CONFIGFILE:=/etc/ngircd/${RC_SVCNAME}.conf}
+
+command="/usr/sbin/ngircd"
+command_args="${NGIRCD_OPTS} -f \"${NGIRCD_CONFIGFILE}\""
+command_args_foreground="-n"
+command_user="ngircd:ngircd"
+pidfile="${NGIRCD_PIDFILE:-/var/run/ngircd/${RC_SVCNAME}.pid}"
+
+depend() {
+ need net
+ use logger
+ provide ircd
+}
+
+start_pre() {
+ checkpath -f "${pidfile}" -o ${command_user} || return 1
+ if [ "${RC_CMD}" != "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+reload() {
+ configtest || return 1
+ ebegin "Refreshing ${RC_SVCNAME}'s configuration"
+ start-stop-daemon --signal SIGHUP --pidfile "${pidfile}"
+ eend $? "Failed to reload ${RC_SVCNAME}"
+}
+
+configtest() {
+ ebegin "Checking ${RC_SVCNAME}'s configuration"
+ # "press enter to continue"
+ echo | ${command} -f "${NGIRCD_CONFIGFILE}" -t >/dev/null
+
+ eend $? "failed, please correct errors in the config file"
+}
diff --git a/net-irc/ngircd/metadata.xml b/net-irc/ngircd/metadata.xml
new file mode 100644
index 000000000000..5c9810c721a8
--- /dev/null
+++ b/net-irc/ngircd/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>zhixu.liu@gmail.com</email>
+ <name>Z. Liu</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="ident">Enables support for <pkg>net-libs/libident</pkg>
+ </flag>
+ <flag name="irc-plus">Enables support for the IRC+ protocol (needs <pkg>virtual/libiconv</pkg>)</flag>
+ <flag name="strict-rfc">Strict RFC compliance; may harm compatibility</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:barton:ngircd</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/net-irc/ngircd/ngircd-26.1-r5.ebuild b/net-irc/ngircd/ngircd-26.1-r5.ebuild
new file mode 100644
index 000000000000..705c703043fb
--- /dev/null
+++ b/net-irc/ngircd/ngircd-26.1-r5.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alexbarton.asc
+inherit tmpfiles systemd verify-sig
+
+DESCRIPTION="An IRC server written from scratch"
+HOMEPAGE="https://ngircd.barton.de/"
+SRC_URI="https://arthur.barton.de/pub/${PN}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://arthur.barton.de/pub/${PN}/${P}.tar.xz.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86 ~x64-macos"
+IUSE="debug gnutls ident irc-plus +ipv6 pam selinux +ssl strict-rfc tcpd test zlib"
+
+# Flaky test needs investigation (bug #719256)
+RESTRICT="test"
+
+RDEPEND="
+ acct-user/ngircd
+ irc-plus? ( virtual/libiconv )
+ ident? ( net-libs/libident )
+ pam? ( sys-libs/pam )
+ selinux? ( sec-policy/selinux-ircd )
+ ssl? (
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ zlib? ( virtual/zlib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-tcltk/expect
+ net-misc/netkit-telnetd
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-alexbarton-20241211 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-26.1-systemd-unit.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use prefix ; then
+ sed -i \
+ -e "/;ServerUID = /s/65534/ngircd/" \
+ -e "/;ServerGID = /s/65534/ngircd/" \
+ doc/sample-ngircd.conf.tmpl || die
+ fi
+
+ # Make pidfiles work out-of-the-box
+ sed -i \
+ -e "/;PidFile = /s/;//" \
+ -e "/;ServerUID = /s/;//" \
+ -e "/;ServerGID = /s/;//" \
+ doc/sample-ngircd.conf.tmpl || die
+
+ # Note that if we need to use automake, we need a certain version (for now):
+ # https://github.com/ngircd/ngircd/issues/261
+ # WANT_AUTOMAKE=1.11
+ # eautomake
+}
+
+src_configure() {
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/${PN}
+
+ $(use_enable debug sniffer)
+ $(use_enable debug)
+ $(use_enable irc-plus ircplus)
+ $(use_enable ipv6)
+ $(use_enable strict-rfc)
+ $(use_with irc-plus iconv)
+ $(use_with ident)
+ $(use_with pam)
+ $(use_with tcpd tcp-wrappers)
+ $(use_with zlib)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ myeconfargs+=(
+ $( use_with gnutls )
+ )
+ else
+ myeconfargs+=(
+ $( use_with !gnutls openssl )
+ )
+ fi
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ fowners ngircd:ngircd /etc/ngircd/ngircd.conf
+
+ newinitd "${FILESDIR}"/ngircd.init-r2.d ngircd
+ newconfd "${FILESDIR}"/ngircd.conf.d ngircd
+
+ systemd_dounit contrib/ngircd.{service,socket}
+
+ dotmpfiles "${FILESDIR}"/ngircd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] && use pam ; then
+ elog "ngircd will use PAMIsOptionalPAM by default, please change this option."
+ elog "You may not be able to login until you change this."
+ fi
+
+ tmpfiles_process ngircd.conf
+}
diff --git a/net-irc/ngircd/ngircd-26.1-r6.ebuild b/net-irc/ngircd/ngircd-26.1-r6.ebuild
new file mode 100644
index 000000000000..e0041b48fdb7
--- /dev/null
+++ b/net-irc/ngircd/ngircd-26.1-r6.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alexbarton.asc
+inherit tmpfiles systemd verify-sig
+
+DESCRIPTION="An IRC server written from scratch"
+HOMEPAGE="https://ngircd.barton.de/"
+SRC_URI="https://arthur.barton.de/pub/${PN}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://arthur.barton.de/pub/${PN}/${P}.tar.xz.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86 ~x64-macos"
+IUSE="debug gnutls ident +irc-plus +ipv6 pam selinux +ssl strict-rfc tcpd test zlib"
+
+# Flaky test needs investigation (bug #719256)
+RESTRICT="test"
+
+RDEPEND="
+ acct-user/ngircd
+ irc-plus? ( virtual/libiconv )
+ ident? ( net-libs/libident )
+ pam? ( sys-libs/pam )
+ selinux? ( sec-policy/selinux-ircd )
+ ssl? (
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ zlib? ( virtual/zlib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-tcltk/expect
+ net-misc/netkit-telnetd
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-alexbarton-20241211 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-26.1-systemd-unit.patch
+ "${FILESDIR}"/${PN}-26.1-configure-getaddrinfo.patch # XXX #946998 PLEASE CHECK PER RELEASE
+)
+
+src_prepare() {
+ default
+
+ if ! use prefix ; then
+ sed -i \
+ -e "/;ServerUID = /s/65534/ngircd/" \
+ -e "/;ServerGID = /s/65534/ngircd/" \
+ doc/sample-ngircd.conf.tmpl || die
+ fi
+
+ # Make pidfiles work out-of-the-box
+ sed -i \
+ -e "/;PidFile = /s/;//" \
+ -e "/;ServerUID = /s/;//" \
+ -e "/;ServerGID = /s/;//" \
+ doc/sample-ngircd.conf.tmpl || die
+
+ # Note that if we need to use automake, we need a certain version (for now):
+ # https://github.com/ngircd/ngircd/issues/261
+ # WANT_AUTOMAKE=1.11
+ # eautomake
+}
+
+src_configure() {
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/${PN}
+
+ $(use_enable debug sniffer)
+ $(use_enable debug)
+ $(use_enable irc-plus ircplus)
+ $(use_enable ipv6)
+ $(use_enable strict-rfc)
+ $(use_with irc-plus iconv)
+ $(use_with ident)
+ $(use_with pam)
+ $(use_with tcpd tcp-wrappers)
+ $(use_with zlib)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ myeconfargs+=(
+ $( use_with gnutls )
+ )
+ else
+ myeconfargs+=(
+ $( use_with !gnutls openssl )
+ )
+ fi
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ fowners root:ngircd /etc/ngircd/{,ngircd.conf}
+ fperms 0750 /etc/ngircd/
+ fperms 0640 /etc/ngircd/ngircd.conf
+
+ newinitd "${FILESDIR}"/ngircd.init-r2.d ngircd
+ newconfd "${FILESDIR}"/ngircd.conf.d ngircd
+
+ systemd_dounit contrib/ngircd.{service,socket}
+
+ dotmpfiles "${FILESDIR}"/ngircd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] && use pam ; then
+ elog "ngircd will use PAMIsOptionalPAM by default, please change this option."
+ elog "You may not be able to login until you change this."
+ fi
+
+ if ! use irc-plus ; then
+ ewarn "server-login-test occasional failure had been reported. Upstream suggests"
+ ewarn "to enable ircplus by default. See Gentoo bug #719256. You have been warned."
+ fi
+ tmpfiles_process ngircd.conf
+}
diff --git a/net-irc/ngircd/ngircd-27.ebuild b/net-irc/ngircd/ngircd-27.ebuild
new file mode 100644
index 000000000000..2243c041dfc2
--- /dev/null
+++ b/net-irc/ngircd/ngircd-27.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alexbarton.asc
+inherit flag-o-matic tmpfiles systemd verify-sig
+
+DESCRIPTION="An IRC server written from scratch"
+HOMEPAGE="https://ngircd.barton.de/"
+SRC_URI="https://arthur.barton.de/pub/${PN}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://arthur.barton.de/pub/${PN}/${P}.tar.xz.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86 ~x64-macos"
+IUSE="debug gnutls ident +irc-plus +ipv6 pam selinux +ssl strict-rfc tcpd test zlib"
+
+# Flaky test needs investigation (bug #719256)
+RESTRICT="test"
+
+RDEPEND="
+ acct-user/ngircd
+ irc-plus? ( virtual/libiconv )
+ ident? ( net-libs/libident )
+ pam? ( sys-libs/pam )
+ selinux? ( sec-policy/selinux-ircd )
+ ssl? (
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ zlib? ( virtual/zlib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-tcltk/expect
+ net-misc/netkit-telnetd
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-alexbarton-20241211 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-27-systemd-unit.patch
+ "${FILESDIR}"/${PN}-26.1-configure-getaddrinfo.patch # XXX #946998 PLEASE CHECK PER RELEASE
+)
+
+src_prepare() {
+ default
+
+ if ! use prefix ; then
+ sed -i \
+ -e "/;ServerUID = /s/65534/ngircd/" \
+ -e "/;ServerGID = /s/65534/ngircd/" \
+ doc/sample-ngircd.conf.tmpl || die
+ fi
+
+ # Make pidfiles work out-of-the-box
+ sed -i \
+ -e "/;PidFile = /s/;//" \
+ -e "/;ServerUID = /s/;//" \
+ -e "/;ServerGID = /s/;//" \
+ doc/sample-ngircd.conf.tmpl || die
+
+ # Note that if we need to use automake, we need a certain version (for now):
+ # https://github.com/ngircd/ngircd/issues/261
+ # WANT_AUTOMAKE=1.11
+ # eautomake
+}
+
+src_configure() {
+ append-cppflags -DPROTOTYPES # fix c23
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/${PN}
+
+ $(use_enable debug sniffer)
+ $(use_enable debug)
+ $(use_enable irc-plus ircplus)
+ $(use_enable ipv6)
+ $(use_enable strict-rfc)
+ $(use_with irc-plus iconv)
+ $(use_with ident)
+ $(use_with pam)
+ $(use_with tcpd tcp-wrappers)
+ $(use_with zlib)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ myeconfargs+=(
+ $( use_with gnutls )
+ )
+ else
+ myeconfargs+=(
+ $( use_with !gnutls openssl )
+ )
+ fi
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ fowners root:ngircd /etc/ngircd/{,ngircd.conf}
+ fperms 0750 /etc/ngircd/
+ fperms 0640 /etc/ngircd/ngircd.conf
+
+ newinitd "${FILESDIR}"/ngircd.init-r2.d ngircd
+ newconfd "${FILESDIR}"/ngircd.conf.d ngircd
+
+ systemd_dounit contrib/ngircd.{service,socket}
+
+ dotmpfiles "${FILESDIR}"/ngircd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] && use pam ; then
+ elog "ngircd will use PAMIsOptionalPAM by default, please change this option."
+ elog "You may not be able to login until you change this."
+ fi
+
+ if ! use irc-plus ; then
+ ewarn "server-login-test occasional failure had been reported. Upstream suggests"
+ ewarn "to enable ircplus by default. See Gentoo bug #719256. You have been warned."
+ fi
+ tmpfiles_process ngircd.conf
+}