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-01 18:38] mhtools:cpm [2017-02-09 15:37] – [Installing the Curry Package Manager] mh
Line 15: Line 15:
 about these details. about these details.
  
-Currentlythere is no support for automatically uploading +CPM also supports //semantic versioning//i.e., it is able to check 
-new packages. However, if you have developed an interesting package, +whether a new minor version of a package is consistent 
-please write to ''packages (AT) curry-language.org'' in order to make +(w.r.t. its API and behavior) with a previous version of 
-it available to other users.+the same package. 
 + 
 ===== Installing the Curry Package Manager ===== ===== Installing the Curry Package Manager =====
  
 The installation assumes that one of the Curry systems PAKCS or KiCS2 The installation assumes that one of the Curry systems PAKCS or KiCS2
-in installed and the executables ''curry'' and ''git'' are in your path. +is installed and the executable ''git'' is in your path. 
-If ''curry'' is not in your path, you must adapt the definition +Furthermore, the environment variable ''CURRYROOT'' must be 
-of the variable ''CURRY'' in the ''Makefile'' before step 3+set to the root directory of your Curry system (or you can 
-Otherwise, perform the following steps to install CPM:+also modify the definition of this variable in the ''Makefile'' 
 +before executing ''make'')
 +Then perform the following steps to install CPM:
  
-    1> git clone https://git.ps.informatik.uni-kiel.de/curry/cpm.git +    1> export CURRYROOT=/usr/lib/pakcs 
-    2> cd cpm +    2> git clone https://git.ps.informatik.uni-kiel.de/curry/cpm.git 
-    3> make+    3> cd cpm 
 +    4> 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 ''bin''. For convenient use, put this binary somewhere
 in your path or create a symbolic link from some path directory in your path or create a symbolic link from some path directory
 to this binary. to this binary.
Line 42: Line 47:
     > 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 50: Line 55:
     > 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 73: Line 78:
  
 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 84: Line 89:
     > cpm curry     > cpm curry
  
-and you will be able to load the modules of the used packages.+and you will be able to load the modules of the current package 
 +as well as all dependent packages.
 In particular, the source directory ''src'' is added to your path In particular, the source directory ''src'' is added to your path
 so that you can directly load any program you have stored so that you can directly load any program you have stored
 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}}.
 +
 +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
 +and publishing new packages.
 +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
 +
 +in order to make it publicly available.
 +
  
/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