diff options
-rw-r--r-- | chat/Makefile | 3 | ||||
-rw-r--r-- | chat/inspircd3/DESCR | 8 | ||||
-rw-r--r-- | chat/inspircd3/Makefile | 109 | ||||
-rw-r--r-- | chat/inspircd3/PLIST | 221 | ||||
-rw-r--r-- | chat/inspircd3/distinfo | 10 | ||||
-rw-r--r-- | chat/inspircd3/files/inspircd.sh | 31 | ||||
-rw-r--r-- | chat/inspircd3/options.mk | 80 | ||||
-rw-r--r-- | chat/inspircd3/patches/patch-docs_conf_inspircd.conf.example | 66 | ||||
-rw-r--r-- | chat/inspircd3/patches/patch-docs_conf_modules.conf.example | 33 | ||||
-rw-r--r-- | chat/inspircd3/patches/patch-make_template_main.mk | 14 | ||||
-rw-r--r-- | chat/inspircd3/patches/patch-src_socketengines_socketengine__kqueue.cpp | 56 |
11 files changed, 630 insertions, 1 deletions
diff --git a/chat/Makefile b/chat/Makefile index 1d913f4d7d6..4363ce9340e 100644 --- a/chat/Makefile +++ b/chat/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.217 2019/05/02 07:46:36 wiz Exp $ +# $NetBSD: Makefile,v 1.218 2019/05/03 17:14:27 nia Exp $ # COMMENT= Communication programs @@ -47,6 +47,7 @@ SUBDIR+= icbirc SUBDIR+= icqlib SUBDIR+= ii SUBDIR+= inspircd +SUBDIR+= inspircd3 SUBDIR+= ircII SUBDIR+= ircd-hybrid SUBDIR+= irchat-pj diff --git a/chat/inspircd3/DESCR b/chat/inspircd3/DESCR new file mode 100644 index 00000000000..c5f492c0d77 --- /dev/null +++ b/chat/inspircd3/DESCR @@ -0,0 +1,8 @@ +InspIRCd is a modular Internet Relay Chat (IRC) server. It was +created from scratch to be stable, modern and lightweight. + +It provides a tunable number of features through the use of an +advanced but well documented module system. By keeping core +functionality to a minimum we hope to increase the stability, +security and speed of InspIRCd while also making it customisable +to the needs of many different users. diff --git a/chat/inspircd3/Makefile b/chat/inspircd3/Makefile new file mode 100644 index 00000000000..0317b3e70bb --- /dev/null +++ b/chat/inspircd3/Makefile @@ -0,0 +1,109 @@ +# $NetBSD: Makefile,v 1.1 2019/05/03 17:14:27 nia Exp $ + +DISTNAME= inspircd-3.0.0 +CATEGORIES= chat +MASTER_SITES= ${MASTER_SITE_GITHUB:=inspircd/} +GITHUB_TAG= v${PKGVERSION_NOREV} + +MAINTAINER= nia@NetBSD.org +HOMEPAGE= https://www.inspircd.org/ +COMMENT= Modular Internet Relay Chat (IRC) server +LICENSE= gnu-gpl-v2 + +EXTRACT_USING= bsdtar +USE_TOOLS+= gmake perl pkg-config +USE_LANGUAGES= c c++11 +HAS_CONFIGURE= yes +MAKE_FILE= GNUmakefile + +BUILD_DEFS+= PKG_SYSCONFDIR + +CONFIGURE_ARGS+= --prefix=${PREFIX} +CONFIGURE_ARGS+= --manual-dir=${PREFIX}/${PKGMANDIR}/man1 +CONFIGURE_ARGS+= --module-dir=${PREFIX}/lib/inspircd/modules +CONFIGURE_ARGS+= --config-dir=${PKG_SYSCONFDIR}/inspircd +CONFIGURE_ARGS+= --data-dir=${PREFIX}/inspircd/data +CONFIGURE_ARGS+= --log-dir=${PREFIX}/inspircd/logs +CONFIG_SHELL= ${PERL5} + +REPLACE_PERL+= tools/genssl + +.include "../../mk/bsd.prefs.mk" + +CONF_FILES+= ${EGDIR}/motd.txt.example ${PKG_SYSCONFDIR}/inspircd/motd.txt +CONF_FILES+= ${EGDIR}/inspircd.conf.example ${PKG_SYSCONFDIR}/inspircd/inspircd.conf +CONF_FILES+= ${EGDIR}/links.conf.example ${PKG_SYSCONFDIR}/inspircd/links.conf +CONF_FILES+= ${EGDIR}/modules.conf.example ${PKG_SYSCONFDIR}/inspircd/modules.conf +CONF_FILES+= ${EGDIR}/opers.conf.example ${PKG_SYSCONFDIR}/inspircd/opers.conf +CONF_FILES+= ${EGDIR}/motd.txt.example ${PKG_SYSCONFDIR}/inspircd/motd.txt + +CONF_FILES+= ${EGDIR}/filter.conf.example ${PKG_SYSCONFDIR}/inspircd/filter.conf +CONF_FILES+= ${EGDIR}/helpop.conf.example ${PKG_SYSCONFDIR}/inspircd/helpop.conf +CONF_FILES+= ${EGDIR}/inspircd.conf.example ${PKG_SYSCONFDIR}/inspircd/inspircd.conf +CONF_FILES+= ${EGDIR}/links.conf.example ${PKG_SYSCONFDIR}/inspircd/links.conf +CONF_FILES+= ${EGDIR}/modules.conf.example ${PKG_SYSCONFDIR}/inspircd/modules.conf +CONF_FILES+= ${EGDIR}/motd.txt.example ${PKG_SYSCONFDIR}/inspircd/motd.txt +CONF_FILES+= ${EGDIR}/opermotd.txt.example ${PKG_SYSCONFDIR}/inspircd/opermotd.txt +CONF_FILES+= ${EGDIR}/opers.conf.example ${PKG_SYSCONFDIR}/inspircd/opers.conf +CONF_FILES+= ${EGDIR}/quotes.txt.example ${PKG_SYSCONFDIR}/inspircd/quotes.txt +CONF_FILES+= ${EGDIR}/services/anope.conf.example ${PKG_SYSCONFDIR}/inspircd/services/anope.conf +CONF_FILES+= ${EGDIR}/services/atheme.conf.example ${PKG_SYSCONFDIR}/inspircd/services/atheme.conf +CONF_FILES+= ${EGDIR}/services/generic.conf.example ${PKG_SYSCONFDIR}/inspircd/services/generic.conf + +INSPIRCD_USER?= inspircd +INSPIRCD_GROUP?= inspircd +PKG_GROUPS= ${INSPIRCD_GROUP} +PKG_USERS= ${INSPIRCD_USER}:${INSPIRCD_GROUP} +PKG_GROUPS_VARS= INSPIRCD_USER +PKG_USERS_VARS= INSPIRCD_GROUP + +FILES_SUBST+= INSPIRCD_GROUP=${INSPIRCD_GROUP:Q} +FILES_SUBST+= INSPIRCD_USER=${INSPIRCD_USER:Q} + +OWN_DIRS_PERMS+= ${PREFIX}/inspircd ${INSPIRCD_USER} ${INSPIRCD_GROUP} 0755 +OWN_DIRS_PERMS+= ${PREFIX}/inspircd/data ${INSPIRCD_USER} ${INSPIRCD_GROUP} 0755 +OWN_DIRS_PERMS+= ${PREFIX}/inspircd/logs ${INSPIRCD_USER} ${INSPIRCD_GROUP} 0755 + +RCD_SCRIPTS= inspircd + +EGDIR= ${PREFIX}/share/examples/inspircd + +SUBST_CLASSES+= conf +SUBST_STAGE.conf= pre-configure +SUBST_MESSAGE.conf= Set variables in configuration file. +SUBST_FILES.conf+= docs/conf/inspircd.conf.example +SUBST_VARS.conf+= PREFIX + +INSTALLATION_DIRS+= ${EGDIR} +INSTALLATION_DIRS+= ${EGDIR}/sql +INSTALLATION_DIRS+= ${EGDIR}/services +INSTALLATION_DIRS+= ${PKG_SYSCONFDIR}/inspircd/services + +INSPIRCD_EXTRAS_OFF+= m_regex_re2.cpp +INSPIRCD_EXTRAS_OFF+= m_regex_tre.cpp + +CONFIGURE_ARGS+= --distribution-label=pkgsrc + +# https://github.com/inspircd/inspircd/commit/044fa999680888267e07dc7b69028b18efbac818 +# this has no side-effects other than allowing the build to proceed with +# distribution-label set +CONFIGURE_ARGS+= --development + +.include "options.mk" + +post-configure: + cd ${WRKSRC} && ${CONFIGURE_ENV} ${PERL5} ./configure \ + --enable-extras=${INSPIRCD_EXTRAS_ON:C/\.cpp[ ]* m_/.cpp,m_/gW} \ + --disable-extras=${INSPIRCD_EXTRAS_OFF:C/\.cpp[ ]* m_/.cpp,m_/gW} + +post-install: + ${MV} ${DESTDIR}${PREFIX}/etc/inspircd/examples/* \ + ${DESTDIR}${PREFIX}/share/examples/inspircd + ${RM} -rf ${DESTDIR}${PREFIX}/etc/inspircd/examples + ${RM} -f ${DESTDIR}${PREFIX}/.gdbargs + ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/bin/inspircd + ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/bin/inspircd-genssl + ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/lib/inspircd/modules/*.so + +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/chat/inspircd3/PLIST b/chat/inspircd3/PLIST new file mode 100644 index 00000000000..49ee061bb6b --- /dev/null +++ b/chat/inspircd3/PLIST @@ -0,0 +1,221 @@ +@comment $NetBSD: PLIST,v 1.1 2019/05/03 17:14:27 nia Exp $ +bin/inspircd +bin/inspircd-genssl +lib/inspircd/modules/core_channel.so +lib/inspircd/modules/core_dns.so +lib/inspircd/modules/core_hostname_lookup.so +lib/inspircd/modules/core_info.so +lib/inspircd/modules/core_list.so +lib/inspircd/modules/core_loadmodule.so +lib/inspircd/modules/core_lusers.so +lib/inspircd/modules/core_message.so +lib/inspircd/modules/core_mode.so +lib/inspircd/modules/core_oper.so +lib/inspircd/modules/core_reloadmodule.so +lib/inspircd/modules/core_serialize_rfc.so +lib/inspircd/modules/core_stats.so +lib/inspircd/modules/core_stub.so +lib/inspircd/modules/core_user.so +lib/inspircd/modules/core_wallops.so +lib/inspircd/modules/core_who.so +lib/inspircd/modules/core_whois.so +lib/inspircd/modules/core_whowas.so +lib/inspircd/modules/core_xline.so +lib/inspircd/modules/m_abbreviation.so +lib/inspircd/modules/m_alias.so +lib/inspircd/modules/m_allowinvite.so +lib/inspircd/modules/m_alltime.so +lib/inspircd/modules/m_anticaps.so +lib/inspircd/modules/m_auditorium.so +lib/inspircd/modules/m_autoop.so +lib/inspircd/modules/m_banexception.so +lib/inspircd/modules/m_banredirect.so +lib/inspircd/modules/m_bcrypt.so +lib/inspircd/modules/m_blockamsg.so +lib/inspircd/modules/m_blockcaps.so +lib/inspircd/modules/m_blockcolor.so +lib/inspircd/modules/m_botmode.so +lib/inspircd/modules/m_callerid.so +lib/inspircd/modules/m_cap.so +lib/inspircd/modules/m_cban.so +lib/inspircd/modules/m_censor.so +lib/inspircd/modules/m_cgiirc.so +lib/inspircd/modules/m_chancreate.so +lib/inspircd/modules/m_chanfilter.so +lib/inspircd/modules/m_chanhistory.so +lib/inspircd/modules/m_chanlog.so +lib/inspircd/modules/m_channames.so +lib/inspircd/modules/m_channelban.so +lib/inspircd/modules/m_check.so +lib/inspircd/modules/m_chghost.so +lib/inspircd/modules/m_chgident.so +lib/inspircd/modules/m_chgname.so +lib/inspircd/modules/m_classban.so +lib/inspircd/modules/m_clearchan.so +lib/inspircd/modules/m_cloaking.so +lib/inspircd/modules/m_clones.so +lib/inspircd/modules/m_commonchans.so +lib/inspircd/modules/m_conn_join.so +lib/inspircd/modules/m_conn_umodes.so +lib/inspircd/modules/m_conn_waitpong.so +lib/inspircd/modules/m_connectban.so +lib/inspircd/modules/m_connflood.so +lib/inspircd/modules/m_customprefix.so +lib/inspircd/modules/m_customtitle.so +lib/inspircd/modules/m_cycle.so +lib/inspircd/modules/m_dccallow.so +lib/inspircd/modules/m_deaf.so +lib/inspircd/modules/m_delayjoin.so +lib/inspircd/modules/m_delaymsg.so +lib/inspircd/modules/m_denychans.so +lib/inspircd/modules/m_disable.so +lib/inspircd/modules/m_dnsbl.so +lib/inspircd/modules/m_exemptchanops.so +lib/inspircd/modules/m_filter.so +lib/inspircd/modules/m_flashpolicyd.so +lib/inspircd/modules/m_gecosban.so +${PLIST.geoip}lib/inspircd/modules/m_geo_maxmind.so +lib/inspircd/modules/m_geoban.so +lib/inspircd/modules/m_geoclass.so +lib/inspircd/modules/m_globalload.so +lib/inspircd/modules/m_globops.so +lib/inspircd/modules/m_haproxy.so +lib/inspircd/modules/m_helpop.so +lib/inspircd/modules/m_hidechans.so +lib/inspircd/modules/m_hidelist.so +lib/inspircd/modules/m_hidemode.so +lib/inspircd/modules/m_hideoper.so +lib/inspircd/modules/m_hostchange.so +lib/inspircd/modules/m_hostcycle.so +lib/inspircd/modules/m_httpd.so +lib/inspircd/modules/m_httpd_acl.so +lib/inspircd/modules/m_httpd_config.so +lib/inspircd/modules/m_httpd_stats.so +lib/inspircd/modules/m_ident.so +lib/inspircd/modules/m_inviteexception.so +lib/inspircd/modules/m_ircv3.so +lib/inspircd/modules/m_ircv3_accounttag.so +lib/inspircd/modules/m_ircv3_batch.so +lib/inspircd/modules/m_ircv3_capnotify.so +lib/inspircd/modules/m_ircv3_chghost.so +lib/inspircd/modules/m_ircv3_ctctags.so +lib/inspircd/modules/m_ircv3_echomessage.so +lib/inspircd/modules/m_ircv3_invitenotify.so +lib/inspircd/modules/m_ircv3_servertime.so +lib/inspircd/modules/m_ircv3_sts.so +lib/inspircd/modules/m_joinflood.so +lib/inspircd/modules/m_kicknorejoin.so +lib/inspircd/modules/m_knock.so +lib/inspircd/modules/m_ldapauth.so +lib/inspircd/modules/m_ldapoper.so +lib/inspircd/modules/m_lockserv.so +lib/inspircd/modules/m_maphide.so +lib/inspircd/modules/m_md5.so +lib/inspircd/modules/m_messageflood.so +lib/inspircd/modules/m_mlock.so +lib/inspircd/modules/m_modenotice.so +lib/inspircd/modules/m_monitor.so +lib/inspircd/modules/m_muteban.so +${PLIST.mysql}lib/inspircd/modules/m_mysql.so +lib/inspircd/modules/m_namedmodes.so +lib/inspircd/modules/m_namesx.so +lib/inspircd/modules/m_nationalchars.so +lib/inspircd/modules/m_nickflood.so +lib/inspircd/modules/m_nicklock.so +lib/inspircd/modules/m_noctcp.so +lib/inspircd/modules/m_nokicks.so +lib/inspircd/modules/m_nonicks.so +lib/inspircd/modules/m_nonotice.so +lib/inspircd/modules/m_nopartmsg.so +lib/inspircd/modules/m_ojoin.so +lib/inspircd/modules/m_operchans.so +lib/inspircd/modules/m_operjoin.so +lib/inspircd/modules/m_operlevels.so +lib/inspircd/modules/m_operlog.so +lib/inspircd/modules/m_opermodes.so +lib/inspircd/modules/m_opermotd.so +lib/inspircd/modules/m_operprefix.so +lib/inspircd/modules/m_override.so +lib/inspircd/modules/m_passforward.so +lib/inspircd/modules/m_password_hash.so +lib/inspircd/modules/m_pbkdf2.so +lib/inspircd/modules/m_permchannels.so +${PLIST.pgsql}lib/inspircd/modules/m_pgsql.so +lib/inspircd/modules/m_randquote.so +lib/inspircd/modules/m_redirect.so +lib/inspircd/modules/m_regex_glob.so +${PLIST.pcre}lib/inspircd/modules/m_regex_pcre.so +lib/inspircd/modules/m_regex_posix.so +lib/inspircd/modules/m_remove.so +lib/inspircd/modules/m_repeat.so +lib/inspircd/modules/m_restrictchans.so +lib/inspircd/modules/m_restrictmsg.so +lib/inspircd/modules/m_rline.so +lib/inspircd/modules/m_rmode.so +lib/inspircd/modules/m_sajoin.so +lib/inspircd/modules/m_sakick.so +lib/inspircd/modules/m_samode.so +lib/inspircd/modules/m_sanick.so +lib/inspircd/modules/m_sapart.so +lib/inspircd/modules/m_saquit.so +lib/inspircd/modules/m_sasl.so +lib/inspircd/modules/m_satopic.so +lib/inspircd/modules/m_securelist.so +lib/inspircd/modules/m_seenicks.so +lib/inspircd/modules/m_serverban.so +lib/inspircd/modules/m_services_account.so +lib/inspircd/modules/m_servprotect.so +lib/inspircd/modules/m_sethost.so +lib/inspircd/modules/m_setident.so +lib/inspircd/modules/m_setidle.so +lib/inspircd/modules/m_setname.so +lib/inspircd/modules/m_sha1.so +lib/inspircd/modules/m_sha256.so +lib/inspircd/modules/m_showfile.so +lib/inspircd/modules/m_showwhois.so +lib/inspircd/modules/m_shun.so +lib/inspircd/modules/m_silence.so +lib/inspircd/modules/m_spanningtree.so +lib/inspircd/modules/m_sqlauth.so +${PLIST.sqlite3}lib/inspircd/modules/m_sqlite3.so +lib/inspircd/modules/m_sqloper.so +${PLIST.gnutls}lib/inspircd/modules/m_ssl_gnutls.so +${PLIST.mbedtls}lib/inspircd/modules/m_ssl_mbedtls.so +${PLIST.openssl}lib/inspircd/modules/m_ssl_openssl.so +lib/inspircd/modules/m_sslinfo.so +lib/inspircd/modules/m_sslmodes.so +lib/inspircd/modules/m_sslrehashsignal.so +lib/inspircd/modules/m_starttls.so +lib/inspircd/modules/m_stripcolor.so +lib/inspircd/modules/m_svshold.so +lib/inspircd/modules/m_swhois.so +lib/inspircd/modules/m_timedbans.so +lib/inspircd/modules/m_tline.so +lib/inspircd/modules/m_topiclock.so +lib/inspircd/modules/m_uhnames.so +lib/inspircd/modules/m_uninvite.so +lib/inspircd/modules/m_userip.so +lib/inspircd/modules/m_vhost.so +lib/inspircd/modules/m_watch.so +lib/inspircd/modules/m_websocket.so +lib/inspircd/modules/m_xline_db.so +man/man1/inspircd-genssl.1 +man/man1/inspircd.1 +share/examples/inspircd/filter.conf.example +share/examples/inspircd/helpop.conf.example +share/examples/inspircd/inspircd.conf.example +share/examples/inspircd/links.conf.example +share/examples/inspircd/modules.conf.example +share/examples/inspircd/motd.txt.example +share/examples/inspircd/opermotd.txt.example +share/examples/inspircd/opers.conf.example +share/examples/inspircd/quotes.txt.example +share/examples/inspircd/services/anope.conf.example +share/examples/inspircd/services/atheme.conf.example +share/examples/inspircd/services/generic.conf.example +share/examples/inspircd/sql/sqloper.mysql.sql +share/examples/inspircd/sql/sqloper.pgsql.sql +share/examples/inspircd/sql/sqloper.sqlite3.sql +@pkgdir inspircd/logs +@pkgdir inspircd/data +@pkgdir etc/inspircd/services diff --git a/chat/inspircd3/distinfo b/chat/inspircd3/distinfo new file mode 100644 index 00000000000..5e310c60b03 --- /dev/null +++ b/chat/inspircd3/distinfo @@ -0,0 +1,10 @@ +$NetBSD: distinfo,v 1.1 2019/05/03 17:14:27 nia Exp $ + +SHA1 (inspircd-3.0.0.tar.gz) = 8b2ba94966bea4918782aaef8923581d66ec8aec +RMD160 (inspircd-3.0.0.tar.gz) = 660bbed10afa988102f1453f4613e409550c2717 +SHA512 (inspircd-3.0.0.tar.gz) = 3510a92cfdbc3500e39687a8fbf56616994e41be918e7f9a7081552faf06363db179aae24a8cecf75bc2b7ec53b84424e4033642438eb3e595deef04d208ea72 +Size (inspircd-3.0.0.tar.gz) = 793937 bytes +SHA1 (patch-docs_conf_inspircd.conf.example) = c6e9da54f81a2a5d34e933281d997b5ec687da52 +SHA1 (patch-docs_conf_modules.conf.example) = 4a4ef063ae1c908268a34f0407a00c1df70a6a18 +SHA1 (patch-make_template_main.mk) = 51f4de27d7d946c2dffc7060628eb0f6f4f19db7 +SHA1 (patch-src_socketengines_socketengine__kqueue.cpp) = fb1e02ec8dad42dab981980c6b56f3ed11495328 diff --git a/chat/inspircd3/files/inspircd.sh b/chat/inspircd3/files/inspircd.sh new file mode 100644 index 00000000000..ffc0dc9d27f --- /dev/null +++ b/chat/inspircd3/files/inspircd.sh @@ -0,0 +1,31 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: inspircd.sh,v 1.1 2019/05/03 17:14:27 nia Exp $ +# +# PROVIDE: inspircd +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="inspircd" +rcvar=${name} +command="@PREFIX@/bin/inspircd" +required_files="@PKG_SYSCONFDIR@/inspircd/inspircd.conf" +pidfile="@PREFIX@/inspircd/${name}.pid" +extra_commands="rehash sslrehash" +rehash_cmd="inspircd_rehash" +sslrehash_cmd="inspircd_sslrehash" + +inspircd_user="@INSPIRCD_USER@" +inspircd_group="@INSPIRCD_GROUP@" + +inspircd_rehash() { + kill -1 $(@CAT@ ${pidfile}) +} + +inspircd_sslrehash() { + kill -USR1 $(@CAT@ ${pidfile}) +} + +load_rc_config $name +run_rc_command "$1" diff --git a/chat/inspircd3/options.mk b/chat/inspircd3/options.mk new file mode 100644 index 00000000000..cf2ac0d2b48 --- /dev/null +++ b/chat/inspircd3/options.mk @@ -0,0 +1,80 @@ +# $NetBSD: options.mk,v 1.1 2019/05/03 17:14:27 nia Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.inspircd +PKG_SUPPORTED_OPTIONS= gnutls geoip openssl mysql mbedtls ldap pcre pgsql sqlite3 +PKG_SUGGESTED_OPTIONS= gnutls +PLIST_VARS+= gnutls geoip openssl mysql mbedtls ldap pcre pgsql sqlite3 + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mgeoip) +PLIST.geoip= yes +INSPIRCD_EXTRAS_ON+= m_geo_maxmind.cpp +.include "../../geography/libmaxminddb/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_geo_maxmind.cpp +.endif + +.if !empty(PKG_OPTIONS:Mgnutls) +PLIST.gnutls= yes +INSPIRCD_EXTRAS_ON+= m_ssl_gnutls.cpp +.include "../../security/gnutls/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_ssl_gnutls.cpp +.endif + +.if !empty(PKG_OPTIONS:Mopenssl) +PLIST.openssl= yes +INSPIRCD_EXTRAS_ON+= m_ssl_openssl.cpp +.include "../../security/openssl/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_ssl_openssl.cpp +.endif + +.if !empty(PKG_OPTIONS:Mmbedtls) +PLIST.mbedtls= yes +INSPIRCD_EXTRAS_ON+= m_ssl_mbedtls.cpp +.include "../../security/mbedtls/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_ssl_mbedtls.cpp +.endif + +.if !empty(PKG_OPTIONS:Mmysql) +PLIST.mysql= yes +INSPIRCD_EXTRAS_ON+= m_mysql.cpp +.include "../../mk/mysql.buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_mysql.cpp +.endif + +.if !empty(PKG_OPTIONS:Mldap) +PLIST.ldap= yes +INSPIRCD_EXTRAS_ON+= m_mysql.cpp +.include "../../databases/openldap-client/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_mysql.cpp +.endif + +.if !empty(PKG_OPTIONS:Mpcre) +PLIST.pcre= yes +INSPIRCD_EXTRAS_ON+= m_regex_pcre.cpp +.include "../../devel/pcre/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_regex_pcre.cpp +.endif + +.if !empty(PKG_OPTIONS:Mpgsql) +PLIST.pgsql= yes +INSPIRCD_EXTRAS_ON+= m_pgsql.cpp +.include "../../mk/pgsql.buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_pgsql.cpp +.endif + +.if !empty(PKG_OPTIONS:Msqlite3) +PLIST.sqlite3= yes +INSPIRCD_EXTRAS_ON+= m_sqlite3.cpp +.include "../../databases/sqlite3/buildlink3.mk" +.else +INSPIRCD_EXTRAS_OFF+= m_sqlite3.cpp +.endif diff --git a/chat/inspircd3/patches/patch-docs_conf_inspircd.conf.example b/chat/inspircd3/patches/patch-docs_conf_inspircd.conf.example new file mode 100644 index 00000000000..e55c4b8abf9 --- /dev/null +++ b/chat/inspircd3/patches/patch-docs_conf_inspircd.conf.example @@ -0,0 +1,66 @@ +$NetBSD: patch-docs_conf_inspircd.conf.example,v 1.1 2019/05/03 17:14:28 nia Exp $ + +Don't use /etc/inspircd/examples. + +Set pidfile. + +--- docs/conf/inspircd.conf.example.orig 2019-05-03 13:07:32.000000000 +0000 ++++ docs/conf/inspircd.conf.example +@@ -457,11 +457,11 @@ + + # This file has all the information about oper classes, types and o:lines. + # You *MUST* edit it. +-<include file="examples/opers.conf.example"> ++<include file="opers.conf"> + + # This file has all the information about server links and ulined servers. + # You *MUST* edit it if you intend to link servers. +-<include file="examples/links.conf.example"> ++<include file="links.conf"> + + #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-# + # # +@@ -470,7 +470,7 @@ + # + # motd - displayed on connect and when a user executes /MOTD + # Modules can also define their own files +-<files motd="examples/motd.txt.example"> ++<files motd="motd.txt"> + + # Example of an executable file include. Note this will be read on rehash, + # not when the command is run. +@@ -506,7 +506,7 @@ + # the default of 'inspircd.pid' is used. # + # # + +-#<pid file="/path/to/inspircd.pid"> ++<pid file="@PREFIX@/inspircd/inspircd.pid"> + + #-#-#-#-#-#-#-#-#-#-#-#-#- LIST MODE LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-# + # # +@@ -1002,7 +1002,7 @@ + # provide almost all the features of InspIRCd. :) # + # # + # The default does nothing -- we include it for simplicity for you. # +-<include file="examples/modules.conf.example"> ++<include file="modules.conf"> + + #-#-#-#-#-#-#-#-#-#-#-# SERVICES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# + # # +@@ -1011,13 +1011,13 @@ + # exemptions for services pseudoclients: # + # + # Anope users should uncomment this: +-#<include file="examples/services/anope.conf.example"> ++#<include file="services/anope.conf"> + # + # Atheme users should uncomment this: +-#<include file="examples/services/atheme.conf.example"> ++#<include file="services/atheme.conf"> + # + # Users of other services should uncomment this: +-#<include file="examples/services/generic.conf.example"> ++#<include file="services/generic.conf"> + + ######################################################################### + # # diff --git a/chat/inspircd3/patches/patch-docs_conf_modules.conf.example b/chat/inspircd3/patches/patch-docs_conf_modules.conf.example new file mode 100644 index 00000000000..93f39bc4e2e --- /dev/null +++ b/chat/inspircd3/patches/patch-docs_conf_modules.conf.example @@ -0,0 +1,33 @@ +$NetBSD: patch-docs_conf_modules.conf.example,v 1.1 2019/05/03 17:14:28 nia Exp $ + +Don't use /etc/inspircd/examples. + +--- docs/conf/modules.conf.example.orig 2019-05-03 13:07:32.000000000 +0000 ++++ docs/conf/modules.conf.example +@@ -870,7 +870,7 @@ + # specify below the path to the filter.conf file, or define some # + # <keyword> tags. # + # # +-#<include file="examples/filter.conf.example"> ++#<include file="filter.conf"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Flash Policy Daemon module: Allows Flash IRC clients (e.g. LightIRC)# +@@ -960,7 +960,7 @@ + # If you specify to use the helpop module, then specify below the # + # path to the helpop.conf file. # + # # +-#<include file="examples/helpop.conf.example"> ++#<include file="helpop.conf"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Hide chans module: Allows users to hide their channels list from non- +@@ -1525,7 +1525,7 @@ + # onoper - If on, the message is sent on /OPER, otherwise it's # + # only sent when /OPERMOTD is used. # + # # +-#<opermotd file="examples/opermotd.txt.example" onoper="yes"> ++#<opermotd file="opermotd.txt" onoper="yes"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Override module: Adds support for oper override. diff --git a/chat/inspircd3/patches/patch-make_template_main.mk b/chat/inspircd3/patches/patch-make_template_main.mk new file mode 100644 index 00000000000..1e4ec8ff078 --- /dev/null +++ b/chat/inspircd3/patches/patch-make_template_main.mk @@ -0,0 +1,14 @@ +$NetBSD: patch-make_template_main.mk,v 1.1 2019/05/03 17:14:28 nia Exp $ + +bmake: exec(ginstall) failed (No such file or directory) + +--- make/template/main.mk.orig 2019-05-03 13:07:32.000000000 +0000 ++++ make/template/main.mk +@@ -73,7 +73,6 @@ ifeq ($(SYSTEM), gnu) + endif + ifeq ($(SYSTEM), solaris) + LDLIBS += -lsocket -lnsl -lrt -lresolv +- INSTALL = ginstall + endif + ifeq ($(SYSTEM), darwin) + LDLIBS += -ldl diff --git a/chat/inspircd3/patches/patch-src_socketengines_socketengine__kqueue.cpp b/chat/inspircd3/patches/patch-src_socketengines_socketengine__kqueue.cpp new file mode 100644 index 00000000000..d1fbc1b39c8 --- /dev/null +++ b/chat/inspircd3/patches/patch-src_socketengines_socketengine__kqueue.cpp @@ -0,0 +1,56 @@ +$NetBSD: patch-src_socketengines_socketengine__kqueue.cpp,v 1.1 2019/05/03 17:14:28 nia Exp $ + +udata is intptr_t in NetBSD. + +https://github.com/inspircd/inspircd/commit/0c992c5a3d6b30a6b14adf3181bf0b1e1fdeab48 + +--- src/socketengines/socketengine_kqueue.cpp.orig 2019-05-03 13:07:32.000000000 +0000 ++++ src/socketengines/socketengine_kqueue.cpp +@@ -87,7 +87,11 @@ bool SocketEngine::AddFd(EventHandler* e + + // We always want to read from the socket... + struct kevent* ke = GetChangeKE(); ++#ifdef __NetBSD__ ++ EV_SET(ke, fd, EVFILT_READ, EV_ADD, 0, 0, reinterpret_cast<intptr_t>(eh)); ++#else + EV_SET(ke, fd, EVFILT_READ, EV_ADD, 0, 0, static_cast<void*>(eh)); ++#endif + + ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "New file descriptor: %d", fd); + +@@ -128,7 +132,11 @@ void SocketEngine::OnSetEvent(EventHandl + { + // new poll-style write + struct kevent* ke = GetChangeKE(); ++#ifdef __NetBSD__ ++ EV_SET(ke, eh->GetFd(), EVFILT_WRITE, EV_ADD, 0, 0, reinterpret_cast<intptr_t>(eh)); ++#else + EV_SET(ke, eh->GetFd(), EVFILT_WRITE, EV_ADD, 0, 0, static_cast<void*>(eh)); ++#endif + } + else if ((old_mask & FD_WANT_POLL_WRITE) && !(new_mask & FD_WANT_POLL_WRITE)) + { +@@ -139,7 +147,11 @@ void SocketEngine::OnSetEvent(EventHandl + if ((new_mask & (FD_WANT_FAST_WRITE | FD_WANT_SINGLE_WRITE)) && !(old_mask & (FD_WANT_FAST_WRITE | FD_WANT_SINGLE_WRITE))) + { + struct kevent* ke = GetChangeKE(); ++#ifdef __NetBSD__ ++ EV_SET(ke, eh->GetFd(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, reinterpret_cast<intptr_t>(eh)); ++#else + EV_SET(ke, eh->GetFd(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, static_cast<void*>(eh)); ++#endif + } + } + +@@ -161,7 +173,11 @@ int SocketEngine::DispatchEvents() + for (int j = 0; j < i; j++) + { + struct kevent& kev = ke_list[j]; ++#ifdef __NetBSD__ ++ EventHandler* eh = reinterpret_cast<EventHandler*>(kev.udata); ++#else + EventHandler* eh = static_cast<EventHandler*>(kev.udata); ++#endif + if (!eh) + continue; + |