Skip to content

Commit 69f963d

Browse files
committed
flip around from-zon args
1 parent 8f04948 commit 69f963d

3 files changed

Lines changed: 27 additions & 14 deletions

File tree

build.zig

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,9 @@ fn depPackagesInternal(b: *std.Build, this_b: *std.Build, opt: DepPackageOptions
170170
run.addArgs(&.{
171171
"deppkg",
172172
"from-zon",
173-
b.build_root.path.?,
174173
});
174+
const out_file = run.addOutputFileArg(out_basename);
175+
run.addArg(b.build_root.path.?);
175176
run.addFileArg(zon_file);
176-
return run.addOutputFileArg(out_basename);
177+
return out_file;
177178
}

src/pkg-extractor.zig

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,33 @@ pub fn process(opt: Options) !void {
5555
var fbuf: [8192]u8 = undefined;
5656
var freader = fd.reader(&fbuf);
5757

58-
const gz_buf = try opt.gpa.alloc(u8, std.compress.flate.max_window_len);
59-
defer opt.gpa.free(gz_buf);
58+
var flate_buffer: [std.compress.flate.max_window_len]u8 = undefined;
6059
var gz = std.compress.flate.Decompress.init(
6160
&freader.interface,
6261
.gzip,
63-
gz_buf,
62+
&flate_buffer,
6463
);
6564

6665
var file_name_buffer: [std.fs.max_path_bytes]u8 = undefined;
6766
var link_name_buffer: [std.fs.max_path_bytes]u8 = undefined;
67+
var tardiag: std.tar.Diagnostics = .{
68+
.allocator = opt.gpa,
69+
};
70+
defer tardiag.deinit();
6871
var it: tar.Iterator = .init(&gz.reader, .{
6972
.file_name_buffer = &file_name_buffer,
7073
.link_name_buffer = &link_name_buffer,
74+
.diagnostics = &tardiag,
7175
});
72-
while (try it.next()) |entry| {
76+
var count_entries: usize = 0;
77+
while (it.next() catch |err| {
78+
std.log.err("err: {} {}", .{ count_entries, err });
79+
for (tardiag.errors.items) |errit| {
80+
std.log.err("err: {any}", .{errit});
81+
}
82+
return err;
83+
}) |entry| {
84+
count_entries += 1;
7385
if (!std.mem.startsWith(u8, entry.name, tar_prefix)) continue;
7486
const sep_idx = std.mem.indexOfAnyPos(
7587
u8,

src/zigpkg.zig

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ pub fn cmd_deppkg(opt: GlobalOptions, args: []const []const u8) !void {
134134
\\
135135
\\available subcommands:
136136
\\ create <deppkg.tar.gz> {build root path}
137-
\\ from-zon <deppkg.tar.gz> {build root path}
137+
\\ from-zon <deppkg.tar.gz> <build root path> <zon file>
138138
\\ extract <deppkg.tar.gz> {build root output path}
139139
\\ build <deppkg.tar.gz> <intall prefix> [zig build args] # WIP
140140
\\ checkout <empty directory for git deps> {build root path} # WIP
@@ -244,21 +244,21 @@ pub fn cmd_create(opt: GlobalOptions, args: []const []const u8) !void {
244244
}
245245

246246
pub fn cmd_from_zon(opt: GlobalOptions, args: []const []const u8) !void {
247+
const output = try std.fs.path.resolve(
248+
opt.gpa,
249+
&.{ opt.cwd, args[0] },
250+
);
251+
defer opt.gpa.free(output);
252+
247253
const root = args[0];
248254

249255
const zon_src = try Manifest.cwdReadFileAllocZ(
250-
args[1],
256+
args[2],
251257
opt.gpa,
252258
std.math.maxInt(u32),
253259
);
254260
defer opt.gpa.free(zon_src);
255261

256-
const output = try std.fs.path.resolve(
257-
opt.gpa,
258-
&.{ opt.cwd, args[2] },
259-
);
260-
defer opt.gpa.free(output);
261-
262262
const parsed = try zonparse.fromSliceAlloc(
263263
Serialize,
264264
opt.gpa,

0 commit comments

Comments
 (0)