From 8404c4f75adf36e8bd513a177908232f58411403 Mon Sep 17 00:00:00 2001 From: John Gebbie Date: Tue, 4 Oct 2022 17:50:42 +0100 Subject: [PATCH] New package: numen-0.1 --- srcpkgs/numen/files/numen/conf | 6 +++++ srcpkgs/numen/files/numen/control/t | 2 ++ srcpkgs/numen/files/numen/log/run | 2 ++ srcpkgs/numen/files/numen/run | 7 ++++++ srcpkgs/numen/files/run | 10 +++++++++ srcpkgs/numen/template | 35 +++++++++++++++++++++++++++++ 6 files changed, 62 insertions(+) create mode 100644 srcpkgs/numen/files/numen/conf create mode 100755 srcpkgs/numen/files/numen/control/t create mode 100755 srcpkgs/numen/files/numen/log/run create mode 100755 srcpkgs/numen/files/numen/run create mode 100644 srcpkgs/numen/files/run create mode 100644 srcpkgs/numen/template diff --git a/srcpkgs/numen/files/numen/conf b/srcpkgs/numen/files/numen/conf new file mode 100644 index 000000000000..f4ec56bcfb54 --- /dev/null +++ b/srcpkgs/numen/files/numen/conf @@ -0,0 +1,6 @@ +# Example to run numen as a specific user: + +# NUMENUSER=john +# export XAUTHORITY="/run/user/$(id -u $NUMENUSER)/Xauthority" +# export XDG_DATA_HOME="/home/$NUMENUSER/.local/share" +# OPTS=$(find "/home/$NUMENUSER/.config/numen/phrases/" -maxdepth 1 \! -type d) diff --git a/srcpkgs/numen/files/numen/control/t b/srcpkgs/numen/files/numen/control/t new file mode 100755 index 000000000000..eeeb1555652a --- /dev/null +++ b/srcpkgs/numen/files/numen/control/t @@ -0,0 +1,2 @@ +#!/bin/sh +pkill -P $(cat supervise/pid) diff --git a/srcpkgs/numen/files/numen/log/run b/srcpkgs/numen/files/numen/log/run new file mode 100755 index 000000000000..01131544c6d3 --- /dev/null +++ b/srcpkgs/numen/files/numen/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -p daemon.info -t numen diff --git a/srcpkgs/numen/files/numen/run b/srcpkgs/numen/files/numen/run new file mode 100755 index 000000000000..efd9c8b9477a --- /dev/null +++ b/srcpkgs/numen/files/numen/run @@ -0,0 +1,7 @@ +#!/bin/sh +exec 2>&1 +[ -r ./conf ] && . ./conf +: ${NUMENUSER:=_numen} +mkdir -p /usr/share/numen +chown $NUMENUSER:$NUMENUSER /usr/share/numen || exit +XDG_DATA_HOME="${XDG_DATA_HOME:-/usr/share}" exec chpst -u $NUMENUSER:input:audio /usr/local/bin/numen ${OPTS} diff --git a/srcpkgs/numen/files/run b/srcpkgs/numen/files/run new file mode 100644 index 000000000000..a21a244dad58 --- /dev/null +++ b/srcpkgs/numen/files/run @@ -0,0 +1,10 @@ +#!/bin/sh +cd /usr/libexec/numen || exit +if [ -z "$NUMEN_MODEL" ]; then + if [ -e /usr/share/vosk-models/small-en-us ]; then + export NUMEN_MODEL=/usr/share/vosk-models/small-en-us + else + echo 'numen: You need to install the vosk-model-small-en-us package or set $NUMEN_MODEL.' > /dev/stderr + fi +fi +exec ./numen "$@" diff --git a/srcpkgs/numen/template b/srcpkgs/numen/template new file mode 100644 index 000000000000..87620d0351d6 --- /dev/null +++ b/srcpkgs/numen/template @@ -0,0 +1,35 @@ +# Template file for 'numen' +pkgname=numen +version=0.1 +revision=1 +build_style=go +go_import_path="git.sr.ht/~geb/numen" +hostmakedepends="scdoc" +makedepends="vosk-api libgomp-devel" +depends="alsa-utils xdotool xset ydotool" +short_desc="Voice control for handsfree computing" +maintainer="John Gebbie " +license="GPL-3.0-only" +homepage="https://sr.ht/~geb/numen" +distfiles="https://git.sr.ht/~geb/numen/archive/${version}.tar.gz" +checksum=f5d69ca098d3714c132adda29d3fb527da12e4c4ec92fa29cf87cb8acaf38c98 + +system_accounts="_numen" +_numen_groups="input audio" + +pre_build() { + export CGO_LDFLAGS="-fopenmp" +} + +post_install() { + vmkdir usr/libexec/numen + mv "${DESTDIR}/usr/bin/numen" "${DESTDIR}/usr/libexec/numen/speech" + mv handlers "${DESTDIR}/usr/libexec/speech" + vbin "${FILESDIR}/run" numen + + vmkdir etc/numen + mv phrases "${DESTDIR}/etc/numen/phrases" + vbin displaying + scdoc < numen.1.scd > numen.1 + vman numen.1 +}