Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tools:cpm [2017-04-11 17:37] – [Overview] mh | tools:cpm [2017-04-25 15:23] – [Uploading and Publishing Packages] mh | ||
---|---|---|---|
Line 4: | Line 4: | ||
The Curry Package Manager (CPM) is a tool to distribute and | The Curry Package Manager (CPM) is a tool to distribute and | ||
- | install Curry libraries and tools and manage version dependencies | + | install Curry libraries and applications |
between them. | between them. | ||
These libraries are organized in packages. | These libraries are organized in packages. | ||
Line 19: | Line 19: | ||
(w.r.t. its API and behavior) with a previous version of | (w.r.t. its API and behavior) with a previous version of | ||
the same package. | the same package. | ||
+ | |||
+ | The [[http:// | ||
+ | can immediately be downloaded or installed when CPM is installed (see below). | ||
+ | Using CPM, one can also obtain more detailed information about | ||
+ | individual packages. | ||
===== Installing the Curry Package Manager ===== | ===== Installing the Curry Package Manager ===== | ||
- | The installation | + | CPM is already part of recent distributions of the Curry systems |
+ | PAKCS (Version 1.14.3 or higher) and KiCS2 (Version 0.5.2 or higher). | ||
+ | If you have some older version of PAKCS or KiCS2, you can also | ||
+ | install CPM from its public repository. | ||
+ | The installation | ||
is installed and the executables '' | is installed and the executables '' | ||
(if '' | (if '' | ||
Line 62: | Line 71: | ||
Therefore, to initialize it and use other packages, you need | Therefore, to initialize it and use other packages, you need | ||
a package description file in some project directory. | a package description file in some project directory. | ||
- | All this can be created by the command '' | + | All this can be created by the command '' |
- | some questions: | + | |
- | > cpm new | + | > cpm new myproject |
- | Create a new package | + | |
- | -------------------- | + | |
- | What is the name of the new package? | + | |
- | What is the first version of the package? [0.0.1] | + | |
- | Who is the author of the package? Joe Curry < | + | |
- | Please provide a short (one line) summary of what the package does: | + | |
- | > This is just for testing. | + | |
- | A new package in the directory ' | + | |
- | Please go into this directory, add dependencies in ' | + | |
- | and run 'cpm install' | + | |
- | As you will see, an initial package description file '' | + | This command creates a new project directory '' |
- | and a subdirectory '' | + | containing |
- | for your project, add it as a dependency in '' | + | and a subdirectory '' |
+ | If you need some other package for your project, | ||
+ | add it as a dependency in '' | ||
Then run | Then run | ||
Line 109: | Line 109: | ||
However, if you have developed some package that might be of | However, if you have developed some package that might be of | ||
interest to other Curry users, please send the package | interest to other Curry users, please send the package | ||
- | as a zip file, or just the package description file | + | as a tar or zip file to |
- | '' | + | |
- | available git archive) | + | |
packages (AT) curry-language.org | packages (AT) curry-language.org |