@@ -116,6 +116,8 @@ struct Target {
116116 available : bool ,
117117 url : Option < String > ,
118118 hash : Option < String > ,
119+ xz_url : Option < String > ,
120+ xz_hash : Option < String > ,
119121 components : Option < Vec < Component > > ,
120122 extensions : Option < Vec < Component > > ,
121123}
@@ -126,6 +128,8 @@ impl Target {
126128 available : false ,
127129 url : None ,
128130 hash : None ,
131+ xz_url : None ,
132+ xz_hash : None ,
129133 components : None ,
130134 extensions : None ,
131135 }
@@ -258,6 +262,8 @@ impl Builder {
258262 continue
259263 }
260264 } ;
265+ let xz_filename = filename. replace ( ".tar.gz" , ".tar.xz" ) ;
266+ let xz_digest = self . digests . remove ( & xz_filename) ;
261267 let mut components = Vec :: new ( ) ;
262268 let mut extensions = Vec :: new ( ) ;
263269
@@ -301,6 +307,8 @@ impl Builder {
301307 available : true ,
302308 url : Some ( self . url ( & filename) ) ,
303309 hash : Some ( digest) ,
310+ xz_url : xz_digest. as_ref ( ) . map ( |_| self . url ( & xz_filename) ) ,
311+ xz_hash : xz_digest,
304312 components : Some ( components) ,
305313 extensions : Some ( extensions) ,
306314 } ) ;
@@ -320,11 +328,15 @@ impl Builder {
320328 Some ( digest) => digest,
321329 None => return ( name. to_string ( ) , Target :: unavailable ( ) ) ,
322330 } ;
331+ let xz_filename = filename. replace ( ".tar.gz" , ".tar.xz" ) ;
332+ let xz_digest = self . digests . remove ( & xz_filename) ;
323333
324334 ( name. to_string ( ) , Target {
325335 available : true ,
326336 url : Some ( self . url ( & filename) ) ,
327337 hash : Some ( digest) ,
338+ xz_url : xz_digest. as_ref ( ) . map ( |_| self . url ( & xz_filename) ) ,
339+ xz_hash : xz_digest,
328340 components : None ,
329341 extensions : None ,
330342 } )
0 commit comments