• .gitlab-ci-unix.yml .gitlab-ci.yml src/doors/.gitignore build.sh

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Saturday, July 25, 2026 00:37:28
    https://gitlab.synchro.net/main/sbbs/-/commit/0cf4790c54a240fc5f1841e6
    Modified Files:
    .gitlab-ci-unix.yml .gitlab-ci.yml src/doors/.gitignore build.sh
    Log Message:
    CI: build the rest of the *nix doors

    The Doors section covered eight of the doors under src/doors and the
    termgfx section five, leaving ten of what src/doors/build.sh calls
    buildable with no *nix job at all -- the counterpart to the gap the
    Win32 jobs closed in 1edeb70972 (winter-0-fill).

    The eight added under a new build_more_doors input are the make(1)
    trees that predate ../build/Common.gmake, plus the three registration
    key generators. Only Linux has been confirmed to build them, so they
    gate like the termgfx doors do: a platform opts in once it is
    confirmed, rather than turning a pipeline red to find out. Several
    cannot build everywhere -- timeport links -lcurses, and sde, top and
    vbbs name an odoors library directory by `uname` that a cross-build
    does not have -- so folding them into build_doors, which is on for the
    BSDs, macOS, alpine, arm64 and the mingw-w64 cross-build, was not an
    option. Only smurfcombat builds through Common.gmake and needs the
    stamp touching the other door jobs do; the rest either link ../../odoors/libs-`uname` directly or compile the xpdev sources they
    want straight out of the checkout.

    SyncRPG and SyncSCUMM join the termgfx doors, which have been proven
    on Linux since they were added there. Both vendor a whole interpreter
    rather than a small engine, so their build.sh is two-stage and only
    the first stage goes through the ccache launcher variables; their
    external dependencies are also the heaviest, with SyncSCUMM requiring
    libmad and SyncRPG the EasyRPG/liblcf set.

    src/doors/build.sh gains the two key generators added after it was
    written, so its target table again matches what the tree can build,
    and .gitignore stops leaving their binaries untracked.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net