purr-data-git
maintainer aggraef
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source uses a non-standard host (git.purrdata.net), but it is the official project's own Git repository, making it a legitimate and expected source for the package; building from the project's official git repo is normal AUR packaging practice.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source uses a non-standard host (git.purrdata.net), but it is the official project's own Git repository, making it a legitimate and expected source for the package; building from the project's official git repo is normal AUR packaging practice.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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:40
source=("$pkgname::git+https://git.purrdata.net/jwilkes/purr-data.git")
PKGBUILD
1 offending line(s) highlighted
1
# -*- shell-script -*-
2
# Maintainer: <aggraef at gmail.com>
3
# Contributor: <aggraef at gmail.com>
4
5
# This is Jonathan Wilkes' nw.js variant of Pd-L2Ork nick-named "Purr-Data".
6
# Basically, it is Pd-L2Ork with the Tk GUI replaced with a JavaScript GUI
7
# implemented using nw.js (http://nwjs.io/).
8
9
# This package can be installed alongside pd-l2ork, as well as vanilla pd or
10
# pd-extended. To avoid conflicts with any of these, the main contents of the
11
# package can be found under /opt/purr-data by default (you can change this
12
# with the prefix variable below). Thus cyclist, pdsend, pdreceive and
13
# purr-data's main pd-l2ork binary itself can be found under
14
# /opt/purr-data/bin. The include and library files are under the same
15
# prefix. Also, a symbolic link purr-data is created under /usr/bin so that
16
# the program can be invoked easily from the command line. Likewise, links to
17
# the include and lib directories are created under /usr/include/purr-data and
18
# /usr/lib/purr-data, so that 3rd party externals know where to find these.
19
20
pkgname=purr-data-git
21
pkgver=2.19.0.r5002.58e47c1fb
22
pkgrel=1
23
pkgdesc="Jonathan Wilkes' nw.js variant of Pd-L2Ork (git version)"
24
url="https://git.purrdata.net/jwilkes/purr-data"
25
arch=('i686' 'x86_64')
26
license=('BSD')
27
depends=('bluez-libs' 'desktop-file-utils' 'dssi' 'fftw'
28
'flite' 'fluidsynth' 'freeglut' 'ftgl' 'glew'
29
'gsl' 'gsm' 'hicolor-icon-theme' 'imagemagick' 'jack' 'ladspa' 'lame'
30
'libdc1394' 'libdv' 'libgl' 'libiec61883' 'libjpeg' 'libquicktime'
31
'libxxf86vm' 'libtiff' 'libiec61883' 'libraw1394'
32
'libv4l' 'libvorbis' 'portaudio'
33
'smpeg' 'speex' 'stk' 'zlib' 'lua'
34
'alsa-lib' 'gconf' 'gtk2' 'nss' 'libxtst' 'libxss' 'ttf-dejavu')
35
makedepends=('autoconf' 'automake' 'libtool' 'git' 'rsync')
36
provides=('purr-data')
37
conflicts=('purr-data')
38
install=purr-data.install
39
options=('!makeflags' '!strip')
40
source=("$pkgname::git+https://git.purrdata.net/jwilkes/purr-data.git")
41
md5sums=('SKIP')
42
# nw.js sdk binaries
43
nwjsname=nwjs-sdk
44
nwjsver=0.28.3
45
source_common="http://dl.nwjs.io/v$nwjsver/$nwjsname-v$nwjsver-linux"
46
source_i686=("$source_common-ia32.tar.gz")
47
source_x86_64=("$source_common-x64.tar.gz")
48
md5sums_i686=('858a5269dc7072c8d9e8ce9e880e4112')
49
md5sums_x86_64=('c80b2b25b8b482568754f2bb586030a9')
50
51
if [ "$CARCH" = "i686" ]; then
52
_arch="ia32"
53
elif [ "$CARCH" = "x86_64" ]; then
54
_arch="x64"
55
fi
56
57
# Installation prefix. This must be something other than /usr if you want to
58
# install Purr Data alongside Pd-L2Ork. Note that some items such as desktop
59
# files and icons will still be installed under /usr so that the system finds
60
# them, but they will be renamed to prevent name clashes with files from the
61
# pd-l2ork package.
62
prefix=${prefix:-/opt/purr-data}
63
64
# Run 'makepkg buildopt=incremental' for an incremental build (this skips
65
# recompiling Gem which takes a *long* time to build) or 'makepkg
66
# buildopt=light' for a light one (only essential externals).
67
buildopt=${buildopt:-}
68
69
pkgver() {
70
cd $srcdir/$pkgname
71
printf "%s.r%s.%s" "$(grep PD_L2ORK_VERSION pd/src/m_pd.h | sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|')" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
72
}
73
74
prepare() {
75
cd $srcdir/$pkgname
76
# first make sure that we get any checked out submodules in pristine state
77
# again, so that our patches apply cleanly
78
make realclean
79
# check out the latest source of all submodules
80
make checkout
81
# copy the nw.js sources to where purr-data wants them
82
rm -rf pd/nw/nw
83
cp -a $srcdir/$nwjsname-v$nwjsver-linux-$_arch pd/nw/nw
84
}
85
86
build() {
87
unset CFLAGS CPPFLAGS CXXFLAGS DEBUG_CFLAGS DEBUG_CXXFLAGS LDFLAGS INCLUDES
88
cd $srcdir/$pkgname
89
make prefix="$prefix" $buildopt
90
}
91
92
package() {
93
cd $srcdir/$pkgname
94
make install prefix="$prefix" DESTDIR="$pkgdir"
95
cd "$srcdir/$pkgname/packages/linux_make/build"
96
# Create a link to the executable.
97
mkdir -p "$pkgdir/usr/bin"
98
ln -sf $prefix/bin/pd-l2ork "$pkgdir/usr/bin/purr-data"
99
# Create links to the include and lib directories.
100
mkdir -p "$pkgdir/usr/include"
101
ln -sf $prefix/include/pd-l2ork "$pkgdir/usr/include/purr-data"
102
mkdir -p "$pkgdir/usr/lib"
103
ln -sf $prefix/lib/pd-l2ork "$pkgdir/usr/lib/purr-data"
104
# Edit bash completion file.
105
sed -e 's/pd-l2ork/purr-data/g' < "$pkgdir/etc/bash_completion.d/pd-l2ork" > "$pkgdir/etc/bash_completion.d/purr-data"
106
rm -f "$pkgdir/etc/bash_completion.d/pd-l2ork"
107
# For now we just remove the Emacs mode as it will conflict with the
108
# pd-l2ork package.
109
rm -rf "$pkgdir/usr/share/emacs/site-lisp"
110
# Edit the library paths in the default user.settings file so that it
111
# matches our install prefix.
112
cd "$pkgdir$prefix/lib/pd-l2ork"
113
sed -e "s!/usr/lib/pd-l2ork!$prefix/lib/pd-l2ork!g" -i default.settings
114
# Remove libtool archives and extra object files.
115
cd "$pkgdir$prefix"
116
rm -f lib/pd-l2ork/extra/*/*.la lib/pd-l2ork/extra/*/*.pd_linux_o
117
# Sanitize permissions.
118
cd "$pkgdir"
119
chmod -R go-w *
120
chmod -R a+r *
121
chmod a-x .$prefix/lib/pd-l2ork/default.settings
122
find .$prefix/lib/pd-l2ork/bin/nw -executable -not -type d -exec chmod a+x {} +
123
#find . -executable -name '*.pd_linux' -exec chmod a-x {} +
124
find . -executable -name '*.pd' -exec chmod a-x {} +
125
find . -executable -name '*.txt' -exec chmod a-x {} +
126
find . -executable -name '*.aif*' -exec chmod a-x {} +
127
find . -type d -exec chmod a+x {} +
128
}
129
130
# vim:set ts=2 sw=2 et:
131
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |