| ... | ... | @@ -177,6 +177,26 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void { |
| 177 | 177 | try w.writeFile(file); |
| 178 | 178 | try w.writeByteNTimes(0, padding); |
| 179 | 179 | } |
| 180 | |
| 181 | { |
| 182 | // Since this command is JIT compiled, the builtin module available in |
| 183 | // this source file corresponds to the user's host system. |
| 184 | const builtin_zig = @embedFile("builtin"); |
| 185 | |
| 186 | var file_header = std.tar.output.Header.init(); |
| 187 | file_header.typeflag = .regular; |
| 188 | try file_header.setPath("builtin", "builtin.zig"); |
| 189 | try file_header.setSize(builtin_zig.len); |
| 190 | try file_header.updateChecksum(); |
| 191 | try w.writeAll(std.mem.asBytes(&file_header)); |
| 192 | try w.writeAll(builtin_zig); |
| 193 | const padding = p: { |
| 194 | const remainder = builtin_zig.len % 512; |
| 195 | break :p if (remainder > 0) 512 - remainder else 0; |
| 196 | }; |
| 197 | try w.writeByteNTimes(0, padding); |
| 198 | } |
| 199 | |
| 180 | 200 | // intentionally omitting the pointless trailer |
| 181 | 201 | //try w.writeByteNTimes(0, 512 * 2); |
| 182 | 202 | try response.end(); |