- Vendored repo: Detanup01/gbe_fork — the actively maintained successor of the original Goldberg emulator (Mr_Goldberg/goldberg_emulator).
- Branch:
dev - Pinned commit:
e4035e085a028a195c2e3f13e3207e0dfdadce57(2026-08-22, "Merge pull request #584") - License: LGPL-3.0-or-later (kept in
goldberg_emulator/LICENSE, third-party licenses ingoldberg_emulator/CREDITS.md).
dll/dll/common_includes.h— Darwin include branch (net/if.hetc.),MSG_NOSIGNALfallback, debug-thread-id viapthread_mach_thread_np.dll/base.cpp—_NSGetExecutablePath()for the exe path,dladdr()lib path enabled on Darwin,getcwd(NULL,0)andrealpath()replacing glibc-only helpers.dll/network.cpp— interface-broadcast discovery enabled on Darwin (SIOCGIFCONF/SIOCGIFBRDADDR),SO_NOSIGPIPEon all sockets (Darwin has noMSG_NOSIGNAL).helpers/common_helpers.cpp—get_utc_time()POSIX path on Darwin (nogmtime_s).crash_printer/linux.cpp—ucontext.hinclude guarded out on Darwin (macOS gates it behind_XOPEN_SOURCE; the handler only passes an opaquevoid*).
Run git -C goldberg_emulator diff (or see patches/0001-macos-port.patch) for the exact series
against the pinned commit.
Fetched by build_mac/build.sh from the third-party/deps/common branch of the same repository,
pinned commit 92a4a130262083c4e887155cbe6bcab99baf36ea:
| Dep | Version / source |
|---|---|
| protobuf | v34.1 |
| abseil | 20250512.1 (the exact pin of protobuf v34.1 — must be built separately with CMAKE_CXX_STANDARD=17, see note below) |
| curl | 8.20.0 (mbedTLS backend) |
| mbedtls | 3.6.6 |
| opus | 1.6.1 |
| portaudio | b0fe9de7ec86ebe5a26086f1d662ab74d7ebfae4 |
| libssq | 3.0.1 (source server query, used by matchmaking servers) |
| zlib | 1.3.2 |
All are built static (arm64) and linked into the dylib so the final libsteam_api.dylib has no
third-party dynamic-library dependencies.
abseil ABI note: abseil rewrites absl/base/options.h at install time based on the C++ standard
configured in CMake. If CMAKE_CXX_STANDARD is not explicitly set to 17 when abseil is built, the
installed headers advertise a different absl::string_view ABI than the compiled libraries use, and
everything linked against protobuf later fails with cryptic symbol(s) not found errors. The
superbuild therefore builds abseil 20250512.1 explicitly (with C++17 pinned) and points protobuf at
it via find_package(absl CONFIG) instead of letting protobuf fetch its own copy.