GuofangandClaude Sonnet 5.5 70351db908 Add libffi 3.8.0 and Python 3.14.10 to debian13
Python is built from the python.org tarball against the pinned OpenSSL,
zlib, Zstd, SQLite and libffi; it does not pass --libdir because the
standard library and lib-dynload must stay under lib/python3.14. SQLite
is static, so its link flags are taken from pkg-config --static.
libffi is built with --disable-multi-os-directory so it installs into
the multiarch directory instead of lib/lib.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 13:51:03 +08:00
2026-11-11 15:28:58 +08:00
2026-11-11 15:28:58 +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 wangguofang.net. 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
./rocky9/build.sh
./rocky9-system/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 ./rocky9/build.sh

The Debian 13 and Rocky Linux 9 images install every library under /opt/local by default. Set PREFIX to install them elsewhere; the build environment variables (PATH, PKG_CONFIG_PATH, CMAKE_PREFIX_PATH, CMAKE_INSTALL_PREFIX, and so on) follow it. Rust is a build tool rather than a library, so it always lives under /usr/local and is not affected by PREFIX. The Alpine image does not support PREFIX.

PREFIX=/opt/stack ./debian13/build.sh
PREFIX=/opt/stack ./rocky9/build.sh

The rocky9-system image uses the libraries shipped by Rocky Linux 9 (BaseOS, AppStream, CRB and EPEL) instead of building them from source, except Protobuf, which is built from source (v3.21.12, under /usr/local). Libraries that those repositories do not provide are simply left out.

Run

docker run --rm -it debian13-source-stack
docker run --rm -it rocky9-source-stack
docker run --rm -it rocky9-system-stack
docker run --rm -it alpine3.24-source-stack
S
Description
No description provided
Readme
349 KiB
0 Stars 1 Watchers 0 Forks
Languages
Dockerfile 86.4%
Shell 9.9%
CMake 3.7%