From db651a4af21bbf7d2bf34a54481f8165dc56e45c Mon Sep 17 00:00:00 2001 From: John Gebbie Date: Thu, 1 Jun 2023 18:46:13 +0100 Subject: [PATCH] New package: numen-0.7 --- srcpkgs/numen/files/numen/conf | 7 +++++ srcpkgs/numen/files/numen/run | 11 ++++++++ srcpkgs/numen/template | 50 ++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 srcpkgs/numen/files/numen/conf create mode 100755 srcpkgs/numen/files/numen/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..2d814396e2d9 --- /dev/null +++ b/srcpkgs/numen/files/numen/conf @@ -0,0 +1,7 @@ +# Example to run the service as a specific user: + +# NUMENUSER=john +# NUMENGROUP="$NUMENUSER" +# NUMENHOME="/home/$NUMENUSER" +# export HOME="$NUMENHOME" +# export XAUTHORITY="/run/user/$(id -u "$NUMENUSER")/Xauthority" diff --git a/srcpkgs/numen/files/numen/run b/srcpkgs/numen/files/numen/run new file mode 100755 index 000000000000..da29f62904da --- /dev/null +++ b/srcpkgs/numen/files/numen/run @@ -0,0 +1,11 @@ +#!/bin/sh +exec 2>&1 +[ -r ./conf ] && . ./conf +: ${NUMENUSER:=_numen} +: ${NUMENGROUP:=_numen} +if [ -z "$NUMENHOME" ]; then + mkdir -p /usr/share/numen + chown "$NUMENUSER:$NUMENGROUP" /usr/share/numen + export XDG_DATA_HOME=/usr/share +fi +exec chpst -u "$NUMENUSER:$NUMENGROUP:input:audio" numen ${OPTS} diff --git a/srcpkgs/numen/template b/srcpkgs/numen/template new file mode 100644 index 000000000000..869684c352ef --- /dev/null +++ b/srcpkgs/numen/template @@ -0,0 +1,50 @@ +# Template file for 'numen' +pkgname=numen +version=0.7 +revision=1 +build_style=go +go_import_path="git.sr.ht/~geb/numen" +go_ldflags="-X main.Version=${version} + -X main.DefaultModelPackage=vosk-model-small-en-us + -X 'main.DefaultModelPaths=/usr/local/share/vosk-models/small-en-us /usr/share/vosk-models/small-en-us' + -X main.DefaultPhrasesDir=/etc/numen/phrases" +hostmakedepends="scdoc" +makedepends="vosk-api libgomp-devel" +depends="alsa-utils dotool>=1.1" +checkdepends="vosk-model-small-en-us" +short_desc="Voice control for handsfree computing" +maintainer="John Gebbie " +license="AGPL-3.0-only" +homepage="https://numenvoice.com" +changelog="https://git.sr.ht/~geb/numen/blob/master/CHANGELOG.md" +distfiles="https://git.sr.ht/~geb/numen/archive/${version}.tar.gz" +checksum=6109274a4d9b411ba5e9b8c7d1b52aa764fa1b25162ee79e52bff9594174532f +conf_files="/etc/sv/numen/conf" + +if [ "$XBPS_TARGET_LIBC" = musl ]; then + makedepends+=" libexecinfo-devel" +fi + +system_accounts="_numen" + +pre_build() { + # for the vosk-api package (openblas) + export CGO_LDFLAGS="$CGO_LDFLAGS -fopenmp" + + if [ "$XBPS_TARGET_LIBC" = musl ]; then + # for the vosk-api package (openfst) + export CGO_LDFLAGS="$CGO_LDFLAGS -lexecinfo" + fi +} + +do_check() { + cp "${GOPATH}"/**/numen numen + cd test + ./test.sh +} + +post_install() { + NUMEN_SKIP_CHECKS=yes NUMEN_SKIP_BINARY=yes \ + ./install-numen.sh "${DESTDIR}" /usr/bin + vsv numen +}