• src/sbbs3/sexyz_release/C

    From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Sunday, August 23, 2026 02:30:00
    https://gitlab.synchro.net/main/sbbs/-/commit/86465d6ee9b8e5f2cf13c078
    Added Files:
    src/sbbs3/sexyz_release/COMPILING.md FILE_ID.DIZ GNUmakefile Makefile.vc
    Log Message:
    sexyz: add the packaging inputs for a stand-alone source release

    sexyz builds from 22 sources and 42 headers under src/{sbbs3,xpdev,hash}
    and needs nothing else from Synchronet, so it can ship as a flat directory
    that builds with no configure step. The sources travel verbatim, but the
    files that describe how to build them do not exist anywhere in the tree.
    Add them: a makefile per toolchain, COMPILING.md, and the FILE_ID.DIZ.

    Both makefiles build one identical list. The two sources that are platform-specific carry their own guards -- xpevent.c outside __unix__,
    and xpprintf.c's vasprintf outside MSVC, which the MSVC C run-time lacks
    and str_list.c calls -- so neither toolchain needs a list of its own.

    Three things a Unix build cannot discover are recorded in COMPILING.md
    because they cost a broken archive to learn: RINGBUF_EVENT and
    RINGBUF_MUTEX are required, PREFER_POLL must not be defined on Windows (WSAPoll's semantics differ, GitLab #1212), and Windows needs iphlpapi.lib
    for netwrap.c's GetAdaptersAddresses().

    The MSVC build was verified with Visual Studio 2022, x86 and x64, release
    and debug, transfers checked by SHA-256.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Sunday, August 23, 2026 15:01:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9fa6fea2195ae83c9d337ca4
    Modified Files:
    src/sbbs3/sexyz_release/COMPILING.md
    Log Message:
    sexyz/COMPILING: the source set is not all under one license

    zmodem.c and zmodem.h are 2-clause BSD as of ea25028dae (2026-08-23), six sources are GPL, and the rest come from xpdev and hash under the LGPL, so
    the blanket "GPL version 2 or later" the file used to claim was wrong for
    most of it. Name each group instead, and say that the combination is distributable under the GPL, which is what the binary is.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Sunday, August 23, 2026 15:28:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9a720937620ffe0eca8a5d0a
    Added Files:
    src/sbbs3/sexyz_release/CLAUDE.md mksexyzsrc.sh
    Log Message:
    sexyz: derive the source release from the makefile, not by hand

    The archive's value is that its file set is derived: the sources are
    whatever GNUmakefile's SRCS names, and the headers are their #include
    closure. Assembling one by hand loses that, and twice did: the first
    archive omitted xpprintf.c entirely, and a later one carried three stale sources.

    mksexyzsrc.sh takes a checkout and an output directory, reads the source
    list out of the shipped GNUmakefile, computes the header closure with
    gcc -MM, pins git_branch.h/git_hash.h to HEAD, test-builds the result, and writes both containers named after sexyz.c's own revision string. It fails loudly if a file the makefile names is missing from the tree.

    CLAUDE.md records what a Linux host cannot discover about this archive:
    that a GCC link map cannot see what MSVC needs, which is how three defects reached a published archive, and that a cut must be verified on both
    toolchains before release.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Sunday, August 23, 2026 15:55:00
    https://gitlab.synchro.net/main/sbbs/-/commit/24e44fd8e689b3acfa3573d3
    Added Files:
    src/sbbs3/sexyz_release/CHANGES.md
    Modified Files:
    src/sbbs3/sexyz_release/mksexyzsrc.sh
    Log Message:
    sexyz: add a change log covering everything since the v3.1 release

    The last released SEXYZ binary archive is v3.1 from September 2025, and
    nothing between then and now told a sysop what changed: the release notes
    in docs/v322_new.md are organized around Synchronet releases, not sexyz
    ones, and cover only part of the span.

    CHANGES.md lists the work since v3.1 grouped by what it means to someone running it -- speed, transfers, messages, behavior -- and the cut script
    now ships it in the archive. Bugs introduced and fixed within the span are
    left out; a reader of a released version never saw them.

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

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