rio: replace PKGMESSAGE with files/README.NetBSD
PKGMESSAGE is reserved for critical warnings; operational notes
belong in a README file installed under share/doc/<pkg>/.
- Remove PKGMESSAGE
- Add files/README.NetBSD with terminal-type, shell, and theme notes
- Install it to share/doc/rio/ via do-install
- Add share/doc/rio to INSTALLATION_DIRS and PLIST
rio: add PKGMESSAGE; declare ncurses DEPENDS
PKGMESSAGE covers three user-visible gotchas: base-system programs
need TERM=xterm-256color (libterminfo reads only the CDB, not
TERMINFO_DIRS), shell detection from /etc/passwd, and theme placement.
DEPENDS on ncurses is now explicit: do-install calls
${LOCALBASE}/bin/tic which requires ncurses to be installed, and the
installed terminfo is only useful to ncurses-linked programs anyway.
rio: fix shell detection, terminfo, man pages, options framework
- patch-teletypewriter_src_unix_mod.rs: add NetBSD shell override so rio
starts the shell from /etc/passwd rather than inheriting $SHELL=/bin/ksh
from the display manager; also fix use-spawn on NetBSD so --login arg
is passed (patch-rio-backend_src_config_defaults.rs)
- patch-misc_rio.terminfo: remove the "rio" entry; ncurses already ships
share/terminfo/r/rio, compiling it here caused a pkg_add PLIST conflict;
tic now produces only rio+base and xterm-rio (unique to this package)
- options.mk: new file; add "man" option (on by default) to build rio.1,
rio.5, rio-bindings.5 from scdoc source in extra/man/
- Makefile: INSTALLATION_DIRS+= (not =) so options.mk additions are kept;
add man/man1 and man/man5 dirs via options.mk; run tic for terminfo;
conditional scdoc installs guarded by !empty(PKG_OPTIONS:Mman)
- PLIST: use ${PLIST.man} token for conditional man page entries;
track share/terminfo/r/rio+base and share/terminfo/x/xterm-rio only
- patch-misc_rio.desktop: set TERMINFO_DIRS=@PREFIX@/share/terminfo and
EGL_LOG_LEVEL=fatal in Exec lines; PREFIX substituted via SUBST block
- distinfo: regenerate for all new and updated patches
rio: fix pre-configure for wgpu-28.x vendor crates
Update vendor crate version strings from wgpu-25.0.2/wgpu-core-25.0.2/
wgpu-core-deps-windows-linux-android-25.0.0 to the versions actually
bundled with rio-0.4.5 (wgpu-28.0.0, wgpu-core-28.0.1,
wgpu-core-deps-windows-linux-android-28.0.0).
Also update the sed patterns to match the wgpu-28 source layout:
- vulkan/gles anchor on freebsd (wgpu-28 already added FreeBSD) rather
than android (wgpu-25)
- gles Emscripten anchor is unchanged
- wgpu-core-deps target cfg includes freebsd in the existing list
Fix a make(1) quoting bug: the AWK pattern used a bare $, which make
expanded as an empty variable; change to 422 so make passes a literal $
to the shell and awk sees the correct end-of-line anchor.
Verified: clean pkgsrc build of rio-0.4.5 completes without errors on
NetBSD-current amd64.
rio: fix NetBSD build and runtime; terminal now working
Four changes to make rio-0.4.5 fully functional on NetBSD:
1. teletypewriter patch: set B38400 baud rate in create_termp() BSD termios
branch. c_ispeed/c_ospeed=0 (B0) caused NetBSD tty.c to send SIGHUP to
the PTY session leader immediately on tcsetattr, killing the shell.
2. wgpu pre-configure patches: wgpu and wgpu-core hard-code platform
allowlists (Windows/Linux/Android/Apple) for their Vulkan and GLES
backends via cfg_aliases in build.rs. The pre-configure Makefile target
patches four vendor files at build time to include NetBSD:
- wgpu/build.rs: add netbsd to vulkan and gles cfg conditions
- wgpu-core/build.rs: add netbsd to windows_linux_android alias
- wgpu-core/Cargo.toml: extend target dep cfg + activate wgpu-hal
gles/vulkan features directly so the feature chain reaches wgpu-hal
- wgpu-core-deps-windows-linux-android/Cargo.toml: make wgpu-hal an
unconditional dependency (removes the Windows/Linux/Android restriction)
Cargo vendor checksums are cleared (files:{}) for each modified crate
[11 lines not shown]
scrcpy: update to 4.0, switch to wip/android-tools
Upstream 4.0 switches from SDL2 to SDL3; ffmpeg buildlink moved
from ffmpeg7 to ffmpeg8 (the version active in pkgsrc). PLIST
gains data/disconnected.png, shown by the client when the device
goes away.
DEPENDS replaces devel/android-tools-adb (the Android 5.x C-era
adb from 2015) with wip/android-tools, the modern AOSP adb/fastboot
packaged from nmeum/android-tools. The legacy adb fails to push
the scrcpy server to current devices with "protocol fault (no
status)", which manifests as scrcpy starting and then doing
nothing - no client window.
SERVERFILE/SITES.* now derive the version from DISTNAME via a
local VERSION variable, so a future bump only has to touch
DISTNAME. PKGVERSION_NOREV cannot be used here: bsd.pkg.mk
defines it, and the SITES.${file} key is resolved at parse time
before that include runs.
[3 lines not shown]
android-tools: Import android-tools-35.0.2
CMake-based packaging of the modern AOSP adb, fastboot and image
utilities, via nmeum/android-tools (the same source used by Arch,
Debian, Fedora and Alpine). Tracks Google's SDK Platform-Tools.
Intended as a replacement for devel/android-tools-adb, which still
ships the 2015 C-era adb from Android 5.x and fails to push the
scrcpy server (and other modern payloads) to current devices with
"protocol fault (no status)".
Initial import is darwin/Linux focused; fastboot and adb's fdevent
loop both need work to build on the BSDs (epoll, Linux usbfs).