diff options
| author | Jan T <jan@jantuomi.fi> | 2026-07-23 19:24:22 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2026-07-23 19:26:00 +0300 |
| commit | d57b5cd7830a5b4ed1437b1b648dca62a9b6eea3 (patch) | |
| tree | 85c5e69424dd2fe4c07be9dbb1b4267ee1503c3d /www/expense-tracker | |
*/*: initial commit
Diffstat (limited to 'www/expense-tracker')
| -rw-r--r-- | www/expense-tracker/Makefile | 36 | ||||
| -rw-r--r-- | www/expense-tracker/files/expense_tracker.in | 56 | ||||
| -rw-r--r-- | www/expense-tracker/pkg-descr | 2 |
3 files changed, 94 insertions, 0 deletions
diff --git a/www/expense-tracker/Makefile b/www/expense-tracker/Makefile new file mode 100644 index 0000000..98532cd --- /dev/null +++ b/www/expense-tracker/Makefile @@ -0,0 +1,36 @@ +PORTNAME= expense-tracker +PORTVERSION= 1.0.1 +CATEGORIES= www + +MAINTAINER= jan@jantuomi.fi +COMMENT= Minimal personal expense tracker + +LICENSE= AGPLv3 + +USE_GITHUB= yes +GH_ACCOUNT= jantuomi +GH_PROJECT= expense-tracker +GH_TAGNAME= main + +NO_CHECKSUM= yes +NO_ARCH= yes +NO_BUILD= yes + +USES= python:3.11+ +RUN_DEPENDS= ${PYTHON_CMD}:lang/python${PYTHON_SUFFIX} + +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} + +USE_RC_SUBR= expense_tracker + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/expense-tracker + ${INSTALL_SCRIPT} ${WRKSRC}/app.py ${STAGEDIR}${PREFIX}/expense-tracker/ + ${INSTALL_DATA} ${WRKSRC}/favicon.png ${STAGEDIR}${PREFIX}/expense-tracker/ + +post-install: + @echo "expense-tracker/app.py" >> ${TMPPLIST} + @echo "expense-tracker/favicon.png" >> ${TMPPLIST} + @echo "@dir expense-tracker" >> ${TMPPLIST} + +.include <bsd.port.mk> diff --git a/www/expense-tracker/files/expense_tracker.in b/www/expense-tracker/files/expense_tracker.in new file mode 100644 index 0000000..b0ff573 --- /dev/null +++ b/www/expense-tracker/files/expense_tracker.in @@ -0,0 +1,56 @@ +#!/bin/sh + +# PROVIDE: expense_tracker +# REQUIRE: NETWORKING +# KEYWORD: shutdown + +. /etc/rc.subr + +name="expense_tracker" +rcvar="expense_tracker_enable" +pidfile="/var/run/${name}.pid" + +load_rc_config "$name" + +: ${expense_tracker_enable:="NO"} +: ${expense_tracker_host:="0.0.0.0"} +: ${expense_tracker_port:="80"} +: ${expense_tracker_base_url:="http://localhost"} +: ${expense_tracker_db:="/var/db/expense-tracker/expenses.db"} + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" + +expense_tracker_start() +{ + echo "Starting ${name}..." + daemon -p "${pidfile}" -o /var/log/expense-tracker.log env \ + PATH=%%PREFIX%%/bin:/usr/bin:/bin \ + HOST="${expense_tracker_host}" \ + PORT="${expense_tracker_port}" \ + BASE_URL="${expense_tracker_base_url}" \ + DB="${expense_tracker_db}" \ + %%PYTHON_CMD%% %%PREFIX%%/expense-tracker/app.py +} + +expense_tracker_stop() +{ + if [ -f "${pidfile}" ]; then + echo "Stopping ${name}..." + kill "$(cat "${pidfile}")" 2>/dev/null + rm -f "${pidfile}" + fi +} + +expense_tracker_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/www/expense-tracker/pkg-descr b/www/expense-tracker/pkg-descr new file mode 100644 index 0000000..f2acbe6 --- /dev/null +++ b/www/expense-tracker/pkg-descr @@ -0,0 +1,2 @@ +Minimal personal expense tracker with group support. +Python stdlib only, no dependencies. |
