From 9a07bde08b1fd4dad8ba32056e5e7dcfa3ff8a05 Mon Sep 17 00:00:00 2001 From: adrianp Date: Tue, 24 Jul 2007 20:13:19 +0000 Subject: 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. --- chat/inspircd/DESCR | 6 ++ chat/inspircd/Makefile | 134 +++++++++++++++++++++++++ chat/inspircd/PLIST | 216 ++++++++++++++++++++++++++++++++++++++++ chat/inspircd/PLIST.common_end | 3 + chat/inspircd/distinfo | 7 ++ chat/inspircd/files/inspircd.sh | 48 +++++++++ chat/inspircd/options.mk | 151 ++++++++++++++++++++++++++++ chat/inspircd/patches/patch-aa | 13 +++ chat/inspircd/patches/patch-ab | 29 ++++++ 9 files changed, 607 insertions(+) create mode 100644 chat/inspircd/DESCR create mode 100644 chat/inspircd/Makefile create mode 100644 chat/inspircd/PLIST create mode 100644 chat/inspircd/PLIST.common_end create mode 100644 chat/inspircd/distinfo create mode 100644 chat/inspircd/files/inspircd.sh create mode 100644 chat/inspircd/options.mk create mode 100644 chat/inspircd/patches/patch-aa create mode 100644 chat/inspircd/patches/patch-ab 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 -- cgit v1.2.3