7453
((3) 0 () 11 ((q lib "pkg/db.rkt") (q lib "pkg/lib.rkt") (q lib "pkg/path.rkt") (q lib "pkg/main.rkt") (q 23711 . 14) (q 27344 . 10) (q lib "pkg/strip.rkt") (q 24320 . 2) (q lib "pkg/name.rkt") (q 24436 . 3) (q 24361 . 3)) () (h ! (equal) ((c def c (c (? . 2) q struct:pkg-info/alt)) c (? . 10)) ((c def c (c (? . 3) q pkg-new-command)) q (1063 . 2)) ((c form c (c (? . 1) q with-pkg-lock/read-only)) q (1521 . 2)) ((c def c (c (? . 0) q set-pkg-dependencies!)) q (29773 . 9)) ((c def c (c (? . 0) q pkg?)) c (? . 5)) ((c def c (c (? . 1) q pkg-stage)) q (5034 . 21)) ((c def c (c (? . 2) q pkg-info-checksum)) c (? . 4)) ((c def c (c (? . 1) q installed-pkg-names)) q (3849 . 4)) ((c def c (c (? . 1) q get-all-pkg-names-from-catalogs)) q (20468 . 2)) ((c def c (c (? . 1) q pkg-new)) q (13108 . 3)) ((c def c (c (? . 3) q pkg-update-command)) q (940 . 2)) ((c def c (c (? . 1) q current-pkg-catalogs)) q (2159 . 4)) ((c def c (c (? . 2) q path->pkg+subpath+scope)) q (24884 . 8)) ((c def c (c (? . 1) q pkg-migrate)) q (13908 . 28)) ((c def c (c (? . 0) q call-with-pkgs-transaction)) q (27736 . 3)) ((c def c (c (? . 1) q pkg-install)) q (7461 . 46)) ((c def c (c (? . 2) q struct:sc-pkg-info)) c (? . 7)) ((c def c (c (? . 3) q pkg-catalog-archive-command)) q (1351 . 2)) ((c def c (c (? . 2) q pkg-info-orig-pkg)) c (? . 4)) ((c def c (c (? . 0) q get-pkgs-without-modules)) q (30625 . 3)) ((c def c (c (? . 8) q package-source-format?)) q (26277 . 3)) ((c def c (c (? . 2) q path->pkg+subpath+collect)) q (25205 . 8)) ((c def c (c (? . 0) q set-pkg!)) q (28420 . 16)) ((c def c (c (? . 0) q pkg-catalog)) c (? . 5)) ((c def c (c (? . 0) q pkg-name)) c (? . 5)) ((c def c (c (? . 2) q read-pkg-file-hash)) q (26210 . 3)) ((c def c (c (? . 3) q pkg-uninstall-command)) q (980 . 2)) ((c def c (c (? . 1) q pkg-single-collection)) q (20743 . 8)) ((c def c (c (? . 2) q path->pkg+subpath)) q (24683 . 5)) ((c def c (c (? . 1) q current-pkg-network-timeout)) q (3392 . 4)) ((c def c (c (? . 2) q path->pkg)) q (24517 . 4)) ((c def c (c (? . 2) q pkg-info?)) c (? . 4)) ((c def c (c (? . 1) q get-pkg-content)) q (21081 . 17)) ((c def c (c (? . 0) q set-pkg-modules!)) q (30234 . 9)) ((c form c (c (? . 1) q with-pkg-lock)) q (1486 . 2)) ((c def c (c (? . 2) q sc-pkg-info/alt?)) c (? . 9)) ((c def c (c (? . 3) q pkg-empty-trash-command)) q (1441 . 2)) ((c def c (c (? . 1) q pkg-catalog-update-local)) q (19375 . 13)) ((c def c (c (? . 6) q generate-stripped-directory)) q (0 . 7)) ((c def c (c (? . 3) q pkg-archive-command)) q (1400 . 2)) ((c def c (c (? . 1) q pkg-desc)) q (4258 . 17)) ((c def c (c (? . 1) q pkg-catalog-suggestions-for-module)) q (20063 . 7)) ((c def c (c (? . 1) q pkg-directory->additional-installs)) q (22517 . 14)) ((c def c (c (? . 0) q get-pkgs)) q (27943 . 4)) ((c def c (c (? . 0) q struct:pkg)) c (? . 5)) ((c def c (c (? . 1) q current-pkg-network-retries)) q (3237 . 4)) ((c def c (c (? . 0) q pkg-author)) c (? . 5)) ((c def c (c (? . 0) q set-pkg-tags!)) q (29189 . 5)) ((c def c (c (? . 2) q pkg-info)) c (? . 4)) ((c def c (c (? . 0) q get-pkg-tags)) q (29081 . 4)) ((c def c (c (? . 0) q pkg)) c (? . 5)) ((c def c (c (? . 2) q get-pkgs-dir)) q (25846 . 5)) ((c def c (c (? . 2) q struct:pkg-info)) c (? . 4)) ((c def c (c (? . 1) q pkg-create)) q (6511 . 18)) ((c def c (c (? . 0) q set-pkg-ring!)) q (29469 . 5)) ((c def c (c (? . 1) q pkg-archive-pkgs)) q (18355 . 17)) ((c def c (c (? . 2) q read-pkgs-db)) q (26046 . 4)) ((c def c (c (? . 1) q pkg-directory)) q (3547 . 4)) ((q def ((lib "pkg/dirs-catalog.rkt") create-dirs-catalog)) q (30747 . 15)) ((c def c (c (? . 1) q extract-pkg-dependencies)) q (21737 . 10)) ((c def c (c (? . 1) q pkg-config-catalogs)) q (2312 . 2)) ((c def c (c (? . 1) q pkg-empty-trash)) q (19200 . 5)) ((c def c (c (? . 2) q pkg-info-auto?)) c (? . 4)) ((c def c (c (? . 1) q pkg-show)) q (13173 . 17)) ((c def c (c (? . 6) q fixup-local-redirect-reference)) q (610 . 5)) ((c def c (c (? . 3) q pkg-catalog-copy-command)) q (1305 . 2)) ((c def c (c (? . 1) q pkg-remove)) q (12206 . 21)) ((c def c (c (? . 0) q get-pkg-modules)) q (30083 . 5)) ((c def c (c (? . 3) q pkg-remove-command)) q (1023 . 2)) ((c def c (c (? . 0) q pkg-desc)) c (? . 5)) ((c def c (c (? . 1) q current-pkg-scope)) q (1566 . 6)) ((c def c (c (? . 0) q pkg-checksum)) c (? . 5)) ((c def c (c (? . 1) q get-pkg-details-from-catalogs)) q (20631 . 4)) ((c def c (c (? . 1) q call-in-pkg-timeout-sandbox)) q (23459 . 6)) ((c def c (c (? . 2) q sc-pkg-info)) c (? . 7)) ((c def c (c (? . 3) q pkg-create-command)) q (1219 . 2)) ((c def c (c (? . 1) q pkg-desc?)) q (4203 . 3)) ((c def c (c (? . 0) q pkg-source)) c (? . 5)) ((c def c (c (? . 2) q sc-pkg-info?)) c (? . 7)) ((c def c (c (? . 0) q get-module-pkgs)) q (30531 . 3)) ((c def c (c (? . 3) q pkg-show-command)) q (1100 . 2)) ((c def c (c (? . 8) q package-source->name+type)) q (26497 . 14)) ((c def c (c (? . 1) q installed-pkg-table)) q (4020 . 5)) ((c def c (c (? . 2) q sc-pkg-info/alt-dir-name)) c (? . 9)) ((c def c (c (? . 1) q current-pkg-scope-version)) q (1830 . 4)) ((c def c (c (? . 1) q current-pkg-trash-max-seconds)) q (3078 . 4)) ((c def c (c (? . 1) q pkg-config-default-scope-scope)) q (23345 . 3)) ((c def c (c (? . 8) q package-source->path)) q (27196 . 4)) ((c def c (c (? . 1) q current-pkg-download-cache-max-files)) q (2577 . 4)) ((c def c (c (? . 3) q pkg-install-command)) q (899 . 2)) ((c def c (c (? . 1) q pkg-config)) q (6013 . 10)) ((c def c (c (? . 1) q current-pkg-trash-max-packages)) q (2915 . 4)) ((c def c (c (? . 1) q get-all-pkg-scopes)) q (20385 . 3)) ((c def c (c (? . 0) q get-pkg-dependencies)) q (29624 . 5)) ((c def c (c (? . 0) q get-pkg-ring)) q (29339 . 5)) ((c def c (c (? . 1) q current-pkg-download-cache-dir)) q (2367 . 5)) ((c def c (c (? . 1) q pkg-catalog-show)) q (15348 . 9)) ((c def c (c (? . 1) q pkg-catalog-copy)) q (15716 . 16)) ((c def c (c (? . 3) q pkg-config-command)) q (1179 . 2)) ((c def c (c (? . 2) q sc-pkg-info/alt)) c (? . 9)) ((c def c (c (? . 0) q make-pkg)) c (? . 5)) ((c def c (c (? . 2) q pkg-info/alt)) c (? . 10)) ((c def c (c (? . 3) q pkg-catalog-show-command)) q (1259 . 2)) ((c def c (c (? . 1) q default-pkg-scope)) q (3717 . 3)) ((c def c (c (? . 1) q pkg-catalog-archive)) q (16423 . 33)) ((c def c (c (? . 0) q set-pkgs!)) q (28103 . 8)) ((c def c (c (? . 0) q current-pkg-catalog-file)) q (27611 . 4)) ((c def c (c (? . 1) q pkg-migrate-available-versions)) q (15282 . 2)) ((c def c (c (? . 1) q pkg-directory->module-paths)) q (22200 . 8)) ((c def c (c (? . 0) q set-catalogs!)) q (27861 . 3)) ((c def c (c (? . 1) q current-pkg-error)) q (2054 . 4)) ((c def c (c (? . 2) q struct:sc-pkg-info/alt)) c (? . 9)) ((c def c (c (? . 2) q pkg-info/alt-dir-name)) c (? . 10)) ((c def c (c (? . 6) q strip-binary-compile-info)) q (775 . 4)) ((c def c (c (? . 0) q get-catalogs)) q (27813 . 2)) ((c def c (c (? . 2) q pkg-info/alt?)) c (? . 10)) ((c def c (c (? . 1) q current-pkg-lookup-version)) q (1941 . 4)) ((c def c (c (? . 3) q pkg-migrate-command)) q (1138 . 2)) ((c def c (c (? . 8) q package-source->name)) q (26345 . 4)) ((c def c (c (? . 2) q path->pkg+subpath+collect+scope)) q (25485 . 9)) ((c def c (c (? . 6) q check-strip-compatible)) q (279 . 9)) ((c def c (c (? . 1) q pkg-update)) q (9841 . 46)) ((c def c (c (? . 1) q get-all-pkg-details-from-catalogs)) q (20535 . 3)) ((c def c (c (? . 1) q current-pkg-download-cache-max-bytes)) q (2746 . 4))))
procedure
(generate-stripped-directory mode          
                             src-dir       
                             dest-dir) -> void?
  mode : (or/c 'source 'binary 'binary-lib 'built)
  src-dir : path-string?
  dest-dir : path-string?
procedure
(check-strip-compatible mode         
                        pkg-name     
                        dir          
                        error)   -> any
  mode : (or/c 'source 'binary 'binary-lib 'built)
  pkg-name : string?
  dir : path-string?
  error : (string? . -> . any)
procedure
(fixup-local-redirect-reference file         
                                js-path) -> void?
  file : path-string?
  js-path : string?
parameter
(strip-binary-compile-info) -> boolean?
(strip-binary-compile-info compile?) -> void?
  compile? : any/c
value
pkg-install-command : procedure?
value
pkg-update-command : procedure?
value
pkg-uninstall-command : procedure?
value
pkg-remove-command : procedure?
value
pkg-new-command : procedure?
value
pkg-show-command : procedure?
value
pkg-migrate-command : procedure?
value
pkg-config-command : procedure?
value
pkg-create-command : procedure?
value
pkg-catalog-show-command : procedure?
value
pkg-catalog-copy-command : procedure?
value
pkg-catalog-archive-command : procedure?
value
pkg-archive-command : procedure?
value
pkg-empty-trash-command : procedure?
syntax
(with-pkg-lock body ...+)
syntax
(with-pkg-lock/read-only body ...+)
parameter
(current-pkg-scope) -> (or/c 'installation 'user
                             (and/c path? complete-path?))
(current-pkg-scope scope) -> void?
  scope : (or/c 'installation 'user
                (and/c path? complete-path?))
parameter
(current-pkg-scope-version) -> string?
(current-pkg-scope-version s) -> void?
  s : string?
parameter
(current-pkg-lookup-version) -> string?
(current-pkg-lookup-version s) -> void?
  s : string?
parameter
(current-pkg-error) -> procedure?
(current-pkg-error err) -> void?
  err : procedure?
parameter
(current-pkg-catalogs) -> (or/c #f (listof url?))
(current-pkg-catalogs catalogs) -> void?
  catalogs : (or/c #f (listof url?))
procedure
(pkg-config-catalogs) -> (listof string?)
parameter
(current-pkg-download-cache-dir)
 -> (or/c #f (and/c path-string? complete-path?))
(current-pkg-download-cache-dir dir) -> void?
  dir : (or/c #f (and/c path-string? complete-path?))
parameter
(current-pkg-download-cache-max-files) -> (or/c #f real?)
(current-pkg-download-cache-max-files max-files) -> void?
  max-files : (or/c #f real?)
parameter
(current-pkg-download-cache-max-bytes) -> (or/c #f real?)
(current-pkg-download-cache-max-bytes max-bytes) -> void?
  max-bytes : (or/c #f real?)
parameter
(current-pkg-trash-max-packages) -> (or/c #f real?)
(current-pkg-trash-max-packages max-packages) -> void?
  max-packages : (or/c #f real?)
parameter
(current-pkg-trash-max-seconds) -> (or/c #f real?)
(current-pkg-trash-max-seconds max-seconds) -> void?
  max-seconds : (or/c #f real?)
parameter
(current-pkg-network-retries) -> (or/c #f real?)
(current-pkg-network-retries max-retries) -> void?
  max-retries : (or/c #f real?)
parameter
(current-pkg-network-timeout) -> (or/c #f real?)
(current-pkg-network-timeout max-seconds) -> void?
  max-seconds : (or/c #f real?)
procedure
(pkg-directory name [#:cache cache]) -> (or/c path-string? #f)
  name : string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(default-pkg-scope) -> (or/c 'installation 'user
                              (and/c path? complete-path?))
procedure
(installed-pkg-names #:scope scope) -> (listof string?)
  scope : (or/c #f 'installation 'user
                (and/c path? complete-path?))
procedure
(installed-pkg-table #:scope scope)
 -> (hash/c string? pkg-info?)
  scope : (or/c #f 'installation 'user
                (and/c path? complete-path?))
procedure
(pkg-desc? v) -> boolean?
  v : any/c
procedure
(pkg-desc  source                                
           type                                  
           name                                  
           checksum                              
           auto?                                 
          [#:path path                           
           #:adjacent-deps? adjacent-deps?]) -> pkg-desc?
  source : string?
  type : (or/c #f 'name 'file 'dir 'link 'static-link
               'file-url 'dir-url 'git 'git-url 'github
               'clone 'attach)
  name : (or/c string? #f)
  checksum : (or/c string? #f)
  auto? : boolean?
  path : (or/c #f path-string?) = #f
  adjacent-deps? : boolean = #f
procedure
(pkg-stage  desc                            
           [#:checksum checksum             
            #:in-place? in-place?           
            #:namespace namespace           
            #:strip strip                   
            #:force-strip? force-strip?     
            #:use-cache? use-cache?         
            #:quiet? quiet?])           -> string?
                                           path?
                                           (or/c #f string?)
                                           boolean?
                                           (set/c module-path?)
  desc : pkg-desc?
  checksum : (or/c #f string?) = #f
  in-place? : boolean? = #f
  namespace : namespace? = (make-base-namespace)
  strip : (or/c #f 'source 'binary 'binary-lib) = #f
  force-strip? : boolean? = #f
  use-cache? : boolean? = #f
  quiet? : boolean? = #t
procedure
(pkg-config  set?                                            
             keys/vals                                       
            [#:from-command-line? from-command-line?         
             #:default-scope-scope default-scope-scope]) -> void?
  set? : boolean?
  keys/vals : list?
  from-command-line? : boolean? = #f
  default-scope-scope : (or/c #f 'installation 'user (and/c path? complete-path?))
                      = #f
procedure
(pkg-create  format                                        
             dir                                           
             #:dest dest-dir                               
            [#:source source                               
             #:mode mode                                   
             #:original original-source                    
             #:quiet? quiet?                               
             #:from-command-line? from-command-line?]) -> void?
  format : (or/c 'zip 'tgz 'plt 'dir 'MANIFEST)
  dir : path-string?
  dest-dir : (or/c (and/c path-string? complete-path?) #f)
  source : (or/c 'dir 'name) = 'dir
  mode : (or/c 'as-is 'source 'binary 'binary-lib 'built)
       = 'as-is
  original-source : (or/c string? #f) = #f
  quiet? : boolean? = #f
  from-command-line? : boolean? = #f
procedure
(pkg-install  descs                                         
             [#:dep-behavior dep-behavior                   
              #:update-deps? update-deps?                   
              #:update-implies? update-implies?             
              #:force? force?                               
              #:ignore-checksums? ignore-checksums?         
              #:strict-doc-conflicts? strict-doc-conflicts? 
              #:use-cache? use-cache?                       
              #:skip-installed? skip-installed?             
              #:skip-auto-installed? skip-auto-installed?   
              #:quiet? quiet?                               
              #:use-trash? use-trash?                       
              #:from-command-line? from-command-line?       
              #:strip strip                                 
              #:force-strip? force-strip?                   
              #:multi-clone-mode multi-clone-mode           
              #:pull-mode pull-mode                         
              #:link-dirs? link-dirs?                       
              #:dry-run? dry-run?                           
              #:destdir destdir])                           
 -> (or/c 'skip
          #f
          (listof (or/c path-string?
                        (non-empty-listof path-string?))))
  descs : (listof pkg-desc?)
  dep-behavior : (or/c #f 'fail 'force 'search-ask 'search-auto)
               = #f
  update-deps? : boolean? = #f
  update-implies? : boolean? = #t
  force? : boolean? = #f
  ignore-checksums? : boolean? = #f
  strict-doc-conflicts? : boolean? = #f
  use-cache? : boolean? = #t
  skip-installed? : boolean? = #f
  skip-auto-installed? : boolean? = #f
  quiet? : boolean? = #f
  use-trash? : boolean? = #f
  from-command-line? : boolean? = #f
  strip : (or/c #f 'source 'binary 'binary-lib) = #f
  force-strip? : boolean? = #f
  multi-clone-mode : (or/c 'fail 'force 'convert 'ask) = 'fail
  pull-mode : (or/c 'ff-only 'try 'rebase) = 'ff-only
  link-dirs? : boolean? = #f
  dry-run? : boolean? = #f
  destdir : (or/c #f path-string?) = #f
procedure
(pkg-update  sources                                       
            [#:all? all?                                   
             #:dep-behavior dep-behavior                   
             #:update-deps? update-deps?                   
             #:force? force?                               
             #:ignore-checksums? ignore-checksums?         
             #:strict-doc-conflicts? strict-doc-conflicts? 
             #:use-cache? use-cache?                       
             #:skip-uninstalled? skip-uninstalled?         
             #:quiet? quiet?                               
             #:use-trash? use-trash?                       
             #:from-command-line? from-command-line?       
             #:strip strip                                 
             #:force-strip? force-strip?                   
             #:lookup-for-clone? lookup-for-clone?         
             #:multi-clone-mode multi-clone-mode           
             #:pull-mode pull-mode                         
             #:link-dirs? link-dirs?                       
             #:infer-clone-from-dir? infer-clone-from-dir? 
             #:dry-run? dry-run?])                         
 -> (or/c 'skip
          #f
          (listof (or/c path-string?
                        (non-empty-listof path-string?))))
  sources : (listof (or/c string? pkg-desc?))
  all? : boolean? = #f
  dep-behavior : (or/c #f 'fail 'force 'search-ask 'search-auto)
               = #f
  update-deps? : boolean? = #f
  force? : boolean? = #f
  ignore-checksums? : boolean? = #f
  strict-doc-conflicts? : boolean? = #f
  use-cache? : boolean? = #t
  skip-uninstalled? : boolean? = #t
  quiet? : boolean? = #f
  use-trash? : boolean? = #f
  from-command-line? : boolean? = #f
  strip : (or/c #f 'source 'binary 'binary-lib) = #f
  force-strip? : boolean? = #f
  lookup-for-clone? : boolean? = #f
  multi-clone-mode : (or/c 'fail 'force 'convert 'ask) = 'fail
  pull-mode : (or/c 'ff-only 'try 'rebase) = 'ff-only
  link-dirs? : boolean? = #f
  infer-clone-from-dir? : boolean? = #f
  dry-run? : boolean? = #f
procedure
(pkg-remove  names                                   
            [#:demote? demote?                       
             #:auto? auto?                           
             #:force? force?                         
             #:quiet? quiet?                         
             #:use-trash? boolean?                   
             #:from-command-line? from-command-line? 
             #:dry-run? dry-run?])                   
 -> (or/c 'skip
          #f
          (listof (or/c path-string?
                        (non-empty-listof path-string?))))
  names : (listof string?)
  demote? : boolean? = #f
  auto? : boolean? = #f
  force? : boolean? = #f
  quiet? : boolean? = #f
  boolean? : use-trash? = #f
  from-command-line? : boolean? = #f
  dry-run? : boolean? = #f
procedure
(pkg-new name) -> (void?)
  name : path-string?
procedure
(pkg-show  indent                              
           pkgs-or-patterns                    
          [#:prefix-line prefix-line           
           #:auto? auto?                       
           #:rx? rx?                           
           #:long? long?                       
           #:full-checksum? full-checksum?     
           #:directory show-dir?])         -> void?
  indent : string?
  pkgs-or-patterns : (or/c #f (listof string?))
  prefix-line : (or/c #f string?) = #f
  auto? : boolean? = #f
  rx? : boolean? = #f
  long? : boolean? = #f
  full-checksum? : boolean? = #f
  show-dir? : boolean? = #f
procedure
(pkg-migrate  from-version                                  
             [#:dep-behavior dep-behavior                   
              #:force? force?                               
              #:use-cache? use-cache?                       
              #:ignore-checksums? ignore-checksums?         
              #:strict-doc-conflicts? strict-doc-conflicts? 
              #:quiet? quiet?                               
              #:from-command-line? from-command-line?       
              #:strip strip                                 
              #:force-strip? force-strip?                   
              #:dry-run? dry-run?])                         
 -> (or/c 'skip
          #f
          (listof (or/c path-string?
                        (non-empty-listof path-string?))))
  from-version : string?
  dep-behavior : (or/c #f 'fail 'force 'search-ask 'search-auto)
               = #f
  force? : boolean? = #f
  use-cache? : boolean? = #t
  ignore-checksums? : boolean? = #f
  strict-doc-conflicts? : boolean? = #f
  quiet? : boolean? = #f
  from-command-line? : boolean? = #f
  strip : (or/c #f 'source 'binary 'binary-lib) = #f
  force-strip? : boolean? = #f
  dry-run? : boolean? = #f
procedure
(pkg-migrate-available-versions) -> (listof string?)
procedure
(pkg-catalog-show  names                         
                  [#:all? all?                   
                   #:only-names? only-names?     
                   #:modules? modules?])     -> void?
  names : (listof string?)
  all? : boolean? = #f
  only-names? : boolean? = #f
  modules? : boolean? = #f
procedure
(pkg-catalog-copy  sources                                 
                   dest                                    
                  [#:from-config? from-config?             
                   #:merge? merge?                         
                   #:force? force?                         
                   #:override? override?                   
                   #:relative-sources? relative-sources?]) 
 -> void?
  sources : (listof path-string?)
  dest : path-string?
  from-config? : boolean? = #f
  merge? : boolean? = #f
  force? : boolean? = #f
  override? : boolean? = #f
  relative-sources? : boolean? = #f
procedure
(pkg-catalog-archive                                                      
                      dest-dir                                            
                      sources                                             
                     [#:from-config? from-config?                         
                      #:state-catalog state-catalog                       
                      #:relative-sources? relative-sources?               
                      #:include includes                                  
                      #:include-deps? include-deps?                       
                      #:include-deps-sys+subtype include-deps-sys+subtype 
                      #:exclude excludes                                  
                      #:mode mode                                         
                      #:fast-file-copy? fast-file-copy?                   
                      #:quiet? quiet?                                     
                      #:package-exn-handler package-exn-handler])         
 -> void?
  dest-dir : path-string?
  sources : (listof path-string?)
  from-config? : boolean? = #f
  state-catalog : (or/c #f path-string?) = #f
  relative-sources? : boolean? = #f
  includes : (or/c #f (listof string?)) = #f
  include-deps? : boolean? = #f
  include-deps-sys+subtype : (or/c #f (cons/c symbol?
                                              path-for-some-system?))
                           = #f
  excludes : (listof string?) = '()
  mode : (or/c 'as-is 'source 'binary 'binary-lib 'built)
       = 'as-is
  fast-file-copy? : boolean? = #f
  quiet? : boolean? = #f
  package-exn-handler : (string? exn:fail? . -> . any)
                      = (lambda (pkg-name exn) (raise exn))
procedure
(pkg-archive-pkgs  dest-dir                                    
                   pkgs                                        
                  [#:include-deps? include-deps?               
                   #:exclude exclude                           
                   #:relative-sources? relative-sources?       
                   #:quiet? quiet?                             
                   #:package-exn-handler package-exn-handler]) 
 -> void?
  dest-dir : path-string?
  pkgs : (listof path-string?)
  include-deps? : boolean? = #f
  exclude : (listof string?) = null
  relative-sources? : boolean? = #f
  quiet? : boolean? = #f
  package-exn-handler : (string? exn:fail? . -> . any)
                      = (lambda (pkg-name exn) (raise exn))
procedure
(pkg-empty-trash [#:list? show-list?     
                  #:quiet? quiet?])  -> void?
  show-list? : boolean? = #f
  quiet? : boolean? = #t
procedure
(pkg-catalog-update-local                                          
                          [#:catalogs catalogs                     
                           #:catalog-file catalog-file             
                           #:quiet? quiet?                         
                           #:set-catalogs? set-catalogs?           
                           #:consult-packages? consult-packages?]) 
 -> void?
  catalogs : (listof string?) = (pkg-config-catalogs)
  catalog-file : path-string? = (current-pkg-catalog-file)
  quiet? : boolean? = #f
  set-catalogs? : boolean? = #t
  consult-packages? : boolean? = #f
procedure
(pkg-catalog-suggestions-for-module                                
                                     module-path                   
                                    [#:catalog-file catalog-file]) 
 -> (listof string?)
  module-path : module-path?
  catalog-file : path-string? = ....
procedure
(get-all-pkg-scopes)
 -> (listof (or/c 'installation 'user path?))
procedure
(get-all-pkg-names-from-catalogs) -> (listof string?)
procedure
(get-all-pkg-details-from-catalogs)
 -> (hash/c string? (hash/c symbol? any/c))
procedure
(get-pkg-details-from-catalogs name)
 -> (or/c #f (hash/c symbol? any/c))
  name : string?
procedure
(pkg-single-collection  dir                     
                       [#:name name             
                        #:namespace namespace]) 
 -> (or/c #f string?)
  dir : path-string?
  name : string? = (elem "... from "(racket dir)" ...")
  namespace : namespace? = (make-base-namespapce)
procedure
(get-pkg-content  desc                        
                 [#:extract-info extract-proc 
                  #:namespace namespace       
                  #:use-cache? use-cache?     
                  #:quiet? quiet?])           
 -> (or/c #f string?)
    (listof module-path?)
    any/c
  desc : pkg-desc?
  extract-proc : ((or/c #f
                        ((symbol?) ((-> any)) . ->* . any))
                  . -> . any)
               = (lambda (get-pkg-info) ...)
  namespace : namespace? = (make-base-namespace)
  use-cache? : boolean? = #f
  quiet? : boolean? = #t
procedure
(extract-pkg-dependencies  info                      
                          [#:build-deps? build-deps? 
                           #:filter? filter?         
                           #:versions? versions?])   
 -> (listof (or/c string? (cons/c string? list?)))
  info : (or/c #f (symbol? (-> any/c) . -> . any/c))
  build-deps? : boolean? = #t
  filter? : boolean? = #f
  versions? : boolean? = #f
procedure
(pkg-directory->module-paths  dir                     
                              pkg-name                
                             [#:namespace namespace]) 
 -> (listof module-path?)
  dir : path-string?
  pkg-name : string
  namespace : namespace? = (make-base-namespace)
procedure
(pkg-directory->additional-installs                                             
                                     dir                                        
                                     pkg-name                                   
                                    [#:namespace namespace                      
                                     #:system-type sys-type                     
                                     #:system-library-subpath sys-lib-subpath]) 
 -> (listof (cons/c symbol? string?))
  dir : path-string?
  pkg-name : string
  namespace : namespace? = (make-base-namespace)
  sys-type : (or/c #f symbol?) = (system-type)
  sys-lib-subpath : (or/c #f path-for-some-system?)
                  = (system-library-subpath #f)
procedure
(pkg-config-default-scope-scope)
 -> (or/c #f 'user 'installation (and/c path? complete-path?))
procedure
(call-in-pkg-timeout-sandbox  thunk                     
                             [#:make-exn make-exn]) -> any
  thunk : (-> any)
  make-exn : exn:fail
           = (string? continuation-mark-set? . -> . any/c)
struct
(struct pkg-info (orig-pkg checksum auto?)
    #:prefab)
  orig-pkg : (or/c (list/c 'catalog string?)
                   (list/c 'catalog string? string?)
                   (list/c 'url string?)
                   (list/c 'git string?)
                   (list/c 'file string?)
                   (list/c 'dir string?)
                   (list/c 'link string?)
                   (list/c 'static-link string?)
                   (list/c 'clone string? string?))
  checksum : (or/c #f string?)
  auto? : boolean?
struct
(struct sc-pkg-info pkg-info ())
struct
(struct pkg-info/alt pkg-info (dir-name))
  dir-name : string?
struct
(struct sc-pkg-info/alt sc-pkg-info (dir-name))
  dir-name : string?
procedure
(path->pkg path [#:cache cache]) -> (or/c string? #f)
  path : path-string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(path->pkg+subpath path [#:cache cache])
 -> (or/c string? #f) (or/c path? 'same #f)
  path : path-string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(path->pkg+subpath+scope  path            
                         [#:cache cache]) 
 -> (or/c string? #f)
    (or/c path? 'same #f)
    (or/c 'installation 'user (and/c path? complete-path?) #f)
  path : path-string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(path->pkg+subpath+collect  path            
                           [#:cache cache]) 
 -> (or/c string? #f)
    (or/c path? 'same #f)
    (or/c string? #f)
  path : path-string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(path->pkg+subpath+collect+scope  path            
                                 [#:cache cache]) 
 -> (or/c string? #f)
    (or/c path? 'same #f)
    (or/c string? #f)
    (or/c 'installation 'user (and/c path? complete-path?) #f)
  path : path-string?
  cache : (or/c #f (and/c hash? (not/c immutable?))) = #f
procedure
(get-pkgs-dir scope [user-version]) -> path?
  scope : (or/c 'installation 'user
                 (and/c path? complete-path?))
  user-version : string? = (version)
procedure
(read-pkgs-db scope) -> (hash/c string? pkg-info?)
  scope : (or/c 'installation 'user
                 (and/c path? complete-path?))
procedure
(read-pkg-file-hash path) -> hash?
  path : path?
procedure
(package-source-format? v) -> boolean?
  v : any/c
procedure
(package-source->name source [type]) -> (or/c #f string?)
  source : string?
  type : (or/c package-source-format? #f) = #f
procedure
(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?
procedure
(package-source->path source [type]) -> path?
  source : string?
  type : (or/c #f 'file 'dir 'link 'static-link) = #f
struct
(struct pkg (name catalog author source checksum desc)
    #:extra-constructor-name make-pkg
    #:transparent)
  name : string?
  catalog : string?
  author : string?
  source : string?
  checksum : string?
  desc : string?
parameter
(current-pkg-catalog-file) -> path-string?
(current-pkg-catalog-file file) -> void?
  file : path-string?
procedure
(call-with-pkgs-transaction proc) -> any
  proc : (-> any)
procedure
(get-catalogs) -> (listof string?)
procedure
(set-catalogs! catalogs) -> void?
  catalogs : (listof string?)
procedure
(get-pkgs [#:name name #:catalog catalog]) -> (listof pkg?)
  name : (or/c #f string?) = #f
  catalog : (or/c #f string?) = #f
procedure
(set-pkgs! catalog                                          
           pkgs                                             
           #:clear-other-checksums? clear-other-checksums?) 
 -> void?
  catalog : string?
  pkgs : (listof (or/c string? pkg?))
  clear-other-checksums? : #t
procedure
(set-pkg! name                                             
          catalog                                          
          author                                           
          source                                           
          checksum                                         
          desc                                             
          #:clear-other-checksums? clear-other-checksums?) 
 -> void?
  name : string?
  catalog : string?
  author : string?
  source : string?
  checksum : string?
  desc : string?
  clear-other-checksums? : (not (equal? checksum ""))
procedure
(get-pkg-tags name catalog) -> (listof string?)
  name : string?
  catalog : string?
procedure
(set-pkg-tags! name catalog module-paths) -> void?
  name : string?
  catalog : string?
  module-paths : (listof string?)
procedure
(get-pkg-ring name catalog)
 -> (or/c #f exact-nonnegative-integer?)
  name : string?
  catalog : string?
procedure
(set-pkg-ring! name catalog ring) -> void?
  name : string?
  catalog : string?
  ring : (or/c #f exact-nonnegative-integer?)
procedure
(get-pkg-dependencies name catalog checksum) -> (listof list?)
  name : string?
  catalog : string?
  checksum : string?
procedure
(set-pkg-dependencies! name              
                       catalog           
                       checksum          
                       dependencies) -> void?
  name : string?
  catalog : string?
  checksum : string?
  dependencies : (listof any/c)
procedure
(get-pkg-modules name catalog checksum) -> (listof module-path?)
  name : string?
  catalog : string?
  checksum : string?
procedure
(set-pkg-modules! name              
                  catalog           
                  checksum          
                  module-paths) -> void?
  name : string?
  catalog : string?
  checksum : string?
  module-paths : (listof module-path?)
procedure
(get-module-pkgs module-path) -> (listof pkg?)
  module-path : module-path?
procedure
(get-pkgs-without-modules [#:catalog catalog]) -> (listof pkg?)
  catalog : (or/c #f string?) = #f
procedure
(create-dirs-catalog  catalog-path                          
                      dirs                                  
                     [#:immediate? immediate?               
                      #:link? link?                         
                      #:merge? merge?                       
                      #:check-metadata? check-metadata?     
                      #:status-printf status-printf])   -> void?
  catalog-path : path-string?
  dirs : (listof path-string?)
  immediate? : any/c = #f
  link? : any/c = #f
  merge? : any/c = #f
  check-metadata? : any/c = #f
  status-printf : (string? any/c ... -> void?) = void
