pianoteq-stage
The package requires a manually downloaded source tarball from the official vendor site, which is a normal practice for proprietary software; the non-standard host flag is a false positive as the download is from the project's official domain.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package requires a manually downloaded source tarball from the official vendor site, which is a normal practice for proprietary software; the non-standard host flag is a false positive as the download is from the project's official domain.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:53
'https://www.pianoteq.com/images/logo/pianoteq_icon_128.png')
PKGBUILD
1 offending line(s) highlighted# Maintainer: TheA4Paper <flatandblank@gmail.com>
# Contributor: maksut <maksut.cagil@gmail.com>
# Contributor: spider-mario <spidermario@free.fr>
# Contributor: Saiki81 <saikia81 at hotmail dot com>
# adapted from package: pianoteq-stage-trial-bin
# adapted from pkgbuild creator: CrocoDuck <crocoduck dot oducks at gmail dot com>
# the source package must be downloaded manually
# this can be done by going to the link here:
# https://www.modartt.com/download?file=pianoteq_setup_v910.tar.xz
# The downloaded files must be placed in the appropriate directory
# - makepkg: The same directory as this PKGBUILD
# - yay: /home/<user>/.cache/yay/pianoteq-stage
# - paru: /home/<user>/.cache/paru/clone/pianoteq-stage/
pkgname=pianoteq-stage
pkgver=9.2.5
pkgrel=1
pkgdesc="Virtual piano instrument using physical modelling synthesis. Both standalone and plugin versions."
arch=(x86_64 aarch64)
url="https://www.pianoteq.com/pianoteq"
license=('custom')
depends=('alsa-lib' 'freetype2' 'ttf-font' 'libx11')
makedepends=('gendesk')
optdepends=()
provides=("${pkgname%-*}")
conflicts=("${pkgname%-*}" "pianoteq-stage-bin" "pianoteq-standard-trial-bin")
options=('!debug')
_name="Pianoteq 9"
#Source file download guide
_sourcefile="./pianoteq_setup_v${pkgver//./}.tar.xz"
if [ ! -f ${_sourcefile} ]; then
echo ""
echo " Due to license and website restriction, to install this package, the distribution file must be downloaded manually."
echo " You can download the source file of Pianoteq Stage $pkgver from here:"
echo ""
echo " https://www.modartt.com/download?file=pianoteq_setup_v${pkgver//./}.tar.xz"
echo ""
echo " You must be logged in and own a valid copy of Pianoteq Stage in order to download"
echo ""
echo " The Downloaded file must be placed in the appropriate directory depending on your AUR helper (or lack of thereof) here:"
echo " - makepkg: Same directory as this PKGBUILD"
echo " - yay: /home/<user>/.cache/yay/pianoteq-stage"
echo " - paru: /home/<user>/.cache/paru/clone/pianoteq-stage/ "
echo ""
echo "Operation Aborted"
echo ""
exit 1
fi
source=("local://pianoteq_setup_v${pkgver//./}.tar.xz"
'https://www.pianoteq.com/images/logo/pianoteq_icon_128.png')
b2sums=('c338e954e1df21505ac289f5f77a73d48b1396ee183a611693438e7388e19813be1cb2115a5af1f5b001733e07006f16042adcfc0062edf3bdd1c13c534ef3d3'
'bbb48b5b2bd5bbe52a39c84f42ea6c12a3633e4713e00d8132654ddf5adc5d7da1b7951c683cb11446ee847a388a775eb48591089a4e8dc69ed6d97cfc80d56d')
prepare() {
cd "$_name"
# Generate Desktop Entry
gendesk -f -n \
--pkgname=$pkgname \
--pkgdesc="$pkgdesc" \
--name="$_name" \
--exec="\"$_name\"" \
--categories='Audio;AudioVideo;AudioVideoEditing;Midi;Music;Sequencer;'
}
package() {
depends+=(libasound.so libfreetype.so libfontconfig.so)
cd "$_name"
# Define architecture specific directory
if [[ "$CARCH" == x86_64 ]]; then
_archdir=x86-64bit
elif [[ "$CARCH" == aarch64 ]]; then
_archdir=arm-64bit
fi
# Install stand-alone executable and symlink
install -vDm 755 "$_archdir/$_name" -t "$pkgdir"/usr/bin
ln -sf "$_name" "$pkgdir"/usr/bin/${pkgname}${pkgver%%.*}
# Install VST3 plug-in bundle
install -vDm 755 "$_archdir/$_name.vst3"/Contents/$CARCH-linux/*.so \
-t "$pkgdir/usr/lib/vst3/$_name.vst3"/Contents/$CARCH-linux
# Install LV2 plug-in bundle
install -vDm 755 "$_archdir/$_name.lv2"/*.so -t "$pkgdir/usr/lib/lv2/$_name.lv2"
install -vDm 644 "$_archdir/$_name.lv2"/*.ttl -t "$pkgdir/usr/lib/lv2/$_name.lv2"
# Install desktop launcher
install -vDm 644 "$srcdir"/pianoteq_icon_128.png "$pkgdir"/usr/share/pixmaps/$pkgname.png
install -vDm 644 $pkgname.desktop -t "$pkgdir"/usr/share/applications
# Install license
install -vDm 644 *Licence* -t "$pkgdir"/usr/share/licenses/$pkgname
# Install documentation
install -vDm 644 README_LINUX.txt Documentation/* -t "$pkgdir"/usr/share/doc/$pkgname
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |
| 2026-10-12 00:18:51 | Low | 2 |
| 2026-10-11 00:26:05 | Low | 2 |
| 2026-10-10 00:11:52 | Low | 2 |
| 2026-10-09 00:05:33 | Low | 2 |
| 2026-10-08 00:28:03 | Low | 2 |
| 2026-10-07 00:21:34 | Low | 2 |
| 2026-10-06 00:13:36 | Low | 2 |
| 2026-10-05 00:08:03 | Low | 2 |
| 2026-10-04 00:18:08 | Low | 2 |
| 2026-10-03 00:23:04 | Low | 2 |
| 2026-10-02 00:00:32 | Low | 2 |
| 2026-10-01 00:02:06 | Low | 2 |
| 2026-09-30 00:20:07 | Low | 2 |
| 2026-09-29 00:07:46 | Low | 2 |
| 2026-09-28 00:28:32 | Low | 2 |