This repository contains the build configuration of the Ubuntu workspace for our Docs-as-Code workspace with reStructuredText and Sphinx-doc for TiaC Systems Network (TSN) as multi-arch Docker images for Linux. It will be used for processing our tutorial and training materials.
The documentation overview is in this readme in the project root directory.
Further readings for more inspiration or improvements in future:
Based on our own TSN TeX Live Workspace Docker image, ghcr.io/tiacsys/tsn-ubtl-ws:2024.10.0:
- Docker image architectures:
- Intel/AMD x86 64-bit (
linux/amd64
) - ARMv7 32-bit (
linux/arm/v7
) - ARMv8 64-bit (
linux/arm64/v8
) - RISC-V 64-bit (
linux/riscv64
) - IBM POWER8 (
linux/ppc64le
) - IBM z-Systems (
linux/s390x
)
- Intel/AMD x86 64-bit (
Basic development tools
- list of build-essential packages v12.10
- basic system C/C++ compiler:
gcc
/g++
- basic system API C library:
<libc-dev>
/<linux-kernel-headers>
- basic system API C++ library:
<libstdc++-dev>
- system package development tools:
dpkg-dev
- utility for directing compilation:
make
- basic system C/C++ compiler:
Recommended build tools and APIs
- Web Access: cURL, Wget
- DB Access: PostgreSQL (client)
- Repository Access: Git, GNU Bazaar, Mercurial, Subversion
- Configuration and Build: Java/OpenJDK (JRE), pkg-config
- Development Packages:
<lib*-dev>
/<*-dev>
, SWIG, see Dockerfile for complete list - Documentation: Doxygen, Graphviz, ImageMagick, Librsvg2, Pandoc, PlantUML, Poppler
- Spell Checker: Enchant, GNU Aspell, Hunspell, Ispell, MySpell, Pspell, Nuspell
[*] | Runtime | Shell Variable | amd64 |
arm/v7 |
arm64/v8 |
riscv64 |
ppc64le |
s390x |
---|---|---|---|---|---|---|---|---|
Ninja: | ||||||||
x | 1.12.1 | TSN_ASDF_NINJA_VERSION |
x | x | ||||
x | 1.11.1 | TSN_ASDF_NINJA_VERSION |
x | x | x | x | ||
CMake: | ||||||||
x | 3.30.5 | TSN_ASDF_CMAKE_VERSION
| TSN_ASDF_CMAKE_VERSION_330 |
x | x | x | x | x | x |
3.20.6 | TSN_ASDF_CMAKE_VERSION_320 |
x | x | x | x | x | x | |
Rust: | ||||||||
x | 1.82.0 | TSN_ASDF_RUST_VERSION
| TSN_ASDF_RUST_VERSION_2024 |
x | x | x | x | x | x |
1.76.0 | TSN_ASDF_RUST_VERSION_2023 |
x | x | x | x | x | x | |
1.67.1 | TSN_ASDF_RUST_VERSION_2022 |
x | x | x | x | x | x | |
Python: | ||||||||
3.13.0 | TSN_ASDF_PYTHON_VERSION_313 |
x | x | |||||
x | 3.12.7 | TSN_ASDF_PYTHON_VERSION
| TSN_ASDF_PYTHON_VERSION_312 |
x | x | x | x | x | x |
3.10.15 | TSN_ASDF_PYTHON_VERSION_310 |
x | x | |||||
PyPA pipx: | ||||||||
x | 1.7.1 | TSN_ASDF_PIPX_VERSION |
x | x | x | x | x | x |
Golang: | ||||||||
x | 1.23.2 | TSN_ASDF_GOLANG_VERSION
| TSN_ASDF_GOLANG_VERSION_2024 |
x | x | x | x | x | |
1.23.1 | # | |||||||
x | 1.22.2 | TSN_ASDF_GOLANG_VERSION
| TSN_ASDF_GOLANG_VERSION_2024 |
# | |||||
1.21.13 | TSN_ASDF_GOLANG_VERSION_2023 |
x | x | |||||
1.21.9 | TSN_ASDF_GOLANG_VERSION_2023 |
# | ||||||
1.19.13 | TSN_ASDF_GOLANG_VERSION_2022 |
x | x | |||||
Node.js: | ||||||||
22.10.0 | TSN_ASDF_NODEJS_VERSION_22 |
x | x | |||||
x | 20.18.0 | TSN_ASDF_NODEJS_VERSION
| TSN_ASDF_NODEJS_VERSION_20 |
x | x | x | x | x | |
18.20.4 | TSN_ASDF_NODEJS_VERSION_18 |
x | x | |||||
x | 18.19.1 | TSN_ASDF_NODEJS_VERSION
| TSN_ASDF_NODEJS_VERSION_18 |
# | |||||
Ruby: | ||||||||
x | 3.3.5 | TSN_ASDF_RUBY_VERSION
| TSN_ASDF_RUBY_VERSION_33 |
x | x | x | x | ||
3.2.5 | TSN_ASDF_RUBY_VERSION_32 |
x | x | |||||
x | 3.2.3 | TSN_ASDF_RUBY_VERSION
| TSN_ASDF_RUBY_VERSION_32 |
# | # | ||||
3.1.6 | TSN_ASDF_RUBY_VERSION_31 |
x | x |
[*] | Default version (bold).
|
Package | Shell Variable | amd64 |
arm/v7 |
arm64/v8 |
riscv64 |
ppc64le |
s390x |
---|---|---|---|---|---|---|---|
pip==24.3.1 |
TSN_ASDF_PYPI_PIP_VERSION |
x | x | x | x | x | x |
setuptools==75.3.0 |
TSN_ASDF_PYPI_SETUPTOOLS_VERSION |
x | x | x | x | x | x |
virtualenv==20.27.1 |
TSN_ASDF_PYPI_VIRTUALENV_VERSION |
x | x | x | x | x | x |
wheel==0.44.0 |
TSN_ASDF_PYPI_WHEEL_VERSION |
x | x | x | x | x | x |
poetry==1.8.4 |
TSN_ASDF_PYPI_POETRY_VERSION |
x | x | x | x | x | x |
west==1.3.0 |
TSN_ASDF_PYPI_WEST_VERSION |
x | x | x | x | x | x |
Package | Shell Variable | amd64 |
arm/v7 |
arm64/v8 |
riscv64 |
ppc64le |
s390x |
---|---|---|---|---|---|---|---|
[email protected] |
TSN_ASDF_POETRY_VERSION_18 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_17 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_16 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_15 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_14 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_13 |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_POETRY_VERSION_12 |
x | x | x | x | x | x |
Package | Shell Variable | amd64 |
arm/v7 |
arm64/v8 |
riscv64 |
ppc64le |
s390x |
---|---|---|---|---|---|---|---|
[email protected] |
TSN_ASDF_NPM_COREPACK_VERSION |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_NPM_DECKTAPE_VERSION |
x | x | x | x | x | x |
[email protected] |
TSN_ASDF_NPM_SVG_TERM_CLI_VERSION |
x | x | x | x | x | x |
Ninja extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-community/asdf-ninja?tab=readme-ov-file
- https://github.com/asdf-community/asdf-ninja?tab=readme-ov-file#prerequirements
- https://github.com/ninja-build/ninja?tab=readme-ov-file#building-ninja-itself
asdf plugin-add ninja https://github.com/asdf-community/asdf-ninja.git
CMake extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-community/asdf-cmake?tab=readme-ov-file
- https://github.com/asdf-community/asdf-cmake?tab=readme-ov-file#dependencies
- Web Access: cURL
- Archive Access: Tar
- Configuration and Build: Bash
- Development Packages: Fortran (
gfortran
), GNU C++ Compiler (g++
)
asdf plugin add cmake https://github.com/asdf-community/asdf-cmake.git
Python extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-community/asdf-python?tab=readme-ov-file
- https://github.com/pyenv/pyenv/wiki#suggested-build-environment
- https://github.com/pyenv/pyenv/blob/master/plugins/python-build/README.md
- https://github.com/python/cpython?tab=readme-ov-file#build-instructions
asdf plugin add python https://github.com/asdf-community/asdf-python.git
Golang extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-community/asdf-golang?tab=readme-ov-file
- https://github.com/asdf-community/asdf-golang?tab=readme-ov-file#linux-debian
- Web Access: cURL
- Configuration and Build: GNU Core Utilities
asdf plugin add golang https://github.com/asdf-community/asdf-golang.git
Node.js extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-vm/asdf-nodejs?tab=readme-ov-file
- https://github.com/asdf-vm/asdf-nodejs/tree/9cc4f0a?tab=readme-ov-file#linux-debian
- https://github.com/nodejs/node/blob/main/BUILDING.md#unix-prerequisites
- Configuration and Build: GNU Privacy Guard (
dirmngr
,gpg
) - Development Packages: Python 3 (with
pip
), GNU C++ Compiler (g++
)
- Configuration and Build: GNU Privacy Guard (
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Ruby extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/asdf-vm/asdf-ruby?tab=readme-ov-file
- https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
- https://docs.ruby-lang.org/en/master/contributing/building_ruby_md.html
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
Rust extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/code-lever/asdf-rust?tab=readme-ov-file
- https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies
- Web Access: cURL
- Repository Access: Git
- Configuration and Build: CMake, Ninja, pkg-config
- Development Packages: Python 3, Clang++ (
clang++
), GNU C++ Compiler (g++
)
asdf plugin-add rust https://github.com/code-lever/asdf-rust.git
PyPA pipx for Python extra requirements for ASDF
- https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
- https://github.com/yozachar/asdf-pipx?tab=readme-ov-file
- https://github.com/yozachar/asdf-pipx?tab=readme-ov-file#dependencies
- https://pipx.pypa.io/stable/installation/#system-requirements
asdf plugin add python https://github.com/yozachar/asdf-pipx.git