pccts
maintainer orphaned
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code and patches from a non-whitelisted host, but it builds from the project's own historical source (PCCTS) and applies known Debian patches; the source is not executable and the build process is transparent, posing minimal 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 downloads source code and patches from a non-whitelisted host, but it builds from the project's own historical source (PCCTS) and applies known Debian patches; the source is not executable and the build process is transparent, posing minimal 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:14
source=("${_pkgsrc}.zip::http://www.polhode.com/pccts133mr.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
2
# Contributor: wtx <sdrb@onet.eu>
3
4
pkgname="pccts"
5
pkgver=1.33MR33
6
pkgrel=2
7
pkgdesc="Purdue Compiler-Compiler Tool Set"
8
arch=('x86_64')
9
url="http://www.polhode.com/pccts.html"
10
license=('custom:Public Domain')
11
depends=('glibc')
12
_pkgsrc="${pkgname}-${pkgver}"
13
noextract=("${_pkgsrc}.zip")
14
source=("${_pkgsrc}.zip::http://www.polhode.com/pccts133mr.zip"
15
"${pkgname}_conversion_format_3.0_quilt.patch::https://sources.debian.org/data/main/${pkgname::1}/${pkgname}/${pkgver}-6.4/debian/patches/conversion-format-3.0-quilt.patch"
16
"${pkgname}_fix_implicit_declarations.patch::https://sources.debian.org/data/main/${pkgname::1}/${pkgname}/${pkgver}-6.4/debian/patches/implicit-declarations.patch"
17
"${pkgname}_fix_format_security.patch"
18
"${pkgname}_fix_genmk_flags.patch")
19
md5sums=('fd70972b0a6aa2d3cf8b5c66d26d229d'
20
'77c828e5cfab58b0db8cc692849d8c75'
21
'920418dded4273590767a7f540e30b30'
22
'fb988b1982159a7d2013f76052e7d976'
23
'4685a5027625fdcedc9de918d885e61d')
24
sha256sums=('d5aaf0b53999f43a9ff97c4993ba9f9682ed1864603c34f5e2728ae6a40f30a4'
25
'a0473aa7167a751e9397a44fbd77295b4e8c5573a266de57b72b0bc3a8639bab'
26
'bd040b0818f4ff9cc1a8c14b7efe926e5cd5200c79c32160b6450b0e2df4714d'
27
'883df724e644ec30814b6135ac6ceadac6a11d197793fdd6f3ad56981832b871'
28
'dcbd4391361b437a59ecea535e1717c449ed16ef8555f4ec08ff9e0b9d5ec316')
29
30
prepare() {
31
cd "${srcdir}"
32
mkdir -p "${srcdir}/${_pkgsrc}"
33
bsdtar -xzf "${_pkgsrc}.zip" --strip-components 1 -C "${srcdir}/${_pkgsrc}"
34
35
cd "${_pkgsrc}"
36
patch -Np1 -i "../${pkgname}_conversion_format_3.0_quilt.patch"
37
patch -Np1 -i "../${pkgname}_fix_implicit_declarations.patch"
38
patch -Np1 -i "../${pkgname}_fix_format_security.patch"
39
patch -Np1 -i "../${pkgname}_fix_genmk_flags.patch"
40
41
find . -type f -exec sed -e 's/^CFLAGS[[:space:]]*=/CFLAGS +=/' \
42
-e 's/\$(CFLAGS)/$(CFLAGS) $(LDFLAGS)/g' \
43
-i {} +
44
}
45
46
build() {
47
cd "${srcdir}/${_pkgsrc}"
48
make
49
}
50
51
package() {
52
cd "${srcdir}/${_pkgsrc}"
53
find "bin" -type f -executable -exec install -vDm755 "{}" "${pkgdir}/usr/{}" \;
54
55
cd "${srcdir}/${_pkgsrc}/h"
56
find . -type f \( -name '*.h' -o -name '*.c' -o -name '*.cpp' \) -exec \
57
install -vDm644 "{}" "${pkgdir}/usr/include/${pkgname}/{}" \;
58
59
cd "${srcdir}/${_pkgsrc}/sorcerer/h"
60
find . -type f -exec install -vDm644 "{}" "${pkgdir}/usr/include/${pkgname}/sorcerer/{}" \;
61
62
cd "${srcdir}/${_pkgsrc}/sorcerer/lib"
63
install -vDm644 "errsupport.c" "${pkgdir}/usr/include/${pkgname}/sorcerer/errsupport.c"
64
install -vDm644 "STreeParser.cpp" "${pkgdir}/usr/include/${pkgname}/sorcerer/STreeParser.cpp"
65
66
cd "${srcdir}/${_pkgsrc}"
67
install -vDm644 "antlr/antlr.1" "${pkgdir}/usr/share/man/man1/antlr.1"
68
install -vDm644 "dlg/dlg.1" "${pkgdir}/usr/share/man/man1/dlg.1"
69
70
install -vDm644 "README" "${pkgdir}/usr/share/doc/${pkgname}/README"
71
install -vDm644 "history.txt" "${pkgdir}/usr/share/doc/${pkgname}/HISTORY.txt"
72
install -vDm644 "history.ps" "${pkgdir}/usr/share/doc/${pkgname}/HISTORY.ps"
73
install -vDm644 "KNOWN_PROBLEMS.txt" "${pkgdir}/usr/share/doc/${pkgname}/KNOWN_PROBLEMS.txt"
74
install -vDm644 "RIGHTS" "${pkgdir}/usr/share/licenses/${pkgname}/RIGHTS"
75
76
find . -maxdepth 1 -type f -name 'CHANGES*' -exec \
77
install -vDm644 "{}" "${pkgdir}/usr/share/doc/${pkgname}/{}" \;
78
79
find "testcpp" -type f -exec install -vDm644 "{}" "${pkgdir}/usr/share/doc/${pkgname}/examples/{}" \;
80
81
cd "${srcdir}/${_pkgsrc}/support"
82
find "rexpr" "set" "sym" -type f -exec \
83
install -vDm644 "{}" "${pkgdir}/usr/share/doc/${pkgname}/examples/support/{}" \;
84
85
cd "${srcdir}/${_pkgsrc}/sorcerer"
86
find "test" "testcpp" -type f -exec \
87
install -vDm644 "{}" "${pkgdir}/usr/share/doc/${pkgname}/examples/sorcerer/{}" \;
88
89
install -vDm644 "README" "${pkgdir}/usr/share/doc/${pkgname}/sorcerer/README"
90
install -vDm644 "UPDATES" "${pkgdir}/usr/share/doc/${pkgname}/sorcerer/UPDATES"
91
}
92
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 |