diff options
Diffstat (limited to 'net-im/taulubot')
| -rw-r--r-- | net-im/taulubot/Makefile | 50 | ||||
| -rw-r--r-- | net-im/taulubot/distinfo | 3 | ||||
| -rw-r--r-- | net-im/taulubot/files/pkg-message.in | 30 | ||||
| -rw-r--r-- | net-im/taulubot/files/taulubot.in | 81 | ||||
| -rw-r--r-- | net-im/taulubot/pkg-descr | 1 |
5 files changed, 165 insertions, 0 deletions
diff --git a/net-im/taulubot/Makefile b/net-im/taulubot/Makefile new file mode 100644 index 0000000..7db66f7 --- /dev/null +++ b/net-im/taulubot/Makefile @@ -0,0 +1,50 @@ +PORTNAME= taulubot +PORTVERSION= 1.0.0 +CATEGORIES= net-im + +MAINTAINER= jan@jantuomi.fi +COMMENT= Telegram bot for funny pictures of paintings haha + +LICENSE= ISCL + +USE_GITHUB= yes +GH_ACCOUNT= jantuomi +GH_TAGNAME= v1.0.0 + +NO_CHECKSUM= yes +NO_ARCH= yes +NO_BUILD= yes + +USES= python:3.11+ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dotenv>0:www/py-python-dotenv@${PY_FLAVOR} + +SUB_FILES= pkg-message +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} + +USE_RC_SUBR= taulubot + +APPDIR= ${PREFIX}/taulubot +STAGE_APPDIR= ${STAGEDIR}${APPDIR} + +do-install: + ${MKDIR} ${STAGE_APPDIR}/app + + ${INSTALL_DATA} ${WRKSRC}/taulubot.py ${STAGE_APPDIR}/app/ + ${INSTALL_DATA} ${WRKSRC}/golden.png ${STAGE_APPDIR}/app/ + ${INSTALL_DATA} ${WRKSRC}/wooden.png ${STAGE_APPDIR}/app/ + + (cd ${WRKSRC}/telepot && ${COPYTREE_SHARE} . ${STAGE_APPDIR}/app/telepot) + +post-install: + @(cd ${STAGEDIR}${PREFIX} && \ + ${FIND} taulubot -type f -o -type l | \ + ${SORT}) >> ${TMPPLIST} + + @(cd ${STAGEDIR}${PREFIX} && \ + ${FIND} taulubot -type d | \ + ${SORT} -r | \ + ${SED} 's|^|@dir |') >> ${TMPPLIST} + +.include <bsd.port.mk> diff --git a/net-im/taulubot/distinfo b/net-im/taulubot/distinfo new file mode 100644 index 0000000..62c07ce --- /dev/null +++ b/net-im/taulubot/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1784702400 +SHA256 (jantuomi-taulubot-v1.0.0_GH0.tar.gz) = 6b7286a13ca0a78cdf58ae842f31315a3973d2d32b5f8065444f04c1daa8cf3d +SIZE (jantuomi-taulubot-v1.0.0_GH0.tar.gz) = 1017042 diff --git a/net-im/taulubot/files/pkg-message.in b/net-im/taulubot/files/pkg-message.in new file mode 100644 index 0000000..deeeac9 --- /dev/null +++ b/net-im/taulubot/files/pkg-message.in @@ -0,0 +1,30 @@ +[ + { + type: install + message: <<EOM +======================================================================== + +Taulubot requires a Telegram bot token. + +Create the token file: + + install -m 600 /dev/null %%PREFIX%%/etc/taulubot.token + +Then edit it: + + ee %%PREFIX%%/etc/taulubot.token + +Then enable the service and configure settings: + + sysrc taulubot_enable=YES + sysrc taulubot_photos_dir=/var/db/taulubot + sysrc taulubot_token_file=%%PREFIX%%/etc/taulubot.token + +Start the service: + + service taulubot start + +======================================================================== +EOM + } +] diff --git a/net-im/taulubot/files/taulubot.in b/net-im/taulubot/files/taulubot.in new file mode 100644 index 0000000..46a65be --- /dev/null +++ b/net-im/taulubot/files/taulubot.in @@ -0,0 +1,81 @@ +#!/bin/sh + +# PROVIDE: taulubot +# REQUIRE: NETWORKING +# KEYWORD: shutdown + +. /etc/rc.subr + +name="taulubot" +rcvar="taulubot_enable" +pidfile="/var/run/${name}.pid" + +load_rc_config "$name" + +: ${taulubot_enable:="NO"} +: ${taulubot_token_file:="%%PREFIX%%/etc/taulubot.token"} +: ${taulubot_photos_dir:="/var/db/taulubot"} + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" + +taulubot_start() +{ + if [ ! -f "${taulubot_token_file}" ]; then + echo "${name}: token file ${taulubot_token_file} not found" + return 1 + fi + + BOT_TOKEN=$(cat "${taulubot_token_file}") + + if [ -z "${BOT_TOKEN}" ]; then + echo "${name}: token file ${taulubot_token_file} is empty" + return 1 + fi + + echo "Starting ${name}..." + + cd %%PREFIX%%/taulubot/app || return 1 + + mkdir -p "${taulubot_photos_dir}" + chmod 770 "${taulubot_photos_dir}" + + daemon -p "${pidfile}" -o /var/log/taulubot.log env \ + PATH=%%PREFIX%%/bin:/usr/local/bin:/usr/bin:/bin \ + PYTHONPATH=%%PREFIX%%/taulubot/vendor:%%PREFIX%%/taulubot/app \ + BOT_TOKEN="${BOT_TOKEN}" \ + PHOTOS_DIR="${taulubot_photos_dir}" \ + %%PYTHON_CMD%% %%PREFIX%%/taulubot/app/taulubot.py + + i=0 + while [ "${i}" -lt 5 ]; do + sleep 1 + if [ ! -f "${pidfile}" ]; then + echo "Failed to start ${name}" + return 1 + fi + i=$((i + 1)) + done +} + +taulubot_stop() +{ + if [ -f "${pidfile}" ]; then + echo "Stopping ${name}..." + kill "$(cat "${pidfile}")" 2>/dev/null + rm -f "${pidfile}" + fi +} + +taulubot_status() +{ + if [ -f "${pidfile}" ] && kill -0 "$(cat "${pidfile}")" 2>/dev/null; then + echo "${name} is running as pid $(cat "${pidfile}")" + else + echo "${name} is not running" + return 1 + fi +} + +run_rc_command "$1" diff --git a/net-im/taulubot/pkg-descr b/net-im/taulubot/pkg-descr new file mode 100644 index 0000000..0b9ad8b --- /dev/null +++ b/net-im/taulubot/pkg-descr @@ -0,0 +1 @@ +Telegram bot for funny pictures of paintings haha |
