Skip to content

[gametracer] Add v0.2.1#13218

Open
mnshkw wants to merge 4 commits intoJuliaPackaging:masterfrom
mnshkw:gametracer-v0.2.1
Open

[gametracer] Add v0.2.1#13218
mnshkw wants to merge 4 commits intoJuliaPackaging:masterfrom
mnshkw:gametracer-v0.2.1

Conversation

@mnshkw
Copy link

@mnshkw mnshkw commented Feb 27, 2026

New package: gametracer v0.2.1

Adds a BinaryBuilder recipe for gametracer,
a C++ game-theory solver library providing the IPA and GNM algorithms.

Architecture

This JLL is part of a larger integration pipeline:

C++ (QuantEcon/gametracer) → C ABI shim (c_api/) → gametracer_jll → GameTracer.jl ← GameTheory.jl
  • gametracer_jll ships libgametracer (this package).
  • GameTracer.jl depends on gametracer_jll and GameTheory.jl
    (for NormalFormGame inputs), and exposes the user-facing
    ipa_solve / gnm_solve API.
  • GameTheory.jl does not depend on GameTracer.jl
    (solver backend is an opt-in add-on).

What this recipe builds

  • Source: QuantEcon/gametracer pinned to commit
    49ba14e
    (merge commit of c_apimain; tag v0.2.1 planned)
  • Build entrypoint: cmake -S c_api -B build
    (builds the C ABI shim only; does not build the gt CLI)
  • Product: LibraryProduct("libgametracer", :libgametracer) only
    • No ExecutableProduct for gt
  • Exported C symbols: ipa, gnm, gametracer_free
  • Install layout:
    • Library → ${libdir}/libgametracer.${dlext}
    • License → ${prefix}/share/licenses/gametracer/COPYING

Changes from the previous draft (PR #13155)

Item Previous (PR #13155) This PR
GIT_SHA 12aa4bb... (stale c_api branch HEAD) 49ba14e... (correct merge commit)
SHA declaration inline inside GitSource(...) const GIT_SHA = "..." at top of file
set -euxo pipefail absent added
test -d c_api / test -f c_api/CMakeLists.txt absent added
Post-install check: libgametracer.${dlext} absent added
Post-install check: COPYING absent added
Shell variable quoting unquoted ${prefix} etc. quoted "${prefix}" etc.
preferred_gcc_version=v"8" present removed (CMakeLists.txt sets CXX_STANDARD 11 explicitly)
supported_platforms(experimental=true) present removed (deferred to follow-up PR after first CI pass)

Notes

  • c_api/CMakeLists.txt sets CMAKE_CXX_STANDARD 11 and CMAKE_CXX_EXTENSIONS ON
    explicitly, so no preferred_gcc_version pin is required.
  • The build script performs sanity checks before CMake runs (source layout)
    and post-install checks (shared library, license file) to catch failures early.
  • Experimental platforms deferred; can be added in a follow-up PR once CI
    passes on the stable platform set.

Checklist

  • build_tarballs.jl uses set -euxo pipefail
  • All shell variables are quoted
  • LibraryProduct only (no ExecutableProduct)
  • License file verified in build script
  • julia_compat = "1.6"
  • No preferred_gcc_version pin (not required for this package)

mnshkw added a commit to mnshkw/Yggdrasil that referenced this pull request Mar 3, 2026
- remove codes from build_tarballs.jl per review by @imciner2 on PR JuliaPackaging#13218
@mnshkw mnshkw changed the title Gametracer v0.2.1 [gametracer] Add v0.2.1 Mar 3, 2026
mnshkw added a commit to mnshkw/Yggdrasil that referenced this pull request Mar 3, 2026
- remove codes from build_tarballs.jl per review by @imciner2 on PR JuliaPackaging#13218
@mnshkw mnshkw force-pushed the gametracer-v0.2.1 branch from 830f66e to 77315a4 Compare March 3, 2026 21:34
- remove codes from build_tarballs.jl per review by @imciner2 on PR JuliaPackaging#13218
@mnshkw mnshkw force-pushed the gametracer-v0.2.1 branch from 77315a4 to 76bf062 Compare March 3, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants