Files @ e0fa8c528ef6
Branch filter:

Location: ohnobinki_overlay/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild - annotation

e0fa8c528ef6 4.6 KiB application/vnd.gentoo.ebuild Show Source Show as Raw Download as Raw
binki
sys-fs/e2fsprogs: Removed olderversion, modified 1.41.4 to reflect Portage, added empty metadata.xml
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
91eaead77c75
9d20611b5e6c
ef3c20de6f40
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
6687452377c5
6687452377c5
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
ef3c20de6f40
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
9d20611b5e6c
# 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 $

EAPI="2"

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"
IUSE="-curl disableusermod +hub -ipv6 no-operoverride -nospoof operoverride-verify +prefixaq showlistmodes shunnotices -ssl topicisnuhost -zlib"

RDEPEND="ssl? ( dev-libs/openssl )
	zlib? ( sys-libs/zlib )
	curl? ( net-misc/curl )
	dev-libs/tre
	>=net-dns/c-ares-1.5.3"
DEPEND="${RDEPEND}
	>=sys-apps/sed-4"

S="${WORKDIR}/Unreal$(get_version_component_range 1-2)"

pkg_setup() {
	enewuser unrealircd
}

src_prepare() {
#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_configure() {
	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 nospoof  && myconf="${myconf} --enable-nospoof"
	use showlistmodes && myconf="${myconf} --with-showlistmodes"
	use topicisnuhost && myconf="${myconf} --with-topicisnuhost"
	use shunnotices && myconf="${myconf} --with-shunnotices"
	use no-operoverride && myconf="${myconf} --with-no-operoverride"
	use operoverride-verify && myconf="${myconf} --with-operoverride-verify"
	use disableusermod && myconf="${myconf} --with-disableusermod"

	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 \
		${myconf} \
		|| die "econf failed"

	sed -i \
		-e "s:${D}::" \
		include/setup.h \
		ircdcron/ircdchk
}

src_compile() {
	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
}