# HG changeset patch # User Binki # Date 2009-04-15 14:01:24 # Node ID 9d20611b5e6c5151d11fe8b3fc796a959c157c8c # Parent 316b177ea8edf4c6eccd2edcb31907ea7063ae38 import unrealircd-3.2.8.1.ebuild from gentoo bug 260806, attachment 188426 by j0inty diff --git a/net-irc/unrealircd/Manifest b/net-irc/unrealircd/Manifest --- a/net-irc/unrealircd/Manifest +++ b/net-irc/unrealircd/Manifest @@ -1,11 +1,14 @@ AUX unrealircd-system-cares-3.2.7.patch 5472 RMD160 d6e817e98b029c6a03e3e49fbcf636eddf6e8c64 SHA1 5b02b22ce79d8c1aa5622e967b974af274c26e3b SHA256 5ad9062bd3b2820476151f84fca810981f094f305d5eb43ca048d3f9de0d7dfe AUX unrealircd-system-cares-3.2.8.patch 4850 RMD160 6bd9456bda2b1dc233cf7ad97c60c0ee11c1f99b SHA1 e9086146a7031b874e514eb2a22c06b5decb8adf SHA256 e3be39af381c12349355ed44c1bfac1a205a84728d006fd3de3cff0a564ee0d9 +AUX unrealircd-system-cares.patch 4850 RMD160 6bd9456bda2b1dc233cf7ad97c60c0ee11c1f99b SHA1 e9086146a7031b874e514eb2a22c06b5decb8adf SHA256 e3be39af381c12349355ed44c1bfac1a205a84728d006fd3de3cff0a564ee0d9 AUX unrealircd-system-tre.patch 2238 RMD160 bfac0ded81b84eed017c8fac8ee6bffaa0a6c73a SHA1 d61c537e780016dd1bf78cfac15025cfea3569a3 SHA256 91a11df3fa1db0924311cd02ba7d0cb1a0b26066e9c65bad5756226baf08e9c9 AUX unrealircd.confd 499 RMD160 666439c6e992d3314f8694ba58e8f3e018421f1c SHA1 5cb49d7e9a79c7f8e0b2182dff47811a2f3fb885 SHA256 ae6ce779fae68c1380a7d37950c5ef3b695e434bb435dcdc0f6d3d2282f72582 AUX unrealircd.rc 640 RMD160 186125558866976380eddae397aba4534a088732 SHA1 815d6950ddb79ca86fa8c887a4386ae9ddd58abe SHA256 a1ac6330e573dc5429153de98c9a8619a92d7ae3502a06e47f392dcaf90f2b07 DIST Unreal3.2.7.tar.gz 2801622 RMD160 49e00dbe4fdda672b20be16ceb116971f514d62b SHA1 a6c83c186008c429bc5a476fc0b9e3b174092efb SHA256 f80078da5e9efa1487ab22957aeb295f94c2d4efd144f825f1efc5ee8df72d46 +DIST Unreal3.2.8.1.tar.gz 2866456 RMD160 c8e76239e33ba170743f2ddae6bc24782064f105 SHA1 363c3c995bb38cf601f409610ce1937a0002c419 SHA256 009add8da68b6fb66608d06302e59fa9fb994f901cbd92e6f4f10963f2077741 DIST Unreal3.2.8.tar.gz 2872378 RMD160 bcf8b2bb7475aad3b25dd63b48696c39dcbd4243 SHA1 4b03254d5e19b827f0653a083c0b7f895914b8be SHA256 99fb064a356ed86aa135d2c382a3f10a9b98de6272be6a5bd0f80e2179100958 EBUILD unrealircd-3.2.7-r2.ebuild 4498 RMD160 11c41e7eb46a1874db6c07a27d8a2f5fd6471e81 SHA1 f8da6b1dd0a50d8dd894baddecf4d771aedef964 SHA256 1109ae4a6401e0a5147999a8d8d483b2f358a3bdb9f7f4d153a9081a55920dcf +EBUILD unrealircd-3.2.8.1.ebuild 5518 RMD160 72364da341733351dc3c051f7e201b7200480fa5 SHA1 ed1f9ab462871a943174f59b8c1c482c24d6c80b SHA256 11adefd62553e4dcb63ac963ae0e1f361e11e51eaea758a35d03340c63112c21 EBUILD unrealircd-3.2.8.ebuild 4524 RMD160 35ab5f1a60cf6372413bb50d293e4d19bf31d632 SHA1 5354ca5ea5d29af785da43ac37a3a4be0f745e10 SHA256 8ea7a8d2285486d9633042ea1109acc652ca9b9f40f8355b62f4eb64ab0932dc MISC ChangeLog 10068 RMD160 2f4488a9457a3f3fcc53746e1efb1194b08ec776 SHA1 a4b6da530222840174b3500856b1b3da91c482e8 SHA256 cd1df736f0ca3facec726b324385e10103090d12fe7a6ad571c21a1f7d45ae4a -MISC metadata.xml 376 RMD160 62b344feca2e09d554426e39e91a36e48e6c255e SHA1 42a9ba4afb8b8d3d13c7babc13a5a66f0a41d395 SHA256 d5fe303d93d8469ffe66e09541b913847cd5a8964eb90f205898359827d4a048 +MISC metadata.xml 831 RMD160 1c4d3c26f080417af9af3b86d92315febfa31549 SHA1 f0697d35ac29692f18153216d46f3439a3c95410 SHA256 b71bc394366c609646cf3f371e9956ac27b854a4bda17cf6c934f1e95aa0a844 diff --git a/net-irc/unrealircd/files/unrealircd-system-cares-3.2.8.patch b/net-irc/unrealircd/files/unrealircd-system-cares.patch copy from net-irc/unrealircd/files/unrealircd-system-cares-3.2.8.patch copy to net-irc/unrealircd/files/unrealircd-system-cares.patch diff --git a/net-irc/unrealircd/metadata.xml b/net-irc/unrealircd/metadata.xml --- a/net-irc/unrealircd/metadata.xml +++ b/net-irc/unrealircd/metadata.xml @@ -1,11 +1,16 @@ -net-irc - - Enable hub support - Enable chanadmin and chanowner prefixes - Support displaying channel modes during - compilation - + net-irc + + Disable /set* and /chg* + Enable hub support + Enable spoofing protection + Disable OperOverride + Enable requiring opers to invite themselves to +s/+p channels + Enable chanadmin and chanowner prefixes + Support displaying channel modes in /list + Enable notifying a user when un-shunned + Enable displaying nick!user@host as topic setter + diff --git a/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild b/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild new file mode 100644 --- /dev/null +++ b/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild @@ -0,0 +1,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 +}