0400c88291
Does not compile on the cluster or 13- locally, because base SSL: hmac384.cpp:56:14: error: variable has incomplete type 'HMAC_CTX' (aka 'hmac_ctx_st') HMAC_CTX ctx; /usr/include/openssl/ossl_typ.h:102:16: note: forward declaration of 'hmac_ctx_st' typedef struct hmac_ctx_st HMAC_CTX; There is no definition of that type anywhere in /usr/include. The only consumer of this library is -- or was -- net/opal, and the use of this library was .if 0'ed out. Remove that non-use of the library as well. The library should also be marked BROKEN because the code is, well, broken. Clang rightfully complains: ZrtpPacketCommit.h:124:42: warning: 'memcpy' will always overflow; destination buffer has size 0, but size argument is 8 [-Wfortify-source] void setHMACMulti(uint8_t* hash) { memcpy(commitHeader->hmac-4*ZRTP_WORD_SIZE, hash, sizeof(commitHeader->hmac)); }; ZrtpQueue.cpp:147:9: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete] delete buffer; ZrtpQueue.cpp:144:29: note: allocated with 'new[]' here unsigned char* buffer = new unsigned char[nextSize]; The first warning is *possibly* spurious: it's doing memcpy() into a struct intended for bit-banging, and is overwriting part of a previous field. Since there's no member there, there's no size information for fortify-source to use. The other two warnings are plain old UB, they were UB when this library was last released / updated in 2013, they're still UB, now. There **are** newer releases of this project, but not entirely under the GNU banner; https://github.com/wernerd/ZRTPCPP seems to be the right source for that, but I'm not going to chase updating this.
287 lines
6.7 KiB
Makefile
287 lines
6.7 KiB
Makefile
# Created by: Roger Hardiman <roger@FreeBSD.org>
|
|
|
|
PORTNAME= opal
|
|
PORTVERSION= 3.10.10
|
|
PORTREVISION= 26
|
|
CATEGORIES= net
|
|
MASTER_SITES= GNOME
|
|
|
|
MAINTAINER= gnome@FreeBSD.org
|
|
COMMENT= VoIP abstraction library
|
|
|
|
LICENSE= MPL10
|
|
|
|
LIB_DEPENDS= libpt.so:devel/ptlib
|
|
|
|
USES= compiler:c11 gmake pathfix pkgconfig tar:xz
|
|
GNU_CONFIGURE= yes
|
|
USE_LDCONFIG= yes
|
|
|
|
CXXFLAGS+= -I${LOCALBASE}/include
|
|
CPPFLAGS+= -I${LOCALBASE}/include
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
|
|
OPTIONS_DEFINE= JAVA CELT ILBC GSM SPEEX THEORA FFMPEG X264 SIP H323 IAX \
|
|
H224 H281 FAX MSRP SIPIM RTPTEXT H450 H460 H501 LID UVIDEO \
|
|
AEC DEBUG RUBY
|
|
# MSRP = plist extra line vpd?
|
|
# RTPTEXT disable == build fail, so make it default?
|
|
OPTIONS_DEFAULT=CELT GSM SPEEX FFMPEG X264 SIP H224 H281 FAX MSRP SIPIM \
|
|
RTPTEXT LID AEC
|
|
DEBUG_DESC= Install debug library
|
|
JAVA_DESC= Java JNI support
|
|
RUBY_DESC= Ruby support
|
|
CELT_DESC= Celt codec from ports
|
|
ILBC_DESC= iLBC codec from ports
|
|
GSM_DESC= GSM 06.10 codec from ports
|
|
SPEEX_DESC= SPEEX codec from ports
|
|
THEORA_DESC= Theora codec support
|
|
FFMPEG_DESC= Ffmpeg codec support
|
|
X264_DESC= x.264 codec support
|
|
SIP_DESC= SIP protocol support
|
|
H323_DESC= H.323 protocol support
|
|
IAX_DESC= IAX2 protocol support
|
|
H224_DESC= H.224 control protocol
|
|
H281_DESC= H.281 (Far End Camera Control) protocol support
|
|
FAX_DESC= Fax T.38 support
|
|
MSRP_DESC= MSRP protocol
|
|
SIPIM_DESC= SIP-IM protocol
|
|
RTPTEXT_DESC= RFC4103 Text RTP payload support
|
|
H450_DESC= H.450 H.323 subset
|
|
H460_DESC= H.460 H.323 extension for NAT traversal
|
|
H501_DESC= H.501 H323 mobility extensions
|
|
LID_DESC= Light-Weight Identity (incl. xJack cards and voicetronix vpb) support
|
|
UVIDEO_DESC= RFC4175 uncompressed video RTP payload
|
|
AEC_DESC= Accoustic echo cancellation
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.ifdef OPALDIR
|
|
.error OPALDIR is defined as an environment variable, or in the arguments \
|
|
to "make". Please unset it and restart the build.
|
|
.endif
|
|
|
|
PLIST_SUB+= VERSION=${PORTVERSION} \
|
|
PVERSION_MAJOR=${PVERSION_MAJOR} \
|
|
PVERSION_MINOR=${PVERSION_MINOR}
|
|
|
|
PVERSION_MAJOR= ${PORTVERSION:C/.[0-9]+.[0-9]+$//g}
|
|
PVERSION_MINOR= ${PORTVERSION:C/.[0-9]+$//g}
|
|
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
ALL_TARGET= debug opt
|
|
PLIST_SUB+= DEBUG=""
|
|
.else
|
|
ALL_TARGET= opt
|
|
PLIST_SUB+= DEBUG="@comment "
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+= --disable-zrtp
|
|
|
|
.if ${PORT_OPTIONS:MGSM}
|
|
LIB_DEPENDS+= libgsm.so:audio/gsm
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-localgsm
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSPEEX}
|
|
LIB_DEPENDS+= libspeex.so:audio/speex
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-localspeex
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MJAVA}
|
|
CONFIGURE_ARGS+= --enable-java
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-java
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MRUBY}
|
|
CONFIGURE_ARGS+= --enable-ruby
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-ruby
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCELT}
|
|
LIB_DEPENDS+= libcelt0.so:audio/celt
|
|
CONFIGURE_ARGS+= --enable-celt
|
|
PLIST_SUB+= CELT=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-celt
|
|
PLIST_SUB+= CELT="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MILBC}
|
|
LIB_DEPENDS+= libilbc.so:net/ilbc
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-localilbc
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MTHEORA}
|
|
LIB_DEPENDS+= libtheora.so:multimedia/libtheora
|
|
CONFIGURE_ARGS+= --enable-theora
|
|
PLIST_SUB+= THEORA=""
|
|
WITH_VIDEO= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-theora
|
|
PLIST_SUB+= THEORA="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MX264} && ${PORT_OPTIONS:MFFMPEG}
|
|
LIB_DEPENDS+= libx264.so:multimedia/libx264
|
|
CONFIGURE_ARGS+= --enable-x264
|
|
PLIST_SUB+= X264=""
|
|
WITH_VIDEO= yes
|
|
# work around some weirdness in plugins/configure where it looses the
|
|
# cflags/libs of x264
|
|
CONFIGURE_ENV+= X264_CFLAGS="`pkg-config --cflags x264`" \
|
|
X264_LIBS="`pkg-config --libs x264`"
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-x264
|
|
PLIST_SUB+= X264="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MFFMPEG}
|
|
BUILD_DEPENDS+= ffmpeg>=2:multimedia/ffmpeg
|
|
RUN_DEPENDS+= ffmpeg>=2:multimedia/ffmpeg
|
|
CONFIGURE_ARGS+= --enable-libavcodec
|
|
PLIST_SUB+= FFMPEG=""
|
|
WITH_VIDEO= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-libavcodec
|
|
PLIST_SUB+= FFMPEG="@comment "
|
|
.endif
|
|
|
|
WITH_VIDEO=yes
|
|
.if defined(WITH_VIDEO)
|
|
CONFIGURE_ARGS+= --enable-video
|
|
PLIST_SUB+= VIDEO=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-video
|
|
PLIST_SUB+= VIDEO="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSIP}
|
|
CONFIGURE_ARGS+= --enable-sip
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-sip
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH323}
|
|
CONFIGURE_ARGS+= --enable-h323
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h323
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MIAX}
|
|
CONFIGURE_ARGS+= --enable-iax2
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-iax2
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH224}
|
|
CONFIGURE_ARGS+= --enable-h224
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h224
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH281}
|
|
CONFIGURE_ARGS+= --enable-h281
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h281
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MFAX}
|
|
LIB_DEPENDS+= libspandsp.so:comms/spandsp
|
|
CONFIGURE_ARGS+= --enable-spandsp --enable-fax --enable-t38
|
|
PLIST_SUB+= FAX=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-fax --disable-t38 --disable-spandsp
|
|
PLIST_SUB+= FAX="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MMSRP}
|
|
CONFIGURE_ARGS+= --enable-msrp
|
|
##BROKEN= Does not compile
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-msrp
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSIPIM}
|
|
CONFIGURE_ARGS+= --enable-sipim
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-sipim
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MRTPTEXT}
|
|
CONFIGURE_ARGS+= --enable-rfc4103
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-rfc4103
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH450}
|
|
CONFIGURE_ARGS+= --enable-h450
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h450
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH460}
|
|
CONFIGURE_ARGS+= --enable-h460
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h460
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MH501}
|
|
CONFIGURE_ARGS+= --enable-h501
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-h501
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MLID}
|
|
CONFIGURE_ARGS+= --enable-lid --enable-ixj --enable-vpb
|
|
PLIST_SUB+= LID=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-lid --disable-ixj --disable-vpb
|
|
PLIST_SUB+= LID="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MUVIDEO}
|
|
CONFIGURE_ARGS+= --enable-rfc4175
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-rfc4175
|
|
.endif
|
|
|
|
# xxxx
|
|
.if ${PORT_OPTIONS:MXXXX}
|
|
CONFIGURE_ARGS+= --enable-rfc2435
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-rfc2435
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MAEC}
|
|
CONFIGURE_ARGS+= --enable-aec
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-aec
|
|
.endif
|
|
|
|
# ??
|
|
CONFIGURE_ARGS+= --disable-debug
|
|
|
|
# configure flags not used
|
|
CONFIGURE_ARGS+= --disable-gsmamr \
|
|
--disable-ruby
|
|
|
|
post-install:
|
|
${LN} -sf libopal.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PVERSION_MAJOR}
|
|
${LN} -sf libopal.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PVERSION_MINOR}
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
${LN} -sf libopal_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal_d.so.${PVERSION_MAJOR}
|
|
${LN} -sf libopal_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal_d.so.${PVERSION_MINOR}
|
|
.endif
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PORTVERSION}
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/codecs/video/h264_video_pwplugin_helper
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/*/*.so
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/*/*/*.so
|
|
|
|
.include <bsd.port.mk>
|