Skip to content

Add IFM (Interactive Fiction Mapper) PKGBUILD#162

Merged
thavelick merged 3 commits into
mainfrom
add_ifm_pkgbuild
Jul 9, 2026
Merged

Add IFM (Interactive Fiction Mapper) PKGBUILD#162
thavelick merged 3 commits into
mainfrom
add_ifm_pkgbuild

Conversation

@thavelick

Copy link
Copy Markdown
Owner

Adds a from-source PKGBUILD for IFM (Interactive Fiction Mapper) 5.5 by Glenn Hutchings, at arch/pkgbuilds/ifm/PKGBUILD.

Research findings

  • Source: No Linux prebuilt binary exists upstream (only a Windows MinGW build). Built from the IF Archive source release ifm-5.5.tar.gz, sha256-pinned. Upstream dev repo: https://git.sr.ht/~zondo/ifm
  • Version: 5.5 (30 Jul 2022) is the latest tagged release; 5.6 is unreleased in master.
  • License: GPL-2.0-only (COPYING), installed to /usr/share/licenses/ifm/.
  • Build system: autotools. The release tarball is self-contained — it ships configure and the flex/bison output (ifm-scan.c, ifm-parse.c) — so no autotools/flex/bison are needed, just ./configure && make. Only python (configure's AM_PATH_PYTHON) is a non-base-devel makedep.
  • Deps: binary links only libm/libcdepends=('glibc').

Notable decisions

  • -std=gnu17: 5.5 predates upstream's GCC-15 fix and uses K&R-style unprototyped function pointers. GCC 15 defaults to C23 (where () means (void)), turning these into hard compile errors. Appending -std=gnu17 to makepkg's CFLAGS restores the old semantics while preserving hardening flags.
  • Scoped to src/lib/man: skips the sphinx HTML docs (online at readthedocs) whose doc/ install ignores DESTDIR and would write to /usr/doc, plus the optional perl/tk helper scripts — keeping output deterministic with no perl/tk runtime deps.
  • No options=('!debug'): upstream does not pre-strip, so makepkg's normal debug split applies.

Validation

  • makepkg -f builds clean in a temp dir; ifm-debug splits correctly.
  • check() runs the upstream suite: 41/41 pass.
  • Installed via arch/pkgbuilds/install.sh ifm; pacman -Qkk ifm → 0 altered files.
  • Binary runs (IFM version 5.5) and produces correct text/PS map output from a bundled test file.

🤖 Generated with Claude Code

thavelick and others added 3 commits June 18, 2026 21:55
Package Glenn Hutchings' IFM 5.5 from the IF Archive source release.
No Linux prebuilt binary exists upstream, so build from source; the
release tarball is self-contained (bundles configure and the flex/bison
output), so only ./configure && make is needed.

Build with -std=gnu17: 5.5 predates upstream's GCC-15 fix and GCC 15
defaults to C23, where () means (void), turning its K&R-style function
pointers into hard errors. Scope build/package to src/lib/man to skip
the sphinx HTML docs and the DESTDIR-ignoring doc/ install, plus the
optional perl/tk helper scripts. check() runs the 41-test suite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds vim syntax and ftdetect files for IFM (Interactive Fiction Mapper)
map files, and symlinks them into the nvim config during setup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@thavelick thavelick merged commit 0ccb6e7 into main Jul 9, 2026
3 checks passed
@thavelick thavelick deleted the add_ifm_pkgbuild branch July 9, 2026 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant