summaryrefslogtreecommitdiff
path: root/chat/unrealircd
diff options
context:
space:
mode:
authoradrianp <adrianp>2005-11-29 19:17:03 +0000
committeradrianp <adrianp>2005-11-29 19:17:03 +0000
commit45125f87a4d6fce9e4de4129b03e4960acba6816 (patch)
treee4d6e735a318154c70e6c5941638ced3f7382988 /chat/unrealircd
parentfd7b2ff11971f3a9abb7584c500392224ffe074a (diff)
downloadpkgsrc-45125f87a4d6fce9e4de4129b03e4960acba6816.tar.gz
UnrealIRCd is an IRC server based on the branch of IRCu called Dreamforge,
formerly used by the DALnet IRC Network. Since development started on it (around May 1999) many new features has been added, modified, and many bugs fixed. Unreal runs both on *nix platforms, Amiga & Windows 95/98/2k/NT. Some features to mention: Channel Halfops, No-color channel mode, Strip-colors channel mode, channelmode +q & +a - protect modes, Oper and Admin only channels, exception bans, Nokicks mode (channel and user), Flood limiter, Channel links, Host cloaking, Net* Tech and Co-Admin modes, Whois notifies, Foreign connects monitor, Oper suspend, G:Lines, T:Lines, channel restriction (people can only go to these channels if enabled), Trojan/DCC Deny, RPING/RPONG, Sethost family, Token in server<->server etc. FDlists/High Traffic Mode, SOCKS check on connect, Speeded up server synchs, limited WebTV Client support, /vhost, and many dreamforge optimations. UnrealIRCd is aimed to be an advanced, not an easy IRCd. Also includes SSL and IPv6 support.
Diffstat (limited to 'chat/unrealircd')
-rw-r--r--chat/unrealircd/DESCR16
-rw-r--r--chat/unrealircd/MESSAGE17
-rw-r--r--chat/unrealircd/MESSAGE.inet618
-rw-r--r--chat/unrealircd/Makefile131
-rw-r--r--chat/unrealircd/PLIST165
-rw-r--r--chat/unrealircd/distinfo7
-rw-r--r--chat/unrealircd/files/unrealircd.sh23
-rw-r--r--chat/unrealircd/options.mk77
-rw-r--r--chat/unrealircd/patches/patch-aa44
-rw-r--r--chat/unrealircd/patches/patch-ab13
10 files changed, 511 insertions, 0 deletions
diff --git a/chat/unrealircd/DESCR b/chat/unrealircd/DESCR
new file mode 100644
index 00000000000..eda1eda980e
--- /dev/null
+++ b/chat/unrealircd/DESCR
@@ -0,0 +1,16 @@
+UnrealIRCd is an IRC server based on the branch of IRCu called Dreamforge,
+formerly used by the DALnet IRC Network. Since development started on it
+(around May 1999) many new features has been added, modified, and many bugs
+fixed. Unreal runs both on *nix platforms, Amiga & Windows 95/98/2k/NT.
+Some features to mention: Channel Halfops, No-color channel mode,
+Strip-colors channel mode, channelmode +q & +a - protect modes, Oper and
+Admin only channels, exception bans, Nokicks mode (channel and user), Flood
+limiter, Channel links, Host cloaking, Net* Tech and Co-Admin modes, Whois
+notifies, Foreign connects monitor, Oper suspend, G:Lines, T:Lines, channel
+restriction (people can only go to these channels if enabled), Trojan/DCC
+Deny, RPING/RPONG, Sethost family, Token in server<->server etc.
+FDlists/High Traffic Mode, SOCKS check on connect, Speeded up server
+synchs, limited WebTV Client support, /vhost, and many dreamforge
+optimations. UnrealIRCd is aimed to be an advanced, not an easy IRCd.
+
+Also includes SSL and IPv6 support.
diff --git a/chat/unrealircd/MESSAGE b/chat/unrealircd/MESSAGE
new file mode 100644
index 00000000000..47abebd591d
--- /dev/null
+++ b/chat/unrealircd/MESSAGE
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+You will need to customise the following files to get unrealircd to work:
+
+ ${UIRCD_HOME}/unrealricd.conf
+
+For further information see:
+
+ ${PREFIX}/share/doc/html/unrealircd/unreal32docs.html
+
+or the online version at:
+
+ http://www.vulnscan.org/UnrealIrcd/unreal32docs.html
+
+
+===========================================================================
diff --git a/chat/unrealircd/MESSAGE.inet6 b/chat/unrealircd/MESSAGE.inet6
new file mode 100644
index 00000000000..52d30b6f3fc
--- /dev/null
+++ b/chat/unrealircd/MESSAGE.inet6
@@ -0,0 +1,18 @@
+===========================================================================
+$NetBSD: MESSAGE.inet6,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+In order to support IPv6 addresses with unrealircd your system must be
+configured to support IPv4-mapped address. On NetBSD this can be achieved
+by placing the following in your sysctl.conf:
+
+ net.inet6.ip6.v6only=0
+
+The setting will come into effect on the next system reboot or
+alternatively type the following for the change to take place immediately:
+
+ sysctl -w net.inet6.ip6.v6only=0
+
+NOTE: There are potential security issues to be aware of when changing this
+setting.
+
+===========================================================================
diff --git a/chat/unrealircd/Makefile b/chat/unrealircd/Makefile
new file mode 100644
index 00000000000..b716b60d5e8
--- /dev/null
+++ b/chat/unrealircd/Makefile
@@ -0,0 +1,131 @@
+# $NetBSD: Makefile,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+DISTNAME= Unreal3.2.3
+PKGNAME= unrealircd-3.2.3
+CATEGORIES= chat
+MASTER_SITES= http://unreal.atlanti-ka.org/
+
+MAINTAINER= adrianp@NetBSD.org
+HOMEPAGE= http://www.unrealircd.com/
+COMMENT= Advanced IRC server with IPv6 and SSL support
+
+CONFLICTS+= ircu-[0-9]*
+
+GNU_CONFIGURE= YES
+USE_PKGINSTALL= YES
+USE_TOOLS+= pkg-config
+WRKSRC= ${WRKDIR}/Unreal3.2
+TRE_NEEDED= 0.7.2
+
+BUILDLINK_DEPENDS.tre+= tre-${TRE_NEEDED}
+
+.include "../../mk/bsd.prefs.mk"
+
+CONFIGURE_ENV+= tre_version=${TRE_NEEDED:Q}
+CONFIGURE_ENV+= TRELIBS="-L${PREFIX}/lib -ltre"
+
+CONFIGURE_ARGS+= --with-dpath=${UIRCD_HOME}
+CONFIGURE_ARGS+= --with-spath=${PREFIX}/sbin/ircd
+CONFIGURE_ARGS+= --with-permissions=0660
+CONFIGURE_ARGS+= --enable-dynamic-linking
+
+CONFIGURE_ARGS+= --with-hostname=${UIRCD_HOST}
+CONFIGURE_ARGS+= --enable-prefixaq
+CONFIGURE_ARGS+= --with-listen=${UIRCD_LISTEN}
+CONFIGURE_ARGS+= --with-sendq=${UIRCD_SENDQ}
+CONFIGURE_ARGS+= --with-bufferpool=${UIRCD_BUFFER}
+CONFIGURE_ARGS+= --with-fd-setsize=${UIRCD_FDSIZE}
+CONFIGURE_ARGS+= --with-nick-history=${UIRCD_NICKHIST}
+CONFIGURE_ARGS+= --disable-inet6
+
+.include "options.mk"
+
+IRCD_DOCS= ${PREFIX}/share/doc/unrealircd
+IRCD_SHARE= ${PREFIX}/share/unrealircd
+IRCD_EG= ${PREFIX}/share/examples/unrealircd
+
+BUILD_DEFS+= UIRCD_SENDQ UIRCD_LISTEN UIRCD_BUFFER UIRCD_USER UIRCD_HOST
+BUILD_DEFS+= UIRCD_HOME UIRCD_NICKHIST UIRCD_FDSIZE UIRCD_GROUP
+
+PTHREAD_OPTS+= require
+
+# The defaults for most of these here are from the standard Conf
+# script supplied with the UnrealIRCd package.
+#
+UIRCD_SENDQ?= 3000000
+UIRCD_LISTEN?= 5
+UIRCD_BUFFER?= 18
+UIRCD_NICKHIST?= 2000
+UIRCD_FDSIZE?= 512
+UIRCD_USER?= uircd
+UIRCD_GROUP?= uircd
+UIRCD_HOST?= localhost
+UIRCD_HOME?= ${VARBASE}/unrealircd
+
+DOC_FILES= doc/Authors doc/coding-guidelines doc/tao.of.irc LICENSE
+
+CONF_FILES_PERMS= ${IRCD_EG}/example.conf ${UIRCD_HOME}/unrealircd.conf \
+ ${UIRCD_USER} ${UIRCD_GROUP} 0660
+
+PKG_USERS= ${UIRCD_USER}:${UIRCD_GROUP}::UnrealIRCD\ user:${UIRCD_HOME}:${NOLOGIN}
+PKG_GROUPS= ${UIRCD_GROUP}
+RCD_SCRIPTS= unrealircd
+
+MESSAGE_SRC+= ${WRKDIR}/.MESSAGE_SRC
+MESSAGE_SUBST+= UIRCD_HOME=${UIRCD_HOME}
+FILES_SUBST+= UIRCD_HOME=${UIRCD_HOME:Q}
+FILES_SUBST+= UIRCD_USER=${UIRCD_USER:Q}
+FILES_SUBST+= UIRCD_GROUP=${UIRCD_GROUP:Q}
+
+SUBST_CLASSES+= homedir
+SUBST_STAGE.homedir= post-patch
+SUBST_FILES.homedir= doc/example.conf
+SUBST_SED.homedir= -e "s|src/modules|${IRCD_SHARE}/modules|g" \
+ -e "s|include \"|include \"${IRCD_SHARE}/|g"
+SUBST_MESSAGE.homedir= "Fixing home directory of IRC server."
+
+OWN_DIRS_PERMS+= ${UIRCD_HOME} ${UIRCD_USER} ${UIRCD_GROUP} 0770
+OWN_DIRS_PERMS+= ${UIRCD_HOME}/tmp ${UIRCD_USER} ${UIRCD_GROUP} 0770
+
+.if ${OPSYS} == "Darwin"
+INSTALL_UNSTRIPPED=YES
+.endif
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../devel/tre/buildlink3.mk"
+
+post-build:
+ @${CP} ${PKGDIR}/MESSAGE ${WRKDIR}/.MESSAGE_SRC
+.if !empty(PKG_OPTIONS:Minet6)
+ @${CP} ${PKGDIR}/MESSAGE.inet6 ${WRKDIR}/.MESSAGE_SRC.inet6
+.endif
+
+do-install:
+ ${INSTALL_DATA_DIR} ${IRCD_SHARE}
+ ${INSTALL_DATA_DIR} ${IRCD_SHARE}/networks
+ ${INSTALL_DATA_DIR} ${IRCD_SHARE}/aliases
+ ${INSTALL_DATA_DIR} ${IRCD_SHARE}/modules
+ ${INSTALL_DATA_DIR} ${IRCD_DOCS}
+ ${INSTALL_DATA_DIR} ${IRCD_EG}
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/html/unrealircd
+
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/ircd ${PREFIX}/sbin
+ ${INSTALL_DATA} ${WRKSRC}/networks/*.network ${IRCD_SHARE}/networks
+ ${INSTALL_DATA} ${WRKSRC}/networks/networks.ndx ${IRCD_SHARE}/networks
+ ${INSTALL_SCRIPT} ${WRKSRC}/networks/makenet ${IRCD_SHARE}/networks
+ ${INSTALL_DATA} ${WRKSRC}/aliases/*.conf ${IRCD_SHARE}/aliases
+ ${INSTALL_DATA} ${WRKSRC}/badwords*.conf ${IRCD_SHARE}
+ ${INSTALL_DATA} ${WRKSRC}/help.conf ${IRCD_SHARE}
+ ${INSTALL_DATA} ${WRKSRC}/spamfilter.conf ${IRCD_SHARE}
+ ${INSTALL_DATA} ${WRKSRC}/src/modules/*.so ${IRCD_SHARE}/modules
+
+ for f in ${DOC_FILES}; do \
+ ${INSTALL_DATA} ${WRKSRC}/$$f ${IRCD_DOCS}; \
+ done
+
+ ${INSTALL_DATA} ${WRKSRC}/doc/unreal32docs.html \
+ ${PREFIX}/share/doc/html/unrealircd
+
+ ${INSTALL_DATA} ${WRKSRC}/doc/example.conf ${IRCD_EG}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/chat/unrealircd/PLIST b/chat/unrealircd/PLIST
new file mode 100644
index 00000000000..cafb7f5df4c
--- /dev/null
+++ b/chat/unrealircd/PLIST
@@ -0,0 +1,165 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+sbin/ircd
+share/doc/html/unrealircd/unreal32docs.html
+share/doc/unrealircd/Authors
+share/doc/unrealircd/LICENSE
+share/doc/unrealircd/coding-guidelines
+share/doc/unrealircd/tao.of.irc
+share/examples/rc.d/unrealircd
+share/examples/unrealircd/example.conf
+share/unrealircd/aliases/aliases.conf
+share/unrealircd/aliases/anope.conf
+share/unrealircd/aliases/auspice.conf
+share/unrealircd/aliases/cygnus.conf
+share/unrealircd/aliases/epona.conf
+share/unrealircd/aliases/generic.conf
+share/unrealircd/aliases/genericstats.conf
+share/unrealircd/aliases/ircservices.conf
+share/unrealircd/aliases/operstats.conf
+share/unrealircd/badwords.channel.conf
+share/unrealircd/badwords.message.conf
+share/unrealircd/badwords.quit.conf
+share/unrealircd/help.conf
+share/unrealircd/modules/cloak.so
+share/unrealircd/modules/commands.so
+share/unrealircd/modules/m_addline.so
+share/unrealircd/modules/m_addomotd.so
+share/unrealircd/modules/m_admin.so
+share/unrealircd/modules/m_adminchat.so
+share/unrealircd/modules/m_akill.so
+share/unrealircd/modules/m_away.so
+share/unrealircd/modules/m_botmotd.so
+share/unrealircd/modules/m_chatops.so
+share/unrealircd/modules/m_chghost.so
+share/unrealircd/modules/m_chgident.so
+share/unrealircd/modules/m_chgname.so
+share/unrealircd/modules/m_close.so
+share/unrealircd/modules/m_connect.so
+share/unrealircd/modules/m_cycle.so
+share/unrealircd/modules/m_dccallow.so
+share/unrealircd/modules/m_dccdeny.so
+share/unrealircd/modules/m_eos.so
+share/unrealircd/modules/m_globops.so
+share/unrealircd/modules/m_guest.so
+share/unrealircd/modules/m_help.so
+share/unrealircd/modules/m_htm.so
+share/unrealircd/modules/m_invite.so
+share/unrealircd/modules/m_ison.so
+share/unrealircd/modules/m_join.so
+share/unrealircd/modules/m_kick.so
+share/unrealircd/modules/m_kill.so
+share/unrealircd/modules/m_knock.so
+share/unrealircd/modules/m_lag.so
+share/unrealircd/modules/m_links.so
+share/unrealircd/modules/m_list.so
+share/unrealircd/modules/m_locops.so
+share/unrealircd/modules/m_lusers.so
+share/unrealircd/modules/m_map.so
+share/unrealircd/modules/m_message.so
+share/unrealircd/modules/m_mkpasswd.so
+share/unrealircd/modules/m_mode.so
+share/unrealircd/modules/m_motd.so
+share/unrealircd/modules/m_nachat.so
+share/unrealircd/modules/m_netinfo.so
+share/unrealircd/modules/m_nick.so
+share/unrealircd/modules/m_oper.so
+share/unrealircd/modules/m_opermotd.so
+share/unrealircd/modules/m_part.so
+share/unrealircd/modules/m_pass.so
+share/unrealircd/modules/m_pingpong.so
+share/unrealircd/modules/m_protoctl.so
+share/unrealircd/modules/m_quit.so
+share/unrealircd/modules/m_rakill.so
+share/unrealircd/modules/m_rping.so
+share/unrealircd/modules/m_rules.so
+share/unrealircd/modules/m_sajoin.so
+share/unrealircd/modules/m_samode.so
+share/unrealircd/modules/m_sapart.so
+share/unrealircd/modules/m_sdesc.so
+share/unrealircd/modules/m_sendsno.so
+share/unrealircd/modules/m_sendumode.so
+share/unrealircd/modules/m_server.so
+share/unrealircd/modules/m_sethost.so
+share/unrealircd/modules/m_setident.so
+share/unrealircd/modules/m_setname.so
+share/unrealircd/modules/m_silence.so
+share/unrealircd/modules/m_sjoin.so
+share/unrealircd/modules/m_sqline.so
+share/unrealircd/modules/m_squit.so
+share/unrealircd/modules/m_stats.so
+share/unrealircd/modules/m_svsfline.so
+share/unrealircd/modules/m_svsjoin.so
+share/unrealircd/modules/m_svskill.so
+share/unrealircd/modules/m_svsmode.so
+share/unrealircd/modules/m_svsmotd.so
+share/unrealircd/modules/m_svsnick.so
+share/unrealircd/modules/m_svsnline.so
+share/unrealircd/modules/m_svsnoop.so
+share/unrealircd/modules/m_svso.so
+share/unrealircd/modules/m_svspart.so
+share/unrealircd/modules/m_svssilence.so
+share/unrealircd/modules/m_svssno.so
+share/unrealircd/modules/m_svswatch.so
+share/unrealircd/modules/m_swhois.so
+share/unrealircd/modules/m_time.so
+share/unrealircd/modules/m_tkl.so
+share/unrealircd/modules/m_topic.so
+share/unrealircd/modules/m_trace.so
+share/unrealircd/modules/m_tsctl.so
+share/unrealircd/modules/m_umode2.so
+share/unrealircd/modules/m_undccdeny.so
+share/unrealircd/modules/m_unkline.so
+share/unrealircd/modules/m_user.so
+share/unrealircd/modules/m_userip.so
+share/unrealircd/modules/m_unsqline.so
+share/unrealircd/modules/m_unzline.so
+share/unrealircd/modules/m_userhost.so
+share/unrealircd/modules/m_vhost.so
+share/unrealircd/modules/m_wallops.so
+share/unrealircd/modules/m_watch.so
+share/unrealircd/modules/m_who.so
+share/unrealircd/modules/m_whois.so
+share/unrealircd/modules/m_whowas.so
+share/unrealircd/networks/awesomechristians.network
+share/unrealircd/networks/axenet.network
+share/unrealircd/networks/bunker7.network
+share/unrealircd/networks/burnnet.network
+share/unrealircd/networks/cabonet.network
+share/unrealircd/networks/chatcrap.network
+share/unrealircd/networks/chatuniverse.network
+share/unrealircd/networks/ctcp.network
+share/unrealircd/networks/darkkaos.network
+share/unrealircd/networks/digitalirc.network
+share/unrealircd/networks/discussioni.network
+share/unrealircd/networks/dragonwings.network
+share/unrealircd/networks/gamescafe.network
+share/unrealircd/networks/german-elite.network
+share/unrealircd/networks/german-global-irc.network
+share/unrealircd/networks/global-irc.network
+share/unrealircd/networks/globalchat.network
+share/unrealircd/networks/icechat.network
+share/unrealircd/networks/infinity.network
+share/unrealircd/networks/ircsystems.network
+share/unrealircd/networks/isno.network
+share/unrealircd/networks/l33t-irc.network
+share/unrealircd/networks/lcirc.network
+share/unrealircd/networks/makenet
+share/unrealircd/networks/networks.ndx
+share/unrealircd/networks/outsiderz.network
+share/unrealircd/networks/phazenet.network
+share/unrealircd/networks/stormdancing.network
+share/unrealircd/networks/template.network
+share/unrealircd/networks/thainet.network
+share/unrealircd/networks/unitedirc-org.network
+share/unrealircd/networks/unreal-test.network
+share/unrealircd/networks/wazzza.network
+share/unrealircd/networks/x-irc.network
+share/unrealircd/networks/zirc.network
+share/unrealircd/spamfilter.conf
+@dirrm share/unrealircd/networks
+@dirrm share/unrealircd/modules
+@dirrm share/unrealircd/aliases
+@dirrm share/unrealircd
+@dirrm share/examples/unrealircd
+@dirrm share/doc/unrealircd
+@dirrm share/doc/html/unrealircd
diff --git a/chat/unrealircd/distinfo b/chat/unrealircd/distinfo
new file mode 100644
index 00000000000..de9e6ec724e
--- /dev/null
+++ b/chat/unrealircd/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+SHA1 (Unreal3.2.3.tar.gz) = 5820906434f0c9e2cd027882e85900a919a2065d
+RMD160 (Unreal3.2.3.tar.gz) = e304e58457847fd371216d2e68293f7daad08dd5
+Size (Unreal3.2.3.tar.gz) = 1881275 bytes
+SHA1 (patch-aa) = 78a5796a00d9285e982bd46b58523b7b59ef70e1
+SHA1 (patch-ab) = b66ae1990e25479abe9087a9308a2185692fcba2
diff --git a/chat/unrealircd/files/unrealircd.sh b/chat/unrealircd/files/unrealircd.sh
new file mode 100644
index 00000000000..b632e63b252
--- /dev/null
+++ b/chat/unrealircd/files/unrealircd.sh
@@ -0,0 +1,23 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: unrealircd.sh,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+#
+# PROVIDE: unrealircd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="unrealircd"
+rcvar=${name}
+command="@PREFIX@/sbin/ircd"
+required_files="@UIRCD_HOME@/unrealircd.conf"
+unrealircd_user="@UIRCD_USER@"
+unrealircd_group="@UIRCD_GROUP@"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/chat/unrealircd/options.mk b/chat/unrealircd/options.mk
new file mode 100644
index 00000000000..21effd056d6
--- /dev/null
+++ b/chat/unrealircd/options.mk
@@ -0,0 +1,77 @@
+# $NetBSD: options.mk,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.unrealircd
+PKG_SUPPORTED_OPTIONS= inet6 nospoof hub leaf ziplinks remoteinc ssl chroot
+PKG_SUGGESTED_OPTIONS= leaf
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Can't be both a leaf and a hub IRC server
+###
+.if !empty(PKG_OPTIONS:Mhub) && !empty(PKG_OPTIONS:Mleaf)
+PKG_FAIL_REASON+= "The server cannot be both a hub and a leaf." \
+ "Please change ${PKG_OPTIONS_VAR} to one or the other."
+.endif
+
+###
+### Enable IPv6 support
+###
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+= --enable-inet6
+MESSAGE_SRC+= ${WRKDIR}/.MESSAGE_SRC.inet6
+.else
+CONFIGURE_ENV+= ac_cv_ip6=no
+.endif
+
+###
+### Enable SSL support
+###
+.if !empty(PKG_OPTIONS:Mssl)
+. include "../../security/openssl/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-ssl=${SSLBASE}
+.endif
+
+###
+### Enable Anti-Spoofing protection for older OS's with an insecure IPv4 stack
+###
+.if !empty(PKG_OPTIONS:Mnospoof)
+CONFIGURE_ARGS+= --enable-nospoof
+.endif
+
+###
+### Compile as a hub or leaf server
+###
+.if !empty(PKG_OPTIONS:Mhub)
+CONFIGURE_ARGS+= --enable-hub
+. elif !empty(PKG_OPTIONS:Mleaf)
+CONFIGURE_ARGS+= --enable-leaf
+.endif
+
+###
+### Compile in support for ziplinks. This compresses data sent from
+### server <-> server with zlib.
+###
+.if !empty(PKG_OPTIONS:Mziplinks)
+CONFIGURE_ARGS+= --enable-ziplinks
+. include "../../devel/zlib/buildlink3.mk"
+.endif
+
+###
+### Compile in support for remote include files.
+###
+.if !empty(PKG_OPTIONS:Mremoteinc)
+CONFIGURE_ARGS+= --enable-libcurl
+. include "../../www/curl/buildlink3.mk"
+. include "../../wip/c-ares/buildlink3.mk"
+.endif
+
+###
+### Compile in CHROOTDIR support.
+### As far as pkgsrc goes this is just an expirement. You should read the
+### unrealircd docs/source for further information on this. By default
+### CHROOTDIR is defined as ${IRCD_HOME}.
+###
+.if !empty(PKG_OPTIONS:Mchroot)
+CFLAGS+= -DCHROOTDIR
+.endif
diff --git a/chat/unrealircd/patches/patch-aa b/chat/unrealircd/patches/patch-aa
new file mode 100644
index 00000000000..88e00d5c41f
--- /dev/null
+++ b/chat/unrealircd/patches/patch-aa
@@ -0,0 +1,44 @@
+$NetBSD: patch-aa,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+--- configure.orig 2005-03-25 09:51:47.000000000 +0000
++++ configure
+@@ -10614,39 +10614,6 @@ IRCDLIBS="$IRCDLIBS -lresolv "
+ ;;
+ esac
+
+-tre_version="0.7.2"
+-echo "$as_me:$LINENO: result: extracting TRE regex library" >&5
+-echo "${ECHO_T}extracting TRE regex library" >&6
+-cur_dir=`pwd`
+-cd extras
+-rm -rf tre-$tre_version
+-if test "x$ac_cv_path_GUNZIP" = "x" ; then
+- tar xfz tre.tar.gz
+-else
+- cp tre.tar.gz tre.tar.gz.bak
+- gunzip -f tre.tar.gz
+- cp tre.tar.gz.bak tre.tar.gz
+- tar xf tre.tar
+-fi
+-echo "$as_me:$LINENO: result: configuring TRE regex library" >&5
+-echo "${ECHO_T}configuring TRE regex library" >&6
+-cd tre-$tre_version
+-./configure --disable-agrep --disable-shared --disable-system-abi --disable-wchar --disable-multibyte --prefix=$cur_dir/extras/regexp
+-echo "$as_me:$LINENO: result: compiling TRE regex library" >&5
+-echo "${ECHO_T}compiling TRE regex library" >&6
+-$ac_cv_prog_MAKER
+-echo "$as_me:$LINENO: result: installing TRE regex library" >&5
+-echo "${ECHO_T}installing TRE regex library" >&6
+-$ac_cv_prog_MAKER install
+-TREINCDIR="$cur_dir/extras/regexp/include"
+-
+-if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
+- TRELIBS="-L../extras/regexp/lib -ltre"
+-else
+- TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc`
+-fi
+-
+-cd $cur_dir
+ ac_config_files="$ac_config_files Makefile src/modules/Makefile unreal ircdcron/ircdchk"
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
diff --git a/chat/unrealircd/patches/patch-ab b/chat/unrealircd/patches/patch-ab
new file mode 100644
index 00000000000..2b7be1f6ae7
--- /dev/null
+++ b/chat/unrealircd/patches/patch-ab
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 2005/11/29 19:17:03 adrianp Exp $
+
+--- Makefile.in.orig 2005-11-29 18:38:58.000000000 +0000
++++ Makefile.in
+@@ -112,7 +112,7 @@ FD_SETSIZE=@FD_SETSIZE@
+ # Where is your openssl binary
+ OPENSSLPATH=@OPENSSLPATH@
+
+-CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) @LDFLAGS@ $(FD_SETSIZE)
++CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) $(FD_SETSIZE)
+
+ SHELL=/bin/sh
+ SUBDIRS=src