# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: "Advanced client/server Web and mobile framework"
description: """
Eliom is a framework for implementing Web sites and client/server Web and mobile applications.
It uses advanced concepts to simplify the implementation of common behaviors (e.g. scoped sessions, continuation based Web programming ...).
It uses advanced static typing features of OCaml to check many properties of the Web application at compile-time (html, page parameters ...).
Eliom allows implementing the whole application as a single program that includes both the client and the server code. For example, you can implement event handlers (onclick ...) directly in OCaml, and you can call a server-side OCaml function from the client. Pages are generated either on the server or the client.
These client-side features remain compatible with traditional Web programming (links, forms, URLs, bookmarks, sessions ...).
It is possible to generate mobile applications for Android and iOS with the exact same code as your Web application.
The client-side code is compiled to JS using Ocsigen Js_of_ocaml or to Wasm using Wasm_of_ocaml.
"""
maintainer: ["dev@ocsigen.org"]
authors: ["dev@ocsigen.org"]
license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception"
homepage: "https://ocsigen.org/eliom/"
bug-reports: "https://github.com/ocsigen/eliom/issues"
patches: [
  "0001-Add-support-for-OCaml-5.3.patch"
]
depends: [
  "dune" {>= "3.6"}
  "ocaml" {>= "5.3.0"}
  "ocamlfind"
  "ppx_deriving"
  "ppxlib" {>= "0.15.0"}
  "js_of_ocaml-compiler" {>= "5.5.0"}
  "js_of_ocaml" {>= "5.5.0" & < "6.0.0"}
  "js_of_ocaml-lwt" {>= "5.5.0"}
  "js_of_ocaml-ocamlbuild" {build}
  "js_of_ocaml-ppx" {>= "5.5.0"}
  "js_of_ocaml-ppx_deriving_json" {>= "5.5.0"}
  "js_of_ocaml-tyxml" {>= "5.5.0"}
  "lwt_log"
  "lwt_ppx" {>= "1.2.3"}
  "tyxml" {>= "4.6.0" & < "4.7.0"}
  "ocsigenserver" {>= "6.0.0" & < "7.0.0"}
  "ipaddr" {>= "2.1"}
  "reactiveData" {>= "0.2.1"}
  "base-bytes"
  "ocsipersist" {>= "2.0" & < "3.0"}
  "ppx_optcomp"
  "xml-light" {>= "2.5"}
  "odoc" {with-doc}
]
build: [
  ["dune" "subst"] {dev}
  [
    "dune"
    "build"
    "-p"
    name
    "-j"
    jobs
    "@install"
    "@runtest" {with-test}
    "@doc" {with-doc}
  ]
]
dev-repo: "git+https://github.com/ocsigen/eliom.git"
url {
  src: "https://github.com/ocsigen/eliom/archive/refs/tags/11.1.1.tar.gz"
  checksum: [
    "md5=c8c67fe5fb8d3f44a3b17cc4a93a0e62"
    "sha512=e58557a1b525efd011e0eb539b112b53e6c012ac3fb2153c251be030eda483dd3b19de625707cf5ffebd97fa6a7fabfb8a6aae8e8a61c79e0bd7ad2d289df9a9"
  ]
}
extra-files: [
  ["0001-Add-support-for-OCaml-5.3.patch" "sha512=b8652d68ea5a633d6545305b6deb4c80858e095aaf84e7150b3cecdf0a2064e0918da725515eec0f017ed6561c63a503da10b0fc5020c9b63dcadbd59775e4a8"]
]
