summaryrefslogtreecommitdiff
path: root/chat
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2022-03-04 08:44:33 +0000
committernia <nia@pkgsrc.org>2022-03-04 08:44:33 +0000
commit62d64d26fe80272bcfbdf89518ff2546ecef241c (patch)
tree33a611f793ea9ca8bb487e11341ad60c3199e14b /chat
parent11fbcd85a84dbfdaf166ac55bd26a1a5d2bf5a7e (diff)
downloadpkgsrc-62d64d26fe80272bcfbdf89518ff2546ecef241c.tar.gz
add chat/unrealircd6.
Release notes: https://www.unrealircd.org/docs/What%27s_new_in_UnrealIRCd_6 Note this package changes the pkgsrc file layout from chat/unrealircd to a more standard affair: --with-datadir=${VARBASE}/unrealircd --with-cachedir=${VARBASE}/cache/unrealircd --with-controlfile=${VARBASE}/run/unrealircd.ctl --with-logdir=${VARBASE}/log/unrealircd --with-tmpdir=${VARBASE}/tmp/unrealircd --with-pidfile=${VARBASE}/run/unrealircd.pid --with-scriptdir=${PREFIX}/share/unrealircd/scripts
Diffstat (limited to 'chat')
-rw-r--r--chat/unrealircd6/DESCR5
-rw-r--r--chat/unrealircd6/Makefile128
-rw-r--r--chat/unrealircd6/PLIST247
-rw-r--r--chat/unrealircd6/distinfo6
-rw-r--r--chat/unrealircd6/files/smf/manifest.xml32
-rw-r--r--chat/unrealircd6/files/unrealircd.sh31
-rw-r--r--chat/unrealircd6/options.mk31
-rw-r--r--chat/unrealircd6/patches/patch-include_h.h15
8 files changed, 495 insertions, 0 deletions
diff --git a/chat/unrealircd6/DESCR b/chat/unrealircd6/DESCR
new file mode 100644
index 00000000000..26f41db5ef2
--- /dev/null
+++ b/chat/unrealircd6/DESCR
@@ -0,0 +1,5 @@
+UnrealIRCd is an IRC server based on the branch of IRCu called
+Dreamforge, formerly used by the DALnet IRC Network.
+
+Key features include SSL, cloaking, its advanced anti-flood and
+anti-spam systems, swear filtering and module support.
diff --git a/chat/unrealircd6/Makefile b/chat/unrealircd6/Makefile
new file mode 100644
index 00000000000..0b33ce08e31
--- /dev/null
+++ b/chat/unrealircd6/Makefile
@@ -0,0 +1,128 @@
+# $NetBSD: Makefile,v 1.1 2022/03/04 08:44:33 nia Exp $
+
+DISTNAME= unrealircd-6.0.2
+CATEGORIES= chat
+MASTER_SITES= https://www.unrealircd.org/downloads/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= https://www.unrealircd.org/
+COMMENT= Advanced IRC server with IPv6 and SSL support
+LICENSE= gnu-gpl-v2
+
+CONFLICTS+= ircu-[0-9]*
+
+GNU_CONFIGURE= YES
+USE_TOOLS+= gmake gunzip pkg-config
+
+.include "options.mk"
+
+SUBST_CLASSES+= argon2
+SUBST_STAGE.argon2= pre-configure
+SUBST_MESSAGE.argon2= Fixing Argon2 version number
+SUBST_FILES.argon2+= configure
+SUBST_SED.argon2+= -e 's|0~20161029|ZERO|g'
+
+PKG_SYSCONFSUBDIR= unrealircd
+
+# Quoth ./configure,
+# "noone knows if disabling dynamic linking actually does anything or not".
+# Also needed to configure non-interactively.
+CONFIGURE_ARGS+= --enable-dynamic-linking
+
+CONFIGURE_ARGS+= --enable-ssl=${BUILDLINK_PREFIX.openssl}
+
+CONFIGURE_ARGS+= --with-system-cares
+CONFIGURE_ARGS+= --with-system-pcre2
+
+CONFIGURE_ARGS+= --with-permissions=0660
+CONFIGURE_ARGS+= --with-datadir=${VARBASE}/unrealircd
+CONFIGURE_ARGS+= --with-cachedir=${VARBASE}/cache/unrealircd
+CONFIGURE_ARGS+= --with-controlfile=${VARBASE}/run/unrealircd.ctl
+CONFIGURE_ARGS+= --with-logdir=${VARBASE}/log/unrealircd
+CONFIGURE_ARGS+= --with-tmpdir=${VARBASE}/tmp/unrealircd
+CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/unrealircd.pid
+CONFIGURE_ARGS+= --with-scriptdir=${PREFIX}/share/unrealircd/scripts
+CONFIGURE_ARGS+= --with-bindir=${PREFIX}/bin
+CONFIGURE_ARGS+= --with-modulesdir=${PREFIX}/lib/unrealircd/modules
+CONFIGURE_ARGS+= --with-docdir=${PREFIX}/share/doc/unrealircd
+CONFIGURE_ARGS+= --with-confdir=${PKG_SYSCONFDIR}
+
+OWN_DIRS_PERMS+= ${VARBASE}/unrealircd ${UIRCD_USER} ${UIRCD_GROUP} 0755
+OWN_DIRS_PERMS+= ${VARBASE}/cache/unrealircd ${UIRCD_USER} ${UIRCD_GROUP} 0700
+OWN_DIRS_PERMS+= ${VARBASE}/log/unrealircd ${UIRCD_USER} ${UIRCD_GROUP} 0700
+OWN_DIRS_PERMS+= ${VARBASE}/run/unrealircd ${UIRCD_USER} ${UIRCD_GROUP} 0700
+OWN_DIRS_PERMS+= ${VARBASE}/tmp/unrealircd ${UIRCD_USER} ${UIRCD_GROUP} 0700
+
+CONFIGURE_ARGS+= --with-nick-history=${UIRCD_NICKHIST:Q}
+
+CONFIGURE_ENV.SunOS+= ac_cv_func_epoll_create=no
+CONFIGURE_ENV.SunOS+= ac_cv_func_epoll_ctl=no
+CONFIGURE_ENV.SunOS+= ac_cv_func_epoll_wait=no
+
+IRCD_EG= ${PREFIX}/share/examples/unrealircd
+
+BUILD_DEFS+= UIRCD_NICKHIST VARBASE
+
+PTHREAD_OPTS+= require
+
+.include "../../mk/bsd.prefs.mk"
+
+# The defaults for most of these here are from the standard Conf
+# script supplied with the UnrealIRCd package.
+#
+UIRCD_NICKHIST?= 2000
+UIRCD_USER?= uircd
+UIRCD_GROUP?= uircd
+
+PKG_USERS_VARS+= UIRCD_USER
+PKG_GROUPS_VARS+= UIRCD_GROUP
+
+PKG_GROUPS= ${UIRCD_GROUP}
+PKG_USERS= ${UIRCD_USER}:${UIRCD_GROUP}
+
+PKG_GECOS.${UIRCD_USER}= UnrealIRCD user
+
+RCD_SCRIPTS= unrealircd
+
+FILES_SUBST+= UIRCD_USER=${UIRCD_USER}
+FILES_SUBST+= UIRCD_GROUP=${UIRCD_GROUP}
+
+CFLAGS.Darwin+= -DUSE_LOCALE
+CFLAGS.SunOS+= -DUSE_LOCALE
+
+INSTALLATION_DIRS+= bin
+INSTALLATION_DIRS+= lib/unrealircd/modules
+INSTALLATION_DIRS+= lib/unrealircd/modules/usermodes
+INSTALLATION_DIRS+= lib/unrealircd/modules/chanmodes
+INSTALLATION_DIRS+= lib/unrealircd/modules/extbans
+INSTALLATION_DIRS+= share/doc/unrealircd
+INSTALLATION_DIRS+= share/unrealircd/scripts
+INSTALLATION_DIRS+= ${IRCD_EG}
+INSTALLATION_DIRS+= ${IRCD_EG}/aliases
+INSTALLATION_DIRS+= ${IRCD_EG}/help
+INSTALLATION_DIRS+= ${IRCD_EG}/tls
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/ircd ${DESTDIR}${PREFIX}/bin/unrealircd
+ ${INSTALL_DATA} ${WRKSRC}/doc/Authors ${DESTDIR}${PREFIX}/share/doc/unrealircd
+ ${INSTALL_DATA} ${WRKSRC}/doc/coding-guidelines ${DESTDIR}${PREFIX}/share/doc/unrealircd
+ ${INSTALL_DATA} ${WRKSRC}/doc/tao.of.irc ${DESTDIR}${PREFIX}/share/doc/unrealircd
+ ${INSTALL_DATA} ${WRKSRC}/doc/conf/*.conf ${DESTDIR}${IRCD_EG}
+ ${INSTALL_DATA} ${WRKSRC}/doc/conf/examples/*.conf ${DESTDIR}${IRCD_EG}
+ ${INSTALL_DATA} ${WRKSRC}/doc/conf/aliases/*.conf ${DESTDIR}${IRCD_EG}/aliases
+ ${INSTALL_DATA} ${WRKSRC}/doc/conf/help/*.conf ${DESTDIR}${IRCD_EG}/help
+ ${INSTALL_DATA} ${WRKSRC}/doc/conf/tls/curl-ca-bundle.crt ${DESTDIR}${IRCD_EG}/tls
+ ${INSTALL_SCRIPT} ${WRKSRC}/unrealircd ${DESTDIR}${PREFIX}/share/unrealircd/scripts
+ ${INSTALL_LIB} ${WRKSRC}/src/modules/*.so ${DESTDIR}${PREFIX}/lib/unrealircd/modules
+ ${INSTALL_LIB} ${WRKSRC}/src/modules/usermodes/*.so ${DESTDIR}${PREFIX}/lib/unrealircd/modules/usermodes
+ ${INSTALL_LIB} ${WRKSRC}/src/modules/chanmodes/*.so ${DESTDIR}${PREFIX}/lib/unrealircd/modules/chanmodes
+ ${INSTALL_LIB} ${WRKSRC}/src/modules/extbans/*.so ${DESTDIR}${PREFIX}/lib/unrealircd/modules/extbans
+
+.include "../../net/libcares/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../devel/pcre2/buildlink3.mk"
+.include "../../security/argon2/buildlink3.mk"
+.include "../../security/libsodium/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/jansson/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/chat/unrealircd6/PLIST b/chat/unrealircd6/PLIST
new file mode 100644
index 00000000000..44862e127ff
--- /dev/null
+++ b/chat/unrealircd6/PLIST
@@ -0,0 +1,247 @@
+@comment $NetBSD: PLIST,v 1.1 2022/03/04 08:44:33 nia Exp $
+bin/unrealircd
+lib/unrealircd/modules/account-notify.so
+lib/unrealircd/modules/account-tag.so
+lib/unrealircd/modules/addmotd.so
+lib/unrealircd/modules/addomotd.so
+lib/unrealircd/modules/admin.so
+lib/unrealircd/modules/antimixedutf8.so
+lib/unrealircd/modules/antirandom.so
+lib/unrealircd/modules/authprompt.so
+lib/unrealircd/modules/away.so
+lib/unrealircd/modules/batch.so
+lib/unrealircd/modules/blacklist.so
+lib/unrealircd/modules/bot-tag.so
+lib/unrealircd/modules/botmotd.so
+lib/unrealircd/modules/cap.so
+lib/unrealircd/modules/certfp.so
+lib/unrealircd/modules/chanmodes/censor.so
+lib/unrealircd/modules/chanmodes/chanadmin.so
+lib/unrealircd/modules/chanmodes/chanop.so
+lib/unrealircd/modules/chanmodes/chanowner.so
+lib/unrealircd/modules/chanmodes/delayjoin.so
+lib/unrealircd/modules/chanmodes/floodprot.so
+lib/unrealircd/modules/chanmodes/halfop.so
+lib/unrealircd/modules/chanmodes/history.so
+lib/unrealircd/modules/chanmodes/inviteonly.so
+lib/unrealircd/modules/chanmodes/isregistered.so
+lib/unrealircd/modules/chanmodes/issecure.so
+lib/unrealircd/modules/chanmodes/key.so
+lib/unrealircd/modules/chanmodes/limit.so
+lib/unrealircd/modules/chanmodes/link.so
+lib/unrealircd/modules/chanmodes/moderated.so
+lib/unrealircd/modules/chanmodes/nocolor.so
+lib/unrealircd/modules/chanmodes/noctcp.so
+lib/unrealircd/modules/chanmodes/noexternalmsgs.so
+lib/unrealircd/modules/chanmodes/noinvite.so
+lib/unrealircd/modules/chanmodes/nokick.so
+lib/unrealircd/modules/chanmodes/noknock.so
+lib/unrealircd/modules/chanmodes/nonickchange.so
+lib/unrealircd/modules/chanmodes/nonotice.so
+lib/unrealircd/modules/chanmodes/operonly.so
+lib/unrealircd/modules/chanmodes/permanent.so
+lib/unrealircd/modules/chanmodes/private.so
+lib/unrealircd/modules/chanmodes/regonly.so
+lib/unrealircd/modules/chanmodes/regonlyspeak.so
+lib/unrealircd/modules/chanmodes/secret.so
+lib/unrealircd/modules/chanmodes/secureonly.so
+lib/unrealircd/modules/chanmodes/stripcolor.so
+lib/unrealircd/modules/chanmodes/topiclimit.so
+lib/unrealircd/modules/chanmodes/voice.so
+lib/unrealircd/modules/channeldb.so
+lib/unrealircd/modules/charsys.so
+lib/unrealircd/modules/chathistory.so
+lib/unrealircd/modules/chghost.so
+lib/unrealircd/modules/chgident.so
+lib/unrealircd/modules/chgname.so
+lib/unrealircd/modules/clienttagdeny.so
+lib/unrealircd/modules/cloak_md5.so
+lib/unrealircd/modules/cloak_none.so
+lib/unrealircd/modules/cloak_sha256.so
+lib/unrealircd/modules/close.so
+lib/unrealircd/modules/connect.so
+lib/unrealircd/modules/connthrottle.so
+lib/unrealircd/modules/cycle.so
+lib/unrealircd/modules/dccallow.so
+lib/unrealircd/modules/dccdeny.so
+lib/unrealircd/modules/echo-message.so
+lib/unrealircd/modules/eos.so
+lib/unrealircd/modules/extbans/account.so
+lib/unrealircd/modules/extbans/certfp.so
+lib/unrealircd/modules/extbans/country.so
+lib/unrealircd/modules/extbans/inchannel.so
+lib/unrealircd/modules/extbans/join.so
+lib/unrealircd/modules/extbans/msgbypass.so
+lib/unrealircd/modules/extbans/nickchange.so
+lib/unrealircd/modules/extbans/operclass.so
+lib/unrealircd/modules/extbans/partmsg.so
+lib/unrealircd/modules/extbans/quiet.so
+lib/unrealircd/modules/extbans/realname.so
+lib/unrealircd/modules/extbans/securitygroup.so
+lib/unrealircd/modules/extbans/textban.so
+lib/unrealircd/modules/extbans/timedban.so
+lib/unrealircd/modules/extended-monitor.so
+lib/unrealircd/modules/extjwt.so
+lib/unrealircd/modules/geoip_base.so
+lib/unrealircd/modules/geoip_csv.so
+lib/unrealircd/modules/globops.so
+lib/unrealircd/modules/help.so
+lib/unrealircd/modules/hideserver.so
+lib/unrealircd/modules/history.so
+lib/unrealircd/modules/history_backend_mem.so
+lib/unrealircd/modules/history_backend_null.so
+lib/unrealircd/modules/ident_lookup.so
+lib/unrealircd/modules/invite.so
+lib/unrealircd/modules/ircops.so
+lib/unrealircd/modules/ison.so
+lib/unrealircd/modules/join.so
+lib/unrealircd/modules/jointhrottle.so
+lib/unrealircd/modules/json-log-tag.so
+lib/unrealircd/modules/jumpserver.so
+lib/unrealircd/modules/kick.so
+lib/unrealircd/modules/kill.so
+lib/unrealircd/modules/knock.so
+lib/unrealircd/modules/labeled-response.so
+lib/unrealircd/modules/lag.so
+lib/unrealircd/modules/link-security.so
+lib/unrealircd/modules/links.so
+lib/unrealircd/modules/list.so
+lib/unrealircd/modules/locops.so
+lib/unrealircd/modules/lusers.so
+lib/unrealircd/modules/map.so
+lib/unrealircd/modules/md.so
+lib/unrealircd/modules/message-ids.so
+lib/unrealircd/modules/message-tags.so
+lib/unrealircd/modules/message.so
+lib/unrealircd/modules/mkpasswd.so
+lib/unrealircd/modules/mode.so
+lib/unrealircd/modules/monitor.so
+lib/unrealircd/modules/motd.so
+lib/unrealircd/modules/names.so
+lib/unrealircd/modules/netinfo.so
+lib/unrealircd/modules/nick.so
+lib/unrealircd/modules/nocodes.so
+lib/unrealircd/modules/oper.so
+lib/unrealircd/modules/operinfo.so
+lib/unrealircd/modules/opermotd.so
+lib/unrealircd/modules/part.so
+lib/unrealircd/modules/pass.so
+lib/unrealircd/modules/pingpong.so
+lib/unrealircd/modules/plaintext-policy.so
+lib/unrealircd/modules/protoctl.so
+lib/unrealircd/modules/quit.so
+lib/unrealircd/modules/reply-tag.so
+lib/unrealircd/modules/reputation.so
+lib/unrealircd/modules/require-module.so
+lib/unrealircd/modules/restrict-commands.so
+lib/unrealircd/modules/rmtkl.so
+lib/unrealircd/modules/rules.so
+lib/unrealircd/modules/sajoin.so
+lib/unrealircd/modules/samode.so
+lib/unrealircd/modules/sapart.so
+lib/unrealircd/modules/sasl.so
+lib/unrealircd/modules/sdesc.so
+lib/unrealircd/modules/sendsno.so
+lib/unrealircd/modules/sendumode.so
+lib/unrealircd/modules/server-time.so
+lib/unrealircd/modules/server.so
+lib/unrealircd/modules/sethost.so
+lib/unrealircd/modules/setident.so
+lib/unrealircd/modules/setname.so
+lib/unrealircd/modules/silence.so
+lib/unrealircd/modules/sinfo.so
+lib/unrealircd/modules/sjoin.so
+lib/unrealircd/modules/slog.so
+lib/unrealircd/modules/sqline.so
+lib/unrealircd/modules/squit.so
+lib/unrealircd/modules/staff.so
+lib/unrealircd/modules/starttls.so
+lib/unrealircd/modules/stats.so
+lib/unrealircd/modules/sts.so
+lib/unrealircd/modules/svsjoin.so
+lib/unrealircd/modules/svskill.so
+lib/unrealircd/modules/svslusers.so
+lib/unrealircd/modules/svsmode.so
+lib/unrealircd/modules/svsmotd.so
+lib/unrealircd/modules/svsnick.so
+lib/unrealircd/modules/svsnline.so
+lib/unrealircd/modules/svsnolag.so
+lib/unrealircd/modules/svsnoop.so
+lib/unrealircd/modules/svspart.so
+lib/unrealircd/modules/svssilence.so
+lib/unrealircd/modules/svssno.so
+lib/unrealircd/modules/svswatch.so
+lib/unrealircd/modules/swhois.so
+lib/unrealircd/modules/targetfloodprot.so
+lib/unrealircd/modules/time.so
+lib/unrealircd/modules/tkl.so
+lib/unrealircd/modules/tkldb.so
+lib/unrealircd/modules/tls_antidos.so
+lib/unrealircd/modules/tls_cipher.so
+lib/unrealircd/modules/topic.so
+lib/unrealircd/modules/trace.so
+lib/unrealircd/modules/tsctl.so
+lib/unrealircd/modules/typing-indicator.so
+lib/unrealircd/modules/umode2.so
+lib/unrealircd/modules/unreal_server_compat.so
+lib/unrealircd/modules/unsqline.so
+lib/unrealircd/modules/user.so
+lib/unrealircd/modules/userhost-tag.so
+lib/unrealircd/modules/userhost.so
+lib/unrealircd/modules/userip-tag.so
+lib/unrealircd/modules/userip.so
+lib/unrealircd/modules/usermodes/bot.so
+lib/unrealircd/modules/usermodes/censor.so
+lib/unrealircd/modules/usermodes/noctcp.so
+lib/unrealircd/modules/usermodes/nokick.so
+lib/unrealircd/modules/usermodes/privacy.so
+lib/unrealircd/modules/usermodes/privdeaf.so
+lib/unrealircd/modules/usermodes/regonlymsg.so
+lib/unrealircd/modules/usermodes/secureonlymsg.so
+lib/unrealircd/modules/usermodes/servicebot.so
+lib/unrealircd/modules/usermodes/showwhois.so
+lib/unrealircd/modules/usermodes/wallops.so
+lib/unrealircd/modules/vhost.so
+lib/unrealircd/modules/watch-backend.so
+lib/unrealircd/modules/watch.so
+lib/unrealircd/modules/webirc.so
+lib/unrealircd/modules/webredir.so
+lib/unrealircd/modules/websocket.so
+lib/unrealircd/modules/who_old.so
+lib/unrealircd/modules/whois.so
+lib/unrealircd/modules/whowas.so
+lib/unrealircd/modules/whox.so
+share/doc/unrealircd/Authors
+share/doc/unrealircd/coding-guidelines
+share/doc/unrealircd/tao.of.irc
+share/examples/unrealircd/aliases/aliases.conf
+share/examples/unrealircd/aliases/anope.conf
+share/examples/unrealircd/aliases/atheme.conf
+share/examples/unrealircd/aliases/auspice.conf
+share/examples/unrealircd/aliases/cygnus.conf
+share/examples/unrealircd/aliases/epona.conf
+share/examples/unrealircd/aliases/generic.conf
+share/examples/unrealircd/aliases/genericstats.conf
+share/examples/unrealircd/aliases/ircservices.conf
+share/examples/unrealircd/aliases/operstats.conf
+share/examples/unrealircd/badwords.conf
+share/examples/unrealircd/dccallow.conf
+share/examples/unrealircd/example.conf
+share/examples/unrealircd/example.fr.conf
+share/examples/unrealircd/example.tr.conf
+share/examples/unrealircd/help/help.conf
+share/examples/unrealircd/help/help.de.conf
+share/examples/unrealircd/help/help.es.conf
+share/examples/unrealircd/help/help.fr.conf
+share/examples/unrealircd/help/help.it.conf
+share/examples/unrealircd/help/help.nl.conf
+share/examples/unrealircd/help/help.pl.conf
+share/examples/unrealircd/help/help.ru.conf
+share/examples/unrealircd/help/help.tr.conf
+share/examples/unrealircd/modules.default.conf
+share/examples/unrealircd/modules.optional.conf
+share/examples/unrealircd/operclass.default.conf
+share/examples/unrealircd/snomasks.default.conf
+share/examples/unrealircd/spamfilter.conf
+share/examples/unrealircd/tls/curl-ca-bundle.crt
+share/unrealircd/scripts/unrealircd
diff --git a/chat/unrealircd6/distinfo b/chat/unrealircd6/distinfo
new file mode 100644
index 00000000000..09d3be43807
--- /dev/null
+++ b/chat/unrealircd6/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2022/03/04 08:44:33 nia Exp $
+
+BLAKE2s (unrealircd-6.0.2.tar.gz) = b6e3e6538fcb541ebeca4e36febf74e2a7e3167768f68cb72e2022fb2d071f53
+SHA512 (unrealircd-6.0.2.tar.gz) = 041f97ad82d89222ad49bdc7db83869fc5133a049dd5354c34759c33c16307b9d60c25d3ef4e19a549059e3a0030699d061bd03fa8118428ded1f1e79d483398
+Size (unrealircd-6.0.2.tar.gz) = 8672255 bytes
+SHA1 (patch-include_h.h) = 3fa85b08f1d9e317a45cb8f54a61e0560617e72d
diff --git a/chat/unrealircd6/files/smf/manifest.xml b/chat/unrealircd6/files/smf/manifest.xml
new file mode 100644
index 00000000000..9f72a52b3b2
--- /dev/null
+++ b/chat/unrealircd6/files/smf/manifest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+ <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name='network' grouping='require_all' restart_on='error' type='service'>
+ <service_fmri value='svc:/milestone/network:default' />
+ </dependency>
+ <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local:default' />
+ </dependency>
+ <method_context>
+ <method_credential user='@UIRCD_USER@' group='@UIRCD_GROUP@' />
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/sbin/ircd -f %{config_file} -F" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <exec_method type="method" name="refresh" exec=":kill -HUP" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="child" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/unrealircd.conf" />
+ </property_group>
+ <template>
+ <common_name>
+ <loctext xml:lang="C">UnrealIRCD IRC server</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/chat/unrealircd6/files/unrealircd.sh b/chat/unrealircd6/files/unrealircd.sh
new file mode 100644
index 00000000000..ad64e96f47f
--- /dev/null
+++ b/chat/unrealircd6/files/unrealircd.sh
@@ -0,0 +1,31 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: unrealircd.sh,v 1.1 2022/03/04 08:44:33 nia Exp $
+#
+# PROVIDE: unrealircd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="unrealircd"
+rcvar=${name}
+command="@PREFIX@/bin/unrealircd"
+required_files="@PKG_SYSCONFDIR@/unrealircd.conf"
+pidfile="@VARBASE@/run/unrealircd.pid"
+unrealircd_user="@UIRCD_USER@"
+unrealircd_group="@UIRCD_GROUP@"
+extra_commands="rehash"
+rehash_cmd="unrealircd_rehash"
+
+unrealircd_rehash()
+{
+ kill -1 `@CAT@ $pidfile`
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/chat/unrealircd6/options.mk b/chat/unrealircd6/options.mk
new file mode 100644
index 00000000000..25b8979ea9a
--- /dev/null
+++ b/chat/unrealircd6/options.mk
@@ -0,0 +1,31 @@
+# $NetBSD: options.mk,v 1.1 2022/03/04 08:44:33 nia Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.unrealircd
+
+PKG_SUPPORTED_OPTIONS+= unrealircd-remoteinc
+PKG_SUPPORTED_OPTIONS+= unrealircd-operoverride-verify
+PKG_SUPPORTED_OPTIONS+= unrealircd-no-operoverride
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Compile in support for remote include files.
+###
+.if !empty(PKG_OPTIONS:Munrealircd-remoteinc)
+CONFIGURE_ARGS+= --enable-libcurl=${PREFIX}
+. include "../../www/curl/buildlink3.mk"
+.endif
+
+###
+### Disable oper override.
+###
+.if !empty(PKG_OPTIONS:Munrealircd-no-operoverride)
+CONFIGURE_ARGS+= --with-no-operoverride
+.endif
+
+###
+### Require opers to /invite themselves into a +s or +p channel.
+###
+.if !empty(PKG_OPTIONS:Munrealircd-operoverride-verify)
+CONFIGURE_ARGS+= --with-operoverride-verify
+.endif
diff --git a/chat/unrealircd6/patches/patch-include_h.h b/chat/unrealircd6/patches/patch-include_h.h
new file mode 100644
index 00000000000..7a7932baccf
--- /dev/null
+++ b/chat/unrealircd6/patches/patch-include_h.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_h.h,v 1.1 2022/03/04 08:44:33 nia Exp $
+
+Do not declare own errno.
+
+--- include/h.h.orig 2020-01-22 06:30:42.000000000 +0000
++++ include/h.h
+@@ -209,7 +209,7 @@ extern int dgets(int, char *, int);
+ #ifdef _WIN32
+ extern MODVAR int debuglevel;
+ #else
+-extern int debuglevel, errno, h_errno;
++extern int debuglevel, h_errno;
+ #endif
+ extern MODVAR int OpenFiles; /* number of files currently open */
+ extern MODVAR int debuglevel, portnum, debugtty, maxusersperchannel;