1f2377479640d25a57307a24ffebf492b13c5e6e
Replace every git-clone-based dependency fetch with a plain curl-and-extract of the corresponding tagged source archive (GitHub repos via the wangguofang.net/github.com proxy's /archive/<ref>.tar.gz, libxml2 via GitLab's -/archive/ endpoint), verified one at a time bottom-up so each change stayed isolated and cheap to test against the build cache. This avoids the git protocol/proxy round-trip per dependency and matches the plain curl+tar pattern already used elsewhere in this Dockerfile (boost, libaio, gmp, nettle, gnutls, util-linux). log4cplus keeps git clone, since it needs `git submodule update --init` for its ThreadPool dependency, which a source archive can't provide. Folly/Fizz/Wangle/mvfst/fbthrift/CacheLib remain untouched and commented out. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WGpSs9pKTbvPkmFvBaWhBp
Source Stack Build Environments
Debian 13, Rocky Linux 9, and Alpine Linux container build environments with a C/C++ toolchain, CMake, and Git preinstalled, compatible with both Docker and Podman. The Alpine image builds the stack against musl libc. GitHub HTTPS URLs are routed through gh-proxy.com. For the libraries included in the images, their pinned versions, and build details, see INCLUDED_LIBRARIES.md.
Build
Each build script automatically selects Docker or Podman:
./build-all.sh
./debian13/build.sh
./rockylinux9/build.sh
./alpine3.24/build.sh
Use environment variables to select the container engine or override image names:
CONTAINER_ENGINE=podman IMAGE_NAME=my-build-env ./rockylinux9/build.sh
Run
docker run --rm -it debian13-source-stack
docker run --rm -it rockylinux9-source-stack
docker run --rm -it alpine3.24-source-stack
Languages
Dockerfile
86.3%
Shell
9.9%
CMake
3.8%