forked from ocaml/opam
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
33 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,59 @@ | ||
# OPAM - A package manager for OCaml | ||
|
||
*Warning* do not use this software in production, it is not yet stable | ||
|
||
## Prerequisites: | ||
OPAM is a package manager for OCaml, based on the | ||
[CUDF](http://mancoosi.org/cudf/) library developped by the | ||
[Mancoosi](http://www.mancoosi.org/) project, which are, among other | ||
things, used by the Debian to manage their packages. | ||
|
||
### Prerequisites: | ||
|
||
* ocaml | ||
|
||
## (optional) Preparing the build | ||
|
||
make clone | ||
|
||
This command will download and extract the following archives: | ||
|
||
* http://www.ocamlpro.com/pub/cudf.tar.gz | ||
* http://www.ocamlpro.com/pub/dose.tar.gz | ||
* http://ocaml-extlib.googlecode.com/files/extlib-1.5.2.tar.gz | ||
* http://www.ocamlpro.com/pub/ocaml-arg.tar.bz2 | ||
* http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz | ||
* http://www.ocamlpro.com/pub/ocaml-re.tar.bz2 | ||
### Compiling OPAM | ||
|
||
## Building OPAM | ||
|
||
To compile `opam`, simply run: | ||
* To compile `opam`, simply run: | ||
|
||
``` | ||
make | ||
``` | ||
|
||
This will download the necessary archives if they are not already | ||
downloaded and then build OPAM. | ||
downloaded and then build OPAM. If you just want to download the | ||
necessary dependencies without compiling the project, run `make | ||
clone`. | ||
|
||
## Tests | ||
### Using opam | ||
|
||
In order to run the test you should run: | ||
All of the OPAM state is held in the `~\.opam` directory in your home | ||
directory, including compiler installations. You should never need to | ||
switch to a root user to install packages. Package listings are | ||
obtained through remote sources, the default one being | ||
`opam.ocamlpro.com`: | ||
|
||
``` | ||
make tests-rsync | ||
make tests-git | ||
make tests-server | ||
opam init | ||
eval `opam config -env` | ||
``` | ||
|
||
Or alternatively: | ||
The first command creates `~\.opam` and set-up `opam.ocamlpro.com` as | ||
default repository. The second command update your local environment | ||
to use the packages installed by OPAM. For convenience, you can add | ||
this line in your `~/.profile`. | ||
|
||
``` | ||
make tests | ||
opam list | ||
``` | ||
## Scripts | ||
|
||
Some helper scripts are located in `src/scrips`: | ||
As expected, this command lists all the available packages. We can now | ||
install some packages (for instance `lwt`): | ||
|
||
* `opam-mk-install` helps to create `.install` files | ||
* `opam-mk-config` helps to create `.config.in` files | ||
* `opam-mk-repo` helps to create OPAM repositories | ||
``` | ||
opam install lwt | ||
``` | ||
|
||
## Documentation | ||
|
||
* the API is available in `html/` | ||
* The design documents are available in `specs/` | ||
Some technical documentations are availables in `doc`: | ||
|
||
* the API is available in `doc/html/` | ||
* The design documents are available in `doc/specs/` |