Files @ a822c52c77f5
Branch filter:

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

a822c52c77f5 4.4 KiB application/vnd.gentoo.ebuild Show Source Show as Raw Download as Raw
binki
net-irc/unrealircd: added new version, updated patches to be ideal :-D

:-) :-D :-p
!!
Sorry for all that ;-)

The patch named net-irc/unrealircd/files/unrealircd-system-cares-3.2.8.patch should be directly applicable to the current unreal3.2.8 sources (possibly after application of the tre patch).
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
a822c52c77f5
# Copyright 1999-2008 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.4 2008/08/11 21:31:36 ricmm 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://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 )
	dev-libs/tre
	>=net-dns/c-ares-1.5.3-r1"
DEPEND="${RDEPEND}
	>=sys-apps/sed-4"

S="${WORKDIR}/Unreal$(get_version_component_range 1-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

	epatch "${FILESDIR}"/unrealircd-system-tre.patch
	epatch "${FILESDIR}"/unrealircd-system-cares-3.2.8.patch

	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() {
	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 \
		--with-system-tre \
		--with-system-cares \
		--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}/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
}