summaryrefslogtreecommitdiff
path: root/chat/inspircd
diff options
context:
space:
mode:
authoradrianp <adrianp@pkgsrc.org>2007-07-24 20:13:19 +0000
committeradrianp <adrianp@pkgsrc.org>2007-07-24 20:13:19 +0000
commit9a07bde08b1fd4dad8ba32056e5e7dcfa3ff8a05 (patch)
tree6bc2f2e28bbfda65995ad4e46a381e99da643475 /chat/inspircd
parent55bf3ab6d33b3a6b38ea4947a9f3c68482166cbf (diff)
downloadpkgsrc-9a07bde08b1fd4dad8ba32056e5e7dcfa3ff8a05.tar.gz
InspIRCd is a modular C++ IRC Daemon for Linux, BSD and Windows systems
created to provide a stable, modern, lightweight ircd (irc server) from scratch and provide a vast number of features in a modularised form using an advanced module API. By keeping the functionality of the main core to a minimum we hope to increase the stability and speed of our project and make it customisable to the needs of many users.
Diffstat (limited to 'chat/inspircd')
-rw-r--r--chat/inspircd/DESCR6
-rw-r--r--chat/inspircd/Makefile134
-rw-r--r--chat/inspircd/PLIST216
-rw-r--r--chat/inspircd/PLIST.common_end3
-rw-r--r--chat/inspircd/distinfo7
-rw-r--r--chat/inspircd/files/inspircd.sh48
-rw-r--r--chat/inspircd/options.mk151
-rw-r--r--chat/inspircd/patches/patch-aa13
-rw-r--r--chat/inspircd/patches/patch-ab29
9 files changed, 607 insertions, 0 deletions
diff --git a/chat/inspircd/DESCR b/chat/inspircd/DESCR
new file mode 100644
index 00000000000..cc8c38e44d1
--- /dev/null
+++ b/chat/inspircd/DESCR
@@ -0,0 +1,6 @@
+InspIRCd is a modular C++ IRC Daemon for Linux, BSD and Windows systems
+created to provide a stable, modern, lightweight ircd (irc server) from
+scratch and provide a vast number of features in a modularised form using
+an advanced module API. By keeping the functionality of the main core to a
+minimum we hope to increase the stability and speed of our project and make
+it customisable to the needs of many users.
diff --git a/chat/inspircd/Makefile b/chat/inspircd/Makefile
new file mode 100644
index 00000000000..e45dcda9831
--- /dev/null
+++ b/chat/inspircd/Makefile
@@ -0,0 +1,134 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/07/24 20:13:19 adrianp Exp $
+#
+
+DISTNAME= InspIRCd-1.1.10
+PKGNAME= ${DISTNAME:S/InspIRCd/inspircd/}
+CATEGORIES= chat
+MASTER_SITES= http://www.inspircd.org/downloads/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= adrianp@NetBSD.org
+HOMEPAGE= http://www.inspircd.org/
+COMMENT= Modular C++ IRC Daemon
+
+USE_TOOLS+= perl:build gmake
+REPLACE_PERL+= .inspircd.inc configure
+
+WRKSRC= ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
+HAS_CONFIGURE= yes
+CONFIG_SHELL= ${PERL5}
+USE_LANGUAGES= c++
+PLIST_SRC= ${WRKDIR}/.PLIST_SRC
+PLIST_SRC+= ${PKGDIR}/PLIST.common_end
+RCD_SCRIPTS+= inspircd
+PKG_SYSCONFSUBDIR= inspircd
+
+FILES_SUBST+= INSPIRCD_USER=${INSPIRCD_USER:Q}
+FILES_SUBST+= INSPIRCD_GROUP=${INSPIRCD_GROUP:Q}
+
+.include "../../mk/bsd.prefs.mk"
+
+EGDIR= ${PREFIX}/share/examples/inspircd
+EXTRA= ${WRKSRC}/src/modules/extra
+MODULES?= # undef
+HEADERS?= # undef
+CONF_FILES_PERMS= ${EGDIR}/inspircd.conf.example \
+ ${PKG_SYSCONFDIR}/inspircd.conf \
+ ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 0400
+
+PKG_USERS_VARS= INSPIRCD_USER
+PKG_GROUPS_VARS= INSPIRCD_GROUP
+
+PKG_GROUPS= ${INSPIRCD_GROUP:Q}
+PKG_USERS= ${INSPIRCD_USER:Q}:${INSPIRCD_GROUP:Q}
+
+PKG_GECOS.${INSPIRCD_USER}= InspIRCd user
+
+SUBST_CLASSES+= conf
+SUBST_STAGE.conf= pre-configure
+SUBST_FILES.conf= docs/inspircd.conf.example
+SUBST_SED.conf+= -e "s|/path/to/inspircd.pid|${VARBASE}/run/inspircd/inspircd.pid|g"
+SUBST_MESSAGE.conf= Fixing configuration files.
+
+CONFIGURE_ARGS+= --disable-interactive
+CONFIGURE_ARGS+= --prefix=${PREFIX}/share/inspircd
+CONFIGURE_ARGS+= --config-dir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --binary-dir=${PREFIX}/bin
+CONFIGURE_ARGS+= --library-dir=${PREFIX}/lib/inspircd
+CONFIGURE_ARGS+= --module-dir=${PREFIX}/share/inspircd/modules
+
+CONFIGURE_ARGS+= --with-nick-length=${INSP_NICLEN:Q}
+CONFIGURE_ARGS+= --with-channel-length=${INSP_CHANLEN:Q}
+CONFIGURE_ARGS+= --with-max-clients=${INSP_MAXCLI:Q}
+CONFIGURE_ARGS+= --with-ident-length=${INSP_MAXIDENT:Q}
+CONFIGURE_ARGS+= --with-quit-length=${INSP_MAXQUIT:Q}
+CONFIGURE_ARGS+= --with-topic-length=${INSP_MAXTOPIC:Q}
+CONFIGURE_ARGS+= --with-kick-length=${INSP_MAXKICK:Q}
+CONFIGURE_ARGS+= --with-gecos-length=${INSP_MAXGECOS:Q}
+CONFIGURE_ARGS+= --with-away-length=${INSP_MAXAWAY:Q}
+CONFIGURE_ARGS+= --with-max-modes=${INSP_MAXMODES:Q}
+
+.include "options.mk"
+
+BUILD_DEFS+= INSP_NICLEN INSP_CHANLEN INSPIRCD_USER INSPIRCD_GROUP
+BUILD_DEFS+= INSP_MAXCLI INSP_MAXIDENT INSP_MAXQUIT INSP_MAXTOPIC
+BUILD_DEFS+= INSP_MAXKICK INSP_MAXGECOS INSP_MAXAWAY INSP_MAXMODES
+BUILD_DEFS+= VARBASE
+
+OWN_DIRS_PERMS+= ${VARBASE}/run/inspircd \
+ ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 750
+
+INSPIRCD_USER?= inspircd
+INSPIRCD_GROUP?= inspircd
+
+# from a default ./configure
+INSP_NICLEN?= 31
+INSP_CHANLEN?= 64
+INSP_MAXCLI?= 64
+INSP_MAXIDENT?= 12
+INSP_MAXQUIT?= 255
+INSP_MAXTOPIC?= 307
+INSP_MAXKICK?= 255
+INSP_MAXGECOS?= 128
+INSP_MAXAWAY?= 200
+INSP_MAXMODES?= 20
+
+post-extract:
+ ${MV} ${WRKDIR}/inspircd ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
+
+pre-configure:
+.if defined(MODULES)
+. for f in ${MODULES}
+ ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
+. endfor
+.endif
+.if defined(HEADER)
+. for f in ${HEADERS}
+ ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
+. endfor
+.endif
+
+post-build:
+ ${CP} ${PKGDIR}/PLIST ${WRKDIR}/.PLIST_SRC
+.if defined(MODULES)
+. for f in ${MODULES}
+ ${ECHO} share/inspircd/modules/${f} | \
+ ${SED} -e "s|\\.cpp|\\.so|g" >> ${WRKDIR}/.PLIST_SRC
+. endfor
+.endif
+
+post-install:
+ ${INSTALL_DATA_DIR} ${EGDIR}
+ ${INSTALL_DATA_DIR} ${EGDIR}/sql
+ ${INSTALL_DATA_DIR} ${EGDIR}/aliases
+
+ ${INSTALL_DATA} ${WRKSRC}/conf/inspircd.* ${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/conf/aliases/*.example ${EGDIR}/aliases
+ ${INSTALL_DATA} ${WRKSRC}/docs/inspircd.conf.example ${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/extras/m_*.sql ${EGDIR}/sql
+
+ ${TOUCH} ${VARBASE}/log/inspircd.log
+ ${CHOWN} ${INSPIRCD_USER}:${INSPIRCD_GROUP} ${VARBASE}/log/inspircd.log
+ ${CHMOD} 0640 ${VARBASE}/log/inspircd.log
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/chat/inspircd/PLIST b/chat/inspircd/PLIST
new file mode 100644
index 00000000000..f471d5f218c
--- /dev/null
+++ b/chat/inspircd/PLIST
@@ -0,0 +1,216 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/07/24 20:13:19 adrianp Exp $
+bin/inspircd
+lib/inspircd/cmd_admin.so
+lib/inspircd/cmd_away.so
+lib/inspircd/cmd_clearcache.so
+lib/inspircd/cmd_commands.so
+lib/inspircd/cmd_connect.so
+lib/inspircd/cmd_die.so
+lib/inspircd/cmd_eline.so
+lib/inspircd/cmd_gline.so
+lib/inspircd/cmd_info.so
+lib/inspircd/cmd_invite.so
+lib/inspircd/cmd_ison.so
+lib/inspircd/cmd_join.so
+lib/inspircd/cmd_kick.so
+lib/inspircd/cmd_kill.so
+lib/inspircd/cmd_kline.so
+lib/inspircd/cmd_links.so
+lib/inspircd/cmd_list.so
+lib/inspircd/cmd_loadmodule.so
+lib/inspircd/cmd_lusers.so
+lib/inspircd/cmd_map.so
+lib/inspircd/cmd_mode.so
+lib/inspircd/cmd_modules.so
+lib/inspircd/cmd_motd.so
+lib/inspircd/cmd_names.so
+lib/inspircd/cmd_nick.so
+lib/inspircd/cmd_notice.so
+lib/inspircd/cmd_oper.so
+lib/inspircd/cmd_part.so
+lib/inspircd/cmd_pass.so
+lib/inspircd/cmd_ping.so
+lib/inspircd/cmd_pong.so
+lib/inspircd/cmd_privmsg.so
+lib/inspircd/cmd_qline.so
+lib/inspircd/cmd_quit.so
+lib/inspircd/cmd_rehash.so
+lib/inspircd/cmd_reloadmodule.so
+lib/inspircd/cmd_restart.so
+lib/inspircd/cmd_rules.so
+lib/inspircd/cmd_server.so
+lib/inspircd/cmd_squit.so
+lib/inspircd/cmd_stats.so
+lib/inspircd/cmd_summon.so
+lib/inspircd/cmd_time.so
+lib/inspircd/cmd_topic.so
+lib/inspircd/cmd_trace.so
+lib/inspircd/cmd_unloadmodule.so
+lib/inspircd/cmd_user.so
+lib/inspircd/cmd_userhost.so
+lib/inspircd/cmd_users.so
+lib/inspircd/cmd_version.so
+lib/inspircd/cmd_wallops.so
+lib/inspircd/cmd_who.so
+lib/inspircd/cmd_whois.so
+lib/inspircd/cmd_whowas.so
+lib/inspircd/cmd_zline.so
+lib/inspircd/libIRCDasyncdns.so
+lib/inspircd/libIRCDbase.so
+lib/inspircd/libIRCDchannels.so
+lib/inspircd/libIRCDcommand_parse.so
+lib/inspircd/libIRCDcommands.so
+lib/inspircd/libIRCDconfigreader.so
+lib/inspircd/libIRCDcull_list.so
+lib/inspircd/libIRCDdynamic.so
+lib/inspircd/libIRCDhash.so
+lib/inspircd/libIRCDhelper.so
+lib/inspircd/libIRCDinspsocket.so
+lib/inspircd/libIRCDmode.so
+lib/inspircd/libIRCDmodules.so
+lib/inspircd/libIRCDsnomasks.so
+lib/inspircd/libIRCDsocket.so
+lib/inspircd/libIRCDsocketengine.so
+lib/inspircd/libIRCDstring.so
+lib/inspircd/libIRCDtimer.so
+lib/inspircd/libIRCDuserprocess.so
+lib/inspircd/libIRCDusers.so
+lib/inspircd/libIRCDwildcard.so
+lib/inspircd/libIRCDxline.so
+share/examples/inspircd/aliases/anope.conf.example
+share/examples/inspircd/aliases/atheme.conf.example
+share/examples/inspircd/aliases/ircservices.conf.example
+share/examples/inspircd/inspircd.censor.example
+share/examples/inspircd/inspircd.conf.example
+share/examples/inspircd/inspircd.filter.example
+share/examples/inspircd/inspircd.helpop-full.example
+share/examples/inspircd/inspircd.helpop.example
+share/examples/inspircd/inspircd.motd.example
+share/examples/inspircd/inspircd.quotes.example
+share/examples/inspircd/inspircd.rules.example
+share/examples/inspircd/sql/m_sqllog.mysql.sql
+share/examples/inspircd/sql/m_sqllog.postgresql.sql
+share/examples/inspircd/sql/m_sqllog.sqlite3.sql
+share/examples/inspircd/sql/m_sqloper.mysql.sql
+share/examples/inspircd/sql/m_sqloper.postgresql.sql
+share/examples/inspircd/sql/m_sqloper.sqlite3.sql
+share/examples/rc.d/inspircd
+share/inspircd/.gdbargs
+share/inspircd/inspircd
+share/inspircd/modules/m_alias.so
+share/inspircd/modules/m_alltime.so
+share/inspircd/modules/m_antibear.so
+share/inspircd/modules/m_antibottler.so
+share/inspircd/modules/m_auditorium.so
+share/inspircd/modules/m_banexception.so
+share/inspircd/modules/m_banredirect.so
+share/inspircd/modules/m_blockamsg.so
+share/inspircd/modules/m_blockcaps.so
+share/inspircd/modules/m_blockcolor.so
+share/inspircd/modules/m_botmode.so
+share/inspircd/modules/m_cban.so
+share/inspircd/modules/m_censor.so
+share/inspircd/modules/m_cgiirc.so
+share/inspircd/modules/m_chancreate.so
+share/inspircd/modules/m_chanfilter.so
+share/inspircd/modules/m_chanprotect.so
+share/inspircd/modules/m_check.so
+share/inspircd/modules/m_chghost.so
+share/inspircd/modules/m_chgident.so
+share/inspircd/modules/m_chgname.so
+share/inspircd/modules/m_cloaking.so
+share/inspircd/modules/m_clones.so
+share/inspircd/modules/m_conn_join.so
+share/inspircd/modules/m_conn_umodes.so
+share/inspircd/modules/m_conn_waitpong.so
+share/inspircd/modules/m_connflood.so
+share/inspircd/modules/m_customtitle.so
+share/inspircd/modules/m_cycle.so
+share/inspircd/modules/m_dccallow.so
+share/inspircd/modules/m_deaf.so
+share/inspircd/modules/m_denychans.so
+share/inspircd/modules/m_devoice.so
+share/inspircd/modules/m_dnsbl.so
+share/inspircd/modules/m_filter.so
+share/inspircd/modules/m_foobar.so
+share/inspircd/modules/m_globalload.so
+share/inspircd/modules/m_globops.so
+share/inspircd/modules/m_helpop.so
+share/inspircd/modules/m_hidechans.so
+share/inspircd/modules/m_hideoper.so
+share/inspircd/modules/m_hostchange.so
+share/inspircd/modules/m_http_client.so
+share/inspircd/modules/m_httpd.so
+share/inspircd/modules/m_httpd_stats.so
+share/inspircd/modules/m_ident.so
+share/inspircd/modules/m_invisible.so
+share/inspircd/modules/m_inviteexception.so
+share/inspircd/modules/m_joinflood.so
+share/inspircd/modules/m_jumpserver.so
+share/inspircd/modules/m_kicknorejoin.so
+share/inspircd/modules/m_knock.so
+share/inspircd/modules/m_lockserv.so
+share/inspircd/modules/m_md5.so
+share/inspircd/modules/m_messageflood.so
+share/inspircd/modules/m_namesx.so
+share/inspircd/modules/m_nicklock.so
+share/inspircd/modules/m_noctcp.so
+share/inspircd/modules/m_noinvite.so
+share/inspircd/modules/m_nokicks.so
+share/inspircd/modules/m_nonicks.so
+share/inspircd/modules/m_nonotice.so
+share/inspircd/modules/m_oper_hash.so
+share/inspircd/modules/m_operchans.so
+share/inspircd/modules/m_operjoin.so
+share/inspircd/modules/m_operlevels.so
+share/inspircd/modules/m_operlog.so
+share/inspircd/modules/m_opermodes.so
+share/inspircd/modules/m_opermotd.so
+share/inspircd/modules/m_override.so
+share/inspircd/modules/m_randquote.so
+share/inspircd/modules/m_redirect.so
+share/inspircd/modules/m_regonlycreate.so
+share/inspircd/modules/m_remove.so
+share/inspircd/modules/m_restrictbanned.so
+share/inspircd/modules/m_restrictchans.so
+share/inspircd/modules/m_restrictmsg.so
+share/inspircd/modules/m_rpc_json.so
+share/inspircd/modules/m_safelist.so
+share/inspircd/modules/m_sajoin.so
+share/inspircd/modules/m_samode.so
+share/inspircd/modules/m_sanick.so
+share/inspircd/modules/m_sapart.so
+share/inspircd/modules/m_saquit.so
+share/inspircd/modules/m_securelist.so
+share/inspircd/modules/m_seenicks.so
+share/inspircd/modules/m_services.so
+share/inspircd/modules/m_services_account.so
+share/inspircd/modules/m_sethost.so
+share/inspircd/modules/m_setident.so
+share/inspircd/modules/m_setidle.so
+share/inspircd/modules/m_setname.so
+share/inspircd/modules/m_sha256.so
+share/inspircd/modules/m_showwhois.so
+share/inspircd/modules/m_silence.so
+share/inspircd/modules/m_silence_ext.so
+share/inspircd/modules/m_spanningtree.so
+share/inspircd/modules/m_spy.so
+share/inspircd/modules/m_ssl_dummy.so
+share/inspircd/modules/m_sslmodes.so
+share/inspircd/modules/m_stripcolor.so
+share/inspircd/modules/m_svshold.so
+share/inspircd/modules/m_swhois.so
+share/inspircd/modules/m_taxonomy.so
+share/inspircd/modules/m_testcommand.so
+share/inspircd/modules/m_timedbans.so
+share/inspircd/modules/m_tline.so
+share/inspircd/modules/m_uhnames.so
+share/inspircd/modules/m_uninvite.so
+share/inspircd/modules/m_userip.so
+share/inspircd/modules/m_vhost.so
+share/inspircd/modules/m_watch.so
+share/inspircd/modules/m_xmlsocket.so
+@dirrm lib/inspircd
+@dirrm share/examples/inspircd/aliases
+@dirrm share/examples/inspircd/sql
+@dirrm share/examples/inspircd
diff --git a/chat/inspircd/PLIST.common_end b/chat/inspircd/PLIST.common_end
new file mode 100644
index 00000000000..4dfccc5b4c1
--- /dev/null
+++ b/chat/inspircd/PLIST.common_end
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST.common_end,v 1.1.1.1 2007/07/24 20:13:19 adrianp Exp $
+@dirrm share/inspircd/modules
+@dirrm share/inspircd
diff --git a/chat/inspircd/distinfo b/chat/inspircd/distinfo
new file mode 100644
index 00000000000..debfb359573
--- /dev/null
+++ b/chat/inspircd/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/07/24 20:13:19 adrianp Exp $
+
+SHA1 (InspIRCd-1.1.10.tar.bz2) = 194cd0a1fc08eb148161d39159b9effc18c7cc12
+RMD160 (InspIRCd-1.1.10.tar.bz2) = 58360a8719741518ab29f76ba20b3b7d987c3232
+Size (InspIRCd-1.1.10.tar.bz2) = 507390 bytes
+SHA1 (patch-aa) = d62675b6ace79ba5c0c0c4db2b4f9454346170c3
+SHA1 (patch-ab) = 683344dc906be076aaed688924bfad4e4aabe508
diff --git a/chat/inspircd/files/inspircd.sh b/chat/inspircd/files/inspircd.sh
new file mode 100644
index 00000000000..59091e7a1f5
--- /dev/null
+++ b/chat/inspircd/files/inspircd.sh
@@ -0,0 +1,48 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: inspircd.sh,v 1.1.1.1 2007/07/24 20:13:20 adrianp Exp $
+#
+# PROVIDE: inspircd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="inspircd"
+rcvar=${name}
+command="@PREFIX@/bin/inspircd"
+required_files="@PKG_SYSCONFDIR@/inspircd.conf"
+pidfile="@VARBASE@/run/inspircd/inspircd.pid"
+inspircd_user="@INSPIRCD_USER@"
+inspircd_group="@INSPIRCD_GROUP@"
+command_args="--logfile @VARBASE@/log/inspircd.log"
+extra_commands="rehash"
+rehash_cmd="inspircd_rehash"
+start_precmd="inspircd_precmd"
+
+inspircd_precmd()
+{
+ if [ ! -d @VARBASE@/run/inspircd ]; then
+ @MKDIR@ @VARBASE@/run/inspircd
+ @CHMOD@ 0750 @VARBASE@/run/inspircd
+ @CHOWN@ @INSPIRCD_USER@:@INSPIRCD_GROUP@ @VARBASE@/run/inspircd
+ fi
+
+ if [ ! -f @VARBASE@/log/inspircd.log ]; then
+ @TOUCH@ @VARBASE@/log/inspircd.log
+ @CHMOD@ 0640 @VARBASE@/log/inspircd.log
+ @CHOWN@ @INSPIRCD_USER@:@INSPIRCD_GROUP@ @VARBASE@/log/inspircd.log
+ fi
+}
+
+inspircd_rehash()
+{
+ kill -HUP `@CAT@ $pidfile`
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/chat/inspircd/options.mk b/chat/inspircd/options.mk
new file mode 100644
index 00000000000..82e47dae286
--- /dev/null
+++ b/chat/inspircd/options.mk
@@ -0,0 +1,151 @@
+# $NetBSD: options.mk,v 1.1.1.1 2007/07/24 20:13:19 adrianp Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.inspircd
+
+PKG_SUPPORTED_OPTIONS= inet6 ssl gnutls kqueue epoll inspircd-remoteinet6
+PKG_SUPPORTED_OPTIONS+= pcre inspircd-ziplinks mysql pgsql inspircd-sqlauth
+PKG_SUPPORTED_OPTIONS+= inspircd-sqllog inspircd-sqloper inspircd-sqlutils
+PKG_SUGGESTED_OPTIONS= inet6
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Dependency notes:
+###
+### sql = mysql, pgsql, sqlite3
+### sqlutils = sqlutils
+###
+### sqloper needs sql sqlutils
+### sqllog needs sql
+### sqlauth needs sql sqlutils
+###
+
+###
+### Enable kqueue support
+###
+.if !empty(PKG_OPTIONS:Mkqueue)
+CONFIGURE_ARGS+= --enable-kqueue
+.else
+CONFIGURE_ARGS+= --disable-kqueue
+.endif
+
+###
+### Enable epoll support
+###
+.if !empty(PKG_OPTIONS:Mepoll)
+CONFIGURE_ARGS+= --enable-epoll
+.else
+CONFIGURE_ARGS+= --disable-epoll
+.endif
+
+###
+### Enable IPv6 support
+###
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+= --enable-ipv6
+.endif
+
+###
+### Enable remote IPv6 support
+###
+.if !empty(PKG_OPTIONS:Mremoteinet6)
+PKG_SUGGESTED_OPTIONS+= inet6
+CONFIGURE_ARGS+= --enable-remote-ipv6
+.else
+CONFIGURE_ARGS+= --disable-remote-ipv6
+.endif
+
+###
+### Enable OpenSSL support
+###
+.if !empty(PKG_OPTIONS:Mssl)
+. include "../../security/openssl/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-openssl
+.endif
+
+###
+### Enable GNU TLS support
+### Apparently this gives better performance when compared to OpenSSL
+###
+.if !empty(PKG_OPTIONS:Mgnutls)
+. include "../../security/gnutls/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-gnutls
+.endif
+
+###
+### Compile in support for ziplinks. This compresses data sent from
+### server <-> server with zlib.
+###
+.if !empty(PKG_OPTIONS:Minspircd-ziplinks)
+. include "../../devel/zlib/buildlink3.mk"
+MODULES+= m_ziplink.cpp
+.endif
+
+###
+### Perl regex support
+###
+.if !empty(PKG_OPTIONS:Mpcre)
+. include "../../devel/pcre/buildlink3.mk"
+MODULES+= m_filter_pcre.cpp
+.endif
+
+###
+### Use SQL for storing user details
+###
+.if !empty(PKG_OPTIONS:Minspircd-sqlauth)
+INSPIRCD_STORAGE_DRIVER?= mysql
+MODULES+= m_sqlauth.cpp
+PKG_SUGGESTED_OPTIONS+= inspircd-sqlutils
+.endif
+
+###
+### Use SQL for logging
+###
+.if !empty(PKG_OPTIONS:Minspircd-sqllog)
+INSPIRCD_STORAGE_DRIVER?= mysql
+MODULES+= m_sqllog.cpp
+.endif
+
+###
+### Use SQL for storing oper details
+###
+.if !empty(PKG_OPTIONS:Minspircd-sqloper)
+INSPIRCD_STORAGE_DRIVER?= mysql
+MODULES+= m_sqloper.cpp
+PKG_SUGGESTED_OPTIONS+= inspircd-sqlutils
+.endif
+
+###
+### SQL utilities
+###
+.if !empty(PKG_OPTIONS:Minspircd-sqlutils)
+INSPIRCD_STORAGE_DRIVER?= mysql
+MODULES+= m_sqlutils.cpp
+HEADERS+= m_sqlutils.h
+.endif
+
+###
+### Strorage driver magic
+###
+### This will only be activated if INSPIRCD_STORAGE_DRIVER is set either
+### explictly by the user or by selecting one of the options that are
+### dependent on an SQL storage driver.
+###
+.if defined(INSPIRCD_STORAGE_DRIVER)
+BUILD_DEFS+= INSPIRCD_STORAGE_DRIVER
+. if !empty(INSPIRCD_STORAGE_DRIVER:Mmysql)
+. include "../../mk/mysql.buildlink3.mk"
+MODULES+= m_mysql.cpp
+HEADERS+= m_sqlv2.h
+. elif !empty(DSPAM_STORAGE_DRIVER:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+MODULES+= m_pgsql.cpp
+HEADERS+= m_sqlv2.h
+. elif !empty(DSPAM_STORAGE_DRIVER:Msqlite3)
+. include "../../databases/sqlite3/buildlink3.mk"
+MODULES+= m_sqlite3.cpp
+HEADERS+= m_sqlv2.h
+. else
+PKG_FAIL_REASON+= "${PKGBASE}: unknown storage driver \\'${INSPIRCD_STORAGE_DRIVER}\\'"
+. endif
+.endif
diff --git a/chat/inspircd/patches/patch-aa b/chat/inspircd/patches/patch-aa
new file mode 100644
index 00000000000..d6b9a4d8676
--- /dev/null
+++ b/chat/inspircd/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/07/24 20:13:20 adrianp Exp $
+
+--- src/inspircd.cpp.orig 2007-01-15 23:49:24.000000000 +0000
++++ src/inspircd.cpp
+@@ -317,7 +317,7 @@ InspIRCd::InspIRCd(int argc, char** argv
+ { 0, 0, 0, 0 }
+ };
+
+- while ((c = getopt_long_only(argc, argv, ":f:", longopts, NULL)) != -1)
++ while ((c = getopt_long(argc, argv, ":f:", longopts, NULL)) != -1)
+ {
+ switch (c)
+ {
diff --git a/chat/inspircd/patches/patch-ab b/chat/inspircd/patches/patch-ab
new file mode 100644
index 00000000000..1375be18231
--- /dev/null
+++ b/chat/inspircd/patches/patch-ab
@@ -0,0 +1,29 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/07/24 20:13:20 adrianp Exp $
+
+--- .Makefile.inc.orig 2007-07-16 19:18:03.000000000 +0100
++++ .Makefile.inc
+@@ -70,7 +70,6 @@ ircd:
+ install: all@EXTRA_DIR@
+ @-install -d -m $(INSTMODE) ${BASE}
+ @-install -d -m $(INSTMODE) $(LIBPATH)
+- @-install -d -m $(INSTMODE) $(BINPATH)
+ @-install -d -m $(INSTMODE) $(CONPATH)
+ @-install -d -m $(INSTMODE) ${MODPATH}
+ -install -m $(INSTMODE) src/libIRCDasyncdns.$(LIB_EXT) $(LIBPATH)
+@@ -153,16 +152,6 @@ install: all@EXTRA_DIR@
+ -install -m $(INSTMODE) src/cmd_zline.so $(LIBPATH)
+ -install -m $(INSTMODE) src/cmd_mode.so $(LIBPATH)
+ @-cp .gdbargs $(BASE)
+- @-cp conf/inspircd.quotes.example $(CONPATH)
+- @-cp conf/inspircd.rules.example $(CONPATH)
+- @-cp conf/inspircd.motd.example $(CONPATH)
+- @-cp conf/inspircd.helpop-full.example $(CONPATH)
+- @-cp conf/inspircd.helpop.example $(CONPATH)
+- @-cp conf/inspircd.censor.example $(CONPATH)
+- @-cp conf/inspircd.filter.example $(CONPATH)
+- @-cp conf/key.pem $(CONPATH)
+- @-cp conf/cert.pem $(CONPATH)
+- @-cp docs/inspircd.conf.example $(CONPATH)
+ ${MAKE} modinstall
+
+ modinstall: mods