1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-19 08:13:21 +00:00
freebsd-ports/ftp/pure-ftpd/Makefile
2017-10-27 23:17:49 +00:00

122 lines
4.3 KiB
Makefile

# Created by: Frank DENIS
# $FreeBSD$
PORTNAME= pure-ftpd
PORTVERSION= 1.0.47
CATEGORIES= ftp ipv6
MASTER_SITES= https://github.com/jedisct1/${PORTNAME}/releases/download/${PORTVERSION}/ \
https://download.pureftpd.org/pub/pure-ftpd/releases/ \
ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Small, easy to set up, fast, and secure FTP server
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/COPYING
OPTIONS_DEFINE= ANONDELETE ANONRENAME ANONRESUME DOCS EXAMPLES LARGEFILE LDAP \
MYSQL PAM PERUSERLIMITS PGSQL PRIVSEP SCRYPT SENDFILE \
THROTTLING TLS UPLOADSCRIPT UTF8 VIRTUALCHROOT
OPTIONS_DEFAULT=PAM PRIVSEP SENDFILE SCRYPT TLS UTF8 VIRTUALCHROOT
ANONDELETE_DESC= Allow anonymous user to delete files
ANONRENAME_DESC= Allow anonymous user to rename files
ANONRESUME_DESC= Allow anonymous user to resume file upload
LARGEFILE_DESC= 2GB+ file download
LDAP_DESC= User accounts in LDAP directories
MYSQL_DESC= User accounts in MySQL database
PAM_DESC= PAM authentication
PGSQL_DESC= User accounts in PostgreSQL database
PERUSERLIMITS_DESC= Per-user concurrency limits
PRIVSEP_DESC= Privilege separation (recommended)
SCRYPT_DESC= Hash passwords in PureDB with scrypt
SENDFILE_DESC= Sendfile syscall
THROTTLING_DESC= Bandwidth throttling
UPLOADSCRIPT_DESC= Uploadscript daemon support
UTF8_DESC= UTF-8 filenames
VIRTUALCHROOT_DESC= Follow symlinks outside a chroot jail
CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc \
--with-altlog --with-cookie --with-diraliases \
--with-everything --with-extauth --with-ftpwho \
--with-language=${LANGUAGE} --with-paranoidmsg --with-puredb \
--with-quotas --with-ratios
GNU_CONFIGURE= yes
USE_PERL5= run
USE_RC_SUBR= pure-ftpd
USES= cpe perl5 tar:bzip2
CPE_VENDOR= pureftpd
PORTDOCS= AUTHORS CONTACT COPYING HISTORY NEWS README \
README.Authentication-Modules README.Configuration-File \
README.LDAP README.MySQL README.PGSQL README.TLS \
README.Virtual-Users THANKS pure-ftpd.png pureftpd.schema
PORTEXAMPLES= *
SUB_FILES= pkg-message
SUB_LIST= PAM_DIR=${PAM_DIR} PAM_TARGET=${PAM_TARGET}
LANGUAGE?= english
PAM_DIR?= pam
PAM_TARGET?= pure-ftpd
PAM_TEMPL?= ${FILESDIR}/pam.conf.5
ANONDELETE_CPPFLAGS= -DANON_CAN_DELETE
ANONRENAME_CPPFLAGS= -DANON_CAN_RENAME
ANONRESUME_CPPFLAGS= -DANON_CAN_RESUME
LARGEFILE_CONFIGURE_ENABLE= largefile
LDAP_CONFIGURE_WITH= ldap
LDAP_USE= OPENLDAP=yes
MYSQL_CONFIGURE_WITH= mysql
MYSQL_USES= mysql
PAM_CONFIGURE_WITH= pam
PERUSERLIMITS_CONFIGURE_WITH= peruserlimits
PGSQL_CONFIGURE_WITH= pgsql
PGSQL_USES= pgsql
PRIVSEP_CONFIGURE_WITH= privsep
SCRYPT_LIB_DEPENDS= libsodium.so:security/libsodium
SENDFILE_CONFIGURE_WITH=sendfile
THROTTLING_CONFIGURE_WITH= throttling
TLS_CONFIGURE_WITH= tls
TLS_CPPFLAGS= -I${OPENSSLINC}
TLS_LDFLAGS= -L${OPENSSLLIB}
TLS_USES= ssl
UPLOADSCRIPT_CONFIGURE_WITH= uploadscript
UTF8_CONFIGURE_WITH= rfc2640
UTF8_USES= iconv
VIRTUALCHROOT_CONFIGURE_WITH= virtualchroot
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB)
CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \
ac_cv_lib_iconv_libiconv_open=no
.endif
pre-fetch:
@${ECHO_MSG} "You can use the following additional options:"
@${ECHO_MSG} ""
@${ECHO_MSG} "LANGUAGE=lang (default: english)"
@${ECHO_MSG} "- Enable compilation of one language support"
@${ECHO_MSG} " available lang: brazilian-portuguese, catalan, czech, danish, dutch,"
@${ECHO_MSG} " english, french, french-funny, german, hungarian, italian, korean,"
@${ECHO_MSG} " norwegian, polish, romanian, russian, simplified-chinese, slovak,"
@${ECHO_MSG} " spanish, swedish, traditional-chinese, turkish"
@${ECHO_MSG} ""
post-install:
${MV} ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf.sample
${INSTALL_DATA} ${WRKSRC}/pureftpd-ldap.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-ldap.conf.sample
${INSTALL_DATA} ${WRKSRC}/pureftpd-mysql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-mysql.conf.sample
${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-pgsql.conf.sample
${INSTALL_SCRIPT} ${FILESDIR}/pure-alwaysfail ${STAGEDIR}${PREFIX}/sbin/
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}/
cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/${PAM_DIR}/
${INSTALL_DATA} ${PAM_TEMPL} ${STAGEDIR}${EXAMPLESDIR}/${PAM_DIR}/${PAM_TARGET}
.include <bsd.port.post.mk>