summaryrefslogtreecommitdiff
path: root/comms/fldigi/Makefile
blob: 2ef06bc571aaa9915a0153251dea2ce5e00b7eee (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
# $FreeBSD$

PORTNAME=	fldigi
PORTVERSION=	3.21.72
CATEGORIES=	comms hamradio
MASTER_SITES=	http://www.w1hkj.com/downloads/fldigi/\
		${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR=	db

MAINTAINER=	db@FreeBSD.org
COMMENT=	Digital decoder for psk, cw, psk31, olivia

LICENSE=	GPLv3

BUILD_DEPENDS=	pkg-config:${PORTSDIR}/devel/pkgconf \
		asciidoc:${PORTSDIR}/textproc/asciidoc\
		docbook-xsl>=1.0:${PORTSDIR}/textproc/docbook-xsl\
		xsltproc:${PORTSDIR}/textproc/libxslt
LIB_DEPENDS=	libexecinfo.so:${PORTSDIR}/devel/libexecinfo \
		libsamplerate.so:${PORTSDIR}/audio/libsamplerate\
		libboost_system.so:${PORTSDIR}/devel/boost-libs\
		libfltk.so:${PORTSDIR}/x11-toolkits/fltk
USE_CXXSTD=	gnu++0x

GNU_CONFIGURE=	yes
USES=		gmake pkgconfig compiler:c++11-lib
CONFIGURE_ENV=	FLTK_CONFIG="${LOCALBASE}/bin/fltk-config" \
		    EXTRA_LIBS="-lexecinfo"
MAN1=		fldigi.1

OPTIONS_DEFINE=	NATIVE_OPT FLARQ XMLRPC OSS SNDFILE PORTAUDIO PULSEAUDIO HAMLIB NLS

NATIVE_OPT_DESC=	Enable Native Optimizations
FLARQ_DESC=		Compile flarq
XMLRPC_DESC=		Support XMLrpc (fldigi-shell)
OSS_DESC=		Support OSS
SNDFILE_DESC=		Support for libsndfile
PORTAUDIO_DESC=		PortAudio support
PULSEAUDIO_DESC=	PulseAudio support
HAMLIB_DESC=		Support rig control via hamlib

OPTIONS_DEFAULT=	OPTFLARQ OPTOSS HAMLIB

.include <bsd.port.pre.mk>

.if ${ARCH} == "sparc64"
BROKEN=		Fails to install
.endif
.if ${PORT_OPTIONS:MNATIVE_OPT}
CONFIGURE_ARGS+=--enable-optimizations=native
.else
CONFIGURE_ARGS+=--enable-optimizations=none
.endif
.if ${PORT_OPTIONS:MFLARQ}
CONFIGURE_ARGS+=--enable-flarq
MAN1+=		flarq.1
PLIST_SUB+=	FLARQ=""
.else
CONFIGURE_ARGS+=--disable-flarq
PLIST_SUB+=	FLARQ="@comment "
.endif
.if ${PORT_OPTIONS:MXMLRPC}
CONFIGURE_ARGS+=--with-xmlrpc
LIB_DEPENDS+=	xmlrpc:${PORTSDIR}/net/xmlrpc-c
PLIST_SUB+=	XMLRPC=""
MAN1+=		fldigi-shell.1
.else
CONFIGURE_ARGS+=--without-xmlrpc
PLIST_SUB+=	XMLRPC="@comment "
.endif
.if ${PORT_OPTIONS:MOSS}
CONFIGURE_ARGS+=--enable-oss
.else
CONFIGURE_ARGS+=--disable-oss
.endif
.if ${PORT_OPTIONS:MSNDFILE}
CONFIGURE_ARGS+=--with-sndfile
LIB_DEPENDS+=	sndfile:${PORTSDIR}/audio/libsndfile
.else
CONFIGURE_ARGS+=--without-sndfile
.endif
.if ${PORT_OPTIONS:MPORTAUDIO}
CONFIGURE_ARGS+=--with-portaudio
BUILD_DEPENDS+=	${LOCALBASE}/lib/portaudio2/libportaudio.so:${PORTSDIR}/audio/portaudio2
RUN_DEPENDS+=	${LOCALBASE}/lib/portaudio2/libportaudio.so:${PORTSDIR}/audio/portaudio2
.else
CONFIGURE_ARGS+=--without-portaudio
.endif
.if ${PORT_OPTIONS:MPULSEAUDIO}
CONFIGURE_ARGS+=--with-pulseaudio
LIB_DEPENDS+=	pulse:${PORTSDIR}/audio/pulseaudio
.else
CONFIGURE_ARGS+=--without-pulseaudio
.endif
.if ${PORT_OPTIONS:MHAMLIB}
CONFIGURE_ARGS+=--with-hamlib
LIB_DEPENDS+=	hamlib:${PORTSDIR}/comms/hamlib
.else
CONFIGURE_ARGS+=--without-hamlib
.endif
.if ${PORT_OPTIONS:MNLS}
USES+=	gettext
CONFIGURE_ARGS+=--enable-nls
PLIST_SUB+=	NLS=""
.else
CONFIGURE_ARGS+=--disable-nls
PLIST_SUB+=	NLS="@comment "
.endif
# Always need asciidoc for man pages
CONFIGURE_ARGS+=--with-asciidoc

post-patch:
	@${REINPLACE_CMD} -e 's|png_infopp_NULL|NULL|' \
		 ${WRKSRC}/src/widgets/picture.cxx
	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
		${WRKSRC}/Makefile.in

post-configure:
	@${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|' \
		-e 's|^CPPFLAGS|#CPPFLAGS|' \
		${WRKSRC}/src/Makefile
# force rebuild of man pages
	${RM} ${WRKSRC}/doc/*.1

post-install:
.if ${PORT_OPTIONS:MDOCS}
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	@${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
	@${INSTALL_DATA} ${WRKSRC}/doc/guide.html ${STAGEDIR}${DOCSDIR}
.endif

.include <bsd.port.post.mk>