iamgreaser / iamgreaser/sekaigu

Allow building a "canonical release" from build.zig

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Zig
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Here's what we need in a release archive, which will likely be a zip file for maximum compatibility:

- [ ] sekaigu source code
- [ ] the relevant version of Zig for Windows x86 64-bit
- [ ] a Windows x86 64-bit program to extract the compiler, build stuff, and maybe run the program (with the relevant source included)
- Rationale: If Zig moves to using a .tar.xz archive for Windows builds (admittedly, we could do a repack), Zig *theoretically* supports extracting both aspects of this archive. At the moment, however, Windows builds of Zig use a .zip archive... which isn't directly supported by Zig, but the Deflate compression is supported (in both directions!) and we're probably going to want support for .zip archives at some point... and I've implemented extractors for the format before.
- Having said that, it may be better to extract the archive at build time and then repack... but then we lose the benefit of having something which has a minisig and/or a hash for it, and I have some idea on how to shove that into the built executable and pretty much quine the thing...

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading build.zig and the release archive requirements in this issue. Determine how the build should assemble sekaigu source, the relevant Windows x86 64-bit Zig version, and a Windows x86 64-bit extraction or build program. Done means a reproducible canonical archive containing those components, with the packaging and archive-format approach resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
zig
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.