gfontview
The package downloads a source tarball from SourceForge and an old freetype version from a personal server to patch into the build; while the freetype host is non-standard, it is used only for building and not executed directly, limiting supply-chain risk to the build integrity of an old library, which is a low-severity concern.
Triggered rules
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 a source tarball from SourceForge and an old freetype version from a personal server to patch into the build; while the freetype host is non-standard, it is used only for building and not executed directly, limiting supply-chain risk to the build integrity of an old library, which is a low-severity concern.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:22
"http://games.linux.sk/files/freetype-1.3.1.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Brian Bidulock <bidulock@openss7.org>
# Contributor: ezzetabi <ezzetabi@gawab.com>
pkgname=gfontview
pkgver=0.5.0
pkgrel=4
pkgdesc="An outline font viewer for Linux."
arch=(i686 x86_64)
url="http://gfontview.sourceforge.net/"
license=('GPL')
groups=()
depends=('giflib4' 'gtk' 't1lib')
makedepends=('cups' 'patchelf')
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=('!emptydirs')
install=
changelog=ChangeLog
source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz"
"http://games.linux.sk/files/freetype-1.3.1.tar.gz"
)
noextract=()
build() {
cd "$srcdir"/freetype-1.3.1/lib
gcc -Os -c -Iarch/ansi -I. arch/ansi/freetype.c
mv freetype.o "$srcdir/$pkgname-$pkgver"
cp freetype.h "$srcdir/$pkgname-$pkgver"
cp fterrid.h "$srcdir/$pkgname-$pkgver"
cp ftnameid.h "$srcdir/$pkgname-$pkgver"
cd extend
gcc -Os -c -I../arch/ansi -I.. ftxerr18.c
cp ftxerr18.h "$srcdir/$pkgname-$pkgver"
gcc -Os -c -I../arch/ansi -I.. ftxkern.c
cp ftxkern.h "$srcdir/$pkgname-$pkgver"
gcc -Os -c -I../arch/ansi -I.. ftxpost.c
cp ftxpost.h "$srcdir/$pkgname-$pkgver"
mv *.o "$srcdir/$pkgname-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
#ignore freetype v1 failure, we will inject it.
sed -i configure -e '/TrueType/ d'
#C++ does not allow using the enum keyword that way.
sed -i gfont.C -e '1106 s_enum__'
sed -i dialogs.C -e '1330 s_enum__'
#gcc does not manage multi-line string literals since... long ago.
sed -i ps.h -e 's_\\$__'
sed -i ps.h -e '/const char/,/;$/ { /const char/b; /;$/b; s_^\|$_"_g }'
sed -i ps.h -e '/^[^"]*"[^"]*$/ s_"__'
#Oh come on... I cannot believe it never crashed on you...
#the sed lines sound crazy, but I just have to swap line 336 and 337.
sed -i dialogs.C -ne '
334!{p;d;}
h;n;:1
335!{N;b1}
G;h;n;p;g;p'
sed -i dialogs.C -ne '
334!{p;d;}
h;n;:1
336!{N;b1}
G;h;n;p;g;p'
CPPFLAGS="-I/usr/include/giflib4" LDFLAGS="-L/usr/lib/giflib4" ./configure --prefix=/usr --enable-gnome=no --disable-nls
#We inject the old freetype
sed -i Makefile -e '/^gfontview_OBJECTS *=/ s_$_ freetype.o ftxerr18.o ftxkern.o ftxpost.o_'
make || return 1
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" applicationsdir='${datadir}/applications' install
install -m755 -d "$pkgdir"/usr/share/ghostscript/fonts
strip "$pkgdir"/usr/bin/gfontview
patchelf --set-rpath /usr/lib/giflib4 "$pkgdir"/usr/bin/gfontview
}
md5sums=('f06e0e9d67f7d8b3af251fa593e83eeb'
'9a9e7ad00c1ef6dfbf8f8e19ceefb300')
# vim:set ts=2 sw=2 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |