1
- opam-version: "1.2 "
1
+ opam-version: "2.0 "
2
2
name: "charrua-core"
3
3
maintainer: "Christiano F. Haesbaert <
[email protected] >"
4
4
authors: "Christiano F. Haesbaert <
[email protected] >"
5
5
license: "ISC"
6
6
homepage: "https://github.com/mirage/charrua-core"
7
7
bug-reports: "https://github.com/mirage/charrua-core/issues"
8
- dev-repo: "https://github.com/mirage/charrua-core.git"
8
+ dev-repo: "git+ https://github.com/mirage/charrua-core.git"
9
9
doc: "https://mirage.github.io/charrua-core/api"
10
10
11
- available: [ocaml-version >= "4.03" & opam-version >= "1.2"]
12
-
13
11
build: [
14
12
["jbuilder" "subst" "-n" name] {pinned}
15
13
["jbuilder" "build" "-p" name "-j" jobs]
16
- ]
17
-
18
- build-test: [
19
- ["jbuilder" "runtest" "-p" name "-j" jobs]
14
+ ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test}
20
15
]
21
16
22
17
depends: [
23
18
"jbuilder" {build & >="1.0+beta7"}
24
19
"ppx_sexp_conv" {build}
25
20
"ppx_cstruct" {build}
26
21
"menhir" {build}
22
+ "ocaml" {>= "4.0.3"}
27
23
"cstruct" {>= "3.0.1"}
28
24
"sexplib"
29
25
"ipaddr" {>= "2.5.0"}
30
26
"tcpip" {>= "3.2.0"}
31
27
"rresult"
32
- "io-page-unix" {test}
33
- "cstruct-unix" {test}
28
+ "io-page-unix" {with- test}
29
+ "cstruct-unix" {with- test}
34
30
]
31
+ synopsis: "DHCP wire frame encoder and decoder"
32
+ description: """
33
+ Charrua-core consists of two modules, a `Dhcp_wire` responsible for parsing and
34
+ constructing DHCP messages and a `Dhcp_server` module used for constructing DHCP
35
+ servers.
36
+
37
+ You can browse the API for [charrua-core](http://www.github.com/mirage/charrua-core) at
38
+ http://mirage.github.io/charrua-core/api
39
+
40
+ [dhcp](https://github.com/mirage/mirage-skeleton/tree/master/applications/dhcp)
41
+ is a Mirage DHCP unikernel server based on charrua-core, included as a part of the MirageOS unikernel example and starting-point repository.
42
+
43
+ #### Features
44
+
45
+ * `Dhcp_server` supports a stripped down ISC dhcpd.conf, so you can probably just
46
+ use your old `dhcpd.conf`. It also supports manual configuration building in
47
+ OCaml.
48
+ * `Dhcp_wire` provides marshalling and unmarshalling utilities for DHCP, it is the
49
+ base for `Dhcp_server`.
50
+ * Logic/sequencing is agnostic of IO and platform, so it can run on Unix as a
51
+ process, as a Mirage unikernel or anything else.
52
+ * All DHCP options are supported at the time of this writing.
53
+ * Code is purely applicative.
54
+ * It's in OCaml, so it's pretty cool.
55
+
56
+ The name `charrua` is a reference to the, now extinct, semi-nomadic people of
57
+ southern South America.
58
+ """
0 commit comments