From 3a7e0871b760d1403e9bbf6888e40620232e093b Mon Sep 17 00:00:00 2001 From: adrianp Date: Sun, 4 Jan 2009 00:52:27 +0000 Subject: Add latest BETA for InspIRCd 1.2 Convert m_shun and m_cban to use new XLine framework Allow for custom prefixes to be used in /notice #chan e.g. & /WATCH away notification Exceptions for m_denychans. userrec::HasPermission -> map of maps, for (even faster) access For all the details see: http://wiki.inspircd.org/Development/Roadmap/1.2 --- chat/inspircd12/DESCR | 6 ++ chat/inspircd12/Makefile | 135 +++++++++++++++++++++++ chat/inspircd12/PLIST | 219 ++++++++++++++++++++++++++++++++++++++ chat/inspircd12/PLIST.common_end | 3 + chat/inspircd12/distinfo | 9 ++ chat/inspircd12/files/inspircd.sh | 48 +++++++++ chat/inspircd12/files/openssl.pc | 11 ++ chat/inspircd12/options.mk | 145 +++++++++++++++++++++++++ chat/inspircd12/patches/patch-aa | 13 +++ chat/inspircd12/patches/patch-ab | 12 +++ chat/inspircd12/patches/patch-ac | 15 +++ chat/inspircd12/patches/patch-ad | 13 +++ 12 files changed, 629 insertions(+) create mode 100644 chat/inspircd12/DESCR create mode 100644 chat/inspircd12/Makefile create mode 100644 chat/inspircd12/PLIST create mode 100644 chat/inspircd12/PLIST.common_end create mode 100644 chat/inspircd12/distinfo create mode 100644 chat/inspircd12/files/inspircd.sh create mode 100644 chat/inspircd12/files/openssl.pc create mode 100644 chat/inspircd12/options.mk create mode 100644 chat/inspircd12/patches/patch-aa create mode 100644 chat/inspircd12/patches/patch-ab create mode 100644 chat/inspircd12/patches/patch-ac create mode 100644 chat/inspircd12/patches/patch-ad (limited to 'chat/inspircd12') diff --git a/chat/inspircd12/DESCR b/chat/inspircd12/DESCR new file mode 100644 index 00000000000..cc8c38e44d1 --- /dev/null +++ b/chat/inspircd12/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/inspircd12/Makefile b/chat/inspircd12/Makefile new file mode 100644 index 00000000000..647761d2bc8 --- /dev/null +++ b/chat/inspircd12/Makefile @@ -0,0 +1,135 @@ +# $NetBSD: Makefile,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ +# + +DISTNAME= InspIRCd-1.2.0b4 +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 + +CONFLICTS+= inspircd<1.2.0 + +USE_TOOLS+= perl:build gmake pkg-config +REPLACE_PERL+= .inspircd.inc configure make/run-cc.pl + +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 +CONF_FILES_PERMS+= ${EGDIR}/modules.conf.example \ + ${PKG_SYSCONFDIR}/modules.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 + +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 + +.include "options.mk" + +SUBST_CLASSES+= conf +SUBST_STAGE.conf= pre-configure +SUBST_FILES.conf= conf/inspircd.conf.example +SUBST_SED.conf+= -e "s|/path/to/inspircd.pid|${VARBASE}/run/inspircd/inspircd.pid|g" +SUBST_MESSAGE.conf= Fixing configuration files. + +SUBST_CLASSES+= install +SUBST_STAGE.install= post-configure +SUBST_FILES.install= Makefile +SUBST_SED.install+= -e "s|-cp conf|\#-cp conf|g" +SUBST_MESSAGE.install= Fixing installation files. + +BUILD_DEFS+= INSPIRCD_USER INSPIRCD_GROUP VARBASE + +MAKE_DIRS+= ${VARBASE}/log +OWN_DIRS_PERMS+= ${VARBASE}/run/inspircd \ + ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 750 + +INSPIRCD_USER?= inspircd +INSPIRCD_GROUP?= inspircd + +CHECK_BUILTIN.openssl:=yes +.include "../../security/openssl/builtin.mk" +CHECK_BUILTIN.openssl:=no + +post-extract: + ${MV} ${WRKDIR}/inspircd ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/} +.if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl) + ${CP} ${FILESDIR}/openssl.pc ${WRKSRC}/openssl.pc +SUBST_FILES.conf+= ${WRKSRC}/openssl.pc +SUBST_SED.conf+= -e "s|@SSLBASE@|${BUILDLINK_PREFIX.openssl}|g" +SUBST_SED.conf+= -e "s|@SSLVER@|${BUILTIN_VERSION.openssl}|g" +.endif + +pre-configure: +.if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl) + ${MKDIR} ${BUILDLINK_DIR}/lib/pkgconfig + ${CP} ${WRKSRC}/openssl.pc ${BUILDLINK_DIR}/lib/pkgconfig +.endif +.if defined(MODULES) +. for f in ${MODULES} + ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f} +. endfor +.endif +.if defined(HEADERS) +. 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/modules.* ${EGDIR} + ${INSTALL_DATA} ${WRKSRC}/conf/aliases/*.example ${EGDIR}/aliases + ${INSTALL_DATA} ${WRKSRC}/conf/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/inspircd12/PLIST b/chat/inspircd12/PLIST new file mode 100644 index 00000000000..d85bcce039c --- /dev/null +++ b/chat/inspircd12/PLIST @@ -0,0 +1,219 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2009/01/04 00:52:27 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_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_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 +share/examples/inspircd/aliases/anope.conf.example +share/examples/inspircd/aliases/atheme.conf.example +share/examples/inspircd/aliases/ircservices.conf.example +share/examples/inspircd/aliases/neostats.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/modules.conf.example +share/examples/inspircd/sql/m_sqllog.mssql.sql +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.mssql.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/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_close.so +share/inspircd/modules/m_commonchans.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_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_nickflood.so +share/inspircd/modules/m_noctcp.so +share/inspircd/modules/m_nokicks.so +share/inspircd/modules/m_nonicks.so +share/inspircd/modules/m_nonotice.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_restrictchans.so +share/inspircd/modules/m_restrictmsg.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_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_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_abbreviation.so +share/inspircd/modules/m_allowinvite.so +share/inspircd/modules/m_callerid.so +share/inspircd/modules/m_cap.so +share/inspircd/modules/m_chanlog.so +share/inspircd/modules/m_channelban.so +share/inspircd/modules/m_connectban.so +share/inspircd/modules/m_delayjoin.so +share/inspircd/modules/m_gecosban.so +share/inspircd/modules/m_httpd_acl.so +share/inspircd/modules/m_httpd_config.so +share/inspircd/modules/m_maphide.so +share/inspircd/modules/m_muteban.so +share/inspircd/modules/m_nopartmsg.so +share/inspircd/modules/m_operflood.so +share/inspircd/modules/m_operinvex.so +share/inspircd/modules/m_password_hash.so +share/inspircd/modules/m_permchannels.so +share/inspircd/modules/m_regex_glob.so +share/inspircd/modules/m_ripemd160.so +share/inspircd/modules/m_rpc_json.so +share/inspircd/modules/m_rpctest.so +share/inspircd/modules/m_rline.so +share/inspircd/modules/m_sasl.so +share/inspircd/modules/m_satopic.so +share/inspircd/modules/m_serverban.so +share/inspircd/modules/m_servprotect.so +share/inspircd/modules/m_shun.so +share/inspircd/modules/m_xline_db.so +@dirrm lib/inspircd +@dirrm share/examples/inspircd/aliases +@dirrm share/examples/inspircd/sql +@dirrm share/examples/inspircd diff --git a/chat/inspircd12/PLIST.common_end b/chat/inspircd12/PLIST.common_end new file mode 100644 index 00000000000..2f463bd4d35 --- /dev/null +++ b/chat/inspircd12/PLIST.common_end @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST.common_end,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ +@dirrm share/inspircd/modules +@dirrm share/inspircd diff --git a/chat/inspircd12/distinfo b/chat/inspircd12/distinfo new file mode 100644 index 00000000000..92799c259aa --- /dev/null +++ b/chat/inspircd12/distinfo @@ -0,0 +1,9 @@ +$NetBSD: distinfo,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +SHA1 (InspIRCd-1.2.0b4.tar.bz2) = 98dbfb4a7111041f1eb0a8b29c3cd0de0fa365b8 +RMD160 (InspIRCd-1.2.0b4.tar.bz2) = 314abf17a3963e47f79fa45361a1ed338d7b66c4 +Size (InspIRCd-1.2.0b4.tar.bz2) = 611465 bytes +SHA1 (patch-aa) = 47a3df3c35104103bf0a3add100441d9ca8d4c54 +SHA1 (patch-ab) = ddd675b13e89ca514b594c61cee00a3b9f1510e8 +SHA1 (patch-ac) = b9282332189ad19e6c48a5e2e6efa7bffbd7ccb0 +SHA1 (patch-ad) = e17969eb0b06f6e77742927f3fde6e2de1f0c34e diff --git a/chat/inspircd12/files/inspircd.sh b/chat/inspircd12/files/inspircd.sh new file mode 100644 index 00000000000..ac1a8c297d5 --- /dev/null +++ b/chat/inspircd12/files/inspircd.sh @@ -0,0 +1,48 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: inspircd.sh,v 1.1.1.1 2009/01/04 00:52:27 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/inspircd12/files/openssl.pc b/chat/inspircd12/files/openssl.pc new file mode 100644 index 00000000000..3ee6bfd395c --- /dev/null +++ b/chat/inspircd12/files/openssl.pc @@ -0,0 +1,11 @@ +prefix=@SSLBASE@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: OpenSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Version: @SSLVER@ +Requires: +Libs: -L${libdir} -lssl -lcrypto -Wl,-R@SSLBASE@/lib +Cflags: -I${includedir} diff --git a/chat/inspircd12/options.mk b/chat/inspircd12/options.mk new file mode 100644 index 00000000000..ced1247052c --- /dev/null +++ b/chat/inspircd12/options.mk @@ -0,0 +1,145 @@ +# $NetBSD: options.mk,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.inspircd + +PKG_SUPPORTED_OPTIONS= inet6 ssl gnutls kqueue epoll inspircd-remoteinet6 +PKG_SUPPORTED_OPTIONS+= pcre inspircd-ziplinks inspircd-sqlauth +PKG_SUPPORTED_OPTIONS+= inspircd-sqllog inspircd-sqloper +PKG_SUGGESTED_OPTIONS= inet6 + +.include "../../mk/bsd.options.mk" + +### +### Dependency notes: +### +### sql = mysql, pgsql, sqlite3 +### sqlutils = m_sqlutils.cpp m_sqlutils.h +### +### 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" +BUILDLINK_API_DEPENDS.openssl+= openssl>=0.9.7 +CONFIGURE_ARGS+= --enable-openssl +MODULES+= m_ssl_openssl.cpp +.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 +MODULES+= m_ssl_gnutls.cpp +.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 m_sqlutils.cpp +HEADERS+= m_sqlutils.h +.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 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(INSPIRCD_STORAGE_DRIVER:Mpgsql) +. include "../../mk/pgsql.buildlink3.mk" +MODULES+= m_pgsql.cpp +HEADERS+= m_sqlv2.h +. elif !empty(INSPIRCD_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/inspircd12/patches/patch-aa b/chat/inspircd12/patches/patch-aa new file mode 100644 index 00000000000..f4e50668bd8 --- /dev/null +++ b/chat/inspircd12/patches/patch-aa @@ -0,0 +1,13 @@ +$NetBSD: patch-aa,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +--- src/inspircd.cpp.orig 2008-04-13 19:17:35.000000000 +0100 ++++ src/inspircd.cpp +@@ -383,7 +383,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/inspircd12/patches/patch-ab b/chat/inspircd12/patches/patch-ab new file mode 100644 index 00000000000..dc5c1ad3679 --- /dev/null +++ b/chat/inspircd12/patches/patch-ab @@ -0,0 +1,12 @@ +$NetBSD: patch-ab,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +--- .Makefile.inc.orig 2008-02-24 21:12:51.000000000 +0000 ++++ .Makefile.inc +@@ -69,7 +69,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) @STARTSCRIPT@ $(@DESTINATION@) 2>/dev/null diff --git a/chat/inspircd12/patches/patch-ac b/chat/inspircd12/patches/patch-ac new file mode 100644 index 00000000000..ebd2f4be010 --- /dev/null +++ b/chat/inspircd12/patches/patch-ac @@ -0,0 +1,15 @@ +$NetBSD: patch-ac,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +--- configure.orig 2008-08-26 14:47:49.000000000 +0100 ++++ configure +@@ -319,8 +319,8 @@ $config{EXTRA_DIR} = ""; # Is emp + if ($config{OSNAME} =~ /darwin/i) + { + $config{IS_DARWIN} = "YES"; +- $config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX. +- $config{DESTINATION} = "LAUNCHDPATH"; # Is OSX target. ++# $config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX. ++# $config{DESTINATION} = "LAUNCHDPATH"; # Is OSX target. + $config{EXTRA_DIR} = " launchd_dir"; # Is OSX specific path. + } + $config{CC} = "g++"; # C++ compiler diff --git a/chat/inspircd12/patches/patch-ad b/chat/inspircd12/patches/patch-ad new file mode 100644 index 00000000000..3a076e1baf5 --- /dev/null +++ b/chat/inspircd12/patches/patch-ad @@ -0,0 +1,13 @@ +$NetBSD: patch-ad,v 1.1.1.1 2009/01/04 00:52:27 adrianp Exp $ + +--- make/configure.pm.orig 2008-09-08 00:40:00.000000000 +0100 ++++ make/configure.pm +@@ -22,7 +22,7 @@ use POSIX; + use make::utilities; + our @EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies getmodversion nopedantic resolve_directory yesno showhelp promptstring_s); + +-my $no_svn = 0; ++my $no_svn = 1; + + sub yesno { + my ($flag,$prompt) = @_; -- cgit v1.2.3