frink-lang-bin

LOW
maintainer typedrat 1 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The package downloads the official JAR and data files from the project's own domain (frinklang.org), which is the legitimate source; the files are installed as-is and not executed during build, and the SKIP'd checksums are a packaging weakness but do not imply malicious content given the trusted context.

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 package downloads the official JAR and data files from the project's own domain (frinklang.org), which is the legitimate source; the files are installed as-is and not executed during build, and the SKIP'd checksums are a packaging weakness but do not imply malicious content given the trusted context.

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:13 "$pkgname.jar::https://frinklang.org/frinkjar/frink.jar"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Alexis Williams <alexis@typedr.at>
2pkgname=frink-lang-bin
3pkgver=20240227
4pkgrel=2
5pkgdesc="A practical calculating tool and programming language."
6arch=('any')
7url="https://frinklang.org/"
8license=('unknown')
9depends=('bash' 'java-runtime')
10makedepends=('awk' 'imagemagick' 'unzip')
11optdepends=('rlwrap: readline support for the command-line shell')
12source=(
13 "$pkgname.jar::https://frinklang.org/frinkjar/frink.jar"
14 "$pkgname-unitnames.txt::https://frinklang.org/frinkjar/unitnames.txt"
15 "$pkgname-functionnames.txt::https://frinklang.org/frinkjar/functionnames.txt"
16)
17noextract=("${source[@]%%::*}")
18sha256sums=(
19 'SKIP'
20 'SKIP'
21 'SKIP'
22)
23
24pkgver() {
25 unzip -l "$srcdir/$pkgname.jar" | awk '/META-INF\/MANIFEST.MF/ { gsub("-",""); print $2 }';
26}
27
28build() {
29 unzip -p "$srcdir/$pkgname.jar" "data/icon.gif" > "$srcdir/$pkgname-icon.gif"
30 convert "$srcdir/$pkgname-icon.gif" -interpolate Nearest -filter point -resize '512x512' "$srcdir/$pkgname-icon.png"
31}
32
33package() {
34
35
36 mkdir -p "$pkgdir/usr/share/java/frink/";
37 cp "$srcdir/$pkgname.jar" "$pkgdir/usr/share/java/frink/frink.jar";
38
39 mkdir -p "$pkgdir/usr/share/frink/";
40 cp "$srcdir/$pkgname-unitnames.txt" "$pkgdir/usr/share/frink/unitnames.txt";
41 cp "$srcdir/$pkgname-functionnames.txt" "$pkgdir/usr/share/frink/functionnames.txt";
42
43 mkdir -p "$pkgdir/usr/bin/"
44 cat > "$pkgdir/usr/bin/frink" << 'EOF'
45#!/bin/bash
46CP=/usr/share/java/frink/frink.jar
47
48rlwrap=$(command -v rlwrap)
49rlwrap_args=""
50if [ -n "${rlwrap}" ]
51then
52 rlwrap_args="-f /usr/share/frink/unitnames.txt -b '$' -f /usr/share/frink/functionnames.txt"
53fi
54
55java_opts=(
56 "-Dawt.useSystemAAFontSettings=on"
57 "-Dswing.aatext=true"
58 "-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
59 "-Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
60)
61
62exec $rlwrap $rlwrap_args /usr/bin/java ${java_opts[*]} -cp $CP frink.gui.FrinkStarter "$@"
63EOF
64 chmod a+x "$pkgdir/usr/bin/frink"
65
66 mkdir -p "$pkgdir/usr/share/icons/"
67 cp "$srcdir/$pkgname-icon.png" "$pkgdir/usr/share/icons/frink.png"
68
69 mkdir -p "$pkgdir/usr/share/applications/"
70 cat > "$pkgdir/usr/share/applications/frink.desktop" << 'EOF'
71[Desktop Entry]
72Type=Application
73Version=1.0
74Name=Frink
75Comment=A practical calculating tool and programming language.
76Exec=frink --gui
77Icon=frink
78Terminal=false
79Categories=Utility;Science;Math;Calculator;Java
80EOF
81}
82

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
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

Report a package

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

0 / 4000
Your suggestion