Install libraries from Rocky Linux 9, CRB and EPEL instead of building
from source; packages missing from those repositories are skipped.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sources that ship one archive per architecture live in their own
sources/<name>/ directory and are mounted as a whole, so adding other
sources never invalidates their build layer.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Mirrors the same pinned third-party library build sequence as debian13/
on Alpine 3.24, targeting musl libc, with the fixes needed to get the
whole non-Meta stack building cleanly:
- Adjusts the package install step for apk; builds makeself from a
pinned source tag since it isn't packaged for stable Alpine releases;
adds coreutils so GNU realpath (needed by liburing's configure script)
is available in place of busybox's; drops sha256 checksum verification
on curl-fetched archives.
- CMake on 3.24 is 4.x, which removed compatibility with
cmake_minimum_required() versions below 3.5. Adds
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 (CMake's own sanctioned workaround,
not a source patch) to every cmake configure call so unmigrated
CMakeLists.txt in our pinned dependencies still configure.
- GCC on 3.24 is 15, which defaults to C23; C23 redefines an empty `()`
in a function declaration to mean "no parameters" instead of the old
K&R "unspecified parameters", which breaks a decades-old conftest in
GMP 6.3.0's configure. Pins GMP's build to -std=gnu17 to restore the
old semantics for that one dependency.
- Switches the GitHub mirror from gh-proxy.com (which started rejecting
some repos with a content-filter 403 in this environment) to the
project's own reverse proxy at wangguofang.net/github.com/.
Folly/Fizz/Wangle/mvfst/fbthrift/CacheLib are left commented out: their
portability layer reaches for glibc-only macros/symbols in multiple
places with no musl branch (off64_t/lseek64/pread64 in
folly/portability/Unistd.h, __ELF_NATIVE_CLASS in
folly/debugging/symbolizer/Elf.cpp, and likely more further in), and
patching each one as it surfaces risks introducing subtle bugs in code
we don't own. The reasoning is recorded inline for anyone revisiting
this later.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WGpSs9pKTbvPkmFvBaWhBp