215 lines
6.1 KiB
Makefile
215 lines
6.1 KiB
Makefile
PORTNAME?= angie
|
|
ANGIE_VERSION= 1.12.2
|
|
ANGIE_PORTREVISION= 0
|
|
CATEGORIES+= www
|
|
MASTER_SITES+= https://download.angie.software/files/:angie
|
|
DISTNAME= angie-${ANGIE_VERSION}
|
|
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}:angie
|
|
|
|
MAINTAINER?= sko@rostwald.de
|
|
COMMENT?= Efficient, powerful and scalable reverse proxy and web server
|
|
WWW?= https://angie.software/en/
|
|
|
|
LICENSE?= BSD2CLAUSE
|
|
|
|
.if ${PORTNAME} == angie
|
|
DISTVERSION= ${ANGIE_VERSION}
|
|
PORTREVISION= ${ANGIE_PORTREVISION}
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
LIB_DEPENDS= libpcre2-8.so:devel/pcre2
|
|
USE_RC_SUBR= angie
|
|
ALL_TARGET= build
|
|
SUB_FILES= angie.conf.sample \
|
|
default.conf.sample \
|
|
example.conf.sample \
|
|
pkg-message
|
|
|
|
.else
|
|
. if defined(MODULE_VERSION)
|
|
DISTVERSION= ${MODULE_VERSION}
|
|
PORTREVISION= ${MODULE_PORTREVISION}
|
|
. if defined(MODULE_PORTEPOCH)
|
|
PORTEPOCH= ${MODULE_PORTEPOCH}
|
|
. else
|
|
PORTEPOCH= 1
|
|
. endif
|
|
. else
|
|
DISTVERSION= ${ANGIE_VERSION}
|
|
PORTREVISION= ${ANGIE_PORTREVISION}
|
|
. endif
|
|
LICENSE_FILE?= ${WRKSRC_module}/LICENSE
|
|
BUILD_DEPENDS+= pcre2>=0:devel/pcre2
|
|
# The following makes sure module ports are rebuild if angie gets updated.
|
|
# However, pkg does not obey RUN_DEPENDS on updates, therefore we need to
|
|
# also bump MODULE_PORTREVISION for every single www/angie-module* port.
|
|
. if ${ANGIE_PORTREVISION} == 0
|
|
RUN_DEPENDS+= angie==${ANGIE_VERSION}:www/angie
|
|
. else
|
|
RUN_DEPENDS+= angie==${ANGIE_VERSION}_${ANGIE_PORTREVISION}:www/angie
|
|
. endif
|
|
ALL_TARGET?= modules
|
|
CONFIGURE_ADD?= --add-dynamic-module=${WRKSRC_module}
|
|
.endif
|
|
|
|
USES+= localbase:ldflags ssl
|
|
USE_GITHUB= nodefault
|
|
|
|
HAS_CONFIGURE?= yes
|
|
CONFIGURE_ARGS= --prefix=${ETCDIR} \
|
|
--conf-path=${ETCDIR}/angie.conf \
|
|
--error-log-path=${LOGDIR}/error.log \
|
|
--http-log-path=${LOGDIR}/access.log \
|
|
--lock-path=${RUNDIR}/angie.lock \
|
|
--modules-path=${MODDIR} \
|
|
--pid-path=${RUNDIR}/angie.pid \
|
|
--sbin-path=${PREFIX}/sbin/angie \
|
|
--http-client-body-temp-path=${CACHEDIR}/client_temp \
|
|
--http-fastcgi-temp-path=${CACHEDIR}/fastcgi_temp \
|
|
--http-proxy-temp-path=${CACHEDIR}/proxy_temp \
|
|
--http-scgi-temp-path=${CACHEDIR}/scgi_temp \
|
|
--http-uwsgi-temp-path=${CACHEDIR}/uwsgi_temp \
|
|
--user=${WWWOWN} \
|
|
--group=${WWWGRP} \
|
|
--with-file-aio \
|
|
--with-http_addition_module \
|
|
--with-http_auth_request_module \
|
|
--with-http_dav_module \
|
|
--with-http_flv_module \
|
|
--with-http_gunzip_module \
|
|
--with-http_gzip_static_module \
|
|
--with-http_mp4_module \
|
|
--with-http_random_index_module \
|
|
--with-http_realip_module \
|
|
--with-http_secure_link_module \
|
|
--with-http_slice_module \
|
|
--with-http_ssl_module \
|
|
--with-http_stub_status_module \
|
|
--with-http_sub_module \
|
|
--with-http_v2_module \
|
|
--with-http_v3_module \
|
|
--with-mail \
|
|
--with-mail_ssl_module \
|
|
--with-stream \
|
|
--with-stream_realip_module \
|
|
--with-stream_ssl_module \
|
|
--with-stream_ssl_preread_module \
|
|
--with-threads \
|
|
--with-cc-opt="${CFLAGS}" \
|
|
--with-ld-opt="${LDFLAGS}" \
|
|
${CONFIGURE_ADD}
|
|
|
|
# angie-specific variables
|
|
CACHEDIR= /var/cache/angie
|
|
DBDIR= /var/db/angie
|
|
ETCDIR= ${PREFIX}/etc/angie
|
|
LOGDIR= /var/log/angie
|
|
MODDIR= ${PREFIX}/libexec/angie
|
|
RUNDIR= /var/run
|
|
WRKSRC_DEBUG= ${WRKSRC}-debug
|
|
# modules always have their own assets
|
|
FILESDIR?= ${.CURDIR}/files
|
|
PATCHDIR?= ${.CURDIR}/files
|
|
PKGDIR?= ${.CURDIR}
|
|
SCRIPTDIR?= ${.CURDIR}/scripts
|
|
|
|
SUB_FILES?= pkg-message
|
|
SUB_LIST+= CACHEDIR=${CACHEDIR} \
|
|
DBDIR=${DBDIR} \
|
|
ETCDIR=${ETCDIR} \
|
|
LOGDIR=${LOGDIR} \
|
|
MODDIR=${MODDIR} \
|
|
RUNDIR=${RUNDIR} \
|
|
WWWGRP=${WWWGRP} \
|
|
WWWOWN=${WWWOWN}
|
|
|
|
PLIST_SUB+= CACHEDIR=${CACHEDIR} \
|
|
DBDIR=${DBDIR} \
|
|
LOGDIR=${LOGDIR} \
|
|
MODDIR=${MODDIR} \
|
|
RUNDIR=${RUNDIR} \
|
|
WWWGRP=${WWWGRP} \
|
|
WWWOWN=${WWWOWN}
|
|
|
|
OPTIONS_DEFINE?= DEBUG
|
|
OPTIONS_DEFAULT?= DEBUG
|
|
OPTIONS_SUB= yes
|
|
DEBUG_DESC?= Include debug version
|
|
|
|
.if ${PORTNAME} == angie
|
|
OPTIONS_DEFINE+= ACME
|
|
OPTIONS_DEFAULT+= ACME
|
|
ACME_DESC= ACME client module
|
|
ACME_CONFIGURE_ON= --with-http_acme_module \
|
|
--http-acme-client-path=${ETCDIR}/acme-client
|
|
.endif
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
post-patch-DEBUG-on:
|
|
@${CP} -Rp ${WRKSRC} ${WRKSRC_DEBUG}
|
|
|
|
post-configure-DEBUG-on:
|
|
@(cd ${WRKSRC_DEBUG} && \
|
|
${SET_LATE_CONFIGURE_ARGS} \
|
|
if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \
|
|
CFLAGS="${CFLAGS} -g" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \
|
|
LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
|
|
INSTALL="/usr/bin/install -c" \
|
|
INSTALL_DATA="${INSTALL_DATA}" \
|
|
INSTALL_LIB="${INSTALL_LIB}" \
|
|
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
|
|
INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
|
|
${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS} --with-debug; then \
|
|
${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
|
|
(${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT_80} ; \
|
|
${FALSE}; \
|
|
fi \
|
|
)
|
|
|
|
post-build-DEBUG-on:
|
|
@(cd ${WRKSRC_DEBUG} && ${DO_MAKE_BUILD} ${ALL_TARGET})
|
|
|
|
.if ${PORTNAME} == angie
|
|
do-install:
|
|
${MKDIR} ${STAGEDIR}${CACHEDIR} \
|
|
${STAGEDIR}${DBDIR} \
|
|
${STAGEDIR}${DOCSDIR} \
|
|
${STAGEDIR}${ETCDIR}/http.d \
|
|
${STAGEDIR}${ETCDIR}/stream.d \
|
|
${STAGEDIR}${MODDIR} \
|
|
${STAGEDIR}${WWWDIR}/html
|
|
. if ${PORT_OPTIONS:MACME}
|
|
${MKDIR} ${STAGEDIR}${ETCDIR}/acme-client
|
|
. endif
|
|
|
|
${RLN} ${STAGEDIR}${MODDIR} ${STAGEDIR}${ETCDIR}/modules
|
|
|
|
${INSTALL_PROGRAM} ${WRKSRC}/objs/angie \
|
|
${STAGEDIR}${PREFIX}/sbin/angie-nodebug
|
|
|
|
${LN} -fs angie-nodebug ${STAGEDIR}${PREFIX}/sbin/angie
|
|
|
|
${INSTALL_MAN} ${WRKSRC}/objs/angie.8 ${STAGEDIR}${PREFIX}/share/man/man8
|
|
${INSTALL_DATA} ${WRKSRC}/CHANGES ${WRKSRC}/CHANGES.ru ${STAGEDIR}${DOCSDIR}
|
|
|
|
. for i in fastcgi.conf fastcgi_params mime.types scgi_params uwsgi_params
|
|
${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}/${i}.sample
|
|
. endfor
|
|
${INSTALL_DATA} ${WRKSRC}/conf/prometheus_all.conf \
|
|
${STAGEDIR}${ETCDIR}/prometheus_all.conf.sample
|
|
${INSTALL_DATA} ${WRKDIR}/angie.conf.sample \
|
|
${STAGEDIR}${ETCDIR}
|
|
${INSTALL_DATA} ${WRKDIR}/default.conf.sample \
|
|
${STAGEDIR}${ETCDIR}/http.d
|
|
${INSTALL_DATA} ${WRKDIR}/example.conf.sample \
|
|
${STAGEDIR}${ETCDIR}/stream.d
|
|
${INSTALL_DATA} ${WRKSRC}/html/50x.html ${WRKSRC}/html/index.html \
|
|
${STAGEDIR}${WWWDIR}/html
|
|
|
|
do-install-DEBUG-on:
|
|
${INSTALL} ${COPY} -m ${BINMODE} ${WRKSRC_DEBUG}/objs/angie \
|
|
${STAGEDIR}${PREFIX}/sbin/angie-debug
|
|
.endif # ${PORTNAME} == angie
|
|
|
|
.include <bsd.port.mk>
|