summaryrefslogtreecommitdiff
path: root/ftp/wzdftpd/Makefile
blob: 9768578de99e10f387f26ea4819367c73240521e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# Created by: Roman Bogorodskiy
# $FreeBSD$

PORTNAME=	wzdftpd
PORTVERSION=	0.8.3
CATEGORIES=	ftp ipv6
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}-sources/${PORTNAME}-${PORTVERSION:R}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Modular FTP server configurable online using SITE commands

LICENSE=	GPLv2 # (or later)

OPTIONS_DEFINE=	ICONV IPV6 MYSQL PERL PGSQL SQLITE TCL
OPTIONS_RADIO=	TLS ZEROCONF
OPTIONS_RADIO_TLS=	GNUTLS OPENSSL
OPTIONS_RADIO_ZEROCONF=	AVAHI HOWL
OPTIONS_DEFAULT=	AVAHI GNUTLS
HOWL_DESC=	Zeroconf support via Howl

USES=		pkgconfig
USE_AUTOTOOLS=	libtoolize aclocal autoheader automake autoconf
LIBTOOLIZE_ARGS=--copy --force
ACLOCAL_ARGS=	-I m4 -I ac-helpers
AUTOMAKE_ARGS=	--add-missing --copy
CONFIGURE_ARGS=	--sysconfdir=${ETCDIR} --without-pam --disable-bonjour
USE_LDCONFIG=	yes
MAKE_JOBS_SAFE=	yes

USE_RC_SUBR=	wzdftpd

CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib

MAN1=		siteconfig.1 siteuptime.1 sitewho.1 wzd-config.1
MAN8=		wzdftpd.8

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MICONV}
USES+=		iconv
CONFIGURE_ARGS+=	--with-libiconv-prefix=${LOCALBASE}
.else
CONFIGURE_ARGS+=	--disable-utf8
.endif

.if ${PORT_OPTIONS:MTCL}
USE_TCL_BUILD=	yes
USE_TCL=	yes
CONFIGURE_ARGS+=	--with-tcl=${TCL_LIBDIR}
PLIST_SUB+=	TCL=""
.else
PLIST_SUB+=	TCL="@comment "
.endif

.if ${PORT_OPTIONS:MOPENSSL}
USE_OPENSSL=	yes
.else
CONFIGURE_ARGS+=	--disable-openssl
.endif

.if ${PORT_OPTIONS:MGNUTLS}
LIB_DEPENDS+=	gnutls:${PORTSDIR}/security/gnutls
.else
CONFIGURE_ARGS+=	--disable-gnutls
.endif

.if empty(PORT_OPTIONS:MIPV6)
CONFIGURE_ARGS+=	--disable-ipv6
.endif

.if ${PORT_OPTIONS:MPERL}
USES+=		perl5
MAN3PREFIX=	${PREFIX}/lib/perl5/${PERL_VER}
MAN3+=		wzdftpd.3
PLIST_SUB+=	PERL=""
.else
CONFIGURE_ARGS+=	--disable-perl
PLIST_SUB+=	PERL="@comment "
.endif

.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL=	yes
PLIST_SUB+=	MYSQL=""
.else
CONFIGURE_ARGS+=	--disable-mysql
PLIST_SUB+=	MYSQL="@comment "
.endif

.if ${PORT_OPTIONS:MPGSQL}
USE_PGSQL=	yes
CONFIGURE_ARGS+=	--with-pgsql=${LOCALBASE}
PLIST_SUB+=	PGSQL=""
.else
CONFIGURE_ARGS+=	--disable-pgsql
PLIST_SUB+=	PGSQL="@comment "
.endif

.if ${PORT_OPTIONS:MSQLITE}
USE_SQLITE=	3
PLIST_SUB+=	SQLITE=""
.else
CONFIGURE_ARGS+=	--disable-sqlite3
PLIST_SUB+=	SQLITE="@comment "
.endif

.if ${PORT_OPTIONS:MAVAHI} || ${PORT_OPTIONS:MHOWL}
PLIST_SUB+=	ZEROCONF=""
.else
PLIST_SUB+=	ZEROCONF="@comment "
.endif

.if ${PORT_OPTIONS:MAVAHI}
LIB_DEPENDS+=	dbus-1:${PORTSDIR}/devel/dbus \
		avahi-core:${PORTSDIR}/net/avahi-app
CONFIGURE_ARGS+=	--with-zeroconf --enable-avahi
.endif

.if ${PORT_OPTIONS:MHOWL}
LIB_DEPENDS+=	howl:${PORTSDIR}/net/howl
CPPFLAGS+=	-I${LOCALBASE}/include/howl
CONFIGURE_ARGS+=	--with-zeroconf --enable-howl
.endif

post-extract:
	@${RM} -f ${WRKSRC}/m4/libtool.m4
	@${RM} -f ${WRKSRC}/m4/lib-*.m4
	@${ECHO_CMD} -n > ${WRKSRC}/config.rpath

post-patch:
	@${REINPLACE_CMD} -e \
		'/Libs:/s|@PTHREAD_CFLAGS@|@LTLIBICONV@|' \
		${WRKSRC}/wzdftpd.pc.in
	@${REINPLACE_CMD} -e \
		'/LDFLAGS/s|@PTHREAD_CFLAGS@|@LTLIBICONV@|' \
		${WRKSRC}/libwzd-core/Makefile.am
	@${REINPLACE_CMD} -e \
		's|INSTALLDIRS=vendor|INSTALLPRIVLIB=$${prefix}/lib| ; \
		 /MAKE/s| install| pure_install|' \
		${WRKSRC}/libwzd-perl/Makefile.am
.for i in backends modules
	@${FIND} ${WRKSRC}/${i} -name "Makefile.am" | ${XARGS} \
		${REINPLACE_CMD} -e \
		'/^libdir/s|$${pkgdatadir}|$${prefix}/lib/wzdftpd|'
.endfor
	@${FIND} ${WRKSRC} -name "*_tls.c" | ${XARGS} ${REINPLACE_CMD} -e \
		'/<gcrypt.h>/d ; \
		 /gcry_control/d' \

post-install:
	(cd ${WRKSRC} && ${INSTALL_DATA} *.pc ${PREFIX}/libdata/pkgconfig )
.if ${PORT_OPTIONS:MDOCS}
	@${MKDIR} ${DOCSDIR}
.for i in AUTHORS ChangeLog NEWS Permissions.ReadMeFirst README \
	TLS.ReadMeFirst UPGRADING wzd_tls.cnf
	(cd ${WRKSRC} && ${INSTALL_DATA} ${i} ${DOCSDIR})
.endfor
.endif

.include <bsd.port.mk>