Files
@ 9d20611b5e6c
Branch filter:
Location: ohnobinki_overlay/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild
9d20611b5e6c
5.4 KiB
application/vnd.gentoo.ebuild
import unrealircd-3.2.8.1.ebuild from gentoo bug 260806, attachment 188426 by j0inty
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 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | # Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: net-irc/unrealircd/unrealircd-3.2.8.1.ebuild,v 1.5 2009/04/15 08:57:36 j0inty Exp $
inherit eutils autotools 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://unrealircd.icedslash.com/${MY_P}.tar.gz
http://unreal.brueggisite.de/${MY_P}.tar.gz
http://www.blurryfox.com/unreal/${MY_P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd"
## USE Flags
# nospoof Enable spoofing protection
# prefixaq Enable chanadmin and chanowner prefixes
# hub Compile as a hub server
# ssl= enable ssl will check /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr
# zlib enable ziplinks will check /usr/local /usr /usr/pkg
# curl enable libcurl (remote include) support
# static --disable-dynamic-linking Make the IRCd dynamically link shared objects rather than statically (NOTE: Not avalaible atm)
# ipv6 Make the IRCd support IPv6
# showlistmodes Specify whether modes are shown in /list
# topicisnuhost Display nick!user@host as the topic setter
# shunnotices Notify a user when he/she is no longer shunned
# no-operoverride Disable OperOverride
# disableusermod Disable /set* and /chg*
# operoverride-verify Require opers to invite themselves to +s/+p channels
IUSE="hub ipv6 ssl zlib curl prefixaq nospoof disableusermod no-operoverride operoverride-verify showlistmodes topicisnuhost shunnotices"
DEPEND="ssl? ( dev-libs/openssl )
zlib? ( sys-libs/zlib )
curl? ( net-misc/curl )
dev-libs/tre
>=net-dns/c-ares-1.6.0
>=sys-apps/sed-4"
S="${WORKDIR}/Unreal3.2"
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}"
#QA check against bundled pkgs:
rm extras/*.gz
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
# http://bugs.unrealircd.org/view.php?id=3842
epatch "${FILESDIR}"/unrealircd-system-tre.patch || die "epatch failed"
epatch "${FILESDIR}"/unrealircd-system-cares.patch || die "epatch failed"
mv autoconf/configure.in ./
mv autoconf/aclocal.m4 ./acinclude.m4
#can't call eautoreconf because aclocal's source files aren't even in unearlircd's svn!
eaclocal || die "eaclocal failed"
eautoconf || die "eautoconf failed"
}
src_compile() {
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 \
--with-system-cares \
--with-system-tre \
--enable-dynamic-linking \
$(use_enable curl libcurl /usr) \
$(use_enable ipv6 inet6) \
$(use_enable zlib ziplinks) \
$(use_enable ssl) \
$(use_enable hub) \
$(use_enable prefixaq) \
$(use_enable nospoof) \
$(use_with showlistmodes) \
$(use_with topicisnuhost) \
$(use_with shunnotices) \
$(use_with no-operoverride) \
$(use_with operoverride-verify) \
$(use_with disableusermod) \
|| 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}/ircd.cron.gz"
elog " /usr/share/doc/${PF}/ircdchk.gz"
elog
elog "You can also use /etc/init.d/unrealircd to start at boot"
elog
}
|