Compare commits

...

No commits in common. "initial" and "main" have entirely different histories.

7 changed files with 12847 additions and 94 deletions

View File

@ -1,33 +1,61 @@
PORTNAME= mirotalk
DISTVERSION= 1.5.20
CATEGORIES= net-p2p
PORTNAME= mirotalk
DISTVERSION= 1.5.20
CATEGORIES= www
MASTER_SITES= https://git.michaelsmith.be/m/mirotalk-port/releases/download/initial/:node_modules
DISTFILES= mirotalk-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= m@hacktheplanet.be
COMMENT= Simple, Secure, Fast Real-Time Video Conferences web application
WWW= https://github.com/miroslavpejic85/mirotalk
MAINTAINER= shmitty@protonmail.com
COMMENT= Simple, secure, fast and real time video conference web application
WWW= https://github.com/miroslavpejic85/mirotalk
LICENSE= AGPLv3
LICENSE= AGPLv3
ONLY_FOR_ARCHS= amd64
EXTRACT_DEPENDS= node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION} \
npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
USES= nodejs:22
USES= nodejs:22
USE_GITHUB= yes
GH_ACCOUNT= miroslavpejic85
GH_PROJECT= ${PORTNAME}
GH_TAGNAME= 5985501768fb9de93bbb94233b8de2d9e13f4f2f
USE_RC_SUBR= ${PORTNAME}
NO_BUILD= yes
do-build:
SUB_FILES= mirotalk pkg-deinstall pkg-message
SUB_LIST= MIROTALK_GROUP=${MIROTALK_GROUP} \
MIROTALK_HOME=${MIROTALK_HOME} \
MIROTALK_USER=${MIROTALK_USER}
USERS= ${MIROTALK_USER}
GROUPS= ${MIROTALK_GROUP}
USE_GITHUB= yes
GH_ACCOUNT= miroslavpejic85
GH_PROJECT= ${PORTNAME}
GH_TAGNAME= 5985501768fb9de93bbb94233b8de2d9e13f4f2f
USE_RC_SUBR= ${PORTNAME}
MIROTALK_GROUP?= mirotalk
MIROTALK_USER?= mirotalk
MIROTALK_HOME?= ${PREFIX}/mirotalk
PLIST_SUB+= MIROTALK_GROUP=${MIROTALK_GROUP} \
MIROTALK_HOME=${MIROTALK_HOME} \
MIROTALK_USER=${MIROTALK_USER}
post-extract:
@${ECHO_MSG} "===> Installing node modules in ${WRKSRC}"
@${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/mirotalk-node-modules-${DISTVERSION}${EXTRACT_SUFX} -C ${WRKSRC}
do-install:
${MKDIR} ${STAGEDIR}${MIROTALK_HOME}
cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${MIROTALK_HOME}
### targets for port maintainer(s)
make-node-modules-archive: extract
@${ECHO_MSG} "===> Fetching and installing node modules in ${WRKSRC}"
@cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} npm install --ignore-scripts --no-progress --no-audit --no-fund && \
${SETENV} ${MAKE_ENV} npm install @ngrok/ngrok-freebsd-x64 --ignore-scripts --no-progress --no-audit --no-fund && \
${TAR} -czf ${WRKDIR}/mirotalk-node-modules${EXTRACT_SUFX} node_modules
.include <bsd.port.mk>

View File

@ -1,3 +1,5 @@
TIMESTAMP = 1751371506
SHA256 (miroslavpejic85-mirotalk-1.5.20-5985501768fb9de93bbb94233b8de2d9e13f4f2f_GH0.tar.gz) = 702b2ccff6aebfdc0b21b6f4e206a7a96aad88d67fd9e503036d400a97dd9138
SIZE (miroslavpejic85-mirotalk-1.5.20-5985501768fb9de93bbb94233b8de2d9e13f4f2f_GH0.tar.gz) = 20813434
TIMESTAMP = 1751393141
SHA256 (mirotalk/mirotalk-node-modules-1.5.20.tar.gz) = 5427cf9bf7de000b02dd6d92ffb308777994d1798b5ca4fd91ec9d896c5bdf19
SIZE (mirotalk/mirotalk-node-modules-1.5.20.tar.gz) = 28956600
SHA256 (mirotalk/miroslavpejic85-mirotalk-1.5.20-5985501768fb9de93bbb94233b8de2d9e13f4f2f_GH0.tar.gz) = 702b2ccff6aebfdc0b21b6f4e206a7a96aad88d67fd9e503036d400a97dd9138
SIZE (mirotalk/miroslavpejic85-mirotalk-1.5.20-5985501768fb9de93bbb94233b8de2d9e13f4f2f_GH0.tar.gz) = 20813434

View File

@ -1,77 +1,61 @@
#!/bin/sh
# PROVIDE: mirotalk
# REQUIRE: LOGIN network
# REQUIRE: DAEMON
# KEYWORD: shutdown
# FreeBSD rc.d script for mirotalk
#
# extraargs typically can remain unset
# extraargs accepts as string any of:
# --nowebclient Indicates that the web server should not host the web client.
# -w, --webdir Path to the Mirotalk web UI resources. Defaults to ./mirotalk-web
# -c, --configdir Path to use for configuration data (user settings and pictures).
# -l, --logdir Path to use for writing log files. Defaults to $datadir/log
# --ffmpeg Path to external FFmpeg executable to use. Defaults to PATH.
# --published-server-url Mirotalk Server URL to publish via auto discover process
# The mirotalk service has the following rc.conf options:
#
#
# variable definitions
# mirotalk_exec_dir Path to the actual mirotalk binary Defaults to %%DATADIR%%
# mirotalk_data_dir Path to use for the data folder (database files, etc.) Defaults to /var/db/mirotalk
# mirotalk_cache_dir Path to use for caching. Defaults to /var/cache/mirotalk
# mirotalk_pid_dir Path to use for the pid file. Defaults to /var/run/mirotalk
# mirotalk_enable (bool): Set to YES to enable mirotalk
# Default: NO
# mirotalk_user (str): The user to run mirotalk as
# Default: mirotalk
# mirotalk_group (str): The group to run mirotalk as
# Default: mirotalk
# mirotalk_chdir (str): The directory where mirotalk is installed
# Default: %%PREFIX%%/mirotalk
# mirotalk_datadir (str): The directory where mirotalk's data is stored
# Default: /var/db/mirotalk
# mirotalk_restart (bool): Set to YES if mirotalk should be automatically
# restarted after it crashes.
# Default: NO
. /etc/rc.subr
name=mirotalk
desc="mirotalk service"
rcvar=mirotalk_enable
load_rc_config $name
: ${mirotalk_enable:=NO}
: ${mirotalk_user:="mirotalk"}
: ${mirotalk_group:="mirotalk"}
: ${mirotalk_extraargs:=""}
: ${mirotalk_exec_dir:="%%DATADIR%%"}
: ${mirotalk_data_dir:="/var/db/mirotalk"}
: ${mirotalk_cache_dir:="/var/cache/mirotalk"}
: ${mirotalk_pid_dir:="/var/run/mirotalk"}
: ${mirotalk_group:=%%MIROTALK_GROUP%%}
: ${mirotalk_datadir:=%%MIROTALK_DATADIR%%}
: ${mirotalk_pidfile=/var/run/mirotalk/mirotalk.pid}
: ${mirotalk_restart=NO}
: ${mirotalk_user:=%%MIROTALK_USER%%}
: ${mirotalk_chdir=%%MIROTALK_HOME%%}
pidfile="${mirotalk_pid_dir}/${name}_daemon.pid"
pidfile_child="${mirotalk_pid_dir}/${name}_child.pid"
command="/usr/sbin/daemon"
# If mirotalk_restart is YES, then restart mirotalk when it crashes, otherwise
# daemon(8) will exit.
if checkyesno mirotalk_restart; then
_restartargs="-r"
else
_restartargs=""
fi
pidfile=${mirotalk_pidfile}
start_precmd=${name}_precmd
mirotalk_precmd() {
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin"
command=/usr/sbin/daemon
command_args="-f -H \
-P ${pidfile} -t ${name} -T ${name} \
${_restartargs} \
%%LOCALBASE%%/bin/node app/src/server.js"
required_files="${mirotalk_chdir}/app/src/config.js"
if [ ! -d ${mirotalk_exec_dir} ]; then
install -d -o ${mirotalk_user} -g ${mirotalk_group} ${mirotalk_exec_dir}
fi
if [ ! -d ${mirotalk_data_dir} ]; then
install -d -o ${mirotalk_user} -g ${mirotalk_group} ${mirotalk_data_dir}
fi
if [ ! -d ${mirotalk_cache_dir} ]; then
install -d -o ${mirotalk_user} -g ${mirotalk_group} ${mirotalk_cache_dir}
fi
if [ ! -d ${mirotalk_pid_dir} ]; then
install -d -o ${mirotalk_user} -g ${mirotalk_group} ${mirotalk_pid_dir}
fi
# .NET 6+ use dual mode sockets to avoid the separate AF handling.
# disable .NET use of V6 if no ipv6 is configured.
# See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259194#c17
ifconfig -a -u -G lo | grep -q inet6
if [ $? == 1 ]; then
export DOTNET_SYSTEM_NET_DISABLEIPV6=1
fi
if [ `uname -K` -ge 1400092 ]; then
export CLR_OPENSSL_VERSION_OVERRIDE=30
fi
rc_flags="-r -f -p ${pidfile_child} -P ${pidfile} ${mirotalk_exec_dir}/mirotalk --datadir ${mirotalk_data_dir} --cachedir ${mirotalk_cache_dir} ${mirotalk_extraargs} >> /dev/null 2>&1 ${rc_flags}"
}
start_precmd="[ -d ${pidfile%/*} ] || install -d -o ${mirotalk_user} -g ${mirotalk_group} ${pidfile%/*}"
run_rc_command "$1"

View File

@ -1,20 +1,9 @@
#!/bin/sh
case "$2" in
POST-DEINSTALL)
if [ -d %%WWWDIR%%/optimize ]; then
/usr/bin/find %%WWWDIR%%/optimize/ -delete
fi
DIR=%%MIROTALK_HOME%%
cat <<EOMSG
If %%PORTNAME%%%%PKGNAMESUFFIX%% is being deleted permanently, and you do not wish to keep any
data that was in the cluster, then you may wish to delete the
%%WWWDIR%% directory. This can be done by with the command:
# rm -rf %%WWWDIR%%
Please ignore this if %%PORTNAME%%%%PKGNAMESUFFIX%% is being upgraded
EOMSG
;;
esac
if [ "$2" = "POST-DEINSTALL" ]; then
if [ -e ${DIR} ]; then
echo "==> You should check and manually remove the \"${DIR}\" directory."
fi
fi

10
files/pkg-message.in Normal file
View File

@ -0,0 +1,10 @@
[
{ type: install
message: <<EOM
MiroTalk has been installed.
Configure MiroTalk by copying %%MIROTALK_HOME%%/app/src/config.template.js
to %%MIROTALK_HOME%%/app/src/config.js and make changes if necessary.
EOM
}
]

View File

@ -1 +1,3 @@
WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 8k and 60fps, compatible with all browsers and platforms.
MiroTalk is a web application that enables simple, secure, fast and real time
video calls, chat and screen sharing. It runs in the browser, on mobile or
desktop.

12738
pkg-plist Normal file

File diff suppressed because it is too large Load Diff