pascal-fc
maintainer laura7089
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds from a legitimate project-owned Git repository and includes a documentation-only ZIP from a university host; the latter is non-executable data, so unverifiable source is low risk.
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 builds from a legitimate project-owned Git repository and includes a documentation-only ZIP from a university host; the latter is non-executable data, so unverifiable source is low risk.
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-$pkgver-gnu.zip::https://www-users.york.ac.uk/~ab38/pfc/pfc-pc.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Laura Demkowicz-Duffy
2
3
pkgname=pascal-fc
4
pkgver=5
5
pkgrel=2
6
pkgdesc="An implementation of pascal with extra constructs for teaching concurrent programming"
7
arch=('x86_64')
8
url="https://www-users.york.ac.uk/~ab38/pf.html"
9
license=('GPL-2.0-or-later')
10
depends=(bash)
11
makedepends=(git fpc ghostscript patchelf)
12
source=("$pkgname-$pkgver-fpc::git+https://github.com/lexbailey/Pascal-FC#commit=b1bd078511879f8b678c8f7395d727953415926f"
13
"$pkgname-$pkgver-gnu.zip::https://www-users.york.ac.uk/~ab38/pfc/pfc-pc.zip"
14
'install_script.patch')
15
md5sums=('f122e04b509c26896cb2493af815f8c8'
16
'01478053aa44a6c4c4cfe82540386df8'
17
'3884ea9df562df762d19be18b0349885')
18
noextract=($pkgname-$pkgver-gnu.zip)
19
20
prepare() {
21
cd "$pkgname-$pkgver-fpc"
22
patch --forward --strip=1 --input="$srcdir/install_script.patch"
23
mkdir -p "$srcdir/$pkgname-$pkgver-gnu"
24
cd "$srcdir/$pkgname-$pkgver-gnu"
25
bsdtar -x -f ../$pkgname-$pkgver-gnu.zip
26
}
27
28
build() {
29
cd "$pkgname-$pkgver-fpc"
30
# unwrap LDFLAGS from -Wl, syntax
31
LDFLAGS_UNWRAPPED="$(echo "$LDFLAGS" \
32
| sed 's/-z[ ,]/-z/g' \
33
| sed 's/-Wl,//g' \
34
| sed 's/,/ /g' \
35
)"
36
# add the -k prefix to all of them
37
FPC_LDFLAGS="-k$(echo "$LDFLAGS_UNWRAPPED" | sed 's/[[:space:]]\+/ -k/g')"
38
# enable debugging if it's in CFLAGS
39
if [[ "$CFLAGS" =~ ".*-g.*" ]]; then
40
DEBUGFLAGS="-g"
41
fi
42
FPC_FLAGS="$DEBUGFLAGS $FPC_LDFLAGS -k-pie -k-zshstk -XS"
43
make "FPC_FLAGS=$FPC_FLAGS" all
44
# patch the interpreter since FPC seems to assume the existence of
45
# /lib/ld64.so.1
46
patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 pint pfccomp
47
48
cd "$srcdir/$pkgname-$pkgver-gnu/doc"
49
ps2pdf lrm.ps
50
ps2pdf pc_ug.ps
51
}
52
53
check() {
54
echo "Running PCSem example..."
55
./$pkgname-$pkgver-fpc/pfccomp \
56
"$pkgname-$pkgver-gnu/ex/sems/pcsem.pfc" listing objfile
57
}
58
59
package() {
60
# install executables
61
cd "$pkgname-$pkgver-fpc"
62
_fpcver=$(fpc -iV)
63
install -Dm0755 -t "$pkgdir/usr/bin" pfc pfccomp pint
64
install -Dm0644 -t "$pkgdir/usr/lib/fpc/$_fpcver/units/$arch-linux/$pkgname" pfccomp.o pint.o
65
66
# install documentation
67
cd "$srcdir/$pkgname-$pkgver-gnu/doc"
68
install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname/" lrm.pdf pc_ug.pdf
69
cd "$pkgdir/usr/share/doc/$pkgname"
70
ln -sr lrm.pdf language_reference_manual.pdf
71
ln -sr pc_ug.pdf user_guide_for_pc_compatibles.pdf
72
}
73
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 |