Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
tools:cpm [2017-02-03 14:22] – [Quick Start] mhtools:cpm [2017-04-11 17:42] – [Installing the Curry Package Manager] 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 manage version dependencies +install Curry libraries and tools and manage version dependencies 
-between these libraries.+between them.
 These libraries are organized in packages. These libraries are organized in packages.
 There is a central index of all these packages which can There is a central index of all these packages which can
Line 23: Line 23:
 ===== Installing the Curry Package Manager ===== ===== Installing the Curry Package Manager =====
  
-The installation assumes that one of the Curry systems PAKCS or KiCS2 +CPM is already part of recent distribution of the Curry systems 
-in installed and the executables ''curry'' and ''git'' are in your path. +PAKCS (Version 1.14.3 or higher) and KiCS2 (Version 0.5.2 or higher). 
-If ''curry'' is not in your path, you must adapt the definition +If you have some older version of PAKCS or KiCS2, you can also 
-of the variable ''CURRY'' in the ''Makefile'' before step 3. +install CPM from its public repository. 
-Otherwise, perform the following steps to install CPM:+The installation requires that one of the Curry systems PAKCS or KiCS2 
 +is installed and the executables ''curry'' and ''git'' are in your path 
 +(if ''curry'' is not in your path, you can also specify the root location 
 +of your Curry system by modifying the definition of ''CURRYROOT'' 
 +in the ''Makefile'' before executing ''make'' in step 3)
 +Then perform the following steps to install CPM:
  
-    1> git clone https://git.ps.informatik.uni-kiel.de/curry/cpm.git+    1> git clone https://git.ps.informatik.uni-kiel.de/curry-packages/cpm.git
     2> cd cpm     2> cd cpm
     3> make     3> make
  
 If this was successful, the binary ''cpm'' has been generated in the If this was successful, the binary ''cpm'' has been generated in the
-directory ''bin''. For conventient use, put this binary somewhere +directory ''~/.cpm/bin''. This is also the directory where CPM installs binaries 
-in your path or create a symbolic link from some path directory +of tools distributed with packages. For convenient use, you should add the 
-to this binary.+directory ''~/.cpm/bin'' to your path. Alternatively, you can also put 
 +the binary ''~/.cpm/bin/cpm'' somewhere in your path or create a symbolic 
 +link from some path directory to this binary.
  
 ===== Quick Start  ===== ===== Quick Start  =====
Line 44: Line 51:
     > cpm update     > cpm update
  
-You can show a short list of all packages in this index by+Afterwards, you can show a short list of all packages in this index by
  
     > cpm list     > cpm list
Line 52: Line 59:
     > cpm info PACKAGE     > cpm info PACKAGE
  
-can be used to see more information about a package.+can be used to show more information about a package.
  
 In order to use a package in your Curry program which you intend In order to use a package in your Curry program which you intend
Line 75: Line 82:
  
 As you will see, an initial package description file ''package.json'' As you will see, an initial package description file ''package.json''
-and a subdirectory ''src'' has been created. If you need some package +and a subdirectory ''src'' has been created. If you need some other package 
-for your project, write it as a dependency in ''package.json''.+for your project, add it as a dependency in ''package.json''.
 Then run Then run
  
Line 92: Line 99:
 in this directory. in this directory.
  
-===== Manual =====+===== Manual and Further Documentation =====
  
 For further information, look into the {{tools:cpm:manual.pdf | manual of CPM}}. For further information, look into the {{tools:cpm:manual.pdf | manual of CPM}}.
  
-===== Uploading Packages =====+A detailed description about CPM and its implementation can be found 
 +in the following thesis: 
 + 
 +[[https://www.informatik.uni-kiel.de/~mh/lehre/abschlussarbeiten/msc/Oberschweiber.pdf |  A Package Manager for Curry (Jonas Oberschweiber, CAU Kiel, September 2016)]] 
 +===== Uploading and Publishing Packages =====
  
 Currently, there is no support for automatically uploading Currently, there is no support for automatically uploading
-new packages. However, if you have developed that might be of +and publishing new packages. 
-interest to other Curry users, please write to+However, if you have developed some package that might be of 
 +interest to other Curry users, please send the package 
 +as a zip file, or just the package description file 
 +''package.json'' (if the package is already in a publicly 
 +available git archive) to
  
     packages (AT) curry-language.org     packages (AT) curry-language.org
/srv/dokuwiki/currywiki/data/pages/tools/cpm.txt · Last modified: 2020-03-14 18:06 by mh
Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0