1
Fork 0

Update README

This commit is contained in:
Motiejus Jakštys 2024-11-06 14:53:09 +02:00
parent 3b2cfaa142
commit 53b98f44a8
1 changed files with 17 additions and 2 deletions

View File

@ -4,14 +4,29 @@ Building modern Zig from the original C++ implementation
This repository explores building Zig from the C++ implementation without using This repository explores building Zig from the C++ implementation without using
binary blobs. [Forum post goes with this][1]. binary blobs. [Forum post goes with this][1].
Clone zig and prune binary files from history:
```
$ git clone --reference zig --dissociate 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 build -t zig-repro .
$ docker run -ti --rm \ $ docker run -ti --rm \
-v ~/code:/x \ -v ~/code:/x \
-v /home/$USER/.cache/zig:/home/$USER/.cache/zig \ -v /home/$USER/.cache/zig:/home/$USER/.cache/zig \
-w /x \ -w /x/zig \
zig-repro \ zig-repro \
sh -c "useradd -s /bin/bash $USER && cd zig && su $USER; bash" sh -c "useradd -s /bin/bash -u $UID $USER && su $USER; bash"
```
And run the thing in the container:
```
$ ../zig-repro/run $ ../zig-repro/run
``` ```