tape24-bin
CLEAN
maintainer jarbowski
0 votes
scanned 2026-11-01 00:21:48.120785
Triggered rules
Clean
AI review downgraded a static finding
llm_review
The static rules flagged this LOW, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it CLEAN (confidence 95%): The package downloads a release artifact from GitHub, extracts a .deb, and installs binaries and data files; all actions are transparent and the source is from a project-owned repository, with no obfuscated or malicious behavior detected.
1 higher static finding superseded - not the current verdict (shown for transparency)
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.
PKGBUILD
1
# Maintainer: jarbowski <jarbowski@laposte.net>
2
pkgname=tape24-bin
3
pkgver=0.9.530
4
pkgrel=1
5
pkgdesc="Destructive tape-style 24-track DAW (X11-backed, XWayland on Wayland sessions)"
6
arch=('x86_64')
7
url="https://emrmusicgroup.com/tape24/"
8
license=('LicenseRef-proprietary')
9
groups=('pro-audio')
10
depends=(
11
hicolor-icon-theme
12
bash
13
glibc
14
libstdc++
15
libgcc
16
alsa-lib
17
curl
18
fontconfig
19
freetype2
20
libx11
21
'libjack.so=0-64'
22
)
23
makedepends=('unzip')
24
optdepends=(
25
'wireplumber: recommended audio session manager'
26
'xorg-xwayland: XWayland for plugin editors and Wayland sessions'
27
'realtime-privileges: realtime scheduling for low latency'
28
'xdg-desktop-portal: portal integration'
29
'yabridge: Windows VST via Wine'
30
'wine: Windows VST host support'
31
)
32
provides=('tape24')
33
conflicts=('tape24' 'tape24-wayland-bin' 'tape24-x11-bin')
34
options=('!strip' '!debug')
35
install=tape24-bin.install
36
source=("TAPE-24-v${pkgver}-Linux-Release.zip::https://github.com/jackpaterson1/TAPE-24-Public-Releases/releases/download/${pkgver}/TAPE-24-v${pkgver}-Linux-Release.zip")
37
sha256sums=('a26389a633aa08cde080e030a88d35e0c2f45dada878f6fea88055b32f7eed38')
38
39
package() {
40
# Note: upstream folder is TAPE-24-v${pkgver}-2-Linux-Release (extra -2)
41
local deb="${srcdir}/TAPE-24-v${pkgver}-2-Linux-Release/TAPE 24 Wayland Deb/INSTALL-TAPE24.deb"
42
local extract="${srcdir}/deb-extract"
43
44
mkdir -p "$extract"
45
46
# .deb is an ar archive; extract data.tar.* then its content
47
bsdtar -xOf "$deb" data.tar.* | bsdtar -x -C "$extract"
48
49
# App + resources
50
install -dm755 "${pkgdir}/usr/lib"
51
cp -a "${extract}/usr/lib/tape24" "${pkgdir}/usr/lib/"
52
53
# Share data
54
install -dm755 "${pkgdir}/usr/share"
55
for d in icons applications metainfo doc tape24; do
56
if [[ -d "${extract}/usr/share/$d" ]]; then
57
cp -a "${extract}/usr/share/$d" "${pkgdir}/usr/share/"
58
fi
59
done
60
61
# Keep only useful helpers
62
install -Dm755 "${extract}/usr/bin/tape24-plugin-doctor" "${pkgdir}/usr/bin/tape24-plugin-doctor"
63
install -Dm755 "${extract}/usr/bin/tape24-reset-defaults" "${pkgdir}/usr/bin/tape24-reset-defaults"
64
65
# Single launcher
66
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/tape24" << 'LAUNCHER'
67
#!/usr/bin/env bash
68
set -u
69
70
APP_DIR=/usr/lib/tape24
71
APP_BIN="$APP_DIR/TAPE-24"
72
SHARE_DIR=/usr/share/tape24
73
74
# Detect session
75
session_type="${XDG_SESSION_TYPE:-}"
76
session_type="$(printf '%s' "$session_type" | tr '[:upper:]' '[:lower:]')"
77
if [[ -z "$session_type" ]]; then
78
if [[ -n "${WAYLAND_DISPLAY:-}" ]]; then
79
session_type=wayland
80
elif [[ -n "${DISPLAY:-}" ]]; then
81
session_type=x11
82
else
83
session_type=x11
84
fi
85
fi
86
87
# Source matching profile
88
profile_env="$SHARE_DIR/profiles/tape24-${session_type}.env"
89
[[ -r "$profile_env" ]] && . "$profile_env"
90
91
# Export profile vars
92
export TAPE16_PACKAGE_PROFILE TAPE16_PACKAGE_PROFILE_LABEL
93
export TAPE16_DISPLAY_PROFILE TAPE16_EXPECT_SESSION
94
export TAPE16_GRAPHICS_PROFILE TAPE16_REPAINT_PROFILE
95
export TAPE16_SAMPLE_RATE TAPE16_STABLE_BLOCK_SIZE TAPE16_LOWLATENCY_BLOCK_SIZE
96
export TAPE16_PWJACK_FLAGS_FIRST TAPE16_PREFER_NATIVE_WAYLAND
97
export TAPE_LINUX_USE_VBLANK TAPE_LINUX_DISABLE_WAYLAND_BLIT_RELIEF
98
export TAPE_LINUX_ENABLE_STABLE_REEL_RESIDUAL TAPE_LINUX_X11_REEL_PREWARM
99
100
# Forced settings
101
export TAPE16_AUDIO_AUTHORITY=tape16
102
export TAPE16_FILE_CHOOSER=internal
103
export TAPE16_REMOTE_LAN=1
104
export GDK_BACKEND=x11,wayland
105
106
if [[ "$session_type" == wayland && -n "${DISPLAY:-}" ]]; then
107
export TAPE16_LINUX_DISPLAY_MODE=wayland-xwayland
108
fi
109
110
exec "$APP_BIN" "$@"
111
LAUNCHER
112
113
# Single desktop entry: "TAPE 24" (no Wayland/X11 suffix)
114
desktop="${pkgdir}/usr/share/applications/tape24.desktop"
115
if [[ -f "$desktop" ]]; then
116
sed -i \
117
-e 's|^Name=.*|Name=TAPE 24|' \
118
-e 's|^Comment=.*|Comment=24-track destructive tape-style DAW|' \
119
-e 's|^Exec=.*|Exec=/usr/bin/tape24 %U|' \
120
"$desktop"
121
fi
122
rm -f "${pkgdir}/usr/share/applications/tape24-lowlatency.desktop"
123
}
124
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Clean | 2 |
| 2026-10-31 21:59:05 | Low | 1 |