viewport-chromium-bin
maintainer codebam
· 0 votes
· scanned 2026-08-18 03:38:23.746777
LOW
View on AUR ↗
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
# Maintainer: Sean Behan <codebam@riseup.net>
2
#
3
# The same compositor as `viewport-chromium`, already built. The source
4
# package compiles the whole tree — Smithay, wgpu and the shell process that
5
# drives the browser — which is an hour on a laptop; this one unpacks the
6
# binaries the release was cut with instead.
7
#
8
# No engine is inside either of them: Chromium is a runtime dependency, started
9
# as a child process and driven over the DevTools protocol, so this artifact is
10
# as portable as the source build and which Chromium runs can change under it.
11
#
12
# The upstream artifact is itself an Arch package, built from the recipe in
13
# packaging/aur/viewport-chromium of the tagged tree, so what lands in $pkgdir here is
14
# byte for byte what the source package would have produced.
15
16
pkgname=viewport-chromium-bin
17
pkgver=0.1.7
18
pkgrel=1
19
pkgdesc='Wayland compositor whose shell is a web page — Chromium, driven as a child process (binary release)'
20
arch=('x86_64')
21
url='https://github.com/codebam/viewport'
22
license=('GPL-3.0-or-later')
23
24
# The pkgrel of the upstream artifact, which moves independently of this
25
# package's own: a fix to this recipe bumps pkgrel without a new release to
26
# download.
27
_pkgrel=1
28
29
depends=(
30
'wayland'
31
'libxkbcommon'
32
'pixman'
33
'libdrm'
34
'libinput'
35
'seatd'
36
'systemd-libs'
37
'mesa'
38
'libglvnd'
39
'vulkan-icd-loader'
40
'pipewire'
41
'libxcb'
42
'xcb-util-wm'
43
'chromium'
44
)
45
46
optdepends=(
47
'xorg-xwayland: X11 clients'
48
'xdg-desktop-portal-gtk: the portal interfaces the compositor does not answer itself'
49
# Vulkan is the renderer wherever a Vulkan device owns the display; without
50
# one the compositor draws with OpenGL instead, so these are what decide
51
# which of the two a machine gets rather than whether it starts at all.
52
'vulkan-radeon: AMD hardware'
53
'vulkan-intel: Intel hardware'
54
'nvidia-utils: NVIDIA hardware, and hardware video decode with it'
55
# In a virtual machine: Venus passes Vulkan through to the host's GPU, and
56
# needs the host to offer it — QEMU wants
57
# `-device virtio-gpu-gl-pci,venus=on,blob=on,hostmem=2G`. Without it the
58
# only device that loads is lavapipe, which owns no DRM node, cannot drive
59
# a display, and turns every shell-frame copy into a copy on the CPU.
60
'vulkan-virtio: a virtual machine with 3D acceleration'
61
'vulkan-swrast: software Vulkan, for tests rather than a session'
62
'libva-mesa-driver: hardware video decode, for zero-copy video'
63
# The bar's icons are Material Design glyphs from a Nerd Font patch, and the
64
# family names in the shell's CSS are the ones fontconfig reports:
65
# "FiraCode Nerd Font" first, "Symbols Nerd Font" as the fallback that
66
# carries the glyphs without the monospace face. With neither installed the
67
# bar still lays out and every icon in it is a replacement box.
68
'ttf-firacode-nerd: the icons in the bar, and the font the shell names first'
69
'ttf-nerd-fonts-symbols: the icons in the bar, without the patched monospace family'
70
)
71
72
provides=("viewport=$pkgver" "viewport-chromium=$pkgver")
73
# Every engine's package installs a binary called `viewport` and provides that
74
# name, so a system takes one of them — this one, the source recipe it was
75
# built from, or another engine's.
76
conflicts=('viewport'
77
'viewport-chromium'
78
'viewport-webkitgtk'
79
'viewport-wpe')
80
81
# Nothing to strip and nothing to index: these binaries were stripped where
82
# they were built, and a -debug package cut from them would hold no symbols.
83
options=('!strip' '!debug')
84
85
# Downloaded under a name that is not *.pkg.tar.*, so the artifact sitting in
86
# the build directory is not mistaken for the package this recipe produced.
87
source_x86_64=("$pkgname-$pkgver.tar.zst::$url/releases/download/v$pkgver/viewport-chromium-$pkgver-$_pkgrel-$CARCH.pkg.tar.zst")
88
sha256sums_x86_64=('14af2a32937b222edfdda89dd4cc1d5b26a4beb8f9b5a46f574883149cebec91')
89
90
package() {
91
# The source is an Arch package, so makepkg has already unpacked a $pkgdir
92
# tree into $srcdir; everything beside usr/ is package metadata that pacman
93
# generates again for this package.
94
cp -a "$srcdir/usr" "$pkgdir/usr"
95
96
# The man page comes with the artifact rather than being installed here:
97
# this recipe unpacks a built package, so `$srcdir` holds `usr/` and the
98
# metadata pacman regenerates, and there is no source tree to copy a page
99
# out of. The source recipe installs it, so the `cp -a` above carries it.
100
101
# The licence directory is named for the package that installed it, and that
102
# is a different name here.
103
mv "$pkgdir/usr/share/licenses/viewport-chromium" \
104
"$pkgdir/usr/share/licenses/$pkgname"
105
}
106
Changes since previous scan
--- PKGBUILD @ 2026-08-15 00:26+++ PKGBUILD @ 2026-08-18 03:38@@ -14,7 +14,7 @@ # byte for byte what the source package would have produced. pkgname=viewport-chromium-bin-pkgver=0.1.5+pkgver=0.1.7 pkgrel=1 pkgdesc='Wayland compositor whose shell is a web page — Chromium, driven as a child process (binary release)' arch=('x86_64')@@ -85,7 +85,7 @@ # Downloaded under a name that is not *.pkg.tar.*, so the artifact sitting in # the build directory is not mistaken for the package this recipe produced. source_x86_64=("$pkgname-$pkgver.tar.zst::$url/releases/download/v$pkgver/viewport-chromium-$pkgver-$_pkgrel-$CARCH.pkg.tar.zst")-sha256sums_x86_64=('451670f228439affa06a9543445ca2236c1672131bfe873e20363954640f4995')+sha256sums_x86_64=('14af2a32937b222edfdda89dd4cc1d5b26a4beb8f9b5a46f574883149cebec91') package() { # The source is an Arch package, so makepkg has already unpacked a $pkgdirScan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 03:38:23 | LOW | 1 |
| 2026-08-16 00:03:42 | CLEAN | 2 |
| 2026-08-15 23:31:34 | LOW | 1 |
| 2026-08-15 00:26:13 | CLEAN | 2 |
| 2026-08-14 11:29:14 | LOW | 1 |