PORTNAME?= alpine
DISTVERSION= 2.26
PORTREVISION= 3
CATEGORIES?= mail news
MASTER_SITES= https://repo.or.cz/alpine.git/snapshot/${GIT_COMMIT}${EXTRACT_SUFX}?dummy=/
MAINTAINER= [email protected]
COMMENT?= Mail and news client descended from Pine
WWW?= https://alpineapp.email/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
USES+= cpe gettext-runtime libtool ncurses ssl
CPE_VENDOR= alpine_project
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-background-post \
--with-debug-level=2 \
--with-password-prog=/usr/bin/passwd \
--with-ssl-certs-dir=${OPENSSLDIR}/certs \
--with-ssl-dir=${OPENSSLDIR} \
--with-ssl-include-dir=${OPENSSLINC} \
--with-ssl-lib-dir=${OPENSSLLIB} \
--with-system-fixed-pinerc=${PREFIX}/etc/alpine.conf.fixed \
--with-system-mail-directory=/var/mail \
--with-system-pinerc=${PREFIX}/etc/alpine.conf \
--without-krb5 \
--without-tcl
MAKE_ARGS+= CC="${CC}" \
CXX="${CXX}" \
GCCCFLAGS="${CFLAGS}"
MAKE_JOBS_UNSAFE= yes
CFLAGS+= -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L
# When you update please double check that the commit corresponds to
# the actual version you've set in PORTVERSION.
GIT_COMMIT= 9726c098a739edfdca6218bc5dee104c310957e9
GIT_COMMIT_SHORT= ${GIT_COMMIT:C/^(.......).*/\1/}
WRKSRC= ${WRKDIR}/alpine-${GIT_COMMIT_SHORT}
OPTIONS_DEFINE= ASPELL CONS25 DOCS IPV6 LDAP MAILDIR MOUSE NLS NTLM \
PASSFILE THREADS
OPTIONS_DEFAULT= ASPELL MOUSE THREADS
.if defined(PICO_ALPINE_SLAVE)
OPTIONS_EXCLUDE= CONS25 IPV6 LDAP PASSFILE
.endif
CONS25_DESC= Add a patch to support color for default console
MAILDIR_DESC= Add a patch to support maildir
NTLM_DESC= Support for Windows NT Lan Manager authentication
PASSFILE_DESC= Support for a stored password file
# Option ASPELL
ASPELL_BUILD_DEPENDS= aspell:textproc/aspell
ASPELL_RUN_DEPENDS= aspell:textproc/aspell
ASPELL_CONFIGURE_ON= --with-interactive-spellcheck=${LOCALBASE}/bin/aspell
ASPELL_CONFIGURE_OFF= --with-simple-spellcheck
# Option CONS25
CONS25_EXTRA_PATCHES= ${FILESDIR}/cons25-alpine_keymenu.c
# Option IPV6
IPV6_CONFIGURE_WITH= ipv6
# Option LDAP
LDAP_USES= ldap
LDAP_CONFIGURE_WITH= ldap
LDAP_CFLAGS= -I${LOCALBASE}/include
LDAP_LDFLAGS= -L${LOCALBASE}/lib
# Option MAILDIR
MAILDIR_PATCH_SITES= https://alpineapp.email/alpine/patches/alpine-2.26/
MAILDIR_PATCHFILES+= maildir.patch.gz:-p1
# Option MOUSE
MOUSE_CONFIGURE_ENABLE= mouse
# Option NLS
NLS_CONFIGURE_ENABLE= nls
# Option NTLM
NTLM_LIB_DEPENDS= libntlm.so:security/libntlm
NTLM_CONFIGURE_WITH= ntlm
# Option PASSFILE
PASSFILE_CONFIGURE_WITH= passfile
PASSFILE_CONFIGURE_ON= --with-passfile=.alpine.pwd
# Option THREADS
THREADS_CONFIGURE_WITH= pthread
.if !defined(PICO_ALPINE_SLAVE)
PORTDOCSbase= LICENSE NOTICE README
PORTDOCSdoc= brochure.txt
PORTDOCShtml= tech-notes/background.html tech-notes/cmd-line.html \
tech-notes/config-notes.html tech-notes/config.html \
tech-notes/index.html tech-notes/installation.html \
tech-notes/introduction.html tech-notes/low-level.html \
tech-notes/tech-notes.txt
PORTDOCS= ${PORTDOCSbase} ${PORTDOCSdoc} ${PORTDOCShtml}
post-patch:
@${REINPLACE_CMD} -e "s#^\(all:.*\) bundled\$$#\1#" ${WRKSRC}/imap/Makefile
@${REINPLACE_CMD} -e "s#^bin_PROGRAMS = pico.*#bin_PROGRAMS =#" \
-e "s#\$$(pico_SOURCES) \$$(pilot_SOURCES)##" ${WRKSRC}/pico/Makefile.in
@${REINPLACE_CMD} -e "s#doc/man1/pico.1 doc/man1/pilot.1 ##" ${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e "s#^LOCKPGM=.*#LOCKPGM= ${PREFIX}/libexec/mlock#" \
${WRKSRC}/imap/src/osdep/unix/Makefile
@${REINPLACE_CMD} -e "s:/usr/local/lib/:${PREFIX}/etc/:g" \
-e "s:/usr/local/pine.conf:${PREFIX}/etc/pine.conf:g" \
-e "s:pine\.conf:alpine.conf:g" \
-e "s:/usr/local:${PREFIX}:g" \
-e "s:@@PREFIX@@:${PREFIX}:g" \
${WRKSRC}/README ${WRKSRC}/doc/man1/alpine.1 \
${WRKSRC}/doc/*.txt \
${WRKSRC}/doc/tech-notes/*.txt \
${WRKSRC}/doc/tech-notes/*.html \
${WRKSRC}/pith/pine.hlp
post-install:
${STAGEDIR}${PREFIX}/bin/alpine -conf > ${STAGEDIR}${PREFIX}/etc/alpine.conf.sample
post-install-DOCS-on:
${INSTALL} -d ${STAGEDIR}${DOCSDIR} ${STAGEDIR}${DOCSDIR}/tech-notes
.for f in ${PORTDOCSbase}
${INSTALL_DATA} ${WRKSRC}/$f ${STAGEDIR}${DOCSDIR}
.endfor
.for f in ${PORTDOCSdoc}
${INSTALL_DATA} ${WRKSRC}/doc/$f ${STAGEDIR}${DOCSDIR}
.endfor
.for f in ${PORTDOCShtml}
${INSTALL_DATA} ${WRKSRC}/doc/$f ${STAGEDIR}${DOCSDIR}/tech-notes
.endfor
.endif # !defined(PICO_ALPINE_SLAVE)
.include <bsd.port.mk>