blob: 6d6e98e30b0c0774838993fae4408f0f077acac2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2024 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 +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 )
ssl? (
gnutls? ( net-libs/gnutls:= )
!gnutls? (
dev-libs/openssl:0=
)
)
tcpd? ( sys-apps/tcp-wrappers )
zlib? ( sys-libs/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
}
|