blob: e97a100417099009b3bc4926332d92428ba6cefc (
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
131
132
133
134
135
136
137
138
139
140
141
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/unrealircd-3.2.7-r2.ebuild,v 1.5 2009/06/06 21:29:01 cla Exp $
inherit eutils ssl-cert versionator multilib
MY_P=Unreal${PV}
DESCRIPTION="aimed to be an advanced (not easy) IRCd"
HOMEPAGE="http://www.unrealircd.com/"
SRC_URI="http://unreal.brueggisite.de/${MY_P}.tar.gz
http://www.blurryfox.com/unreal/${MY_P}.tar.gz
mirror://gentoo/${MY_P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~mips ppc sparc x86 ~x86-fbsd"
IUSE="hub ipv6 ssl zlib curl prefixaq showlistmodes"
RDEPEND="ssl? ( dev-libs/openssl )
zlib? ( sys-libs/zlib )
curl? ( net-misc/curl )"
DEPEND="${RDEPEND}
>=sys-apps/sed-4"
S="${WORKDIR}/Unreal${PV}"
pkg_setup() {
if use curl && ( ! built_with_use net-misc/curl ares || built_with_use net-misc/curl ipv6 )
then
eerror "You need net-misc/curl compiled with the ares USE flag to be able to use"
eerror "net-irc/unrealircd with the curl USE flag. Please note that ares support"
eerror "for net-misc/curl is incompatible with the ipv6 USE flag."
die "need net-misc/curl with ares support"
fi
enewuser unrealircd
}
src_unpack() {
unpack ${A}
cd "${S}"
sed -i \
-e "s:ircd\.pid:/var/run/unrealircd/ircd.pid:" \
-e "s:ircd\.log:/var/log/unrealircd/ircd.log:" \
-e "s:debug\.log:/var/log/unrealircd/debug.log:" \
-e "s:ircd\.tune:/var/lib/unrealircd/ircd.tune:" \
include/config.h
}
src_compile() {
local myconf=""
use curl && myconf="${myconf} --enable-libcurl=/usr"
use ipv6 && myconf="${myconf} --enable-inet6"
use zlib && myconf="${myconf} --enable-ziplinks"
use hub && myconf="${myconf} --enable-hub"
use ssl && myconf="${myconf} --enable-ssl"
use prefixaq && myconf="${myconf} --enable-prefixaq"
use showlistmodes && myconf="${myconf} --with-showlistmodes"
econf \
--with-listen=5 \
--with-dpath="${D}"/etc/unrealircd \
--with-spath=/usr/bin/unrealircd \
--with-nick-history=2000 \
--with-sendq=3000000 \
--with-bufferpool=18 \
--with-hostname=$(hostname -f) \
--with-permissions=0600 \
--with-fd-setsize=1024 \
--enable-dynamic-linking \
${myconf} \
|| die "econf failed"
sed -i \
-e "s:${D}::" \
include/setup.h \
ircdcron/ircdchk
emake MAKE=make IRCDDIR=/etc/unrealircd || die "emake failed"
}
src_install() {
keepdir /var/{lib,log,run}/unrealircd
newbin src/ircd unrealircd
exeinto /usr/$(get_libdir)/unrealircd/modules
doexe src/modules/*.so
dodir /etc/unrealircd
dosym /var/lib/unrealircd /etc/unrealircd/tmp
insinto /etc/unrealircd
doins {badwords.*,help,spamfilter,dccallow}.conf
newins doc/example.conf unrealircd.conf
insinto /etc/unrealircd/aliases
doins aliases/*.conf
insinto /etc/unrealircd/networks
doins networks/*.network
sed -i \
-e s:src/modules:/usr/$(get_libdir)/unrealircd/modules: \
-e s:ircd\\.log:/var/log/unrealircd/ircd.log: \
"${D}"/etc/unrealircd/unrealircd.conf
dodoc \
Changes Donation Unreal.nfo networks/makenet \
ircdcron/{ircd.cron,ircdchk} \
|| die "dodoc failed"
dohtml doc/*.html
newinitd "${FILESDIR}"/unrealircd.rc unrealircd
newconfd "${FILESDIR}"/unrealircd.confd unrealircd
fperms 700 /etc/unrealircd
chown -R unrealircd "${D}"/{etc,var/{lib,log,run}}/unrealircd
}
pkg_postinst() {
# Move docert call from scr_install() to install_cert in pkg_postinst for
# bug #201682
use ssl && \
if [[ ! -f "${ROOT}"/etc/unrealircd/server.cert.key ]]; then
install_cert /etc/unrealircd/server.cert
chown unrealircd "${ROOT}"/etc/unrealircd/server.cert.*
ln -snf server.cert.key "${ROOT}"/etc/unrealircd/server.key.pem
fi
elog
elog "UnrealIRCd will not run until you've set up /etc/unrealircd/unrealircd.conf"
elog
elog "You can find example cron scripts here:"
elog " /usr/share/doc/${PF}/"
elog " /usr/share/doc/${PF}/"
elog
elog "You can also use /etc/init.d/unrealircd to start at boot"
elog
}
|