pandoc-static-git

maintainer gesh · 2 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from the official GitHub source using cabal, a standard Haskell build tool; the flagged 'external install' refers to normal dependency resolution during build, not execution of untrusted remote code.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from the official GitHub source using cabal, a standard Haskell build tool; the flagged 'external install' refers to normal dependency resolution during build, not execution of untrusted remote code.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:68 cabal install pandoc-cli --install-method=copy --installdir "$pkgdir/usr/bin"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Gesh <gesh@gesh.uni.cx>
2# based on pandoc-sile-git, by
3# Contributor: Caleb Maclennan <caleb@alerque.com>
4# Contributor: Felix Yan <felixonmars@archlinux.org>
5# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
6
7shopt -s extglob
8
9pkgname=pandoc-static-git
10_pkgname_old=(pandoc-cli pandoc)
11pkgver=3.6.4.r8.g68bb4ae58
12pkgrel=2
13pkgdesc='Conversion between markup formats (static build, dynamic Lua support)'
14arch=('i686' 'x86_64')
15url='https://pandoc.org'
16license=('GPL-2.0-or-later')
17provides=("${_pkgname_old[@]/%/=${pkgver%%*([a-z]).r*}}")
18conflicts=("${_pkgname_old[@]}")
19depends=('gmp' 'zlib')
20makedepends=('git' 'cabal-install' 'ghc' 'curl')
21optdepends=('texlive-core: for pdf output')
22_url=https://github.com/jgm/pandoc
23source=("$pkgname::git+$_url.git")
24sha256sums=('SKIP')
25
26pkgver() {
27 cd "$pkgname"
28 git describe --tags --long --match 'pandoc-cli-*' \
29 | sed 's/^pandoc-cli-//;s/^v//' \
30 | awk -F- \
31 'BEGIN { OFS="" }
32 {
33 revcount=$(NF-1)
34 sha=$NF
35 NF=(NF-2)
36 printf "%s.r%s.%s\n", $0, revcount, sha
37 }'
38}
39
40prepare() {
41 cd "$pkgname"
42
43 rts=$(date +%s --date="$(curl -I http://hackage.haskell.org/01-index.tar |
44 awk -F': ' '$1 == "Last-modified" { print $2 }')")
45 lts=$(TZ=UTC date +@%s --date='today 00:00')
46 ts=$(printf '%s\n' "$rts" "$lts" | sort -n | head -n1)
47 cabal update hackage.haskell.org,$ts
48 cabal configure --prefix=/usr --docdir=/usr/share/doc/"$pkgname" \
49 --enable-tests --flag embed_data_files
50 cabal build --only-dependencies
51}
52
53build() {
54 cd "$pkgname"
55
56 cabal build --offline
57 cabal run -v0 pandoc-cli -- --bash-completion > pandoc.bash
58}
59
60check() {
61 cd "$pkgname"
62 cabal test
63}
64
65package() {
66 cd "$pkgname"
67 mkdir -p "$pkgdir/usr/bin"
68 cabal install pandoc-cli --install-method=copy --installdir "$pkgdir/usr/bin"
69 env -C "$pkgdir/usr/bin" ln -s pandoc pandoc-lua
70 env -C "$pkgdir/usr/bin" ln -s pandoc pandoc-server
71 install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
72 install -Dm644 pandoc-cli/man/pandoc*.1 -t "$pkgdir"/usr/share/man/man1/
73 install -Dm644 pandoc.bash \
74 "$pkgdir"/usr/share/bash-completion/completions/pandoc
75}
76
77# vim:set ts=2 sw=2 et
78

Changes since previous scan

--- PKGBUILD @ 2026-06-20 00:18
+++ PKGBUILD @ 2026-08-03 00:08
@@ -17,7 +17,7 @@
provides=("${_pkgname_old[@]/%/=${pkgver%%*([a-z]).r*}}")
conflicts=("${_pkgname_old[@]}")
depends=('gmp' 'zlib')
-makedepends=('git' 'cabal-install' 'ghc')
+makedepends=('git' 'cabal-install' 'ghc' 'curl')
optdepends=('texlive-core: for pdf output')
_url=https://github.com/jgm/pandoc
source=("$pkgname::git+$_url.git")
@@ -39,7 +39,12 @@
prepare() {
cd "$pkgname"
- cabal update hackage.haskell.org,$(TZ=UTC date +@%s --date='today 00:00')
+
+ rts=$(date +%s --date="$(curl -I http://hackage.haskell.org/01-index.tar |
+ awk -F': ' '$1 == "Last-modified" { print $2 }')")
+ lts=$(TZ=UTC date +@%s --date='today 00:00')
+ ts=$(printf '%s\n' "$rts" "$lts" | sort -n | head -n1)
+ cabal update hackage.haskell.org,$ts
cabal configure --prefix=/usr --docdir=/usr/share/doc/"$pkgname" \
--enable-tests --flag embed_data_files
cabal build --only-dependencies

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 19:39:35 MEDIUM 1
2026-06-20 00:18:46 CLEAN 2
2026-06-19 23:51:18 CLEAN 2
2026-06-19 19:07:35 LOW 2
2026-06-18 16:11:54 MEDIUM 1

Report a package

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

0 / 4000
Your suggestion