aboutsummaryrefslogtreecommitdiffstats
path: root/net/freeswitch/Makefile
blob: f32433f35388b12ffdfa32d05ac15b50655a2000 (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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# Created by: Corey Smith <corsmith@gmail.com>
# $FreeBSD$

PORTNAME=   freeswitch
PORTVERSION=    1.8.7
PORTREVISION=   2
CATEGORIES= net
MASTER_SITES=   http://files.freeswitch.org/releases/freeswitch/ \
        http://files.freeswitch.org/releases/sounds/:sounds
DISTFILES=  ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Multi-protocol soft switch for telephony applications

LICENSE=    MPL11

ONLY_FOR_ARCHS= amd64

LIB_DEPENDS=    libsqlite3.so:databases/sqlite3 \
        libcurl.so:ftp/curl \
        libpcre.so:devel/pcre \
        libspeexdsp.so:audio/speexdsp \
        libspeex.so:audio/speex \
        libldns.so:dns/ldns \
        libopus.so:audio/opus \
        libsndfile.so:audio/libsndfile \
        libfreetype.so:print/freetype2 \
        libpng.so:graphics/png \
        libjbig.so:graphics/jbigkit \
        libtiff.so:graphics/tiff

USES=       gmake iconv jpeg libedit libtool lua:51-52 perl5 pkgconfig shebangfix ssl tar:xz
USE_LDCONFIG=   yes
USE_RC_SUBR=    freeswitch

SHEBANG_FILES=  scripts/fsxs.in

CONFLICTS_BUILD=    xmlrpc-c-*

GNU_CONFIGURE=      yes
CONFIGURE_ARGS= --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig \
        --enable-zrtp
CFLAGS+=    -Wno-error

USERS=      ${PORTNAME}
GROUPS=     ${USERS}

SUB_FILES=  pkg-message

OPTIONS_DEFINE=     ALL_MODULES X11 EXAMPLES PGSQL
OPTIONS_DEFAULT=    8K 16K ENGLISH PGSQL
OPTIONS_MULTI=      BITRATE LANGUAGE
OPTIONS_MULTI_BITRATE=  8K 16K 32K 48K
OPTIONS_MULTI_LANGUAGE= CHINESE_HK CHINESE_SIM BRAZILIAN ENGLISH ENGLISH_CA FRENCH_CA RUSSIAN SWEDISH
OPTIONS_SUB=        yes
NO_OPTIONS_SORT=    yes

ALL_MODULES_DESC=   Build all modules
X11_DESC=       graphics/ImageMagick[-nox11] dependency
8K_DESC=        8kHz Audio Files
16K_DESC=       16kHz Audio Files
32K_DESC=       32kHz Audio Files
48K_DESC=       48kHz Audio Files
BRAZILIAN_DESC=     Brazilian Portuguese Language Sounds
CHINESE_HK_DESC=    Chinese Traditional Language Sounds
CHINESE_SIM_DESC=   Chinese Simplified Language Sounds
ENGLISH_DESC=       US English Language Sounds
ENGLISH_CA_DESC=    Canadian English Language Sounds
FRENCH_CA_DESC=     French Canadian Language Sounds
RUSSIAN_DESC=       Russian Language Sounds
SWEDISH_DESC=       Swedish Language Sounds

ALL_MODULES_BUILD_DEPENDS=  ${LOCALBASE}/include/ladspa.h:audio/ladspa \
                ${LOCALBASE}/bin/aclocal:devel/automake
ALL_MODULES_CONFLICTS_BUILD=    apr
ALL_MODULES_EXTRA_PATCHES=  ${FILESDIR}/extrapatch-modules.conf
ALL_MODULES_LIB_DEPENDS=    libavformat.so:multimedia/ffmpeg \
                libopencv_video.so:graphics/opencv \
                libopencv_core.so:graphics/opencv-core \
                libhiredis.so:databases/hiredis \
                libmemcached.so:databases/libmemcached \
                libSoundTouch.so:audio/soundtouch \
                libasound.so:audio/alsa-lib \
                libportaudio.so:audio/portaudio \
                libmp4v2.so:multimedia/mp4v2 \
                libshout.so:audio/libshout \
                libmpg123.so:audio/mpg123 \
                libmp3lame.so:audio/lame \
                libnetsnmp.so:net-mgmt/net-snmp \
                libvlc.so:multimedia/vlc \
                libyaml.so:textproc/libyaml
ALL_MODULES_RUN_DEPENDS=    ${LOCALBASE}/include/ladspa.h:audio/ladspa
ALL_MODULES_USE=        XORG=x11 OPENLDAP=yes
ALL_MODULES_USES=       autoreconf xorg # required by mod_unimrcp

8K_VARS=    BITRATES+=8000
16K_VARS=   BITRATES+=16000
32K_VARS=   BITRATES+=32000
48K_VARS=   BITRATES+=48000

PGSQL_USES= pgsql
PGSQL_CONFIGURE_ENABLE= core-pgsql-support

# install-strip causes `make stage' to fail:
# libtool: install: strip --strip-debug /wrkdirs/usr/ports/net/freeswitch/work/stage/usr/local/lib/libfreeswitch.a
# strip: file format not recognized
# INSTALL_TARGET=       install-strip

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MALL_MODULES}
.if ${PORT_OPTIONS:MX11}
LIB_DEPENDS+=   libMagickWand-6.so:graphics/ImageMagick6
.else
LIB_DEPENDS+=   libMagickWand-6.so:graphics/ImageMagick6-nox11
.endif
.endif

EDPRE=  freeswitch-sounds
EDPOST= 1.0.51.tar.gz
#Swedish lang sounds are older/lower version.
EDPOST_SV=  1.0.50.tar.gz
EDPOST_MUSIC=   1.0.52.tar.gz

.for rate in ${BITRATES}
EXTRADISTFILES+=    ${EDPRE}-music-${rate}-${EDPOST_MUSIC}
.if ${PORT_OPTIONS:MBRAZILIAN}
EXTRADISTFILES+=    ${EDPRE}-pt-BR-karina-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MCHINESE_SIM}
EXTRADISTFILES+=    ${EDPRE}-zh-cn-sinmei-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MCHINESE_HK}
EXTRADISTFILES+=    ${EDPRE}-zh-hk-sinmei-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MENGLISH}
EXTRADISTFILES+=    ${EDPRE}-en-us-callie-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MENGLISH_CA}
EXTRADISTFILES+=    ${EDPRE}-en-ca-june-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MFRENCH_CA}
EXTRADISTFILES+=    ${EDPRE}-fr-ca-june-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MRUSSIAN}
EXTRADISTFILES+=    ${EDPRE}-ru-RU-elena-${rate}-${EDPOST}
.endif
.if ${PORT_OPTIONS:MSWEDISH}
EXTRADISTFILES+=    ${EDPRE}-sv-se-jakob-${rate}-${EDPOST_SV}
.endif
.endfor

.for distfile in ${EXTRADISTFILES}
DISTFILES+= ${distfile}:sounds
.endfor

# Patch out mod_signalwire as it requires libks that isn't available, yet.
post-patch:
        ${REINPLACE_CMD} -Ee 's|^(applications/mod_signalwire)|#\1|' \
            ${WRKSRC}/modules.conf

post-install:
        ${MKDIR} ${STAGEDIR}${DATADIR}/sounds
.for distfile in ${EXTRADISTFILES}
        ${TAR} --cd ${STAGEDIR}${DATADIR}/sounds -xf ${DISTDIR}/${distfile}
.endfor
        ${FIND} ${STAGEDIR}${DATADIR}/sounds -type f | ${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST}
        ${RM} -r ${STAGEDIR}${ETCDIR}
        ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/freeswitch/mod/mod_*.so \
            ${STAGEDIR}${PREFIX}/lib/libfreeswitch.so.1.0.0
        (cd ${WRKSRC}/conf && \
        ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})

.include <bsd.port.mk>