let pp_package ?(source=false) pp fmt pkg =
let (p,v,fields) = pp pkg in
Format.fprintf fmt "package: %s@," p;
Format.fprintf fmt "version: %s" v;
List.iter (function
|(("source"|"sourcenumber"),_) -> ()
|(k,v) -> Format.fprintf fmt "@,%s: %s" k v
) fields;
if source then begin
try
let source = List.assoc "source" fields in
let sourceversion =
try "(= "^(List.assoc "sourcenumber" fields)^")"
with Not_found -> ""
in
Format.fprintf fmt "@,source: %s %s" source sourceversion
with Not_found -> ()
end