mupdf-git
The package builds from official project Git repositories (ghostscript.com), which are legitimate sources for MuPDF and its dependencies; the non-whitelisted host is the project's own infrastructure, and the source code is not executed remotely or obfuscated.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from official project Git repositories (ghostscript.com), which are legitimate sources for MuPDF and its dependencies; the non-whitelisted host is the project's own infrastructure, and the source code is not executed remotely or obfuscated.
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:16
source=(git://git.ghostscript.com/mupdf.git -
PKGBUILD:22
https://cgit.ghostscript.com/cgi-bin/cgit.cgi/mujs.git/plain/regexp.h
PKGBUILD
2 offending line(s) highlighted# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Stefan Husmann <stefan-husmannt-online.de>
# Contributor: Army <uli armbruster>
pkgname=mupdf-git
_pkgname=mupdf
pkgver=20260822.2db2083b6
pkgrel=1
pkgdesc='Lightweight PDF, XPS, and E-book viewer'
arch=(x86_64 armv7h aarch64)
url=https://mupdf.com/
license=(AGPL3)
makedepends=(git glu libxi)
depends=(gumbo-parser harfbuzz libarchive libgl
libjpeg-turbo libxrandr mujs openjpeg2)
source=(git://git.ghostscript.com/mupdf.git
git://git.ghostscript.com/extract.git
git://git.ghostscript.com/jbig2dec.git
git://git.ghostscript.com/thirdparty-cmark-gfm.git
git://git.ghostscript.com/thirdparty-freeglut.git
git://git.ghostscript.com/thirdparty-lcms2.git#branch=lcms2mt
https://cgit.ghostscript.com/cgi-bin/cgit.cgi/mujs.git/plain/regexp.h
desktop)
sha256sums=(SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
f3a0bf8821a77587d63590ba24162daee8429d9bbcd475dcede62c4fcd3d8066
ccff66979249bd4ab4ba8918660f194eb90eb0ae231b16e36a6cecdcf471883f)
conflicts=(${_pkgname}{,-gl,-tools})
provides=(${_pkgname}{,-gl,-tools})
pkgver() {
cd "${srcdir}/${_pkgname}"
git log -1 --format='%cd.%h' --date=short | tr -d -
}
prepare() {
cd "${srcdir}/${_pkgname}"
rm -fr thirdparty/*
cp -a ../extract ../jbig2dec ../thirdparty-* thirdparty
rename thirdparty- '' thirdparty/*
# Should be in mujs package
mkdir thirdparty/mujs
cp ../regexp.h thirdparty/mujs
# No idea what that is for
sed -e '/autoheaderid/d' -i source/html/md.c Makelists
# Not yet available in Arch package
sed -e '/GUMBO_NODE_PROCESSING_INSTRUCTION/d' -i source/fitz/xml.c
}
build() {
cd "${srcdir}/${_pkgname}"
export USE_SYSTEM_LIBS=yes
export CFLAGS+=' -D TOFU_CJK -D TOFU_NOTO' # only embed Base14 fonts and Charis SIL
sed 's/$(HAVE_X11)/no/g' -i Makefile # prevent building useless binaries
sed 's/$(USE_SYSTEM_GLUT)/no/g' -i Makethird Makefile
sed 's/$(USE_SYSTEM_JBIG2DEC)/no/g' -i Makethird
sed 's/$(USE_SYSTEM_MUJS)/yes/g' -i Makethird
sed 's/$(SYS_BROTLI_LIBS)/-lbrotlienc -lbrotlidec/g' -i Makethird
make archive=yes build=release
}
package() {
cd "${srcdir}/${_pkgname}"
make archive=yes install DESTDIR="${pkgdir}" prefix=/usr
mv "${pkgdir}"/usr/bin/mupdf{-gl,}
rm -fr "${pkgdir}"/usr/{include,lib}
find "${pkgdir}"/usr/share -type f -exec chmod 0644 {} +
install -Dm644 ../desktop "${pkgdir}"/usr/share/applications/mupdf.desktop
}
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 |