guru/dev-ml/cohttp/cohttp-5.0.0.ebuild
Alessandro Barbieri 505f0da867
dev-ml/cohttp: replace dep on base-* with ocaml
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2022-04-21 02:13:08 +02:00

156 lines
3.6 KiB
Bash

# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit dune multiprocessing
DESCRIPTION="Very lightweight HTTP server using Lwt or Async"
HOMEPAGE="
https://github.com/mirage/ocaml-cohttp
https://opam.ocaml.org/packages/cohttp/
"
SRC_URI="https://github.com/mirage/ocaml-cohttp/archive/v${PV}.tar.gz -> ocaml-cohttp-${PV}.tar.gz"
S="${WORKDIR}/ocaml-cohttp-${PV}"
LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="async bench curl curl-async curl-lwt lwt lwt-jsoo lwt-unix mirage ocamlopt server-lwt-unix test top"
RDEPEND="
async? (
dev-ml/async:=
dev-ml/async_kernel:=
dev-ml/async_unix:=
dev-ml/base:=
dev-ml/core_unix:=
dev-ml/conduit:=[async]
dev-ml/fmt:=
dev-ml/ipaddr:=
dev-ml/logs:=
dev-ml/magic-mime:=
dev-ml/mirage-crypto:=
)
bench? (
dev-ml/core:=
dev-ml/core_bench:=
)
curl-async? (
dev-ml/async_kernel:=
dev-ml/async_unix:=
dev-ml/core_kernel:=
dev-ml/ocurl:=
)
curl? ( dev-ml/ocurl:= )
curl-lwt? (
dev-ml/lwt:=
dev-ml/ocurl:=
)
lwt? (
dev-ml/logs:=
dev-ml/lwt:=
dev-ml/ppx_sexp_conv:=
)
lwt-jsoo? (
>=dev-ml/js_of_ocaml-3.5.0:=[lwt,ppx]
dev-ml/logs:=
>=dev-ml/lwt-3.0.0:=
)
lwt-unix? (
dev-ml/cmdliner:=
>=dev-ml/conduit-5.0.0:=[lwt,lwt-unix]
>=dev-ml/fmt-0.8.2:=
dev-ml/logs:=
>=dev-ml/lwt-3.0.0:=
dev-ml/magic-mime:=
>=dev-ml/ppx_sexp_conv-0.13.0:=
)
mirage? (
dev-ml/astring:=
>=dev-ml/conduit-2.0.2:=[mirage]
>=dev-ml/fmt-0.8.7:=
>=dev-ml/lwt-2.4.3:=
dev-ml/magic-mime:=
>=dev-ml/mirage-channel-4.0.0:=
>=dev-ml/mirage-flow-2.0.0:=
>=dev-ml/mirage-kv-3.0.0:=
>=dev-ml/ppx_sexp_conv-0.13.0:=
)
server-lwt-unix? (
dev-ml/lwt:=
)
>=dev-lang/ocaml-4.08:=[ocamlopt?]
>=dev-ml/ocaml-base64-3.1.0:=
>=dev-ml/re-1.9.0:=
dev-ml/sexplib0:=
dev-ml/stringext:=
>=dev-ml/uri-2.0.0:=[sexp]
"
DEPEND="
${RDEPEND}
dev-ml/jsonm:=
test? (
dev-ml/alcotest
dev-ml/base_quickcheck
dev-ml/ppx_assert
dev-ml/ppx_sexp_conv
dev-ml/ppx_compare
dev-ml/ppx_here
dev-ml/core
dev-ml/core_bench
dev-ml/crowbar
dev-ml/fmt
dev-ml/conduit[lwt,lwt-unix]
dev-ml/ounit2
dev-ml/lwt
net-libs/nodejs[npm]
dev-ml/mirage-crypto
)
"
RESTRICT="!test? ( test )"
REQUIRED_USE="
bench? ( async lwt-unix server-lwt-unix )
curl-lwt? ( curl )
lwt-jsoo? ( lwt )
lwt-unix? ( lwt )
mirage? ( lwt )
server-lwt-unix? ( lwt )
test? ( async curl-async curl-lwt lwt-jsoo lwt-unix lwt )
"
src_compile() {
# local pkgs="http,cohttp"
local pkgs="cohttp"
use async && pkgs="${pkgs},cohttp-async"
use bench && pkgs="${pkgs},cohttp-bench"
use curl-async && pkgs="${pkgs},cohttp-curl-async"
use curl-lwt && pkgs="${pkgs},cohttp-curl-lwt"
use curl && pkgs="${pkgs},cohttp-curl"
use lwt-jsoo && pkgs="${pkgs},cohttp-lwt-jsoo"
use lwt-unix && pkgs="${pkgs},cohttp-lwt-unix"
use lwt && pkgs="${pkgs},cohttp-lwt"
use mirage && pkgs="${pkgs},cohttp-mirage"
use server-lwt-unix && pkgs="${pkgs},cohttp-server-lwt-unix"
use top && pkgs="${pkgs},cohttp-top"
dune build -p "${pkgs}" -j $(makeopts_jobs) || die
}
src_install() {
# dune_src_install http
dune_src_install cohttp
use async && dune_src_install cohttp-async
use bench && dune_src_install cohttp-bench
use curl-async && dune_src_install cohttp-curl-async
use curl-lwt && dune_src_install cohttp-curl-lwt
use curl && dune_src_install cohttp-curl
use lwt-jsoo && dune_src_install cohttp-lwt-jsoo
use lwt-unix && dune_src_install cohttp-lwt-unix
use lwt && dune_src_install cohttp-lwt
use mirage && dune_src_install cohttp-mirage
use server-lwt-unix && dune_src_install cohttp-server-lwt-unix
use top && dune_src_install cohttp-top
}