From c738a6aa3eee89a82d577dd35c70eca8ed32f5b4 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 25 Jun 2013 22:17:38 +0200 Subject: [PATCH] a step toward single-collection packages as default A package's "info.rkt" file should define `collection' as a string to name a single-collection package's collection, or as the symbol 'multi to declare the package as multi-collection. If `collection' is 'same-as-pkg, then the package name is used as the collection name. The default for `collection' is 'multi for now, but the intent is to change the default to 'same-as-pkg after a conversion period. Also, support for a `single-collection' definition remains in place, but it wil be removed. --- pkgs/algol60/info.rkt | 2 +- pkgs/contract-profile/info.rkt | 2 +- pkgs/datalog/info.rkt | 2 +- pkgs/deinprogramm/info.rkt | 1 + pkgs/distro-build/info.rkt | 2 +- pkgs/draw-pkgs/draw-doc/info.rkt | 2 + pkgs/draw-pkgs/draw-lib/info.rkt | 2 + pkgs/draw-pkgs/draw/info.rkt | 2 + pkgs/drracket/info.rkt | 2 + pkgs/eopl/info.rkt | 2 +- pkgs/frtime/info.rkt | 2 +- .../future-visualizer-typed/info.rkt | 2 + .../future-visualizer/info.rkt | 2 + pkgs/games/info.rkt | 2 +- pkgs/gui-pkgs/gui-doc/info.rkt | 2 + pkgs/gui-pkgs/gui-lib/info.rkt | 2 + pkgs/gui-pkgs/gui/info.rkt | 2 + pkgs/honu/info.rkt | 2 +- pkgs/htdp/info.rkt | 2 + pkgs/html-pkgs/html-doc/info.rkt | 2 + pkgs/html-pkgs/html-lib/info.rkt | 2 + pkgs/html-pkgs/html/info.rkt | 2 + pkgs/icons/info.rkt | 2 +- pkgs/images/info.rkt | 2 +- pkgs/lazy/info.rkt | 2 +- .../macro-debugger-text-lib/info.rkt | 2 + .../macro-debugger/info.rkt | 2 + pkgs/make/info.rkt | 2 +- pkgs/math/info.rkt | 2 +- pkgs/mysterx/info.rkt | 2 +- pkgs/mzcom/info.rkt | 2 +- pkgs/mzscheme/info.rkt | 2 + .../parser-tools-doc/info.rkt | 2 + .../parser-tools-lib/info.rkt | 2 + pkgs/parser-tools-pkgs/parser-tools/info.rkt | 2 + pkgs/pict-pkgs/pict-doc/info.rkt | 2 + pkgs/pict-pkgs/pict-lib/info.rkt | 2 + pkgs/pict-pkgs/pict/info.rkt | 2 + pkgs/picturing-programs/info.rkt | 2 + pkgs/plai/info.rkt | 2 +- pkgs/plot/info.rkt | 2 +- pkgs/plt-services/info.rkt | 2 + pkgs/preprocessor/info.rkt | 2 +- pkgs/profile-pkgs/profile-doc/info.rkt | 2 + pkgs/profile-pkgs/profile-lib/info.rkt | 2 + pkgs/profile-pkgs/profile/info.rkt | 2 + pkgs/r5rs-pkgs/r5rs-doc/info.rkt | 2 + pkgs/r5rs-pkgs/r5rs-lib/info.rkt | 2 + pkgs/r5rs-pkgs/r5rs/info.rkt | 2 + pkgs/r6rs-pkgs/r6rs-doc/info.rkt | 2 + pkgs/r6rs-pkgs/r6rs-lib/info.rkt | 2 + pkgs/r6rs-pkgs/r6rs/info.rkt | 2 + pkgs/racket-pkgs/at-exp-lib/info.rkt | 2 + pkgs/racket-pkgs/racket-doc/info.rkt | 2 + .../racket-doc/pkg/scribblings/pkg.scrbl | 69 ++++++++++++++----- pkgs/racket-pkgs/racket-index/info.rkt | 2 + pkgs/racket-pkgs/racket-lib/info.rkt | 2 + pkgs/racket-pkgs/racket-test/info.rkt | 2 + pkgs/racklog/info.rkt | 2 +- pkgs/readline-pkgs/readline-doc/info.rkt | 2 + pkgs/readline-pkgs/readline-lib/info.rkt | 2 + pkgs/readline-pkgs/readline/info.rkt | 2 + pkgs/realm/info.rkt | 2 +- pkgs/redex/info.rkt | 2 +- pkgs/schemeunit/info.rkt | 2 +- pkgs/scribble-pkgs/scribble-doc/info.rkt | 2 + pkgs/scribble-pkgs/scribble-lib/info.rkt | 2 + pkgs/scribble-pkgs/scribble/info.rkt | 2 + pkgs/sgl/info.rkt | 2 +- pkgs/slatex/info.rkt | 2 +- pkgs/slideshow-pkgs/slideshow-doc/info.rkt | 2 + pkgs/slideshow-pkgs/slideshow-exe/info.rkt | 2 + pkgs/slideshow-pkgs/slideshow-lib/info.rkt | 2 + pkgs/slideshow-pkgs/slideshow/info.rkt | 2 + pkgs/snip-pkgs/snip-lib/info.rkt | 2 + pkgs/snip-pkgs/snip/info.rkt | 2 + pkgs/srfi-pkgs/srfi-doc/info.rkt | 2 + pkgs/srfi-pkgs/srfi-lib/info.rkt | 2 + pkgs/srfi-pkgs/srfi/info.rkt | 2 + pkgs/string-constants-lib/info.rkt | 2 + pkgs/swindle/info.rkt | 2 +- .../syntax-color-doc/info.rkt | 2 + .../syntax-color-lib/info.rkt | 2 + pkgs/syntax-color-pkgs/syntax-color/info.rkt | 2 + pkgs/trace/info.rkt | 2 +- pkgs/typed-racket-more/info.rkt | 2 + .../typed-racket-doc/info.rkt | 2 + .../typed-racket-lib/info.rkt | 2 + pkgs/typed-racket-pkgs/typed-racket/info.rkt | 2 + pkgs/unstable-latent-contract-lib/info.rkt | 2 + pkgs/unstable-list-lib/info.rkt | 2 + pkgs/unstable-parameter-group-lib/info.rkt | 2 + pkgs/unstable/info.rkt | 2 +- pkgs/web-server-pkgs/web-server-doc/info.rkt | 2 + pkgs/web-server-pkgs/web-server-lib/info.rkt | 2 + pkgs/web-server-pkgs/web-server/info.rkt | 2 + pkgs/wxme-pkgs/wxme-lib/info.rkt | 2 + pkgs/wxme-pkgs/wxme/info.rkt | 2 + pkgs/xrepl-pkgs/xrepl-doc/info.rkt | 2 + pkgs/xrepl-pkgs/xrepl-lib/info.rkt | 2 + pkgs/xrepl-pkgs/xrepl/info.rkt | 2 + racket/lib/collects/pkg/lib.rkt | 60 ++++++++++++---- 102 files changed, 272 insertions(+), 56 deletions(-) diff --git a/pkgs/algol60/info.rkt b/pkgs/algol60/info.rkt index 2a352f9eaa..cfb6ca6f95 100644 --- a/pkgs/algol60/info.rkt +++ b/pkgs/algol60/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "algol60") +(define collection "algol60") (define build-deps '("drracket")) (define tools '(("tool.rkt"))) diff --git a/pkgs/contract-profile/info.rkt b/pkgs/contract-profile/info.rkt index 76939b9e20..eba78ffcf4 100644 --- a/pkgs/contract-profile/info.rkt +++ b/pkgs/contract-profile/info.rkt @@ -1,3 +1,3 @@ #lang setup/infotab -(define single-collection "contract-profile") +(define collection "contract-profile") diff --git a/pkgs/datalog/info.rkt b/pkgs/datalog/info.rkt index 8b79842874..ef8a83031f 100644 --- a/pkgs/datalog/info.rkt +++ b/pkgs/datalog/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "datalog") +(define collection "datalog") (define scribblings '(["scribblings/datalog.scrbl" (multi-page) (language)])) diff --git a/pkgs/deinprogramm/info.rkt b/pkgs/deinprogramm/info.rkt index 312716b6c0..f0168ae40c 100644 --- a/pkgs/deinprogramm/info.rkt +++ b/pkgs/deinprogramm/info.rkt @@ -5,3 +5,4 @@ ;; We need a multi-collection package because ;; "deinprogramm/info.rkt" uses `string-constants' +(define collection 'multi) diff --git a/pkgs/distro-build/info.rkt b/pkgs/distro-build/info.rkt index 9eeeee3ae3..8eb290456a 100644 --- a/pkgs/distro-build/info.rkt +++ b/pkgs/distro-build/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "distro-build") +(define collection "distro-build") (define deps '("at-exp-lib" "web-server-lib" diff --git a/pkgs/draw-pkgs/draw-doc/info.rkt b/pkgs/draw-pkgs/draw-doc/info.rkt index 9e16840c2e..d51b066a79 100644 --- a/pkgs/draw-pkgs/draw-doc/info.rkt +++ b/pkgs/draw-pkgs/draw-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("draw-lib" "racket-doc")) diff --git a/pkgs/draw-pkgs/draw-lib/info.rkt b/pkgs/draw-pkgs/draw-lib/info.rkt index 3454b2bf14..afd814d128 100644 --- a/pkgs/draw-pkgs/draw-lib/info.rkt +++ b/pkgs/draw-pkgs/draw-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '(("draw-i386-macosx" #:platform "i386-macosx") ("draw-x86_64-macosx" #:platform "x86_64-macosx") diff --git a/pkgs/draw-pkgs/draw/info.rkt b/pkgs/draw-pkgs/draw/info.rkt index 97766657cb..1246d39a33 100644 --- a/pkgs/draw-pkgs/draw/info.rkt +++ b/pkgs/draw-pkgs/draw/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("draw-lib" "draw-doc")) diff --git a/pkgs/drracket/info.rkt b/pkgs/drracket/info.rkt index 176ee7f666..eb40c43b66 100644 --- a/pkgs/drracket/info.rkt +++ b/pkgs/drracket/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("gui-lib" "racket-index" "racket-doc" diff --git a/pkgs/eopl/info.rkt b/pkgs/eopl/info.rkt index 1f44a744bf..5552472eb2 100644 --- a/pkgs/eopl/info.rkt +++ b/pkgs/eopl/info.rkt @@ -1,5 +1,5 @@ #lang setup/infotab -(define single-collection "eopl") +(define collection "eopl") (define scribblings '(("eopl.scrbl" () (teaching -20)))) diff --git a/pkgs/frtime/info.rkt b/pkgs/frtime/info.rkt index 09bcbdac59..bc92d93a3d 100644 --- a/pkgs/frtime/info.rkt +++ b/pkgs/frtime/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "frtime") +(define collection "frtime") (define name "FrTime") diff --git a/pkgs/future-visualizer-pkgs/future-visualizer-typed/info.rkt b/pkgs/future-visualizer-pkgs/future-visualizer-typed/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/future-visualizer-pkgs/future-visualizer-typed/info.rkt +++ b/pkgs/future-visualizer-pkgs/future-visualizer-typed/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/future-visualizer-pkgs/future-visualizer/info.rkt b/pkgs/future-visualizer-pkgs/future-visualizer/info.rkt index 3145f1a2b4..d73b46f4a5 100644 --- a/pkgs/future-visualizer-pkgs/future-visualizer/info.rkt +++ b/pkgs/future-visualizer-pkgs/future-visualizer/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("gui-lib")) (define build-deps '("racket-doc")) diff --git a/pkgs/games/info.rkt b/pkgs/games/info.rkt index bb025a3670..0f557253b5 100644 --- a/pkgs/games/info.rkt +++ b/pkgs/games/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "games") +(define collection "games") (define scribblings '(("scribblings/games.scrbl" (multi-page) (gui-library)))) diff --git a/pkgs/gui-pkgs/gui-doc/info.rkt b/pkgs/gui-pkgs/gui-doc/info.rkt index 494e6d16c4..159e38c7aa 100644 --- a/pkgs/gui-pkgs/gui-doc/info.rkt +++ b/pkgs/gui-pkgs/gui-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("gui-lib" "racket-doc")) diff --git a/pkgs/gui-pkgs/gui-lib/info.rkt b/pkgs/gui-pkgs/gui-lib/info.rkt index 2cae670d90..6e6a2e789a 100644 --- a/pkgs/gui-pkgs/gui-lib/info.rkt +++ b/pkgs/gui-pkgs/gui-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("draw-lib" "snip-lib" "wxme-lib" diff --git a/pkgs/gui-pkgs/gui/info.rkt b/pkgs/gui-pkgs/gui/info.rkt index 190161bac7..e3367747b8 100644 --- a/pkgs/gui-pkgs/gui/info.rkt +++ b/pkgs/gui-pkgs/gui/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("gui-lib" "gui-doc")) diff --git a/pkgs/honu/info.rkt b/pkgs/honu/info.rkt index c0733fed54..6508723b86 100644 --- a/pkgs/honu/info.rkt +++ b/pkgs/honu/info.rkt @@ -1,3 +1,3 @@ #lang setup/infotab -(define single-collection "honu") +(define collection "honu") diff --git a/pkgs/htdp/info.rkt b/pkgs/htdp/info.rkt index 70e3b2254a..39ec5df438 100644 --- a/pkgs/htdp/info.rkt +++ b/pkgs/htdp/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("drracket" "deinprogramm")) diff --git a/pkgs/html-pkgs/html-doc/info.rkt b/pkgs/html-pkgs/html-doc/info.rkt index 0678fe7c7c..5b8f1e9ae7 100644 --- a/pkgs/html-pkgs/html-doc/info.rkt +++ b/pkgs/html-pkgs/html-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("html-lib" "racket-doc")) diff --git a/pkgs/html-pkgs/html-lib/info.rkt b/pkgs/html-pkgs/html-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/html-pkgs/html-lib/info.rkt +++ b/pkgs/html-pkgs/html-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/html-pkgs/html/info.rkt b/pkgs/html-pkgs/html/info.rkt index fb0fb3ed69..5576ec4c49 100644 --- a/pkgs/html-pkgs/html/info.rkt +++ b/pkgs/html-pkgs/html/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("html-lib" "html-doc")) diff --git a/pkgs/icons/info.rkt b/pkgs/icons/info.rkt index a94f687a0a..a9bd687b3c 100644 --- a/pkgs/icons/info.rkt +++ b/pkgs/icons/info.rkt @@ -1,3 +1,3 @@ #lang setup/infotab -(define single-collection "icons") +(define collection "icons") diff --git a/pkgs/images/info.rkt b/pkgs/images/info.rkt index 6e91cbd882..974236fc0c 100644 --- a/pkgs/images/info.rkt +++ b/pkgs/images/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "images") +(define collection "images") (define deps '("typed-racket-lib")) (define build-deps '("racket-doc" diff --git a/pkgs/lazy/info.rkt b/pkgs/lazy/info.rkt index 3ec1fc7375..704079d0ab 100644 --- a/pkgs/lazy/info.rkt +++ b/pkgs/lazy/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "lazy") +(define collection "lazy") (define scribblings '(("lazy.scrbl" () (experimental 50)))) diff --git a/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/info.rkt b/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/info.rkt +++ b/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/macro-debugger-pkgs/macro-debugger/info.rkt b/pkgs/macro-debugger-pkgs/macro-debugger/info.rkt index d335206c02..f6763716bd 100644 --- a/pkgs/macro-debugger-pkgs/macro-debugger/info.rkt +++ b/pkgs/macro-debugger-pkgs/macro-debugger/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("macro-debugger-text-lib")) (define build-deps '("racket-doc")) diff --git a/pkgs/make/info.rkt b/pkgs/make/info.rkt index 92864d440f..89c368cf0a 100644 --- a/pkgs/make/info.rkt +++ b/pkgs/make/info.rkt @@ -1,5 +1,5 @@ #lang setup/infotab -(define single-collection "make") +(define collection "make") (define scribblings '(("make.scrbl" (multi-page) (tool-library)))) diff --git a/pkgs/math/info.rkt b/pkgs/math/info.rkt index 723ea09ada..102ea5d05d 100644 --- a/pkgs/math/info.rkt +++ b/pkgs/math/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "math") +(define collection "math") (define scribblings '(["scribblings/math.scrbl" (multi-page)])) diff --git a/pkgs/mysterx/info.rkt b/pkgs/mysterx/info.rkt index f771d8811e..76f0eba971 100644 --- a/pkgs/mysterx/info.rkt +++ b/pkgs/mysterx/info.rkt @@ -1,5 +1,5 @@ #lang setup/infotab -(define single-collection "mysterx") +(define collection "mysterx") (define scribblings '(("scribblings/mysterx.scrbl" (multi-page) (legacy)))) diff --git a/pkgs/mzcom/info.rkt b/pkgs/mzcom/info.rkt index 71f9fddb6a..210caa8189 100644 --- a/pkgs/mzcom/info.rkt +++ b/pkgs/mzcom/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "mzcom") +(define collection "mzcom") (define post-install-collection "installer.rkt") diff --git a/pkgs/mzscheme/info.rkt b/pkgs/mzscheme/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/mzscheme/info.rkt +++ b/pkgs/mzscheme/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/parser-tools-pkgs/parser-tools-doc/info.rkt b/pkgs/parser-tools-pkgs/parser-tools-doc/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/parser-tools-pkgs/parser-tools-doc/info.rkt +++ b/pkgs/parser-tools-pkgs/parser-tools-doc/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/parser-tools-pkgs/parser-tools-lib/info.rkt b/pkgs/parser-tools-pkgs/parser-tools-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/parser-tools-pkgs/parser-tools-lib/info.rkt +++ b/pkgs/parser-tools-pkgs/parser-tools-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/parser-tools-pkgs/parser-tools/info.rkt b/pkgs/parser-tools-pkgs/parser-tools/info.rkt index e7a6ecbb76..f91c013871 100644 --- a/pkgs/parser-tools-pkgs/parser-tools/info.rkt +++ b/pkgs/parser-tools-pkgs/parser-tools/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("parser-tools-lib" "parser-tools-doc")) diff --git a/pkgs/pict-pkgs/pict-doc/info.rkt b/pkgs/pict-pkgs/pict-doc/info.rkt index 7dccafb036..9d7d7bc632 100644 --- a/pkgs/pict-pkgs/pict-doc/info.rkt +++ b/pkgs/pict-pkgs/pict-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("pict-lib" "racket-doc")) diff --git a/pkgs/pict-pkgs/pict-lib/info.rkt b/pkgs/pict-pkgs/pict-lib/info.rkt index 15e715bdf1..18ac5df726 100644 --- a/pkgs/pict-pkgs/pict-lib/info.rkt +++ b/pkgs/pict-pkgs/pict-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("draw-lib" "snip-lib")) diff --git a/pkgs/pict-pkgs/pict/info.rkt b/pkgs/pict-pkgs/pict/info.rkt index e6afb6e1e9..aa17082ce5 100644 --- a/pkgs/pict-pkgs/pict/info.rkt +++ b/pkgs/pict-pkgs/pict/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("pict-lib" "pict-doc")) diff --git a/pkgs/picturing-programs/info.rkt b/pkgs/picturing-programs/info.rkt index 2b4ce6369c..c8b98afca7 100644 --- a/pkgs/picturing-programs/info.rkt +++ b/pkgs/picturing-programs/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("htdp")) diff --git a/pkgs/plai/info.rkt b/pkgs/plai/info.rkt index cb9594f8cb..2c2682acdc 100644 --- a/pkgs/plai/info.rkt +++ b/pkgs/plai/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "plai") +(define collection "plai") (define blurb '("Language levels for the Programming Languages: Application and Interpretation textbook")) (define homepage "http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/") diff --git a/pkgs/plot/info.rkt b/pkgs/plot/info.rkt index 78ec562083..3b10f480dd 100644 --- a/pkgs/plot/info.rkt +++ b/pkgs/plot/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "plot") +(define collection "plot") (define scribblings '(["scribblings/plot.scrbl" (multi-page) (gui-library)])) diff --git a/pkgs/plt-services/info.rkt b/pkgs/plt-services/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/plt-services/info.rkt +++ b/pkgs/plt-services/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/preprocessor/info.rkt b/pkgs/preprocessor/info.rkt index bed23f0afc..da3a621953 100644 --- a/pkgs/preprocessor/info.rkt +++ b/pkgs/preprocessor/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "preprocessor") +(define collection "preprocessor") (define mzscheme-launcher-names '("mzpp" "mztext")) (define mzscheme-launcher-libraries '("mzpp-run.rkt" "mztext-run.rkt")) diff --git a/pkgs/profile-pkgs/profile-doc/info.rkt b/pkgs/profile-pkgs/profile-doc/info.rkt index 84638b4880..601cf982ed 100644 --- a/pkgs/profile-pkgs/profile-doc/info.rkt +++ b/pkgs/profile-pkgs/profile-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("profile-lib" "racket-doc")) diff --git a/pkgs/profile-pkgs/profile-lib/info.rkt b/pkgs/profile-pkgs/profile-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/profile-pkgs/profile-lib/info.rkt +++ b/pkgs/profile-pkgs/profile-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/profile-pkgs/profile/info.rkt b/pkgs/profile-pkgs/profile/info.rkt index 920b5004f7..96bd309500 100644 --- a/pkgs/profile-pkgs/profile/info.rkt +++ b/pkgs/profile-pkgs/profile/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("profile-lib" "profile-doc")) diff --git a/pkgs/r5rs-pkgs/r5rs-doc/info.rkt b/pkgs/r5rs-pkgs/r5rs-doc/info.rkt index 56ec4983ab..21d2619d71 100644 --- a/pkgs/r5rs-pkgs/r5rs-doc/info.rkt +++ b/pkgs/r5rs-pkgs/r5rs-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("r5rs-lib" "racket-doc")) diff --git a/pkgs/r5rs-pkgs/r5rs-lib/info.rkt b/pkgs/r5rs-pkgs/r5rs-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/r5rs-pkgs/r5rs-lib/info.rkt +++ b/pkgs/r5rs-pkgs/r5rs-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/r5rs-pkgs/r5rs/info.rkt b/pkgs/r5rs-pkgs/r5rs/info.rkt index 274b08250f..a5893c9aeb 100644 --- a/pkgs/r5rs-pkgs/r5rs/info.rkt +++ b/pkgs/r5rs-pkgs/r5rs/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("r5rs-lib" "r5rs-doc")) diff --git a/pkgs/r6rs-pkgs/r6rs-doc/info.rkt b/pkgs/r6rs-pkgs/r6rs-doc/info.rkt index cfcb12bab2..6f8e55c072 100644 --- a/pkgs/r6rs-pkgs/r6rs-doc/info.rkt +++ b/pkgs/r6rs-pkgs/r6rs-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("r6rs-lib" "racket-doc")) diff --git a/pkgs/r6rs-pkgs/r6rs-lib/info.rkt b/pkgs/r6rs-pkgs/r6rs-lib/info.rkt index 2f32f210cf..715978170f 100644 --- a/pkgs/r6rs-pkgs/r6rs-lib/info.rkt +++ b/pkgs/r6rs-pkgs/r6rs-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("r5rs-lib")) diff --git a/pkgs/r6rs-pkgs/r6rs/info.rkt b/pkgs/r6rs-pkgs/r6rs/info.rkt index 3b188f0e66..f9f2ec4014 100644 --- a/pkgs/r6rs-pkgs/r6rs/info.rkt +++ b/pkgs/r6rs-pkgs/r6rs/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("r6rs-lib" "r6rs-doc")) diff --git a/pkgs/racket-pkgs/at-exp-lib/info.rkt b/pkgs/racket-pkgs/at-exp-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/racket-pkgs/at-exp-lib/info.rkt +++ b/pkgs/racket-pkgs/at-exp-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-doc/info.rkt b/pkgs/racket-pkgs/racket-doc/info.rkt index 66213fb9eb..f2165b4266 100644 --- a/pkgs/racket-pkgs/racket-doc/info.rkt +++ b/pkgs/racket-pkgs/racket-doc/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("racket-index")) (define build-deps '("web-server" "gui" diff --git a/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl b/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl index 3a7fb5e3b5..965bee66b2 100644 --- a/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl +++ b/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl @@ -83,18 +83,39 @@ name as the package. The @tech{checksum} is typically left implicit. The package directory can contain a file named @filepath{info.rkt} to declare other metadata (see @secref["metadata"]). -A @tech{package} is a @deftech{multi-collection package} by default; -each directory within the package is a @gtech{collection} that is -provided by the package. If a @tech{package} has an -@filepath{info.rkt} file that defines @racketidfont{single-collection} -as a string, then the package is a @deftech{single-collection -package}; in that case, the package directory doubles as -@gtech{collection} named by @racketidfont{single-collection}. +[@bold{The following paragraph and itemization is intentionally wrong.} +Currently, if a package has no @filepath{info.rkt} file or no +@racketidfont{collection} definition, it is treated as +@tech{multi-collection package}. Also, +@racketidfont{single-collection} is supported for temporary backward +compatibility. The documentation from here on reflects the planned +behavior.] + +A @tech{package} can be a @tech{single-collection package} or a +@tech{multi-collection package}: + +@itemlist[ + + @item{A @deftech{single-collection package}'s directory doubles as a + @gtech{collection} directory. By default, the package name also + doubles as the collection name, but if the package has an + @filepath{info.rkt} file that defines @racketidfont{collection} to a + string, then the string is used as the name of the package's + collection.} + + @item{A @deftech{multi-collection package}'s directory contains + subdirectories, each of which is a @gtech{collection} that is + provided by the package (where the directory name is used as + the collection name). A @tech{multi-collection package} must + have an @filepath{info.rkt} file that defines + @racketidfont{collection} as @racket['multi].} + +] More generally, a @deftech{package source} identifies a @tech{package} representation. Each package source type has a different way of storing the @tech{checksum} and providing the package content (usually -with @tech{multi-collection package} and @tech{single-collection +with @tech{single-collection package} and @tech{multi-collection package} variants). The valid @tech{package source} types are: @itemlist[ @@ -291,7 +312,7 @@ sub-sub-commands: @item{@DFlag{link} --- Implies @exec{--type dir} (and overrides any specified type), and links the existing directory as an installed package. The package is identified as a @tech{single-collection package} or a @tech{multi-collection package} at the - time that it is installed, and that categorization does not change even if the @schemeidfont{single-collection} + time that it is installed, and that categorization does not change even if the @schemeidfont{collection} definition in @filepath{info.rkt} is changed (i.e., he package must be removed and re-installed for the change to take effect).} @@ -522,16 +543,16 @@ Optionally, enter your directory and create a basic @filepath{info.rkt} file: @commandline{echo "(define deps (list))" >> info.rkt} The @filepath{info.rkt} file is not necessary for a -@tech{multi-collection package} with no dependencies, but you may wish -to create it to simplify adding dependencies in the future. For a -@tech{single-collection package}, you must create an -@filepath{info.rkt} file, and you must give the collection a name, -@nonterm{collect}: +@tech{single-collection package} with no dependencies, but you may +wish to create it to simplify adding dependencies in the future. For +a @tech{multi-collection package}, you must create an +@filepath{info.rkt} file and define @racketidfont{collection} as +@racket['multi]: -@commandline{echo '(define single-collection "@nonterm{collect}")' >> info.rkt} +@commandline{echo "(define collection 'multi)" >> info.rkt} Note that in the case of a @tech{multi-collection package}, the -@filepath{info.rkt} is for the package, not for a collection; +@filepath{info.rkt} file is for the package, not for a collection; definitions such as @racket[scribblings] or @racket[raco-commands] work only in a collection's @filepath{info.rkt}. For a @tech{single-collection package}, the @filepath{info.rkt} file serves @@ -707,6 +728,22 @@ The following @filepath{info.rkt} fields are used by the package manager: @itemlist[ + @item{@racketidfont{collection} --- either @racket['multi] to + implement a @tech{multi-collection package} or a string or + @racket['same-as-pkg] to implement a @tech{single-collection + package}. If @racketidfont{collection} is defined as a string, + then the string is used as the name of the collection + implemented by the package. If @racketidfont{collection} is + defined as @racket['same-as-pkg], then the package name is used + as the package's collection name. + + Beware that omitting @racketidfont{collection} or defining it + as @racket['same-as-pkg] means that a package's content + effectively changes with the package's name. A package's + content should normally be independent of the package's name, + and so defining @racketidfont{collection} to a string is + preferable for a @tech{single-collection package}.} + @item{@racketidfont{version} --- a @tech{version} string. The default @tech{version} of a package is @racket["0.0"].} diff --git a/pkgs/racket-pkgs/racket-index/info.rkt b/pkgs/racket-pkgs/racket-index/info.rkt index 3890b40373..10c5bc19aa 100644 --- a/pkgs/racket-pkgs/racket-index/info.rkt +++ b/pkgs/racket-pkgs/racket-index/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("scribble-lib")) diff --git a/pkgs/racket-pkgs/racket-lib/info.rkt b/pkgs/racket-pkgs/racket-lib/info.rkt index 17ef27ca1c..b8a132a41c 100644 --- a/pkgs/racket-pkgs/racket-lib/info.rkt +++ b/pkgs/racket-pkgs/racket-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '(("racket-win32-i386" #:platform "win32\\i386") ("racket-win32-x86_64" #:platform "win32\\x86_64") diff --git a/pkgs/racket-pkgs/racket-test/info.rkt b/pkgs/racket-pkgs/racket-test/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/racket-pkgs/racket-test/info.rkt +++ b/pkgs/racket-pkgs/racket-test/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/racklog/info.rkt b/pkgs/racklog/info.rkt index 5d5eb64cf3..329004a56c 100644 --- a/pkgs/racklog/info.rkt +++ b/pkgs/racklog/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "racklog") +(define collection "racklog") (define scribblings '(("racklog.scrbl" (multi-page) (tool)))) diff --git a/pkgs/readline-pkgs/readline-doc/info.rkt b/pkgs/readline-pkgs/readline-doc/info.rkt index 0815e8c036..9a3070e606 100644 --- a/pkgs/readline-pkgs/readline-doc/info.rkt +++ b/pkgs/readline-pkgs/readline-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("readline-lib" "racket-doc")) diff --git a/pkgs/readline-pkgs/readline-lib/info.rkt b/pkgs/readline-pkgs/readline-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/readline-pkgs/readline-lib/info.rkt +++ b/pkgs/readline-pkgs/readline-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/readline-pkgs/readline/info.rkt b/pkgs/readline-pkgs/readline/info.rkt index 7fb88dbeac..da21fb53b8 100644 --- a/pkgs/readline-pkgs/readline/info.rkt +++ b/pkgs/readline-pkgs/readline/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("readline-lib" "readline-doc")) diff --git a/pkgs/realm/info.rkt b/pkgs/realm/info.rkt index 69acf1812c..e18d1e585a 100644 --- a/pkgs/realm/info.rkt +++ b/pkgs/realm/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "realm") +(define collection "realm") (define name "Realm of Racket Source Code") diff --git a/pkgs/redex/info.rkt b/pkgs/redex/info.rkt index 5c382838eb..8479fe7f72 100644 --- a/pkgs/redex/info.rkt +++ b/pkgs/redex/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "redex") +(define collection "redex") (define name "PLT Redex") (define scribblings (list (list "redex.scrbl" (list 'multi-page) (list 'tool)))) diff --git a/pkgs/schemeunit/info.rkt b/pkgs/schemeunit/info.rkt index 76bc3f5f6d..3dcd0fdc73 100644 --- a/pkgs/schemeunit/info.rkt +++ b/pkgs/schemeunit/info.rkt @@ -1,3 +1,3 @@ #lang setup/infotab -(define single-collection "schemeunit") +(define collection "schemeunit") diff --git a/pkgs/scribble-pkgs/scribble-doc/info.rkt b/pkgs/scribble-pkgs/scribble-doc/info.rkt index fcefafb172..24940e3e98 100644 --- a/pkgs/scribble-pkgs/scribble-doc/info.rkt +++ b/pkgs/scribble-pkgs/scribble-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("scribble-lib" "racket-doc")) diff --git a/pkgs/scribble-pkgs/scribble-lib/info.rkt b/pkgs/scribble-pkgs/scribble-lib/info.rkt index 5fc09c240d..58588f30bc 100644 --- a/pkgs/scribble-pkgs/scribble-lib/info.rkt +++ b/pkgs/scribble-pkgs/scribble-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("at-exp-lib" "draw-lib" "syntax-color-lib")) diff --git a/pkgs/scribble-pkgs/scribble/info.rkt b/pkgs/scribble-pkgs/scribble/info.rkt index a227d62ba6..9e50d6253e 100644 --- a/pkgs/scribble-pkgs/scribble/info.rkt +++ b/pkgs/scribble-pkgs/scribble/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("scribble-lib" "scribble-doc")) diff --git a/pkgs/sgl/info.rkt b/pkgs/sgl/info.rkt index 1057c50237..7e44e08003 100644 --- a/pkgs/sgl/info.rkt +++ b/pkgs/sgl/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "sgl") +(define collection "sgl") (define compile-omit-paths '("examples")) diff --git a/pkgs/slatex/info.rkt b/pkgs/slatex/info.rkt index 40e6db4ae3..4e163060c3 100644 --- a/pkgs/slatex/info.rkt +++ b/pkgs/slatex/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "slatex") +(define collection "slatex") (define scribblings '(("slatex-wrap.scrbl" () (tool-library)))) diff --git a/pkgs/slideshow-pkgs/slideshow-doc/info.rkt b/pkgs/slideshow-pkgs/slideshow-doc/info.rkt index 58c81ffe71..53b89e0495 100644 --- a/pkgs/slideshow-pkgs/slideshow-doc/info.rkt +++ b/pkgs/slideshow-pkgs/slideshow-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("slideshow-lib" "racket-doc")) diff --git a/pkgs/slideshow-pkgs/slideshow-exe/info.rkt b/pkgs/slideshow-pkgs/slideshow-exe/info.rkt index 37f42288f9..e2cc993cc4 100644 --- a/pkgs/slideshow-pkgs/slideshow-exe/info.rkt +++ b/pkgs/slideshow-pkgs/slideshow-exe/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("slideshow-lib")) diff --git a/pkgs/slideshow-pkgs/slideshow-lib/info.rkt b/pkgs/slideshow-pkgs/slideshow-lib/info.rkt index 7205ee671b..6248edacba 100644 --- a/pkgs/slideshow-pkgs/slideshow-lib/info.rkt +++ b/pkgs/slideshow-pkgs/slideshow-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("gui-lib")) diff --git a/pkgs/slideshow-pkgs/slideshow/info.rkt b/pkgs/slideshow-pkgs/slideshow/info.rkt index 37b58c613b..b0ae64a16a 100644 --- a/pkgs/slideshow-pkgs/slideshow/info.rkt +++ b/pkgs/slideshow-pkgs/slideshow/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("slideshow-lib" "slideshow-exe" "slideshow-doc")) diff --git a/pkgs/snip-pkgs/snip-lib/info.rkt b/pkgs/snip-pkgs/snip-lib/info.rkt index 7c59c28016..24e565c241 100644 --- a/pkgs/snip-pkgs/snip-lib/info.rkt +++ b/pkgs/snip-pkgs/snip-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("draw-lib")) diff --git a/pkgs/snip-pkgs/snip/info.rkt b/pkgs/snip-pkgs/snip/info.rkt index 3fd5e156a7..d38ae739bd 100644 --- a/pkgs/snip-pkgs/snip/info.rkt +++ b/pkgs/snip-pkgs/snip/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("snip-lib" "gui-doc")) diff --git a/pkgs/srfi-pkgs/srfi-doc/info.rkt b/pkgs/srfi-pkgs/srfi-doc/info.rkt index b05a2a7630..cbdcea0139 100644 --- a/pkgs/srfi-pkgs/srfi-doc/info.rkt +++ b/pkgs/srfi-pkgs/srfi-doc/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("srfi-lib" "racket-doc" "r5rs-doc" diff --git a/pkgs/srfi-pkgs/srfi-lib/info.rkt b/pkgs/srfi-pkgs/srfi-lib/info.rkt index ea23e03f6a..7d895254a4 100644 --- a/pkgs/srfi-pkgs/srfi-lib/info.rkt +++ b/pkgs/srfi-pkgs/srfi-lib/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("r5rs-lib" "r6rs-lib")) diff --git a/pkgs/srfi-pkgs/srfi/info.rkt b/pkgs/srfi-pkgs/srfi/info.rkt index 4ac171ea06..6c44c2bdd2 100644 --- a/pkgs/srfi-pkgs/srfi/info.rkt +++ b/pkgs/srfi-pkgs/srfi/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("srfi-lib" "srfi-doc")) diff --git a/pkgs/string-constants-lib/info.rkt b/pkgs/string-constants-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/string-constants-lib/info.rkt +++ b/pkgs/string-constants-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/swindle/info.rkt b/pkgs/swindle/info.rkt index c239ec7aed..2a910d0621 100644 --- a/pkgs/swindle/info.rkt +++ b/pkgs/swindle/info.rkt @@ -1,7 +1,7 @@ ;;; Written by Eli Barzilay: Maze is Life! (eli@barzilay.org) #lang setup/infotab -(define single-collection "swindle") +(define collection "swindle") (define mzscheme-launcher-names '("swindle")) (define mzscheme-launcher-flags '(("-li" "swindle"))) diff --git a/pkgs/syntax-color-pkgs/syntax-color-doc/info.rkt b/pkgs/syntax-color-pkgs/syntax-color-doc/info.rkt index 0e43a1aa5f..d7d2ca89f4 100644 --- a/pkgs/syntax-color-pkgs/syntax-color-doc/info.rkt +++ b/pkgs/syntax-color-pkgs/syntax-color-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("racket-doc" "syntax-color-lib")) diff --git a/pkgs/syntax-color-pkgs/syntax-color-lib/info.rkt b/pkgs/syntax-color-pkgs/syntax-color-lib/info.rkt index 3b634ef27a..a23d3d8104 100644 --- a/pkgs/syntax-color-pkgs/syntax-color-lib/info.rkt +++ b/pkgs/syntax-color-pkgs/syntax-color-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("parser-tools-lib")) diff --git a/pkgs/syntax-color-pkgs/syntax-color/info.rkt b/pkgs/syntax-color-pkgs/syntax-color/info.rkt index 7238a509e5..a1781b3a6a 100644 --- a/pkgs/syntax-color-pkgs/syntax-color/info.rkt +++ b/pkgs/syntax-color-pkgs/syntax-color/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("syntax-color-lib" "syntax-color-doc")) diff --git a/pkgs/trace/info.rkt b/pkgs/trace/info.rkt index 3dc9cb6e00..681f460108 100644 --- a/pkgs/trace/info.rkt +++ b/pkgs/trace/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "trace") +(define collection "trace") (define name "Calltrace") diff --git a/pkgs/typed-racket-more/info.rkt b/pkgs/typed-racket-more/info.rkt index b7813e3402..0d361cc19f 100644 --- a/pkgs/typed-racket-more/info.rkt +++ b/pkgs/typed-racket-more/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("typed-racket-lib" "gui-lib")) diff --git a/pkgs/typed-racket-pkgs/typed-racket-doc/info.rkt b/pkgs/typed-racket-pkgs/typed-racket-doc/info.rkt index e97e613382..b4af0da0d2 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-doc/info.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("typed-racket-lib" "racket-doc")) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/info.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/info.rkt index 73824d9b5a..d85eba8db9 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/info.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("unstable-list-lib" "string-constants-lib")) diff --git a/pkgs/typed-racket-pkgs/typed-racket/info.rkt b/pkgs/typed-racket-pkgs/typed-racket/info.rkt index 71cf7b48ee..4c2ac0ee94 100644 --- a/pkgs/typed-racket-pkgs/typed-racket/info.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("typed-racket-lib" "typed-racket-doc")) diff --git a/pkgs/unstable-latent-contract-lib/info.rkt b/pkgs/unstable-latent-contract-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/unstable-latent-contract-lib/info.rkt +++ b/pkgs/unstable-latent-contract-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/unstable-list-lib/info.rkt b/pkgs/unstable-list-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/unstable-list-lib/info.rkt +++ b/pkgs/unstable-list-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/unstable-parameter-group-lib/info.rkt b/pkgs/unstable-parameter-group-lib/info.rkt index c14a2ca411..b85118802f 100644 --- a/pkgs/unstable-parameter-group-lib/info.rkt +++ b/pkgs/unstable-parameter-group-lib/info.rkt @@ -1 +1,3 @@ #lang setup/infotab + +(define collection 'multi) diff --git a/pkgs/unstable/info.rkt b/pkgs/unstable/info.rkt index 156658185c..c42645f3c1 100644 --- a/pkgs/unstable/info.rkt +++ b/pkgs/unstable/info.rkt @@ -1,6 +1,6 @@ #lang setup/infotab -(define single-collection "unstable") +(define collection "unstable") (define scribblings '(("scribblings/unstable.scrbl" (multi-page) (experimental)))) diff --git a/pkgs/web-server-pkgs/web-server-doc/info.rkt b/pkgs/web-server-pkgs/web-server-doc/info.rkt index b99af8e997..545bc6f343 100644 --- a/pkgs/web-server-pkgs/web-server-doc/info.rkt +++ b/pkgs/web-server-pkgs/web-server-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("web-server-lib" "racket-doc")) diff --git a/pkgs/web-server-pkgs/web-server-lib/info.rkt b/pkgs/web-server-pkgs/web-server-lib/info.rkt index 134bdc091f..ef17ac23c3 100644 --- a/pkgs/web-server-pkgs/web-server-lib/info.rkt +++ b/pkgs/web-server-pkgs/web-server-lib/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("unstable-list-lib" "parser-tools-lib")) diff --git a/pkgs/web-server-pkgs/web-server/info.rkt b/pkgs/web-server-pkgs/web-server/info.rkt index 10b55a0623..d7c922dd52 100644 --- a/pkgs/web-server-pkgs/web-server/info.rkt +++ b/pkgs/web-server-pkgs/web-server/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("web-server-lib" "web-server-doc")) diff --git a/pkgs/wxme-pkgs/wxme-lib/info.rkt b/pkgs/wxme-pkgs/wxme-lib/info.rkt index 1ea50beec1..738d471248 100644 --- a/pkgs/wxme-pkgs/wxme-lib/info.rkt +++ b/pkgs/wxme-pkgs/wxme-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("snip-lib")) diff --git a/pkgs/wxme-pkgs/wxme/info.rkt b/pkgs/wxme-pkgs/wxme/info.rkt index b79724021b..96f5bc4c70 100644 --- a/pkgs/wxme-pkgs/wxme/info.rkt +++ b/pkgs/wxme-pkgs/wxme/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("wxme-lib" "gui-doc")) diff --git a/pkgs/xrepl-pkgs/xrepl-doc/info.rkt b/pkgs/xrepl-pkgs/xrepl-doc/info.rkt index ce47a41ee4..07eff46b16 100644 --- a/pkgs/xrepl-pkgs/xrepl-doc/info.rkt +++ b/pkgs/xrepl-pkgs/xrepl-doc/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("xrepl-lib" "racket-doc")) diff --git a/pkgs/xrepl-pkgs/xrepl-lib/info.rkt b/pkgs/xrepl-pkgs/xrepl-lib/info.rkt index c33d11e718..216e9c00bd 100644 --- a/pkgs/xrepl-pkgs/xrepl-lib/info.rkt +++ b/pkgs/xrepl-pkgs/xrepl-lib/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("readline-lib" "scribble-lib" "macro-debugger-text-lib")) diff --git a/pkgs/xrepl-pkgs/xrepl/info.rkt b/pkgs/xrepl-pkgs/xrepl/info.rkt index 02076907e7..9795da4299 100644 --- a/pkgs/xrepl-pkgs/xrepl/info.rkt +++ b/pkgs/xrepl-pkgs/xrepl/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("xrepl-lib" "xrepl-doc")) diff --git a/racket/lib/collects/pkg/lib.rkt b/racket/lib/collects/pkg/lib.rkt index 46046b6d86..61efd47dcb 100644 --- a/racket/lib/collects/pkg/lib.rkt +++ b/racket/lib/collects/pkg/lib.rkt @@ -655,7 +655,11 @@ ;; just given pkgs: in-pkgs)) (define setup-collects - (get-setup-collects (filter-map pkg-directory* pkgs) + (get-setup-collects (filter-map (lambda (p) + (define dir (pkg-directory* p)) + (and dir + (cons p dir))) + pkgs) metadata-ns)) (unless force? (define pkgs-set (list->set pkgs)) @@ -1239,7 +1243,8 @@ final-pkg-dir] [else pkg-dir])) - (define single-collect (pkg-single-collection final-pkg-dir + (define single-collect (pkg-single-collection final-pkg-dir + #:name pkg-name #:namespace metadata-ns)) (log-pkg-debug "creating ~alink to ~e" (if single-collect "single-collection " "") @@ -1261,7 +1266,10 @@ (stage-package/info (pkg-desc-source v) (pkg-desc-type v) (pkg-desc-name v) check-sums? download-printf metadata-ns))) - (define setup-collects (get-setup-collects (map install-info-directory + (define setup-collects (get-setup-collects (map (lambda (i) + (cons + (install-info-name i) + (install-info-directory i))) (append old-infos infos)) metadata-ns)) (define do-its @@ -1272,17 +1280,42 @@ (for-each (λ (t) (t)) do-its) setup-collects) -(define (pkg-single-collection dir #:namespace [metadata-ns (make-metadata-namespace)]) +(define (pkg-single-collection dir + #:name [pkg-name (let-values ([(base name dir?) (split-path dir)]) + (path-element->string name))] + #:namespace [metadata-ns (make-metadata-namespace)]) (define i (get-pkg-info dir metadata-ns)) - (and i (let ([s (i 'single-collection (lambda () #f))]) - (and (string? s) - s)))) + (and i + (or + (let ([s (i 'collection + ;; default will change from 'multi to 'use-pkg-name: + (lambda () 'multix))]) + (unless (or (string? s) + (eq? s 'multi) + (eq? s 'use-pkg-name)) + (log-error (format (~a "bad `collection' definition in \"info.rkt\n" + " path: ~a\n" + " found: ~e\n" + " expected: (or/c string? 'multi 'use-pkg-name)") + (build-path dir "info.rkt") + s))) + (or (and (string? s) + s) + (and (eq? s 'use-pkg-name) + pkg-name))) + ;; temporary backward compatubilty, to be removed when the + ;; default changes to 'multi + (let ([s (i 'single-collection (lambda () #f))]) + (and (string? s) + s))))) -(define (get-setup-collects pkg-directories metadata-ns) +(define (get-setup-collects pkg-names+directories metadata-ns) (maybe-append - (for/list ([pkg-dir (in-list pkg-directories)]) + (for/list ([pkg-name+dir (in-list pkg-names+directories)]) + (define pkg-name (car pkg-name+dir)) + (define pkg-dir (cdr pkg-name+dir)) (define single-collect - (pkg-single-collection pkg-dir #:namespace metadata-ns)) + (pkg-single-collection pkg-dir #:name pkg-name #:namespace metadata-ns)) (or (and single-collect (list single-collect)) (get-metadata metadata-ns pkg-dir 'setup-collects (lambda () (package-collections @@ -1566,7 +1599,7 @@ (apply zip pkg/complete (directory-list))))] ['plt (define dest pkg/complete) - (when (pkg-single-collection dir) + (when (pkg-single-collection pkg-name dir) (pkg-error (~a "single-collection package not supported in .plt format\n" " directory: ~a") dir)) @@ -1948,7 +1981,7 @@ (define (directory->module-paths dir pkg-name metadata-ns) (define dummy (build-path dir "dummy.rkt")) (define compiled (string->path-element "compiled")) - (define single-collect (pkg-single-collection dir #:namespace metadata-ns)) + (define single-collect (pkg-single-collection dir pkg-name #:namespace metadata-ns)) (define (try-path s f) (define mp `(lib ,(apply ~a @@ -2200,5 +2233,6 @@ any/c))] [pkg-single-collection (->* (path-string?) - (#:namespace namespace?) + (#:name string? + #:namespace namespace?) (or/c #f string?))]))