Skip to content

eliothedeman/docker-zig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

docker-zig

The goal of this docker image is to build a fully static Zig Linux executable, which can then be used on any Linux system (or inside any docker container).

After building zig and running the test suite, it produces zig-linux-$ARCH-$VER-$COMMITSHA.tar.xz which contains:

  • /langref.html (generated documentation)
  • /zig (statically linked executable)
  • /lib (installed zig std lib and c headers)
  • /LICENSE (copied from zig repo)

Therefore, this docker image is used to produce this artifact, and not intended to be used directly.

Usage

In this example:

  • -j1 is a number of make jobs. Set to the number of cores you want to use.
  • 7d66908f294eed1138802c060185721a2e265f3b is the Zig git revision to build, test, and package.
docker run --rm -it --mount type=bind,source="$(pwd)",target=/z ziglang/static-base:llvm11-$(uname -m)-1 -j1 7d66908f294eed1138802c060185721a2e265f3b

Updating the base image

This only needs to be done if we need to tweak the build environment, or if we update the LLVM or Clang dependencies.

Decide whether to bump the base alpine image version.

docker build -t ziglang/static-base:llvm11-$(uname -m)-1 .
docker push ziglang/static-base:llvm11-$(uname -m)-1

About

Dockerfile for zig programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 75.1%
  • Shell 24.9%