Skip to content

build: libgit2 version floor (git_allocator needs >=1.7) + libgit2-enabled CI leg #801

Description

@DeusData

Follow-up from #722/#705. internal/cbm/cbm.c binds the 3-member git_allocator (gmalloc/grealloc/gfree), which upstream introduced in libgit2 1.7.0 — on distros shipping older libgit2 (Debian 12 = 1.5.1, Ubuntu 22.04 = 1.1.0) the positional initializer mis-wires the struct (clang >=16: hard error; older GCC: warning + silently corrupt allocator).

Proposed:

  • Version floor: #if LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 7 around the binding, or pkg-config --atleast-version=1.7 libgit2 in Makefile.cbm (clear error either way).
  • A libgit2-enabled CI matrix leg so the HAVE_LIBGIT2 path stops being CI-invisible (it was never built in CI, which is how the missing include shipped). @kriswill volunteered in fix(build): include <git2/sys/alloc.h> for git_allocator #722.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority/normalStandard review queue; useful PR with ordinary maintainer urgency.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions