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
4pkgname="pccts"
5pkgver=1.33MR33
6pkgrel=2
7pkgdesc="Purdue Compiler-Compiler Tool Set"
8arch=('x86_64')
9url="http://www.polhode.com/pccts.html"
10license=('custom:Public Domain')
11depends=('glibc')
12_pkgsrc="${pkgname}-${pkgver}"
13noextract=("${_pkgsrc}.zip")
14source=("${_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")
19md5sums=('fd70972b0a6aa2d3cf8b5c66d26d229d'
20 '77c828e5cfab58b0db8cc692849d8c75'
21 '920418dded4273590767a7f540e30b30'
22 'fb988b1982159a7d2013f76052e7d976'
23 '4685a5027625fdcedc9de918d885e61d')
24sha256sums=('d5aaf0b53999f43a9ff97c4993ba9f9682ed1864603c34f5e2728ae6a40f30a4'
25 'a0473aa7167a751e9397a44fbd77295b4e8c5573a266de57b72b0bc3a8639bab'
26 'bd040b0818f4ff9cc1a8c14b7efe926e5cd5200c79c32160b6450b0e2df4714d'
27 '883df724e644ec30814b6135ac6ceadac6a11d197793fdd6f3ad56981832b871'
28 'dcbd4391361b437a59ecea535e1717c449ed16ef8555f4ec08ff9e0b9d5ec316')
29
30prepare() {
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
46build() {
47 cd "${srcdir}/${_pkgsrc}"
48 make
49}
50
51package() {
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)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion