|
|
|
# Copyright 1999-2017 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=5
|
|
|
|
|
|
|
|
inherit eutils multilib findlib user
|
|
|
|
|
|
|
|
if [ "${PV#9999}" != "${PV}" ] ; then
|
|
|
|
inherit git-r3
|
|
|
|
SRC_URI=""
|
|
|
|
EGIT_REPO_URI="https://github.com/ocsigen/ocsigenserver"
|
|
|
|
KEYWORDS=""
|
|
|
|
else
|
|
|
|
SRC_URI="https://github.com/ocsigen/ocsigenserver/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
KEYWORDS="~amd64"
|
|
|
|
fi
|
|
|
|
|
|
|
|
DESCRIPTION="Ocaml-powered webserver and framework for dynamic web programming"
|
|
|
|
HOMEPAGE="http://www.ocsigen.org"
|
|
|
|
|
|
|
|
LICENSE="LGPL-2.1-with-linking-exception"
|
|
|
|
SLOT="0/${PV}"
|
|
|
|
IUSE="debug doc dbm +ocamlopt +sqlite zlib postgres"
|
|
|
|
REQUIRED_USE="|| ( sqlite dbm postgres )"
|
|
|
|
RESTRICT="strip installsources"
|
|
|
|
|
|
|
|
DEPEND=">=dev-ml/lwt-2.5.0:=[camlp4(+)]
|
|
|
|
dev-ml/lwt_react:=
|
|
|
|
dev-ml/lwt_ssl:=
|
|
|
|
>=dev-ml/react-0.9.3:=
|
|
|
|
zlib? ( >=dev-ml/camlzip-1.03-r1:= )
|
|
|
|
dev-ml/cryptokit:=
|
|
|
|
>=dev-ml/ocamlnet-3.6:=[pcre]
|
|
|
|
>=dev-ml/pcre-ocaml-6.2.5:=
|
|
|
|
>=dev-ml/tyxml-4:=[camlp4(+)]
|
|
|
|
>=dev-lang/ocaml-3.12:=[ocamlopt?]
|
|
|
|
dev-ml/ocaml-ipaddr:=
|
|
|
|
postgres? ( dev-ml/pgocaml:=[camlp4(+)] )
|
|
|
|
dbm? ( dev-ml/camldbm:= )
|
|
|
|
sqlite? ( dev-ml/ocaml-sqlite3:= )"
|
|
|
|
RDEPEND="${DEPEND}"
|
|
|
|
|
|
|
|
pkg_setup() {
|
|
|
|
enewgroup ocsigenserver
|
|
|
|
enewuser ocsigenserver -1 -1 /var/www ocsigenserver
|
|
|
|
}
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
epatch "${FILESDIR}/lwt3.patch"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
sh configure \
|
|
|
|
--prefix /usr \
|
|
|
|
--temproot "${ED}" \
|
|
|
|
--bindir /usr/bin \
|
|
|
|
--docdir /usr/share/doc/${PF} \
|
|
|
|
--mandir /usr/share/man/man1 \
|
|
|
|
--libdir /usr/$(get_libdir)/ocaml \
|
|
|
|
$(use_enable debug) \
|
|
|
|
$(use_with zlib camlzip) \
|
|
|
|
$(use_with sqlite) \
|
|
|
|
$(use_with dbm) \
|
|
|
|
$(use_with postgres pgsql) \
|
|
|
|
--with-preempt \
|
|
|
|
--ocsigen-group ocsigenserver \
|
|
|
|
--ocsigen-user ocsigenserver \
|
|
|
|
--name ocsigenserver \
|
|
|
|
|| die "Error : configure failed!"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
|
|
|
if use ocamlopt; then
|
|
|
|
emake
|
|
|
|
else
|
|
|
|
emake byte
|
|
|
|
fi
|
|
|
|
use doc && emake doc
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
findlib_src_preinst
|
|
|
|
if use ocamlopt; then
|
|
|
|
emake install
|
|
|
|
else
|
|
|
|
emake install.byte
|
|
|
|
fi
|
|
|
|
if use doc ; then
|
|
|
|
emake install.doc
|
|
|
|
fi
|
|
|
|
emake logrotate
|
|
|
|
|
|
|
|
newinitd "${FILESDIR}"/ocsigenserver.initd ocsigenserver || die
|
|
|
|
newconfd "${FILESDIR}"/ocsigenserver.confd ocsigenserver || die
|
|
|
|
|
|
|
|
dodoc README.md
|
|
|
|
|
|
|
|
# We create it at runtime
|
|
|
|
rm -f "${ED}/var/run/ocsigenserver_command" || die
|
|
|
|
}
|