mdcat
Build times (auto-updated)
- x86_64: 19m39s (2026-10-01 16:46 UTC, MAKEFLAGS=-j6)
Not yet vendored under arch/ (as of 2026-09-19). Tracking notes ahead of
adoption so nothing gets lost.
Background
- Upstream
swsnr/mdcatwas removed from official Arch repos (unmaintained upstream). The AURmdcatpackage now tracks a fork,BIRSAx2/mdcat, which is actively maintained. - User (andreas_baumann) was AUR submitter and, per their own AUR comment on 2026-02-17, merged/fixed and republished it at that time (“I just merged the AUR and package git and published it back. Currently it builds with minimal patching.”).
- As of 2026-09-19 the AUR page shows Maintainer: None (orphaned) –
RPC confirms
"Maintainer": null.scripts/add_maintained.sh mdcatcorrectly refuses to vendor it undermaintained/for this reason (we’re not listed as maintainer or co-maintainer). - 2026-09-19: user filed an AUR orphan/adoption request for mdcat.
Pending Trusted User review – may take a while. Do not run
add_maintained.sh mdcatuntil the adoption is actually approved (AUR page shows a real maintainer name again).
Known issue – FIXED locally 2026-09-19, not yet pushed
- 2026-09-16, reported by AUR user
ZEBofx:check()runscargo test, which exercises themdpickfuzzy-picker path and spawnslessas a pager – butlessisn’t listed incheckdepends, somakepkgfails in a clean chroot (nolesspreinstalled) with:Error: Failed to spawn pager less with args ["-r"]: No such file or directory (os error 2). - User confirmed the failure themselves on the AUR thread 2026-09-16.
- Note:
optdependsalready listedless: for mdless, but that’s purely advisory for end users –makepkg/makechrootpkgnever installsoptdependsinto the build chroot, onlydepends/makedepends/checkdepends. That’s exactly why the clean chroot lackedlessdespite it being “declared”. - Checked the test source (
tests/cli.rs):fzfis stubbed with a fakeshscript in the test sandbox, so it does NOT need to be a real checkdepend – onlylessis spawned for real. - 2026-09-19: re-cloned fresh into
/data/INSTALL/mdcat(the old checkout there was stale, HEAD at 2.16.0 while AUR’s actual master was already at 2.17.0-1 – re-cloning avoided accidentally reverting upstream on push). Addedcheckdepends=('less'), regenerated.SRCINFO, updated the# Maintainer:header to Andreas Baumann (former maintainers moved to# Contributor:lines, standard AUR takeover convention). Test-built clean viarepo_build_staged.sh(x86_64,REPO_BUILD_ONLY_ARCH=x86_64): all 39 tests pass, includingmdpick::renders_the_file_selected_in_fzf ... ok– confirms the fix actually resolves the reported failure. - Still NOT pushed to AUR and NOT vendored under
arch/maintained/– waiting on the pending adoption request (AUR page still shows Maintainer: None as of this check). Once adoption is approved:git -C /data/INSTALL/mdcat push(or move it intoarch/maintained/mdcatviaadd_maintained.shfirst, then push from there – either order works, just don’t lose the localcheckdependsfix in the process), then the normalmaintained/flow going forward.
2026-09-27: adoption completed, published for the first time
AUR adoption went through (RPC now shows Maintainer: andreas_baumann)
and a real submodule now exists at arch/maintained/mdcat. Found it
staged with the Maintainer: header and pkgrel (1 -> 2) already
updated, but missing the actual checkdepends=('less') fix
documented above – likely lost when re-cloning fresh partway through
that earlier investigation. Re-added it before building; without it
this would have failed check() again with the exact same
ZEBofx-reported error.
i686 fails for an unrelated, unfixable-here reason: cargo fetch
--locked pulls idna_adapter 1.2.2 (a transitive dependency), whose
Cargo.toml requires the edition2024 Cargo feature – not
stabilized in archlinux32’s own official i686 rust package
(1:1.81.0-1.0, built September 2024, confirmed via pacman -Si and
Packager: TasosSah – a genuine upstream toolchain-lag issue in the
third-party archlinux32 project itself, not something in our own
PKGBUILD or infrastructure). x86_64’s rust/cargo is current and
unaffected. Not fixed – would need archlinux32 itself to update its
rust package, out of scope. arch=('i686' 'x86_64') left as-is
(matches upstream); i686 just won’t build until that catches up.
Built + published clean, x86_64 only, 2.17.0-2. All 39 tests passed
including the mdpick/less-spawning one the fix targets.
2026-09-28: routine check – fixed a stale .nvchecker.toml tracking the wrong (dead) upstream
Asked to “check and update mdcat”. Upstream’s real tags (git
ls-remote --tags against BIRSAx2/mdcat) top out at 2.17.0 –
matches the published pkgver exactly, so no version bump needed.
scripts/check_for_updates_maintained.sh --only maintained/mdcat
reported OK ... 2.17.0 2.7.1, which looked suspicious (that second
number should be the detected upstream version, and 2.7.1 is far
below our 2.17.0) – root-caused to .nvchecker.toml still
pointing git = "https://github.com/swsnr/mdcat.git", the original
abandoned upstream (see the “Background” section above – this
project switched to tracking the BIRSAx2/mdcat fork a while ago, but
apparently only the PKGBUILD’s own source= URL got updated at the
time, not the nvchecker config). 2.7.1 is just the last tag that dead
repo ever got. The check only reported “OK” by coincidence (our real
version numerically exceeds the stale target it was comparing against)
– it was never actually validating against real current upstream, and
would silently miss a real new BIRSAx2 release forever (vercmp would
never see it as newer than a frozen 2.7.1). Fixed by pointing
.nvchecker.toml at BIRSAx2/mdcat – re-ran the check, now correctly
reports 2.17.0 2.17.0. Also added an STATES.txt entry for this
package (never had one – vendored after the last full check run).
2026-10-01: routine bump 2.17.0 -> 2.18.0
Full update_cycle.sh UPD flag. Upstream tarball + sha256 fetched clean via
updpkgsums. Dependency tree has grown substantially since 2.17.0 – now
pulls in resvg/usvg/tiny-skia/ratatui-image etc. (image/SVG
rendering in the terminal, presumably inline-image support), ~300+ crates
vs. a much smaller set before. Built x86_64-only as usual (i686 still
blocked by archlinux32’s stale rust package, see below). All 39 tests
passed, built+signed+published cleanly, old 2.17.0-2 archived.
Current AUR PKGBUILD snapshot (2.17.0-1, for reference)
depends=(gcc-libs openssl curl),makedepends=(asciidoctor cargo),optdepends=(less fzf)– nocheckdependsarray at all currently.- Builds via
cargo build --frozen --release, tests viacargo test --frozen, man page viaasciidoctor -b manpage. - Locally installed version on this machine is older (2.10.1-1, built
2026-07-07) – once adopted, rebuild to current (2.17.0 as of this
writing) via the normal
maintained/flow.