1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/net-im/licq/Makefile
Dimitry Andric 4572c48fc4 net-im/licq: apply googletest patches which fix null pointer accesses
During an exp-run for llvm 12 (see bug 255570), it turned out that
net-im/licq does not build with clang 12.0.0:

[ 92%] Running unit test
cd /wrkdirs/usr/ports/net-im/licq/work/.build/src && /usr/local/bin/ctest
Test project /wrkdirs/usr/ports/net-im/licq/work/.build/src
    Start 1: licq
1/1 Test #1: licq .............................***Exception: SegFault  0.03 sec

This is due to licq using a relatively ancient version of googletest,
which has a few issues with more modern compilers. In particular, it
does not handle mocking methods with move-only return types, and in the
case of this port, this leads to a null pointer access and consequently
a segfault.

To fix the null pointer accesses, apply a few upstream googletest
commits.

Approved by:	maintainer timeout (2 weeks)
PR:		255915
MFH:		2021Q2
2021-06-06 20:13:58 +02:00

55 lines
1.3 KiB
Makefile

# Created by: Brian Feldman & Matt Heckaman
PORTNAME= base
PORTVERSION= 1.9.0
PORTREVISION= 4
CATEGORIES= net-im
PKGNAMEPREFIX= licq-
PKGNAMESUFFIX= ${SOCKS_SUFFIX}${PKGNAMESUFFIX2}
MAINTAINER= ports@FreeBSD.org
COMMENT= Popular ICQ-compatible plugin-based program
LICENSE= GPLv2
LIB_DEPENDS= libboost_regex.so:devel/boost-libs
BROKEN_FreeBSD_11_powerpc64= fails to pass tests
BROKEN_FreeBSD_12_powerpc64= fails to pass tests
BROKEN_sparc64= fails to link
USES= cmake:noninja iconv ssl
USE_CXXSTD= c++98
USE_GITHUB= yes
GH_ACCOUNT= licq-im
GH_PROJECT= licq
GH_TAGNAME= f271d55
WRKSRC_SUBDIR= licq
CFLAGS+= -I${LOCALBASE}/include
CXXFLAGS+= -DGTEST_USE_OWN_TR1_TUPLE
OPTIONS_DEFINE= NLS GPGME
OPTIONS_DEFAULT=GPGME
OPTIONS_SUB=yes
GPGME_DESC= Build support for gpgme
NLS_USES= gettext
NLS_CMAKE_OFF= -DENABLE_NLS:BOOL=OFF
GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme \
libassuan.so:security/libassuan \
libgpg-error.so:security/libgpg-error
LICQ_PORT?= net-im/licq
.include <bsd.port.options.mk>
pre-configure:
${REINPLACE_CMD} -e 's=!/bin/bash=!${LOCALBASE}/bin/bash=' \
${WRKSRC}/bin/sidclean.sh
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/licq
${INSTALL_SCRIPT} ${WRKSRC}/bin/sidclean.sh ${STAGEDIR}${PREFIX}/bin/sidclean.bash
.include <bsd.port.mk>