GuofangandClaude Sonnet 5 1f23774796 Fetch source archives instead of git clone in the Alpine image
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
2026-09-12 17:06:42 +08:00

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
S
Description
No description provided
Readme
317 KiB
0 Stars 1 Watchers 0 Forks
Languages
Dockerfile 86.3%
Shell 9.9%
CMake 3.8%