@@ -33,18 +33,8 @@ sub readManifest {
33
33
34
34
my $manifestVersion = 2;
35
35
36
- my $storePath;
37
- my $url;
38
- my $hash;
39
- my $size;
40
- my $basePath;
41
- my $baseHash;
42
- my $patchType;
43
- my $narHash;
44
- my $references;
45
- my $deriver;
46
- my $hashAlgo;
47
- my $copyFrom;
36
+ my ($storePath, $url, $hash, $size, $basePath, $baseHash, $patchType);
37
+ my ($narHash, $narSize, $references, $deriver, $hashAlgo, $copyFrom);
48
38
49
39
while (<MANIFEST>) {
50
40
chomp;
@@ -62,6 +52,7 @@ sub readManifest {
62
52
undef $hash;
63
53
undef $size;
64
54
undef $narHash;
55
+ undef $narSize;
65
56
undef $basePath;
66
57
undef $baseHash;
67
58
undef $patchType;
@@ -89,7 +80,8 @@ sub readManifest {
89
80
if (!$found) {
90
81
push @{$narFileList},
91
82
{ url => $url, hash => $hash, size => $size
92
- , narHash => $narHash, references => $references
83
+ , narHash => $narHash, narSize => $narSize
84
+ , references => $references
93
85
, deriver => $deriver, hashAlgo => $hashAlgo
94
86
};
95
87
}
@@ -100,8 +92,8 @@ sub readManifest {
100
92
addPatch $patches, $storePath,
101
93
{ url => $url, hash => $hash, size => $size
102
94
, basePath => $basePath, baseHash => $baseHash
103
- , narHash => $narHash, patchType => $patchType
104
- , hashAlgo => $hashAlgo
95
+ , narHash => $narHash, narSize => $narSize
96
+ , patchType => $patchType, hashAlgo => $hashAlgo
105
97
};
106
98
}
107
99
@@ -132,6 +124,7 @@ sub readManifest {
132
124
elsif (/^\s*BaseHash:\s*(\S+)\s*$/) { $baseHash = $1; }
133
125
elsif (/^\s*Type:\s*(\S+)\s*$/) { $patchType = $1; }
134
126
elsif (/^\s*NarHash:\s*(\S+)\s*$/) { $narHash = $1; }
127
+ elsif (/^\s*NarSize:\s*(\d+)\s*$/) { $narSize = $1; }
135
128
elsif (/^\s*References:\s*(.*)\s*$/) { $references = $1; }
136
129
elsif (/^\s*Deriver:\s*(\S+)\s*$/) { $deriver = $1; }
137
130
elsif (/^\s*ManifestVersion:\s*(\d+)\s*$/) { $manifestVersion = $1; }
@@ -183,8 +176,9 @@ sub writeManifest {
183
176
print MANIFEST " StorePath: $storePath\n";
184
177
print MANIFEST " NarURL: $patch->{url}\n";
185
178
print MANIFEST " Hash: $patch->{hash}\n";
186
- print MANIFEST " NarHash: $patch->{narHash}\n";
187
179
print MANIFEST " Size: $patch->{size}\n";
180
+ print MANIFEST " NarHash: $patch->{narHash}\n";
181
+ print MANIFEST " NarSize: $patch->{narSize}\n" if $patch->{narSize};
188
182
print MANIFEST " BasePath: $patch->{basePath}\n";
189
183
print MANIFEST " BaseHash: $patch->{baseHash}\n";
190
184
print MANIFEST " Type: $patch->{patchType}\n";
0 commit comments