3 DEPEND
(require pmsf/depend) | package: pmsf-depend |
3.1 DEPEND structs
struct
(struct pdepflag (name operator default) #:extra-constructor-name make-pdepflag #:transparent) name : string? operator : (or/c #false '= '!= '? '!? '-) default : (or/c #false 'disabled 'enabled)
> (pdepflag "X" '? 'disabled) (pdepflag "X" '? 'disabled)
struct
(struct pdependency ( block constraint complete glob slot slotoperator flags) #:extra-constructor-name make-pdependency #:transparent) block : (or/c #false string?) constraint : (or/c #false string?) complete : pcomplete? glob : boolean? slot : (or/c #false pslot?) slotoperator : (or/c #false string?) flags : (listof pdepflag?)
> (pdependency #false #false (pcomplete "app-misc" (pfull "asd" #false)) #false #false #false '()) (pdependency #f #f (pcomplete "app-misc" (pfull "asd" #f)) #f #f #f '())
> (pdependency "!!" ">=" (pcomplete "app-misc" (pfull "asd" (pversion "1.2" '() '() '() '() '() 0))) #true (pslot "0" #false) "*" (list (pdepflag "X" '? 'disabled)))
(pdependency
"!!"
">="
(pcomplete "app-misc" (pfull "asd" (pversion "1.2" '() '() '() '() '() 0)))
#t
(pslot "0" #f)
"*"
(list (pdepflag "X" '? 'disabled)))
struct
(struct pdepend (dependencies) #:extra-constructor-name make-pdepend #:transparent) dependencies : (listof (or/c list? pcondition? pdependency?))
> (pdepend (list (pdependency #false #false (pcomplete "app-misc" (pfull "asd" #false)) #false #false #false '())))
(pdepend
(list
(pdependency #f #f (pcomplete "app-misc" (pfull "asd" #f)) #f #f #f '())))
3.2 DEPEND conversion
(require pmsf/depend/convert) | package: pmsf-depend |
procedure
(pdepend->string input-pdepend) → string?
input-pdepend : pdepend?
> (pdepend->string (pdepend (list (pdependency #false #false (pcomplete "app-misc" (pfull "asd" #false)) #false #false #false '())))) "app-misc/asd"
procedure
(port->pdepend input-port) → pdepend?
input-port : input-port?
procedure
(string->pdepend input-string) → pdepend?
input-string : string?
> (string->pdepend "app-misc/asd")
(pdepend
(list
(pdependency #f #f (pcomplete "app-misc" (pfull "asd" #f)) #f #f #f '())))
> (string->pdepend "asd? ( || ( app-misc/asd:= >=app-misc/dsa-1:1=[asd] ) )")
(pdepend
(list
(pcondition
"asd"
(list
(pcondition
'inclusive-or
(list
(pdependency #f #f (pcomplete "app-misc" (pfull "asd" #f)) #f #f "=" '())
(pdependency
#f
">="
(pcomplete
"app-misc"
(pfull "dsa" (pversion "1" '() '() '() '() '() 0)))
#f
(pslot "1" #f)
"="
(list (pdepflag "asd" #f #f)))))))))
3.3 DEPEND querying
(require pmsf/depend/query) | package: pmsf-depend |
procedure
(pdepend->dependencies input-pdepend) → (listof pdependency?)
input-pdepend : pdepend?
> (pdepend->dependencies (string->pdepend "asd? ( || ( app-misc/asd:= >=app-misc/dsa-1:1=[asd] ) )"))
(list
(pdependency #f #f (pcomplete "app-misc" (pfull "asd" #f)) #f #f "=" '())
(pdependency
#f
">="
(pcomplete "app-misc" (pfull "dsa" (pversion "1" '() '() '() '() '() 0)))
#f
(pslot "1" #f)
"="
(list (pdepflag "asd" #f #f))))