mdcat
Build times (auto-updated)
- x86_64: 19m35s (2026-10-20 20:12 UTC, MAKEFLAGS=-j6)
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.
2026-10-20: routine bump 2.18.0 -> 2.19.0
Full update_cycle.sh UPD flag. Tarball confirmed on GitHub before touching
PKGBUILD. updpkgsums clean. Built x86_64-only as always – i686 still blocked
by archlinux32’s own stale rust package (see the 2026-09-27 entry above),
unchanged since last checked. Published cleanly, old 2.18.0-1 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.