opam-version: "2.0"
maintainer: "Hannes Mehnert <hannes@mehnert.org>"
authors: ["Hannes Mehnert <hannes@mehnert.org>"]
homepage: "https://github.com/hannesm/logs-syslog"
doc: "https://hannesm.github.io/logs-syslog/doc"
dev-repo: "git+https://github.com/hannesm/logs-syslog.git"
bug-reports: "https://github.com/hannesm/logs-syslog/issues"
license: "ISC"
depends: [
  "ocaml" {>= "4.03.0"}
  "ocamlfind" {build}
  "ocamlbuild" {build}
  "topkg" {build}
  "logs"
  "ptime"
  "syslog-message" {= "0.0.2"}
]
depopts: [
  "lwt"
  "x509" "tls" "cstruct"
  "mirage-kv-lwt"
  "mirage-console-lwt" "mirage-clock" "mirage-stack-lwt" "ipaddr"
]

conflicts: [
  "mirage-types-lwt" {< "3.0.0"}
  "x509" {< "0.6.0"}
  "tls" {< "0.8.0"}
  "mirage-clock" {>= "3.0.0"}
]

build: [
  [ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%"
    "--with-lwt" "%{lwt:installed}%"
    "--with-lwt-tls" "%{lwt+x509+tls+cstruct:installed}%"
    "--with-mirage" "%{lwt+mirage-stack-lwt+mirage-console-lwt+mirage-clock+cstruct+ipaddr:installed}%"
    "--with-mirage-tls" "%{lwt+mirage-kv-lwt+x509+tls+mirage-stack-lwt+mirage-console-lwt+mirage-clock+cstruct+ipaddr:installed}%"
 ]
]
synopsis: "Logs output via syslog"
description: """
This library provides log reporters using syslog over various transports (UDP,
TCP, TLS) with various effectful layers: Unix, Lwt, MirageOS.  It integrates the
[Logs](http://erratique.ch/software/logs) library, which provides logging
infrastructure for OCaml, with the
[syslog-message](http://verbosemo.de/syslog-message/) library, which provides
encoding and decoding of syslog messages ([RFC
3164](https://tools.ietf.org/html/rfc3164)).

Six ocamlfind libraries are provided: the bare `Logs-syslog`, a minimal
dependency Unix `Logs-syslog-unix`, a Lwt one `Logs-syslog-lwt`, another one
with Lwt and TLS ([RFC 5425](https://tools.ietf.org/html/rfc5425)) support
`Logs-syslog-lwt-tls`, a MirageOS one `Logs-syslog-mirage`, and a MirageOS one
using TLS `Logs-syslog-mirage-tls`.

Since MirageOS3, [syslog is well integrated](http://docs.mirage.io/mirage/Mirage/index.html#type-syslog_config):

```
let logger =
  syslog_udp
    (syslog_config ~truncate:1484 "nqsb.io" (Ipaddr.V4.of_string_exn "192.168.0.1"))
    net
...
  register "myunikernel" [
    foreign
      ~deps:[abstract logger]
```"""
url {
  src:
    "https://github.com/hannesm/logs-syslog/releases/download/0.1.1/logs-syslog-0.1.1.tbz"
  checksum: "md5=c266a05c9768f8c75b506daee5715f4b"
}
