9 PLaneT Compatibility

▼ |  | Package Management in Racket

1 | Getting Started with Packages
2 | Package Concepts
3 | Using raco pkg
4 | Package Metadata
5 | Source, Binary, and Built Packages
6 | Developing Packages with Git
7 | Package APIs
8 | Package Catalog Protocol
9 | PLane T Compatibility
10 | FAQ
11 | Future Plans
12 | How Package Installation and Distribution Works

top contents ← prev up next →

### 9`` PLaneT Compatibility🔗ℹ

PLT maintains a package catalog to serve packages that were developed using the original PLaneT package system. This compatibility catalog is at http://planet-compats.racket-lang.org/, which is included by default in the package-server search path.

Copies of PLaneT packages are automatically created by the server according to the following system: for all packages that are in the 4.x PLaneT repository, the latest minor version of ‹user›/‹package›.plt/‹major-version› will be available as planet-‹user›-‹package›‹major-version›. For example, jaymccarthy/opencl.plt/1 minor version 2, will be available as planet-jaymccarthy-opencl1.

The contents of these copies is a single collection with the name "‹user›/‹package›‹major-version›" with all the files from the original PLaneT package in it.

Each file has been transliterated to use direct Racket-style requires rather than PLaneT-style requires. For example, if any file contains (planet jaymccarthy/opencl/module), then it is transliterated to jaymccarthy/opencl1/module. This transliteration is purely syntactic and is trivial to confuse, but works for most packages, in practice. Any transliterations that occurred are automatically added as dependencies for the compatibility package.

We do not intend to improve this compatibility system much more over time, because it is simply a stop-gap as developers port their PLaneT packages to the new system. Additionally, the existence of the compatibility server is not meant to imply that we will be removing PLaneT from existence in the near future.

top contents ← prev up next →