0.10.0-675-g9d93b2ccf1-TypeOf-hack.patch | ||
0.10.0-747-g7b2a936173-CallOptions.patch | ||
0.10.0-961-g54160e7f6a-CMakeLists.txt-remove-stage3.patch | ||
Dockerfile | ||
llvm-snapshot.gpg.key | ||
llvm.list | ||
README.md | ||
run |
Building modern Zig from the original C++ implementation
This repository explores building Zig from the C++ implementation without using binary blobs. Forum post goes with this.
Clone zig and prune binary files from history:
$ git clone https://github.com/ziglang/zig zig-nobinaries
$ cd zig-nobinaries
$ git filter-repo --prune-empty=never --prune-degenerate never --invert-paths --path-glob 'stage1/zig1.wasm*' --path stage1/zig1.c
Now build an isolated container with a bunch of zig historic dependencies:
$ docker build -t zig-repro .
$ docker run -ti --rm \
-v ~/code:/x \
-v /home/$USER/.cache/zig:/home/$USER/.cache/zig \
-w /x/zig-nobinaries \
zig-repro \
sh -c "useradd -s /bin/bash -u $UID $USER && su $USER; bash"
And run the thing in the container:
$ ../zig-repro/run