skwir-mupdf
LOW
maintainer venator
0 votes
base
skwir
scanned 2026-10-17 01:16:24.843905
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# skwir's Arch packages, for the AUR (ADR-040, ADR-041): built from a
2
# release's source with Arch's own Rust, PDFium from the release
3
# tools/package/pdfium.lock pins (aur/build.sh checks they agree). skwir
4
# carries its helpers, the Poppler reader's and the player's libraries
5
# left optional (skwir says the engine is not installed without them);
6
# Mermaid and MuPDF are packages of their own. The files are those of the
7
# Debian and RPM packages (crates/skwir/Cargo.toml). `just package-aur`
8
# writes .SRCINFO beside this file. `just aur-prepare <tag>` fills the
9
# source checksum in a separate checkout; `just aur-publish <tag>` pushes
10
# its reviewed PKGBUILD and .SRCINFO to the AUR (docs/RELEASING.md).
11
# Maintainer: venator <venator at tutamail dot com>
12
13
pkgbase=skwir
14
pkgname=(skwir skwir-mermaid skwir-mupdf)
15
pkgver=0.1.0
16
pkgrel=2
17
pkgdesc='An augmented file manager, for humans and agents'
18
arch=('x86_64' 'aarch64')
19
url='https://skwir.org'
20
_repo='https://github.com/skwir-org/skwir'
21
license=('Apache-2.0')
22
# The libraries every helper links, to build them all, and what the
23
# packages depend on (a split PKGBUILD names it here too).
24
makedepends=(
25
'cargo' 'clang' 'cmake' 'cargo-about' 'python'
26
'libxcb' 'libxkbcommon' 'libxkbcommon-x11' 'sqlite' 'libarchive'
27
'cairo' 'glib2' 'poppler-glib' 'gstreamer' 'gst-plugins-base-libs'
28
'fontconfig' 'vulkan-icd-loader' 'vulkan-driver'
29
)
30
# makepkg's LTO compiles the C that crates build (MuPDF) into GCC's
31
# intermediate code, which Rust's linker (lld) cannot read.
32
options=('!lto')
33
_pdfium=8086
34
source=("$pkgbase-$pkgver.tar.gz::$_repo/archive/v$pkgver.tar.gz")
35
source_x86_64=("pdfium-linux-x64-$_pdfium.tgz::https://github.com/bblanchon/pdfium-binaries/releases/download/chromium%2F$_pdfium/pdfium-linux-x64.tgz")
36
source_aarch64=("pdfium-linux-arm64-$_pdfium.tgz::https://github.com/bblanchon/pdfium-binaries/releases/download/chromium%2F$_pdfium/pdfium-linux-arm64.tgz")
37
# skwir's: filled by aur-prepare after the release tag is pushed; PDFium's: as
38
# tools/package/pdfium.lock pins them.
39
sha256sums=('4cd2ea398e5a7116e5f4195bca3b7f69b94fc7769bccc810feaff125f2910ded')
40
sha256sums_x86_64=('588577cf52dabc1a444988bac841920df54cc2f141801424de97ab04f4fbb935')
41
sha256sums_aarch64=('e7e2fe4686925618330103cb167950aca5a84bb00fd977a41b86be59dd1480a2')
42
43
prepare() {
44
cd "$pkgbase-$pkgver"
45
export RUSTUP_TOOLCHAIN=stable
46
# Every platform's crates, not only this one's: cargo-about, which makes
47
# the notices in build(), reads every crate Cargo.lock names, offline.
48
# From 0.1.1 on, the notices come with the source (ADR-063).
49
cargo fetch --locked
50
}
51
52
build() {
53
cd "$pkgbase-$pkgver"
54
export RUSTUP_TOOLCHAIN=stable
55
export CARGO_TARGET_DIR=target
56
# shellcheck disable=SC2046 # one `-p name` per program
57
cargo build --frozen --profile dist $(sed 's/^/-p /' tools/package/programs)
58
# What each package's programs link, and their notices: Mermaid's and
59
# MuPDF's helpers apart, the others skwir's.
60
tools/package/notices.py skwir-mermaid-worker skwir-mupdf-worker
61
}
62
63
package_skwir() {
64
# What its programs link, and what skwir opens at run time (the Vulkan
65
# loader and a driver for it, fontconfig).
66
depends=(
67
'libgcc' 'glibc' 'libxcb' 'libxkbcommon' 'libxkbcommon-x11' 'sqlite'
68
'fontconfig' 'vulkan-icd-loader' 'vulkan-driver' 'libarchive'
69
)
70
optdepends=(
71
'gstreamer: audio and video playback'
72
'gst-plugins-base-libs: audio and video playback'
73
'gst-plugins-base: audio and video playback'
74
'gst-plugins-good: more audio and video formats'
75
'gst-plugins-bad: more audio and video formats'
76
'gst-plugins-ugly: more audio and video formats'
77
'gst-libav: more audio and video formats'
78
'poppler-glib: PDFs through Poppler, beside the PDFium skwir carries'
79
'skwir-mermaid: Mermaid diagrams drawn in Markdown previews'
80
'skwir-mupdf: the MuPDF engine, PDFs and books laid out into pages'
81
'bubblewrap: LibreOffice, ImageMagick and thumbnailers run isolated'
82
'libreoffice-fresh: office documents shown as pages'
83
'pandoc-cli: text documents read by Pandoc'
84
'imagemagick: pictures no thumbnailer draws'
85
'ffmpeg: still frames of films'
86
'perl-image-exiftool: writing and removing pictures locations'
87
'plocate: instant name searches over whole disks'
88
'udisks2: unmounting volumes from the sidebar'
89
)
90
# skwir's own, PDFium's, and the Poppler reader's: a program linking
91
# Poppler, whose core is GPL v2 or v3, with code under Apache-2.0 is
92
# under the GPL v3 (ADR-042).
93
license=('Apache-2.0' 'BSD-3-Clause' 'GPL-3.0-only')
94
cd "$pkgbase-$pkgver"
95
install -Dm755 target/dist/skwir "$pkgdir/usr/bin/skwir"
96
while read -r program; do
97
case "$program" in
98
skwir | skwir-mermaid-worker | skwir-mupdf-worker) ;;
99
*) install -Dm755 "target/dist/$program" -t "$pkgdir/usr/lib/skwir/" ;;
100
esac
101
done < tools/package/programs
102
install -Dm755 "$srcdir/lib/libpdfium.so" -t "$pkgdir/usr/lib/skwir/"
103
install -Dm644 "$srcdir/LICENSE" "$srcdir"/licenses/* -t "$pkgdir/usr/share/licenses/$pkgbase/pdfium/"
104
install -Dm644 tools/package/linux/org.skwir.skwir.desktop -t "$pkgdir/usr/share/applications/"
105
install -Dm644 tools/package/linux/org.skwir.skwir.metainfo.xml -t "$pkgdir/usr/share/metainfo/"
106
install -Dm644 crates/ui/assets/org.skwir.skwir.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps/"
107
install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgbase/"
108
install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgbase/"
109
install -Dm644 target/notices/skwir/THIRD-PARTY-NOTICES -t "$pkgdir/usr/share/licenses/skwir/"
110
}
111
112
package_skwir-mermaid() {
113
pkgdesc="Mermaid diagrams drawn in skwir's Markdown previews"
114
depends=('skwir' 'libgcc' 'glibc')
115
cd "$pkgbase-$pkgver"
116
install -Dm755 target/dist/skwir-mermaid-worker -t "$pkgdir/usr/lib/skwir/"
117
install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/skwir-mermaid/"
118
install -Dm644 target/notices/skwir-mermaid/THIRD-PARTY-NOTICES -t "$pkgdir/usr/share/licenses/skwir-mermaid/"
119
}
120
121
package_skwir-mupdf() {
122
pkgdesc="skwir's MuPDF engine: PDFs, and books laid out into pages"
123
depends=('skwir' 'libgcc' 'glibc')
124
# skwir's code, linking MuPDF (ADR-014).
125
license=('AGPL-3.0-or-later')
126
cd "$pkgbase-$pkgver"
127
install -Dm755 target/dist/skwir-mupdf-worker -t "$pkgdir/usr/lib/skwir/"
128
install -Dm644 target/notices/skwir-mupdf/THIRD-PARTY-NOTICES -t "$pkgdir/usr/share/licenses/skwir-mupdf/"
129
}
130
Changes since previous scan
--- PKGBUILD @ 2026-10-14 00:06+++ PKGBUILD @ 2026-10-17 01:16@@ -13,7 +13,7 @@ pkgbase=skwir pkgname=(skwir skwir-mermaid skwir-mupdf) pkgver=0.1.0-pkgrel=1+pkgrel=2 pkgdesc='An augmented file manager, for humans and agents' arch=('x86_64' 'aarch64') url='https://skwir.org'@@ -43,7 +43,10 @@ prepare() { cd "$pkgbase-$pkgver" export RUSTUP_TOOLCHAIN=stable- cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"+ # Every platform's crates, not only this one's: cargo-about, which makes+ # the notices in build(), reads every crate Cargo.lock names, offline.+ # From 0.1.1 on, the notices come with the source (ADR-063).+ cargo fetch --locked } build() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-17 01:16:24 | Low | 1 |
| 2026-10-14 00:06:47 | Clean | 2 |
| 2026-10-13 23:18:21 | Low | 1 |