Describe how to make packages compatible with 5.3.5 and 5.3.6.

As requested by Sam Tobin-Hochstadt on the mailing list today.

Merge to v6.0
(cherry picked from commit c80f92885d)
This commit is contained in:
Greg Hendershott 2013-12-06 11:37:00 -05:00 committed by Ryan Culpepper
parent a97ed3f5e7
commit e1c52b76c4

View File

@ -505,4 +505,34 @@ Games, etc.}
]
@; - - - - - - - - - - - - - - - - - - - - - - - -
@subsection{Packages Compatible with Racket 5.3.5 and 5.3.6}
A beta version of the package system was added to Racket starting in
version 5.3.5. By the time version 6.0 was released, some features
were added.
By using only certain older features, it is possible to make a package
that can be used with Racket versions 5.3.5, 5.3.6, 6.0, and newer.
In your @racket[info.rkt], you should:
@itemlist[
@item{Use @tt{#lang setup/infotab} (not @tt{#lang info)}.}
@item{Use @racket[(define collection 'multi)]. Even if your package
has a single collection, put it in a subdirectory and make a
multi-collection package.}
@item{If you depend on a specific version of another package, state
this using the @racket[(_other-package-name _required-version)]
form (not the form with @racket[#:version]).}
]
Finally, when listing your package on pkg.racket-lang-org, you should
supply a GitHub source using the URL format
@tt{github://github.com/@nonterm{user}/@nonterm{repo}/@nonterm{rev}@optional{/@nonterm{path}}} (not the
@tt{git:} format).