viewport-webkitgtk-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-webkitgtk`, already built. The
4# source package compiles the whole tree — Smithay, wgpu and a WebKitGTK shell
5# process — which is an hour on a laptop; this one unpacks the binaries the
6# release was cut with instead.
7#
8# The upstream artifact is itself an Arch package, built from the recipe in
9# packaging/aur/viewport-webkitgtk of the tagged tree, so what lands in $pkgdir here is
10# byte for byte what the source package would have produced.
11
12pkgname=viewport-webkitgtk-bin
13pkgver=0.1.8
14pkgrel=1
15pkgdesc='Wayland compositor whose shell is a web page — WebKitGTK, out of process (binary release)'
16arch=('x86_64')
17url='https://github.com/codebam/viewport'
18license=('GPL-3.0-or-later')
19
20# The pkgrel of the upstream artifact, which moves independently of this
21# package's own: a fix to this recipe bumps pkgrel without a new release to
22# download.
23_pkgrel=1
24
25depends=(
26 'wayland'
27 'libxkbcommon'
28 'pixman'
29 'libdrm'
30 'libinput'
31 'seatd'
32 'systemd-libs'
33 'mesa'
34 'libglvnd'
35 'vulkan-icd-loader'
36 'pipewire'
37 'libxcb'
38 'xcb-util-wm'
39 'webkitgtk-6.0'
40 'gtk4'
41 # WebKit guesses the type of a file:// page from the shared MIME database.
42 # Without it the bundled shell loads "successfully" and draws nothing.
43 'shared-mime-info'
44)
45
46optdepends=(
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
72provides=("viewport=$pkgver" "viewport-webkitgtk=$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.
76conflicts=('viewport'
77 'viewport-webkitgtk'
78 'viewport-wpe'
79 'viewport-chromium')
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.
83options=('!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.
87source_x86_64=("$pkgname-$pkgver.tar.zst::$url/releases/download/v$pkgver/viewport-webkitgtk-$pkgver-$_pkgrel-$CARCH.pkg.tar.zst")
88sha256sums_x86_64=('a3a95f61de03c13e8ce98168d5d59182bf3a0fa4194cf2870ae5b8735ca84e4e')
89
90package() {
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-webkitgtk" \
104 "$pkgdir/usr/share/licenses/$pkgname"
105}
106

Changes since previous scan

--- PKGBUILD @ 2026-08-17 00:18
+++ PKGBUILD @ 2026-08-18 03:38
@@ -10,7 +10,7 @@
# byte for byte what the source package would have produced.
pkgname=viewport-webkitgtk-bin
-pkgver=0.1.7
+pkgver=0.1.8
pkgrel=1
pkgdesc='Wayland compositor whose shell is a web page — WebKitGTK, out of 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-webkitgtk-$pkgver-$_pkgrel-$CARCH.pkg.tar.zst")
-sha256sums_x86_64=('8c69164ea0a51a9b1f788874482a30853796f486a778bda74e644f73cc150874')
+sha256sums_x86_64=('a3a95f61de03c13e8ce98168d5d59182bf3a0fa4194cf2870ae5b8735ca84e4e')
package() {
# The source is an Arch package, so makepkg has already unpacked a $pkgdir

Scan history

Scanned at (UTC)SeverityRules
2026-08-18 03:38:23 LOW 1
2026-08-17 00:18:29 CLEAN 2
2026-08-16 01:31:50 LOW 1

Report a package

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

0 / 4000
Your suggestion