sig
type 'a selector =
Sel_LEQ of 'a
| Sel_GEQ of 'a
| Sel_LT of 'a
| Sel_GT of 'a
| Sel_EQ of 'a
| Sel_ANY
val map_selector : ('a -> 'b) -> 'a Napkin.selector -> 'b Napkin.selector
type ('a, 'b, 'c) versioned =
Unit_version of ('a * 'b Napkin.selector)
| Glob_pattern of 'c
type ('a, 'b, 'c, 'd, 'e, 'f) package = {
pk_unit : 'b;
pk_version : 'c;
pk_architecture : 'e;
pk_extra : 'a;
pk_size : int64;
pk_installed_size : int64;
pk_source : 'f;
pk_provides : ('b, 'c, 'd) Napkin.versioned list;
pk_conflicts : ('b, 'c, 'd) Napkin.versioned list;
pk_breaks : ('b, 'c, 'd) Napkin.versioned list;
pk_replaces : ('b, 'c, 'd) Napkin.versioned list;
pk_depends : ('b, 'c, 'd) Napkin.versioned list list;
pk_pre_depends : ('b, 'c, 'd) Napkin.versioned list list;
pk_suggests : ('b, 'c, 'd) Napkin.versioned list list;
pk_recommends : ('b, 'c, 'd) Napkin.versioned list list;
pk_enhances : ('b, 'c, 'd) Napkin.versioned list list;
pk_essential : bool;
pk_build_essential : bool;
}
type default_package =
(unit, string, string, string, string, string * string) Napkin.package
type package_with_files =
((string * string) list, string, string, string, string,
string * string)
Napkin.package
val map :
extra:('a -> 'b) ->
unit:('c -> 'd) ->
version:('e -> 'f) ->
glob:('g -> 'h) ->
architecture:('i -> 'j) ->
source:('k -> 'l) ->
('a, 'c, 'e, 'g, 'i, 'k) Napkin.package ->
('b, 'd, 'f, 'h, 'j, 'l) Napkin.package
val string_of_versioned :
(string, string, string) Napkin.versioned -> string
val name : ('a, 'b, 'c, 'd, 'e, 'f) Napkin.package -> 'b * 'c * 'e
type channel = Napkin.default_package Stream.t
val to_default_package :
('a, string, string, string, string, string * string) Napkin.package ->
Napkin.default_package
end