pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Oops... removed leaked
Module Name: pkgsrc-wip
Committed By: ci4ic4 <ci4ic4%gmail.com@localhost>
Pushed By: ci4ic4
Date: Fri Sep 4 13:46:13 2026 +0100
Changeset: 9ca19f5a7298826b9aa3fae0022f8820b3054ada
Removed Files:
rio/AGENTS.md
Log Message:
Oops... removed leaked
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9ca19f5a7298826b9aa3fae0022f8820b3054ada
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
rio/AGENTS.md | 175 ----------------------------------------------------------
1 file changed, 175 deletions(-)
diffs:
diff --git a/rio/AGENTS.md b/rio/AGENTS.md
deleted file mode 100644
index 896e3a9031..0000000000
--- a/rio/AGENTS.md
+++ /dev/null
@@ -1,175 +0,0 @@
-# AGENTS.md
-
-NetBSD pkgsrc work-in-progress (wip) package for **rio**, a hardware-accelerated
-GPU terminal emulator written in Rust (https://rioterm.com, upstream
-`raphamorim/rio`). This directory contains only the **packaging**; the upstream
-source lives in `work/rio-<version>/` after extraction.
-
-## Layout
-
-- `Makefile` — the package definition: distfile, cargo build args, vendor-crate
- patching (`pre-configure`), install rules, SUBST for the `.desktop` file.
-- `options.mk` — the `man` PKG_OPTION (scdoc man pages; toggles `PLIST.man`).
-- `cargo-depends.mk` — one `CARGO_CRATE_DEPENDS+=` line per vendored crate
- (616 crates). Generated, never hand-edited (see update workflow).
-- `distinfo` — checksums for the distfile, every crate (1848 lines), and every
- patch. Generated by `bmake makesum` / `bmake makepatchsum`.
-- `PLIST` — installed files; `bin/rio`, `.desktop`, icon, terminfo entries
- (`share/terminfo/r/rio+base`, `share/terminfo/x/xterm-rio`), README.NetBSD,
- and `man` files behind `${PLIST.man}`.
-- `patches/` — 5 pkgsrc patches (see below).
-- `files/README.NetBSD` — installed to `share/doc/rio/`; documents NetBSD
- runtime quirks (terminfo, shell detection, themes).
-- `COMMIT_MSG` — stale, still says 0.4.5.
-- `work/` — WRKDIR, **1.7 GB real directory** (not a symlink), never commit
- anything under it. Deletable with `bmake clean`.
-
-## Build / test commands
-
-Run from this directory with pkgsrc's bmake (`/usr/pkg/bin/bmake`):
-
-- `bmake` — fetch/checksum/extract/patch/configure/build (release build of
- `rioterm` only; output binary at `work/rio-<ver>/target/release/rio`).
-- `bmake package` — build and create a binary package.
-- `bmake stage-install` — install into the staging dir (needed before
- `print-PLIST`).
-- `bmake print-PLIST` — dump the effective PLIST from the staged install.
-- `bmake clean` — wipe `work/`.
-- `bmake deinstall` — remove an installed rio.
-- `bmake show-var VARNAME=...` — inspect any variable.
-- `bmake makesum` — regenerate the distfile+crate checksum section of
- `distinfo` (fetches any new distfiles first; needs network).
-- `bmake makepatchsum` (alias `mps`) — regenerate the patch checksum section.
-- `bmake print-cargo-depends > cargo-depends.mk` — regenerate the crate list
- from `work/rio-<ver>/Cargo.lock` (needs extract to have run).
-
-There are **no automated tests** in the pkgsrc build (no `TEST_TARGET`).
-Verification is manual: `bmake package`, install, then run `rio` on X11.
-
-## Version update workflow
-
-The current uncommitted diff is an in-progress 0.4.5 → 0.5.27 upgrade; the
-recent `git log` shows the whole history of making this package build on
-NetBSD. To bump versions:
-
-1. Update `DISTNAME` and check `GITHUB_TAG` (currently
- `refs/tags/v${PKGVERSION_NOREV}`).
-2. `bmake makesum` to refresh `distinfo` (hash + new crate set).
-3. `bmake print-cargo-depends > cargo-depends.mk`.
-4. **Update the wgpu crate versions hardcoded in `pre-configure`** — they must
- match the versions in the new Cargo.lock (tarball/vendor currently wgpu
- 30.0.1, wgpu-core 30.0.1, wgpu-core-deps-windows-linux-android 30.0.1).
- Missing this is the most common way a rio upgrade breaks.
-5. Re-roll `patches/*` if upstream code changed (see below), then
- `bmake makepatchsum`.
-6. `bmake clean` then `bmake package`; smoke-test.
-7. Check `PLIST` via `bmake stage-install` + `bmake print-PLIST`.
-
-## Patches (all NetBSD-specific, applied automatically from `patches/`)
-
-- `patch-corcovado_src_sys_unix_kqueue.rs` — `kevent.udata` is `*mut c_void`
- on NetBSD in libc ≥ 0.2.185, not `intptr_t`.
-- `patch-misc_rio.desktop` — wrap `Exec` in `env EGL_LOG_LEVEL=fatal
- TERMINFO_DIRS=@PREFIX@/share/terminfo rio` (suppresses Mesa DRI2 warning;
- the SUBST in the Makefile fills in `@PREFIX@` at post-patch).
-- `patch-misc_rio.terminfo` — **delete the `rio` terminfo entry**: pkgsrc
- ncurses already ships `share/terminfo/r/rio`, so compiling it would collide
- at pkg_add. Only `rio+base` and `xterm-rio` remain and are compiled with
- `${LOCALBASE}/bin/tic -x` in `do-install`.
-- `patch-rio-backend_src_config_defaults.rs` — force `use_fork = false` on
- NetBSD (like macOS): the fork path never passes the configured shell args
- (e.g. `--login`) to execvp; spawn does.
-- `patch-teletypewriter_src_unix_mod.rs` — `TIOCSWINSZ` constant (same value
- as FreeBSD), BSD termios branch, exclude NetBSD from the Linux/macOS-only
- `IUTF8` flag, force `B38400` baud (NetBSD tty.c treats `c_ospeed=0` as
- hangup → SIGHUP to the session leader), and resolve the shell from
- `getpwuid_r` because `$SHELL` in graphical sessions is often inherited from
- the display manager.
-
-Patch policy: patches are conventionally named after the paths they touch,
-they must carry a `$NetBSD$` tag and a prose explanation, and their SHA1s live
-in `distinfo`. Re-roll by editing the source in `work/rio-<ver>/` and diffing
-against the `.orig` file (patch application leaves `.orig` files beside the
-patched files), or by editing the patch directly — then
-`bmake makepatchsum`.
-
-## Gotchas
-
-- **wgpu has no NetBSD support** (explicit platform allowlists for
- Vulkan/GLES). `pre-configure` runs fragile `sed`/`awk` edits on the vendored
- `wgpu-*` crates to add NetBSD to the cfg conditions and to enable the
- `wgpu-hal/{vulkan,gles}` features directly, then blanks each touched
- crate's `.cargo-checksum.json` `"files":{}` so `cargo --offline` skips
- per-file verification. If Cargo.lock bumps wgpu again, these seds and the
- version numbers in their paths must be re-derived from the new crate source.
- The vendor dir is `work/vendor`; `work/.cargo/config.toml` (created by
- cargo.mk at post-extract) forces the vendored source and all builds run
- `--offline`.
-- **fontconfig version trap**: `PKGSRC_MAKE_ENV+=PKG_CONFIG_LIBDIR=...` forces
- pkg-config to see only buildlinked `.pc` files so `fontconfig-sys` links
- pkgsrc's `libfontconfig.so.1` instead of X11R7's `.so.2`. This only works if
- fontconfig is actually buildlinked from `/usr/pkg`: `/etc/mk.conf` declares
- the X11R7 fontconfig as a pkgsrc builtin, so `USE_BUILTIN.fontconfig= no`
- must be set in the Makefile **before** the buildlink3 include. If the build
- fails with "Package fontconfig was not found" from `yeslogic-fontconfig-sys`,
- check `.buildlink/lib/pkgconfig/fontconfig.pc` exists. Two stale-state traps
- when flipping builtin status:
- - `work/.*_makevars.mk` caches `BUILDLINK_PREFIX.fontconfig=/usr/X11R7` and
- pre-empts re-resolution; delete all `work/.*_makevars.mk`.
- - `.wrapper_done` gates the buildlink relink (phase chain
- build → configure → wrapper → do-buildlink), and `.configure_done` skips
- the whole chain; delete `work/.wrapper_done` `work/.depends_done`
- `work/.buildlink/.buildlink_fontconfig_done` `work/.x11-buildlink`
- `work/.cwrapper` (stale `ln: .../as: File exists` comes from `.cwrapper`),
- then run `bmake wrapper` before `bmake`.
-- `RUSTFLAGS` embeds rpaths for `${PREFIX}/lib` and `/usr/X11R7/lib` so the
- binary finds pkgsrc libs without `LD_LIBRARY_PATH`. The X11 rpath is
- **essential at runtime**: rio dlopens X11/xkbcommon via x11-dl, which tries
- `libX11.so.6` then falls back to `libX11.so` (NetBSD X11R7 only ships
- `.so.7`), and without the rpath the fallback fails too
- (`Shared object "libX11.so" not found` at `rio-window/.../mod.rs:800`).
- Verify with `objdump -p bin/rio | grep RPATH` — it must contain
- `/usr/X11R7/lib`. After interrupted builds the link can silently miss the
- rpath; force a relink with `touch work/rio-<ver>/frontends/rioterm/src/main.rs`
- then `bmake build`. Rebuilding the binary package requires removing the
- stale outputs first: `rm -f work/.package_done work/.install_done
- work/.packages/rio-*.tgz packages/All/rio-*.tgz` then `bmake package`
- (`package-create` is a file target and skips existing tgz files).
-- `RUST_REQ=1.92.0` (minimum pkgsrc rust) is **lower than upstream's
- `rust-version = 1.96.1`** (Cargo.toml) and than the `rust-toolchain.toml`
- channel (1.96.1). Builds work because installed rustc is 1.98.0; raise
- RUST_REQ if the toolchain ever drops below upstream's floor.
-- **X11 only, no Wayland** (Wayland isn't packaged for NetBSD): the package
- builds `cargo build --release -p rioterm` with `--no-default-features
- --features x11`; x11/xkbcommon/xcb are dlopen'd at runtime
- (x11-dl/x11rb/xkbcommon-dl).
-- `TERM=xterm-rio` is only understood by pkgsrc-ncurses-linked programs; base
- system programs read `/usr/share/misc/terminfo.cdb` and ignore
- `TERMINFO_DIRS`. Documented workaround in `files/README.NetBSD`:
- `env-vars = ["TERM=xterm-256color"]` in config. Keep that file in sync with
- any terminfo/shell behavior changes.
-- The `man` option is on by default and pulls `scdoc` as a BUILD_DEPENDS;
- `PLIST.man` must stay in sync with `options.mk` and `do-install`.
-- `DESCR` declares `mit` license `LICENSE=mit`; don't drift.
-- pkgsrc lint: new files should carry `$NetBSD$` tags; keep TAB indentation in
- Makefiles.
-
-## Upstream architecture (what the patches touch)
-
-Cargo workspace (all crates versioned with the workspace): `sugarloaf`
-(GPU rendering via wgpu), `teletypewriter` (PTY handling), `corcovado` (event
-loop, kqueue on BSD), `rio-backend` (config, shell startup), `rio-window`
-(x11rb-based windowing), `rio-grid`/`rio-vt` (terminal grid and VT parsing),
-`rio-graphics`, `rio-fonts`, `rio-unicode`, `rio-grapheme-width`,
-`rio-notifier`, `librio*`, and `frontends/rioterm` (the `rio` binary, built
-with `-p rioterm`). Config lives in `~/.config/rio/config.toml`; themes in
-`~/.config/rio/themes/` (none ship with this package). See `specs/` for
-upstream design docs.
-
-## Conventions / contribution
-
-- This directory is part of the `wip` git repo (`/bd/pkgsrc/wip`); commit
- messages in the log use the `rio: <imperative summary>` style.
-- Current git state has uncommitted changes (Makefile, cargo-depends.mk,
- distinfo) representing the in-flight 0.5.27 upgrade; build state in `work/`
- corresponds to it.
\ No newline at end of file
Home |
Main Index |
Thread Index |
Old Index