Cage is a kiosk compositor for Wayland. A kiosk is a window manager
(in the X11 world) or compositor (in the Wayland world) that is
designed for a user experience wherein user interaction and activities
outside the scope of the running application are prevented. That is, a
kiosk compositor displays a single maximized application at a time and
prevents the user from interacting with anything but this application.
===> The following configuration options are available for cage-0.3.1:
MANPAGES=on: Build and/or install manual pages
===> Use 'make config' to modify these settings
Affects: users of x11-wm/cage, x11-wm/hikari, x11-wm/labwc, x11-wm/sway, x11-wm/wayfire
Author: jbeich@FreeBSD.org
Reason:
SUID option has been removed in favor of seatd-launch(1) which doesn't
require special handling in every consumer and doesn't bypass group
permissions. If you've already enabled seatd service or use consolekit2
then nothing changes. Otherwise,
$ sway
00:00:00.001 [ERROR] [wlr] [libseat] [libseat/libseat.c:83] No backend was able to open a seat
00:00:00.001 [ERROR] [wlr] [backend/session/session.c:84] Unable to create seat: Function not implemented
00:00:00.001 [ERROR] [wlr] [backend/session/session.c:218] Failed to load session backend
00:00:00.001 [ERROR] [wlr] [backend/backend.c:353] Failed to start a DRM session
00:00:00.001 [ERROR] [sway/server.c:53] Unable to create backend
can be fixed by
$ ck-launch-session sway
or
$ seatd-launch sway
or
# sysrc seatd_enable=YES
# service seatd start
$ sway
Replace "sway" with your compositor e.g., "cage", "hikari", "labwc", "wayfire".
Port Moves
port moved here from x11-wm/cage-devel on 2023-07-27 REASON: Out of date: use x11-wm/cage for now
x11-toolkits/wlroots: always add version suffix
Prevent dependency churn (e.g., 1b744b687e87, 20de9a1b52e1) during
future minor updates. Upstream API is versioned since 0.18, so consumers
and external CI should depend on a pinned package to avoid bumps.
Inpsired by: Void Linux
x11-toolkits/wlroots: dedup *_DEPENDS in consumers
LIB_DEPENDS against a port with non-default USE_LDCONFIG can desync
RUN_DEPENDS and BUILD_DEPENDS, leading to incorrectly registered
dependencies when built in a dirty environment.
$ make install -C x11-toolkits/wlroots
$ make install -C x11-wm/hikari
$ pkg info -xr wlroots
wlroots-0.17.1:
hikari-2.3.3_4
wlroots015-0.15.1_2:
$ make run-depends-list -C x11-wm/hikari | fgrep wlroots
/usr/ports/main/x11-toolkits/wlroots015
$ make actual-package-depends -C x11-wm/hikari | fgrep wlroots
"wlroots": {origin: "x11-toolkits/wlroots", version: "0.17.1"}
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
wayland: add more mostly leaf ports to virtual category
Caveats:
- emulators/rpcs3: install qt5-wayland and ensure Renderer is Vulkan (default)
- mail/thunderbird: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/chromium: add --ozone-platform=wayland on command line
- www/firefox-esr: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/firefox: add MOZ_ENABLE_WAYLAND=1 via environ(7)
x11-wm/cage: allow running as root after 341770e8679d
Can be useful in single user mode e.g.,
$ nextboot -o "-s"
$ shutdown -r now
$ kldload i915kms
$ mount -t tmpfs nil /tmp
$ XDG_RUNTIME_DIR=/tmp seatd-launch cage glmark2-wayland --fullscreen
sysutils/seatd: drop SUID option after b8a20cd29e54
It's not possible to restrict setuid bit to "video" group without also
breaking compositor nesting (e.g., hikari on sway). So, leave setuid
handling to a dedicated executable. seatd-launch works similar to
ck-launch-session by starting the daemon on demand.
Bump portrevision for devel/evdev-proto
Bump portrevision on everything with a build dependency on
devel/evdev-proto, to chace the update of evdev-proto in r550442.
x11-toolkits/wlroots: rebuild unchanged consumers after r535134
`struct wlr_xwayland` was extended but the new member were added in
the middle. Even if X11 apps still work there could be side effects.
$ GDK_BACKEND=x11 hikari -c /dev/null -a gtk3-demo
(gtk3-demo:78924): Gtk-WARNING **: cannot open display: \u0001
Add USES=xorg USES=gl, ports categories x
Add USES=xorg and USES=gl to ports in categories starting with 'x'
While here, try to sprinkle other USES (mostly gnome and sdl) as needed.
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330