# $OpenBSD$

COMMENT-main=	dynamic web application server
COMMENT-perl=	NGINX Unit perl module
COMMENT-python=	NGINX Unit python module
COMMENT-ruby=	NGINX Unit ruby module

VERSION=	1.25.0
DISTNAME=	unit-${VERSION}

PKGNAME-main=	${DISTNAME}
PKGNAME-perl=	unit-perl-${VERSION}
PKGNAME-python=	unit-python-${VERSION}
PKGNAME-ruby=	unit-ruby-${VERSION}

CATEGORIES=	www

HOMEPAGE=	https://unit.nginx.org

MAINTAINER=	Sergey A. Osokin <osa@FreeBSD.org>

PERMIT_PACKAGE=	Yes

MULTI_PACKAGES=	-main ${MODULE_PACKAGES}

MODULE_PACKAGES=	-perl -python -ruby

FLAVOR?=

WANTLIB-main=	c crypto pcre2-8 ssl z
#WANTLIB-perl=	c m perl

MASTER_SITES=	https://unit.nginx.org/download/

COMPILER=	base-clang ports-gcc base-gcc

LIB_DEPENDS-main=	devel/pcre2

CONFIGURE_STYLE=	simple

UNIT_DBDIR=	${VARBASE}/db/unit
UNIT_LOGDIR=	${VARBASE}/log/unit
UNIT_LOGFILE=	${UNIT_LOGDIR}/unit.log
UNIT_PIDFILE=	${UNIT_RUNDIR}/unit.pid
UNIT_RUNDIR=	${VARBASE}/run/unit
UNIT_SOCK=	${UNIT_RUNDIR}/control.unit.sock
UNIT_TMPDIR=	${VARBASE}/tmp/unit

SUBST_VARS=	VARBASE \
		MODRUBY_REV

CFLAGS+=	-I ${LOCALBASE}/include
LDFLAGS+=	-L ${LOCALBASE}/lib
CONFIGURE_ENV+=	LDFLAGS="${LDFLAGS}"

CONFIGURE_ARGS=	--prefix=${PREFIX} \
		--ld-opt="-L${LOCALBASE}/lib" \
		--log=${UNIT_LOGFILE} \
		--mandir=${PREFIX}/man \
		--modules=libexec/unit/modules \
		--control=unix:${UNIT_SOCK} \
		--pid=${UNIT_PIDFILE} \
		--state=${UNIT_DBDIR} \
		--tmp=${UNIT_TMPDIR} \
		--openssl \
		--user=_unit \
		--group=_unit

.include <bsd.port.arch.mk>

.if ${BUILD_PACKAGES:M-perl}
RUN_DEPENDS-perl=	www/unit,-main
.endif

.if ${BUILD_PACKAGES:M-python}
MODULES+=	lang/python
MODPY_BUILDDEP=	Yes
MODPY_RUNDEP=	Yes
CONFIGURE_ENV+=	PYTHON=${MODPY_BIN} \
		PYTHON_CONFIG=${MODPY_BIN}-config
LIB_DEPENDS-python=	${MODPY_LIB_DEPENDS}
RUN_DEPENDS-python=	www/unit,-main \
			${MODPY_LIB_DEPENDS}
.endif

.if ${BUILD_PACKAGES:M-ruby}
MODULES+=	lang/ruby
MODRUBY_BUILDDEP=	Yes
MODRUBY_RUNDEP=		Yes
CONFIGURE_ENV+=	RUBY=${RUBY} CFLAGS="${CFLAGS} -fdeclspec"
LIB_DEPENDS-ruby=	${MODRUBY_LIB_DEPENDS}
RUN_DEPENDS-ruby=	www/unit,-main \
			${MODRUBY_LIB_DEPENDS}
.endif

NO_TEST=		Yes

post-configure:
.if ${BUILD_PACKAGES:M-perl}
	cd ${WRKSRC} && ./configure perl
.endif
.if ${BUILD_PACKAGES:M-python}
	cd ${WRKSRC} && ./configure python \
		--config=python${MODPY_VERSION}-config
.endif
.if ${BUILD_PACKAGES:M-ruby}
	cd ${WRKSRC} && ./configure ruby --ruby=${MODRUBY_FLAVOR} \
		--module=ruby${MODRUBY_REV}	
.endif

post-install:
	${INSTALL_DATA_DIR} ${WRKINST}${UNIT_DBDIR}
	${INSTALL_DATA_DIR} ${WRKINST}${UNIT_LOGDIR}
	${INSTALL_DATA_DIR} ${WRKINST}${UNIT_RUNDIR}
	${INSTALL_DATA_DIR} ${WRKINST}${UNIT_TMPDIR}
	${INSTALL_DATA_DIR} ${WRKINST}${PREFIX}/libexec/unit/modules

.include <bsd.port.mk>
