tuxtalk-appimage

LOW
maintainer ronb1964 1 votes scanned 2026-10-17 00:21:55.226236
View on AUR
Why flagged

The package installs a legitimate AppImage from the project's official GitHub repository; the flagged low vote count and recent upload are common for new or niche AUR packages and do not indicate malicious intent.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 90%): The package installs a legitimate AppImage from the project's official GitHub repository; the flagged low vote count and recent upload are common for new or niche AUR packages and do not indicate malicious intent.

PKGBUILD

1# Maintainer: Ron Brand <ronb1964@gmail.com>
2pkgname=tuxtalk-appimage
3pkgver=0.15.1
4pkgrel=1
5pkgdesc="Voice dictation for Linux: hold a key, talk, and your words are typed for you"
6arch=('x86_64')
7url="https://github.com/ronb1964/TuxTalk"
8license=('MIT')
9# The AppImage itself bundles libayatana-appindicator3 with its dbusmenu
10# libraries, and ydotool, ydotoold and wl-clipboard, so those depends are
11# belt and braces. They stay until a clean Arch install has been tested
12# without them. The AppImage needs fusermount to mount itself, which fuse2
13# provides (fuse3's fusermount3 works too).
14depends=('fuse2' 'ydotool' 'wl-clipboard' 'libayatana-appindicator')
15optdepends=(
16 'pipewire-pulse: PipeWire audio support'
17 'pulseaudio: PulseAudio support'
18)
19# Called TalkType (talktype-appimage) until 0.15.0. replaces= lets pacman and
20# AUR helpers swap the old package for this one; the AUR merge request moves
21# the old package's votes and watchers here.
22provides=('tuxtalk' 'talktype')
23conflicts=('talktype' 'talktype-appimage')
24replaces=('talktype-appimage')
25options=('!strip')
26source=("TuxTalk-v${pkgver}-x86_64.AppImage::https://github.com/ronb1964/TuxTalk/releases/download/v${pkgver}/TuxTalk-v${pkgver}-x86_64.AppImage"
27 "tuxtalk.desktop")
28sha256sums=('be40dd581bd5db8cf871817b6c2b177df8339de8f5c2d8387ee7a78c1a1829da'
29 'SKIP')
30noextract=("TuxTalk-v${pkgver}-x86_64.AppImage")
31
32package() {
33 # Install AppImage
34 install -Dm755 "TuxTalk-v${pkgver}-x86_64.AppImage" "${pkgdir}/opt/tuxtalk/TuxTalk.AppImage"
35 # The path before the 0.15.0 rename: a TalkType launch-at-login entry
36 # still starts it at the first login after this update (TuxTalk rewrites
37 # the entry once it runs).
38 install -dm755 "${pkgdir}/opt/talktype"
39 ln -s /opt/tuxtalk/TuxTalk.AppImage "${pkgdir}/opt/talktype/TalkType.AppImage"
40
41 # Create wrapper script
42 install -dm755 "${pkgdir}/usr/bin"
43 cat > "${pkgdir}/usr/bin/tuxtalk" << 'EOF'
44#!/bin/bash
45exec /opt/tuxtalk/TuxTalk.AppImage "$@"
46EOF
47 chmod 755 "${pkgdir}/usr/bin/tuxtalk"
48 # The command before the 0.15.0 rename, for old shortcuts and scripts.
49 ln -s tuxtalk "${pkgdir}/usr/bin/talktype"
50
51 # Install desktop file
52 install -Dm644 tuxtalk.desktop "${pkgdir}/usr/share/applications/tuxtalk.desktop"
53
54 # Extract and install icon from AppImage.
55 #
56 # The icon inside the AppImage is io.github.ronb1964.TuxTalk.png. It used
57 # to be talktype.png, and this step hardcoded that old name behind
58 # `2>/dev/null || true`, so after the rename it failed silently and the
59 # package shipped with no icon at all for several releases. Glob for any
60 # top-level PNG so a future rename cannot repeat that, and fail loudly if
61 # none is found rather than quietly producing a package without an icon.
62 cd "${srcdir}"
63 chmod +x "TuxTalk-v${pkgver}-x86_64.AppImage"
64 ./"TuxTalk-v${pkgver}-x86_64.AppImage" --appimage-extract 'io.github.ronb1964.TuxTalk.png' >/dev/null 2>&1 || true
65 if [[ ! -f squashfs-root/io.github.ronb1964.TuxTalk.png ]]; then
66 # Fall back to a full extract in case the icon was renamed again.
67 ./"TuxTalk-v${pkgver}-x86_64.AppImage" --appimage-extract >/dev/null 2>&1 || true
68 fi
69
70 _icon=$(find squashfs-root -maxdepth 1 -name '*.png' -print -quit 2>/dev/null)
71 if [[ -z "${_icon}" ]]; then
72 echo "ERROR: no icon found at the root of the AppImage." >&2
73 echo " Refusing to build a package with a missing icon." >&2
74 return 1
75 fi
76
77 # Installed as tuxtalk.png to match Icon=tuxtalk in tuxtalk.desktop.
78 install -Dm644 "${_icon}" "${pkgdir}/usr/share/pixmaps/tuxtalk.png"
79
80 rm -rf squashfs-root
81}
82

Changes since previous scan

--- PKGBUILD @ 2026-10-16 00:12
+++ PKGBUILD @ 2026-10-17 00:21
@@ -1,6 +1,6 @@
# Maintainer: Ron Brand <ronb1964@gmail.com>
pkgname=tuxtalk-appimage
-pkgver=0.15.0
+pkgver=0.15.1
pkgrel=1
pkgdesc="Voice dictation for Linux: hold a key, talk, and your words are typed for you"
arch=('x86_64')
@@ -25,7 +25,7 @@
options=('!strip')
source=("TuxTalk-v${pkgver}-x86_64.AppImage::https://github.com/ronb1964/TuxTalk/releases/download/v${pkgver}/TuxTalk-v${pkgver}-x86_64.AppImage"
"tuxtalk.desktop")
-sha256sums=('b4ab940ab0d636b392133702fdbc977d06479a9432900e49c199dd3aab4307b9'
+sha256sums=('be40dd581bd5db8cf871817b6c2b177df8339de8f5c2d8387ee7a78c1a1829da'
'SKIP')
noextract=("TuxTalk-v${pkgver}-x86_64.AppImage")

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 00:21:55 Low 2
2026-10-16 03:14:05 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2
2026-10-14 03:18:50 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion