074ea5282a
- Remove const qualifier from iconv(3) to match POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html - Patch iconv.h to expose more GNU extensions when LIBICONV_PLUG is defined because the base system iconv supports these extensions too. Add/remove patches to/from ports to call iconv with non-const arguments. This breaks some ports on FreeBSD 10 because base system iconv.h still has the const qualifier. Fix this by letting USES=iconv add a build dependency on converters/libiconv so ports can use its iconv.h (with LIBICONV_PLUG defined) instead of the base system iconv.h. This exposed some ports that link with libiconv when it is available instead of using libc iconv. In these cases one of the following changes has been made: - patch configure scripts to test for libc iconv first - add ac_cv_lib_iconv_libiconv=no or similar to CONFIGURE_ARGS to disable some configure tests - converters/wkhtmltopdf: this includes Qt4 so add a patch from devel/qt4 - lang/gcc5-aux: respect CFLAGS and friends during configure such that LIBICONV_PLUG is defined in the iconv test, also switch to external gettext - mail/gnarwl: replace patches with CPPFLAGS/LIBS - multimedia/ffmpeg2theora: remove iconv test from SConstruct and use ICONV_LIB in port Makefile instead, also fix a bug in subtitles.c - net-im/licq: finish conversion to cmake - net-mgmt/bandwidthd, net-mgmt/icinga, net-mgmt/nagios, net-mgmt/nagios4: don't need iconv - textproc/p5-XML-TinyXML: finish conversion to USES=perl5 Other changes: - databases/qdbm and slaves: respect CFLAGS and friends, also enable bzip2 and lzo support - games/ldmud: respect CFLAGS and friends - graphics/inventor: replace some patches with MAKE_ARGS/MAKE_ENV to respect CFLAGS and friends, also remove FreeBSD/alpha patch and add missing xorg dependencies PR: 199099 Exp-run by: antoine Approved by: portmgr (antoine)
129 lines
4.9 KiB
Makefile
129 lines
4.9 KiB
Makefile
# Created by: Frank DENIS
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= pure-ftpd
|
|
PORTVERSION= 1.0.37
|
|
PORTREVISION= 1
|
|
CATEGORIES= ftp ipv6
|
|
MASTER_SITES= http://download.pureftpd.org/pub/pure-ftpd/releases/ \
|
|
ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \
|
|
SF/pureftpd/Pure-FTPd/${PORTVERSION}
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= Small, easy to set up, fast, and secure FTP server
|
|
|
|
LICENSE= ISCL
|
|
|
|
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= --localstatedir=/var --sysconfdir=${PREFIX}/etc \
|
|
--with-altlog --with-cookie --with-diraliases \
|
|
--with-everything --with-extauth --with-ftpwho \
|
|
--with-language=${LANG} --with-paranoidmsg --with-puredb \
|
|
--with-quotas --with-ratios
|
|
GNU_CONFIGURE= yes
|
|
USE_PERL5= run
|
|
USE_RC_SUBR= pure-ftpd
|
|
USES= cpe perl5 shebangfix tar:bzip2
|
|
|
|
CPE_VENDOR= pureftpd
|
|
|
|
PORTDOCS= AUTHORS CONTACT COPYING HISTORY NEWS README \
|
|
README.Authentication-Modules README.Configuration-File \
|
|
README.Contrib 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}
|
|
|
|
SHEBANG_FILES= contrib/pure-stat.pl contrib/pure-vpopauth.pl
|
|
|
|
CONTRIB= pure-stat.pl pure-vpopauth.pl xml_python_processors.txt
|
|
LANG?= english
|
|
PAM_DIR?= ${EXAMPLESDIR}/pam
|
|
PAM_TARGET?= pure-ftpd
|
|
PAM_TEMPL?= ${FILESDIR}/pam.conf.5
|
|
TLS_CERTFILE?= /etc/ssl/private/pure-ftpd.pem
|
|
|
|
ANONDELETE_CFLAGS= -DANON_CAN_DELETE
|
|
ANONRENAME_CFLAGS= -DANON_CAN_RENAME
|
|
ANONRESUME_CFLAGS= -DANON_CAN_RESUME
|
|
LARGEFILE_CONFIGURE_ENABLE= largefile
|
|
LDAP_CONFIGURE_WITH= ldap
|
|
LDAP_USE= OPENLDAP=yes
|
|
MYSQL_CONFIGURE_WITH= mysql
|
|
MYSQL_USE= MYSQL=yes
|
|
PAM_CONFIGURE_WITH= pam
|
|
PERUSERLIMITS_CONFIGURE_WITH= peruserlimits
|
|
PGSQL_CONFIGURE_WITH= pgsql
|
|
PGSQL_USES= pgsql
|
|
PRIVSEP_CONFIGURE_WITH= privsep
|
|
SCRYPT_LIB_DEPENDS= libsodium.so:${PORTSDIR}/security/libsodium
|
|
SENDFILE_CONFIGURE_WITH=sendfile
|
|
THROTTLING_CONFIGURE_WITH= throttling
|
|
TLS_CONFIGURE_OFF= --without-tls
|
|
TLS_CONFIGURE_ON= --with-certfile=${TLS_CERTFILE} --with-tls
|
|
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} "LANG=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} ""
|
|
@${ECHO_MSG} "TLS_CERTFILE=/path/to/file (default: /etc/ssl/private/pure-ftpd.pem)"
|
|
@${ECHO_MSG} "- Custom location of certificate file for TLS"
|
|
@${ECHO_MSG} ""
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|@PERL@|${PERL}|; s|$${exec_prefix}|${PREFIX}|g' ${WRKSRC}/configuration-file/pure-config.pl.in
|
|
|
|
post-install:
|
|
${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_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf.sample
|
|
${INSTALL_SCRIPT} ${WRKSRC}/configuration-file/pure-config.pl ${STAGEDIR}${PREFIX}/sbin/
|
|
${INSTALL_SCRIPT} ${FILESDIR}/pure-alwaysfail ${STAGEDIR}${PREFIX}/sbin/
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}/
|
|
cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
|
|
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
|
|
cd ${WRKSRC}/contrib/ && ${INSTALL_SCRIPT} ${CONTRIB} ${STAGEDIR}${EXAMPLESDIR}/
|
|
${MKDIR} ${STAGEDIR}${PAM_DIR}/
|
|
${INSTALL_DATA} ${PAM_TEMPL} ${STAGEDIR}${PAM_DIR}/${PAM_TARGET}
|
|
|
|
.include <bsd.port.post.mk>
|