The 'link and 'static-link formats are the same as 'dir in terms of parsing, but they are treated differently for tasks such as package installation. The 'clone and 'git-url formats are similarly the same as 'github or 'git in terms of parsing.
Changed in version 184.108.40.206 of package base: Added 'git.
Changed in version 220.127.116.11: Added 'clone.
Changed in version 18.104.22.168: Added 'git-url.
source : string? type : (or/c package-source-format? #f) = #f
(package-source->name+type source [ type #:complain complain-proc #:must-infer-name? must-infer-name?] #:link-dirs? link-dir?)
(or/c #f string?) (or/c package-source-format? #f) source : string? type : (or/c package-source-format? #f) = #f complain-proc : (string? string? . -> . any) = void must-infer-name? : boolean? = #f link-dir? : boolean?
The complain-proc function is applied when source is ill-formed. The arguments to complain-proc are source and an error message.
If must-infer-name? is true, then complain-proc is called if a valid name cannot be inferred from source.
If link-dirs? is true, then a directory path is reported as type 'link instead of 'dir.
The package-source->path function is different from string->path in the case that source starts with file://. Also, if type is 'dir, 'link, or 'static-link, then path->directory-path is used to ensure that the result path refers to a directory.
Added in version 10.0.1.11 of package base.